杜洪波
2025-10-16 1614f88b7feb3be9451a6698875715365f09ae83
会议任务
已修改3个文件
95 ■■■■■ 文件已修改
pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/administration/controller/ConferenceManagerController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/administration/service/ConferenceManagerService.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -47,6 +47,10 @@
            <groupId>com.lx</groupId>
            <artifactId>product-server-data-export-import</artifactId>
        </dependency>
         <dependency>
            <groupId>com.lx</groupId>
            <artifactId>product-server-task</artifactId>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
src/main/java/com/product/administration/controller/ConferenceManagerController.java
@@ -513,6 +513,31 @@
            return this.error(SystemCode.CONFERENCE_APPLY_FIND_FIAL.getValue(), SystemCode.CONFERENCE_APPLY_FIND_FIAL.getText() + e.getMessage());
        }
    }
    /**
     *     获取会议纪要列表
     * @param request
     * @return
     */
    @PostMapping("/find-meeting-minute/{version}")
    @ApiVersion(1)
    public String findMeetingMinute(HttpServletRequest request) {
        try {
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
            // 判断分页参数是否正常
            if (StringUtils.isEmpty(fse.getString(CmnConst.UUID))
                    && StringUtils.isEmpty(fse.getString("meeting_uuid"))) {
                return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
            }
            return OK_List(conferenceManagerService.findMeetingMinute(fse));
        } catch (BaseException e) {
            e.printStackTrace();
            return this.error(e.getCode(), e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            return this.error(SystemCode.CONFERENCE_APPLY_FIND_FIAL.getValue(), SystemCode.CONFERENCE_APPLY_FIND_FIAL.getText() + e.getMessage());
        }
    }
    /**
     * 发送消息
src/main/java/com/product/administration/service/ConferenceManagerService.java
@@ -26,6 +26,7 @@
import com.product.core.transfer.Transactional;
import com.product.core.websocket.service.WebsocketMesssageServiceThread;
import com.product.module.sys.entity.SystemUser;
import com.product.oa.task.service.TaskDistributionService;
import com.product.util.BaseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -57,6 +58,8 @@
    QueryFilterService queryFilterService;
    @Autowired
    PermissionService permissionService;
    @Autowired
    TaskDistributionService taskDistributionService;
    /**
     * 会议室列表
@@ -1251,6 +1254,69 @@
        return baseDao.listTable(sbSql.toString(), new Object[] {}, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE));
    }
    /**
     *     会议纪要详情
     * @param fse
     * @return
     */
    public FieldSetEntity findMeetingMinute(FieldSetEntity fse) {
        List<String> param = new ArrayList<>();
        String filter = null;
        if (StringUtils.isEmpty(fse.getUUID())) {
            filter = "B.uuid = ?";
            param.add(fse.getString("meeting_uuid"));
        } else {
            filter = "A.uuid = ?";
            param.add(fse.getUUID());
        }
        StringBuilder sbSql = new StringBuilder();
        sbSql.append("\nSELECT ");
        sbSql.append("\n  B.uuid AS meeting_uuid,B.meeting_topic,B.meeting_master,B.meeting_recorder,B.participator,CONCAT(start_time,'-',end_time)AS meeting_time, ");
        sbSql.append("\n  A.uuid,A.meeting_minute,A.copy_user,A.flow_flag");
        sbSql.append("\nFROM product_oa_conference_minute A");
        sbSql.append("\nRIGHT JOIN product_oa_conference_apply B ON B.uuid = A.meeting_uuid");
        sbSql.append("\nWHERE ").append(filter);
        FieldSetEntity fseMeetingMinute = baseDao.getFieldSetEntityBySQL(sbSql.toString(), param.toArray(), false);
        baseDao.loadPromptData(fseMeetingMinute);
        if(!StringUtils.isEmpty(fseMeetingMinute.getUUID())) {
            DataTableEntity dtMeetingMinute = baseDao.listTable("product_oa_conference_minute_sub", "main_uuid = ?", new Object[] {fseMeetingMinute.getUUID()});
            fseMeetingMinute.addSubDataTable(dtMeetingMinute);
        }
        return fseMeetingMinute;
    }
    /**
     * 自动发起任务
     * @param fse
     */
    public void autoMeetingtask(FieldSetEntity fse) {
        DataTableEntity dtMeetingMinute = fse.getSubDataTable("product_oa_conference_minute_sub");
        if(!BaseUtil.dataTableIsEmpty(dtMeetingMinute)) {
            for (int i = 0; i < dtMeetingMinute.getRows(); i++) {
                FieldSetEntity fseMeetingMinute = dtMeetingMinute.getFieldSetEntity(i);
                if ("1".equals(fseMeetingMinute.getString("item_task"))) {
                    FieldSetEntity fseOaTask = new FieldSetEntity("product_oa_task_distribution");
                    fseOaTask.setValue("task_name", fseMeetingMinute.getString("item_name"));
                    fseOaTask.setValue("task_description", fseMeetingMinute.getString("item_detail"));
                    fseOaTask.setValue("task_persons", fseMeetingMinute.getString("item_user"));
                    fseOaTask.setValue("owner", fseMeetingMinute.getString("item_mananger"));
                    fseOaTask.setValue("task_start_time", fseMeetingMinute.getString("plan_finish_time"));
                    fseOaTask.setValue("task_finish_time", fseMeetingMinute.getString("plan_start_time"));
                    fseOaTask.setValue("task_source", 1);
                    fseOaTask.setValue("task_status", 1);
                    fseOaTask.setValue("task_complete_sche", 0);
                    fseOaTask.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid());
                    baseDao.add(fseOaTask);
                    // 发送任务消息
                    taskDistributionService.sendTaskMessage(fseOaTask, fseMeetingMinute.getString("item_user"), "admin", 1, fseOaTask.getUUID());
                }
            }
        }
    }
    public void taskMeetingRminder() {
        DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_OA_CONFERENCE_APPLY, " flow_flag=2 and ( to_remind IS NULL OR to_remind = 0 ) AND reminder_time > 0 and reminder_time>=(( UNIX_TIMESTAMP(start_time ) - UNIX_TIMESTAMP( now( ) ) ) / 60) ", new Object[]{});
        baseDao.loadPromptData(dt);