杜洪波
7 天以前 80488ea4ea63646c51725aa7e0927ceccbfa58cf
src/main/java/com/product/administration/service/ConferenceManagerService.java
@@ -240,6 +240,7 @@
       sbSql.append("    (SELECT room_name FROM product_oa_conference_room_config WHERE uuid = A.meeting_room) as meeting_room \n");
       sbSql.append("FROM product_oa_conference_apply A \n");
       sbSql.append("WHERE (end_time >= ? AND start_time <= ?)");
       sbSql.append("AND status != '已取消'");
       DataTableEntity dtRecord = baseDao.listTable(sbSql.toString(), new Object[] {queryStartDate, queryEndDate + " 23:59:59"});
       String replace_meeting_resource="";
@@ -359,8 +360,11 @@
        }
    }
    /**
     *    会议看板-会议记录
     */
    @Override
    public List getMeetingDetails(FieldSetEntity fse) throws BaseException {
    public DataTableEntity getMeetingRecords(FieldSetEntity fse) throws BaseException {
        String meeting_room = fse.getString("meeting_room");
        String meeting_start_date = fse.getString("meeting_start_date");
        String meeting_end_date = fse.getString("meeting_end_date");
@@ -383,12 +387,14 @@
            param.add(meeting_start_date);
            param.add(meeting_end_date);
            StringBuilder sb=new StringBuilder();
            sb.append("\nSELECT b.uuid,DATE_FORMAT(b.start_time, \"%Y-%m-%d\")  start_time,b.start_time start_time1,b.end_time,b.meeting_topic,b.status,b.meeting_recorder as meeting_recorder_uuid, ");
            sb.append("\nSELECT ");
            sb.append("\n  b.uuid,b.meeting_topic,b.status,b.meeting_recorder as meeting_recorder_uuid,");
            sb.append("\n  b.start_time,b.end_time,DATE_FORMAT(b.start_time,'%Y-%m-%d') as meeting_date,");
            sb.append("\n  (select user_name from product_sys_users where user_id=b.meeting_recorder) as meeting_recorder,");
            sb.append("\n  (select user_name from product_sys_users where user_id=b.meeting_master) as meeting_master,");
            sb.append("\n  CONCAT(DATE_FORMAT(b.start_time,\"%H:%i\"),'~',DATE_FORMAT(b.end_time,\"%H:%i\"))  as time_quantum,");
            sb.append("\n  DATE_FORMAT(b.start_time,\"%Y-%m-%d\") as meeting_date,");
            sb.append("\n  GROUP_CONCAT(b.dict_label   SEPARATOR ',') AS meeting_resouces ");
            sb.append("\n  GROUP_CONCAT(b.dict_label   SEPARATOR ',') AS meeting_resouces,");
            sb.append("\n  C.uuid AS minute_uuid,C.flow_flag AS minute_flow_flag");
            sb.append("\nFROM (");
            sb.append("\n  SELECT DISTINCT a.uuid,a.start_time,a.end_time,a.meeting_topic,a.meeting_recorder,a.meeting_master,a.status,t.dict_label ");
            sb.append("\n  FROM (");
@@ -400,42 +406,51 @@
            sb.append("\n    ) T2");
            sb.append("\n    ON T2.digit < ( length( T1.meeting_resource )- length( REPLACE ( T1.meeting_resource, ',', '' ))+ 1 )");
            sb.append("\n    WHERE T1.meeting_room = ? ");
            sb.append("\n    and T1.start_time between ? and ? ");
            sb.append("\n    AND T1.start_time between ? AND ? ");
            if(!StringUtils.isEmpty(meeting_resource)){
             sb.append(" and ("+replace_meeting_resource+" )");
             sb.append(" AND ("+replace_meeting_resource+" )");
            }
            sb.append("\n  ) a");
            sb.append("\n  LEFT JOIN product_sys_dict t ON a.type = t.dict_value AND t.dict_name = '会议室资源'");
            sb.append("\n)b ");
            sb.append("\ngroup by b.uuid,b.start_time,b.end_time,b.meeting_topic,b.meeting_recorder,b.meeting_master,b.status ");
            sb.append("\nLEFT JOIN product_oa_conference_minute C ON C.meeting_uuid = B.uuid");
            sb.append("\nGROUP BY b.uuid,b.start_time,b.end_time,b.meeting_topic,b.meeting_recorder,b.meeting_master,b.status,C.uuid,C.flow_flag ");
            DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(), param.toArray());
            List dataList =new ArrayList();
            for (int i = 0; i < dataTableEntity.getRows(); i++) {
                FieldSetEntity fieldSetEntity = dataTableEntity.getData().get(i);
                Map<Object, Object> MapValues = fieldSetEntity.getValues();
                if(ObjectUtil.isNotEmpty(MapValues.get("start_time1")) || ObjectUtil.isNotEmpty( MapValues.get("end_time"))){
                    Object start_time = MapValues.get("start_time1");
                    Object end_time = MapValues.get("end_time");
                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String start_time_date = dateFormat.format(start_time);
                    String end_time_date = dateFormat.format(end_time);
                   MapValues.put("start_time",start_time_date);
                   MapValues.put("end_time",end_time_date);
                }
                Date date = new Date();
                //是否能够取消
                if(date.before(fieldSetEntity.getDate("start_time"))){
                   MapValues.put("isCancel",true);
                }
                //是否执行开启功能
                if(date.before(fieldSetEntity.getDate("start_time")) && fieldSetEntity.getString("status").equals("已取消")){
                    MapValues.put("isStart",true);
                }
                dataList.add(MapValues);
            }
            return  dataList;
            if (!BaseUtil.dataTableIsEmpty(dataTableEntity)) {
               for (int i = 0; i < dataTableEntity.getRows(); i++) {
                  FieldSetEntity fieldSetEntity = dataTableEntity.getData().get(i);
                  String status = fieldSetEntity.getString("status");
                  Date startTime = fieldSetEntity.getDate("start_time");
                  Date endTime = fieldSetEntity.getDate("end_time");
                  Date date = new Date();
                  //是否能够取消/编辑/启用
                    if(date.before(startTime)){
                       if("已取消".equals(status)) {
                          fieldSetEntity.setValue("isRestart", true);
                       } else if ("已启用".equals(status) || BaseUtil.strIsNull(status)) {
                          fieldSetEntity.setValue("isCancel", true);
                       }
                       fieldSetEntity.setValue("isUpdate", true);
                       if (BaseUtil.strIsNull(status)) {
                          fieldSetEntity.setValue("status", "未开始");
                  }
                    } else {
                       //是否能够录入会议纪要
                        if(date.after(endTime)){
                           if (BaseUtil.strIsNull(status)) {
                              fieldSetEntity.setValue("status", "已结束");
                      }
                           fieldSetEntity.setValue("isFinish", true);
                        } else {
                           if (BaseUtil.strIsNull(status)) {
                              fieldSetEntity.setValue("status", "进行中");
                      }
                        }
                    }
               }
         }
            return dataTableEntity;
        }else {
            return null;
        }
