杜洪波
2025-10-20 77a145b91efa63fddd18ba243ddc95a631620f72
会议代码提交
已修改3个文件
95 ■■■■■ 文件已修改
src/main/java/com/product/administration/controller/ConferenceManagerController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/administration/service/ConferenceManagerService.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/administration/service/ide/IConferenceManagerService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/administration/controller/ConferenceManagerController.java
@@ -336,14 +336,14 @@
     * @param request
     * @return
     */
    @PostMapping("/get_Meeting_Details/{version}")
    @PostMapping("/get-meeting-records/{version}")
    @ApiVersion(1)
    public String getMeetingDetails(HttpServletRequest request){
        try {
            //获取参数
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
            List meetingDetails = conferenceManagerService.getMeetingDetails(fse);
            return OK(meetingDetails);
            DataTableEntity meetingDetails = conferenceManagerService.getMeetingRecords(fse);
            return OK_List(meetingDetails);
        }  catch (BaseException e) {
            e.printStackTrace();
            return this.error(e.getCode(), e.getMessage());
src/main/java/com/product/administration/service/ConferenceManagerService.java
@@ -359,8 +359,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 +386,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 +405,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 +530,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 +1015,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 +1072,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);
                    
src/main/java/com/product/administration/service/ide/IConferenceManagerService.java
@@ -40,7 +40,7 @@
    
    DataTableEntity getKanBanData(FieldSetEntity fse)throws  BaseException;
    List getMeetingDetails(FieldSetEntity fse)throws  BaseException;
    DataTableEntity getMeetingRecords(FieldSetEntity fse)throws  BaseException;
    BitMatrix getQrCode(String content) throws BaseException, WriterException, IOException;