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