From 4e2be858f4ccbb7490b59ed584fd1c829eb4d556 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期二, 01 四月 2025 15:22:47 +0800 Subject: [PATCH] 修改审签问题 --- lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/HisWorkTaskMapper.xml | 70 ++++++++++++++++++++++------------- 1 files changed, 44 insertions(+), 26 deletions(-) diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/HisWorkTaskMapper.xml b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/HisWorkTaskMapper.xml index ac9df17..edb48a8 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/HisWorkTaskMapper.xml +++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/mapper/xml/HisWorkTaskMapper.xml @@ -24,34 +24,52 @@ aht.START_TIME_ ASC </select> <select id="queryHisTaskByProcInstId" resultType="org.jeecg.modules.flowable.domain.vo.FlowHistoricalVo"> - SELECT - p.PROC_INST_ID_ AS procInstId, - p.BUSINESS_KEY_ AS businessKey, - p.START_TIME_ AS startTime, - p.END_TIME_ AS endTime, - a.ACT_NAME_ AS actName, - a.ACT_TYPE_ AS actType, - a.START_TIME_ AS actStartTime, - a.END_TIME_ AS actEndTime, - c.NAME_ AS taskName, - c.ASSIGNEE_ AS assignee, - CASE - WHEN c.DURATION_ IS NOT NULL THEN - CASE - WHEN FLOOR(c.DURATION_ / 1000.0) = 0 THEN NULL - ELSE FLOOR(c.DURATION_ / 1000.0) - END - ELSE NULL - END AS duration, - c.DESCRIPTION_ AS description + WITH ActivitySequence AS ( + SELECT + p.PROC_INST_ID_ AS procInstId, + p.BUSINESS_KEY_ AS businessKey, + p.START_TIME_ AS procStartTime, + p.END_TIME_ AS procEndTime, + a.ACT_ID_, + COALESCE ( a.ACT_NAME_, a.ACT_ID_ ) AS actName, + a.ACT_TYPE_ AS actType, + a.START_TIME_ AS actStartTime, + a.END_TIME_ AS actEndTime, + c.NAME_ AS taskName, + c.ASSIGNEE_ AS assignee, + c.DESCRIPTION_ AS description, +-- 浣跨敤 LEAD 鑾峰彇涓嬩竴涓椿鍔ㄤ俊鎭� + LEAD ( COALESCE ( a.ACT_NAME_, a.ACT_ID_ ) ) OVER ( PARTITION BY p.PROC_INST_ID_ ORDER BY a.START_TIME_ ) AS nextActName, + LEAD ( a.ACT_TYPE_ ) OVER ( PARTITION BY p.PROC_INST_ID_ ORDER BY a.START_TIME_ ) AS nextActType, + LEAD ( a.START_TIME_ ) OVER ( PARTITION BY p.PROC_INST_ID_ ORDER BY a.START_TIME_ ) AS nextActStartTime + FROM + act_hi_procinst p + LEFT JOIN act_hi_actinst a ON p.PROC_INST_ID_ = a.PROC_INST_ID_ + AND a.ACT_TYPE_ IN ( 'userTask', 'sequenceFlow' ) + LEFT JOIN ACT_HI_TASKINST c ON a.TASK_ID_ = c.ID_ + WHERE + p.PROC_INST_ID_ = #{procInstId} + ) SELECT + procInstId, + businessKey, +-- 褰撳墠娲诲姩锛坲serTask锛変俊鎭� + actName AS userTaskName, + taskName, + assignee, + actStartTime, + actEndTime, + description, +-- 涓嬩竴涓椿鍔紙sequenceFlow锛変俊鎭� + nextActName AS sequenceFlowName, + nextActStartTime AS sequenceFlowStartTime FROM - act_hi_procinst p - LEFT JOIN act_hi_actinst a ON p.PROC_INST_ID_ = a.PROC_INST_ID_ - LEFT JOIN ACT_HI_TASKINST c ON a.TASK_ID_ = c.ID_ + ActivitySequence WHERE - p.PROC_INST_ID_ = #{procInstId} - AND a.ACT_NAME_ IS NOT NULL + actType = 'userTask' -- 绛涢�夊綋鍓嶆椿鍔ㄤ负 userTask + + AND nextActType = 'sequenceFlow' -- 涓斾笅涓�涓椿鍔ㄤ负 sequenceFlow + ORDER BY - COALESCE(a.END_TIME_, '9999-12-31') ASC; + actStartTime; </select> </mapper> -- Gitblit v1.9.3