From 1e958de63d0c0c28c0f61c02e5f32f6c797bccf7 Mon Sep 17 00:00:00 2001 From: hongchao <3228015117@qq.com> Date: Tue, 23 Sep 2025 16:00:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=90=E6=96=99=E7=AB=99=E7=9B=B4=E8=BD=AC?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SysWorkflowRecordHistoryServiceImpl.java | 24 +++++++++---------- .../material/work/DirectAuditMapper.xml | 16 ++++++++++--- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java index 9e0cb2a3..6134cc62 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java @@ -397,7 +397,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis history.setNodeId(sysWorkflowRecordHistory.getNextNodeId()); if(i!=sysWorkflowNodeList.size()-1){ history.setNextNodeId(sysWorkflowNodeList.get(i+1).getId()); - nextNodeId = sysWorkflowNodeList.get(i+1).getId(); +// nextNodeId = sysWorkflowNodeList.get(i+1).getId(); sysWorkflowNodeList.get(i).setNextNodeId(sysWorkflowNodeList.get(i+1).getId()); sysWorkflowNodeList.get(i).setNextRoleIds(sysWorkflowNodeList.get(i+1).getRoleIds()); }else{ @@ -433,7 +433,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis history.setNodeId(sysWorkflowRecordHistory.getNextNodeId()); if(i!=sysWorkflowNodeList.size()-1){ history.setNextNodeId(sysWorkflowNodeList.get(i+1).getId()); - nextNodeId = sysWorkflowNodeList.get(i+1).getId(); +// nextNodeId = sysWorkflowNodeList.get(i+1).getId(); sysWorkflowNodeList.get(i).setNextNodeId(sysWorkflowNodeList.get(i+1).getId()); sysWorkflowNodeList.get(i).setNextRoleIds(sysWorkflowNodeList.get(i+1).getRoleIds()); }else{ @@ -689,16 +689,16 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis directApplyInfo.setStatus("2"); directAuditMapper.updateDirectAudit(directApplyInfo); - try { - log.info("-------------节点更新工单信息✔-------------"); - // 修改工单信息 - updateWorkOrder(recordId, sysUser.getUserName()); - - log.info("-------------节点更新工单信息结束-------------"); - } catch (Exception e) { - System.err.println("更新工单信息失败:" + e.getMessage()); - log.error("更新工单信息失败: {}", e.getMessage(), e); - } +// try { +// log.info("-------------节点更新工单信息✔-------------"); +// // 修改工单信息 +// updateWorkOrder(recordId, sysUser.getUserName()); +// +// log.info("-------------节点更新工单信息结束-------------"); +// } catch (Exception e) { +// System.err.println("更新工单信息失败:" + e.getMessage()); +// log.error("更新工单信息失败: {}", e.getMessage(), e); +// } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml index 7df6caa5..96446622 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml @@ -45,8 +45,18 @@ left join sys_workflow_type swt on swr.workflow_id = swt.id left join sys_workflow_node swn on swt.id = swn.type_id left join sys_workflow_config swc on swn.id = swc.node_id - left join sys_workflow_record_history swrs on swr.id = swrs.record_id - + left join ( + select swrs.* + from sys_workflow_record_history swrs + inner join ( + -- 第一步:按 record_id 分组,获取每组最新的 create_time + select record_id, max(create_time) as max_create_time + from sys_workflow_record_history + group by record_id + ) t on swrs.record_id = t.record_id + and swrs.create_time = t.max_create_time -- 第二步:关联原表,获取最新时间对应的完整记录 + ) swrs on swr.id = swrs.record_id + where swr.task_id is not null and ( @@ -76,7 +86,7 @@ AND DATE_FORMAT( dai.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} - + GROUP BY swr.task_id order by dai.create_time desc