@@ -516,7 +531,7 @@
        DataTableEntity product_oa_conference_apply = baseDao.listTable("product_oa_conference_apply", filter, new Object[]{});
        if(product_oa_conference_apply.getRows()!=0){
            FieldSetEntity fieldSetEntity = product_oa_conference_apply.getFieldSetEntity(0);
            if(fieldSetEntity.getString("status").equals("已取消")){
            if("已取消".equals(fieldSetEntity.getString("status"))){
                fieldSetEntity.setValue("status","已启用");
            }else {
                fieldSetEntity.setValue("status","已取消");
@@ -1001,7 +1016,7 @@
     */
    public DataTableEntity listMeetingMinute(FieldSetEntity fse) {
       StringBuilder sbSql = new StringBuilder();
       sbSql.append("\nSELECT B.meeting_topic, A.*");
       sbSql.append("\nSELECT B.meeting_master,start_time,end_time, A.*");
       sbSql.append("\nFROM product_oa_conference_minute A");
       sbSql.append("\nLEFT JOIN product_oa_conference_apply B ON B.uuid = A.meeting_uuid");
       return baseDao.listTable(sbSql.toString(), new Object[] {}, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE));
@@ -1058,6 +1073,7 @@
               fseOaTask.setValue("task_source", 1);
               fseOaTask.setValue("task_status", 1);
               fseOaTask.setValue("task_complete_sche", 0);
               fseOaTask.setValue("finish_type", 0);
               fseOaTask.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid());
               baseDao.add(fseOaTask);