From 1cbbb341d22e3c46b15af65b6f97d738bae7ca95 Mon Sep 17 00:00:00 2001 From: yangbin <yangbin> Date: 星期二, 20 五月 2025 10:46:57 +0800 Subject: [PATCH] 自动化 --- lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml | 84 +++++++++++++++++++++++------------------ 1 files changed, 47 insertions(+), 37 deletions(-) diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml index 07c540b..2eca38b 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml +++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml @@ -4,7 +4,7 @@ <select id="PageList" resultType="org.jeecg.modules.flowable.apithird.business.dto.FlowMyBusinessDto"> SELECT flow_my_business.id, - flow_my_business.title, + flow_my_business.title as 'description', flow_my_business.proposer, flow_my_business.task_name, flow_my_business.task_id, @@ -43,50 +43,60 @@ ORDER BY flow_my_business.create_time desc </select> - <select id="PageListMyBusiness" resultType="org.jeecg.modules.flowable.domain.dto.FlowTaskDto"> + + <select id="ListMyBusiness" resultType="org.jeecg.modules.flowable.domain.dto.FlowTaskDto"> SELECT - task.ID_ AS 'taskId', - TASK.PROC_INST_ID_ AS 'procInsId', + fmb.task_id AS 'taskId', + fmb.process_instance_id AS 'procInsId', ACT_RE_PROCDEF.CATEGORY_ AS 'category', - ACT_RE_PROCDEF.NAME_ 'procDefName', - flow_my_business.title AS 'Description', - flow_my_business.data_id AS 'dataId', - flow_my_business.process_definition_key AS 'processDefinitionKey', - flow_my_business.process_definition_id AS 'processDefinitionId', - ACT_HI_PROCINST.START_TIME_ AS createTime, - ACT_RU_TASK.ASSIGNEE_ as todoUsers, - task.END_TIME_ AS 'finishTime', - TASK.EXECUTION_ID_ AS 'executionId', - task.NAME_ AS 'taskName', - task.DURATION_ 'duration', - task.TASK_DEF_KEY_ AS 'TaskDefKey' + ACT_RE_PROCDEF.NAME_ AS 'procDefName', + fmb.title AS 'Description', + fmb.data_id AS 'dataId', + fmb.process_definition_key AS 'processDefinitionKey', + fmb.process_definition_id AS 'processDefinitionId', + fmb.proposer, + fmb.todo_users, + fmb.task_name, + latest_task.NAME_ AS taskName, + fmb.create_time AS createTime, + latest_task.END_TIME_ AS finishTime FROM - ACT_HI_TASKINST TASK - LEFT JOIN flow_my_business ON flow_my_business.process_instance_id = TASK.PROC_INST_ID_ - LEFT JOIN ACT_RE_PROCDEF ON flow_my_business.process_definition_id = ACT_RE_PROCDEF.ID_ - LEFT JOIN ACT_HI_PROCINST ON TASK.PROC_INST_ID_ = ACT_HI_PROCINST.ID_ - left join ACT_RU_TASK on flow_my_business.task_id = ACT_RU_TASK.ID_ + flow_my_business fmb + LEFT JOIN ACT_RE_PROCDEF ON fmb.process_definition_id = ACT_RE_PROCDEF.ID_ + LEFT JOIN ACT_HI_PROCINST ON fmb.process_instance_id = ACT_HI_PROCINST.ID_ + LEFT JOIN ( + SELECT + *, + ROW_NUMBER() OVER ( + PARTITION BY PROC_INST_ID_ + ORDER BY END_TIME_ DESC + ) AS rn + FROM ACT_HI_TASKINST + WHERE ASSIGNEE_ = #{dto.currentUser} <!-- 缁熶竴鍒悕 --> + <if test="dto.startTime != null"> + AND START_TIME_ >= #{dto.startTime} + </if> + <if test="dto.endTime != null"> + AND END_TIME_ <= #{dto.endTime} + </if> + ) latest_task + ON fmb.process_instance_id = latest_task.PROC_INST_ID_ + AND latest_task.rn = 1 WHERE - TASK.END_TIME_ IS NOT NULL - <if test="flowMyBusinessDto.currentUser != null and flowMyBusinessDto.currentUser != ''"> - AND TASK.ASSIGNEE_ = #{flowMyBusinessDto.currentUser} + <!-- 鍔ㄦ�佹潯浠剁粺涓�浣跨敤 dto --> + <if test="dto.currentUser != null and dto.currentUser != ''"> + fmb.done_users like concat('%',#{dto.currentUser},'%') </if> - <if test="flowMyBusinessDto.category != null and flowMyBusinessDto.category != ''"> - and ACT_RE_PROCDEF.CATEGORY_ = #{flowMyBusinessDto.category} + <if test="dto.category != null and dto.category != ''"> + AND ACT_RE_PROCDEF.CATEGORY_ = #{dto.category} </if> - <if test="flowMyBusinessDto.flowName!= null and flowMyBusinessDto.flowName!= ''"> - AND ACT_RE_PROCDEF.name_ LIKE CONCAT('%',#{flowMyBusinessDto.flowName},'%') + <if test="dto.flowName != null and dto.flowName != ''"> + AND ACT_RE_PROCDEF.NAME_ LIKE CONCAT('%', #{dto.flowName}, '%') </if> - <if test="flowMyBusinessDto.title != null and flowMyBusinessDto.title != ''"> - AND flow_my_business.title LIKE CONCAT('%',#{flowMyBusinessDto.title},'%') - </if> - <if test="flowMyBusinessDto.startTime!= null and flowMyBusinessDto.startTime!= ''"> - AND TASK.START_TIME_ >= #{flowMyBusinessDto.startTime} - </if> - <if test="flowMyBusinessDto.endTime!= null and flowMyBusinessDto.endTime!= ''"> - AND TASK.END_TIME_ <= #{flowMyBusinessDto.endTime} + <if test="dto.title != null and dto.title != ''"> + AND fmb.title LIKE CONCAT('%', #{dto.title}, '%') </if> ORDER BY - TASK.END_TIME_ DESC + latest_task.END_TIME_ DESC </select> </mapper> -- Gitblit v1.9.3