From 1c2b492e56db796ec5396a342c037ac09d39f877 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Sun, 15 Dec 2024 17:31:58 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B0=83=E6=95=B4=E9=A9=B3=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlwTaskServiceImpl.java | 29 +++++++------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index e674b2c6e..2f3555980 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -364,18 +364,9 @@ public class FlwTaskServiceImpl implements IFlwTaskService { //申请人节点 String applyUserNodeCode = flowSkip.getNextNodeCode(); if (applyUserNodeCode.equals(bo.getNodeCode())) { - backApplyUser(message, inst, applyUserNodeCode); + backTask(message, inst, applyUserNodeCode, TaskStatusEnum.BACK.getStatus()); } else { - List list = taskService.list(FlowFactory.newTask().setInstanceId(inst.getId())); - for (Task task : list) { - FlowParams flowParams = FlowParams.build(); - flowParams.nodeCode(bo.getNodeCode()); - flowParams.message(message); - flowParams.skipType(SkipType.PASS.getKey()); - flowParams.flowStatus(BusinessStatusEnum.WAITING.getStatus()).hisStatus(TaskStatusEnum.BACK.getStatus()); - flowParams.ignore(true); - taskService.skip(task.getId(), flowParams); - } + backTask(message, inst, bo.getNodeCode(), TaskStatusEnum.WAITING.getStatus()); } Instance instance = insService.getById(inst.getId()); setHandler(instance, flowTasks.get(0), null); @@ -391,14 +382,14 @@ public class FlwTaskServiceImpl implements IFlwTaskService { /** * 退回 * - * @param message 审批已经 - * @param instance 流程实例 - * @param applyUserNodeCode 申请人节点 + * @param message 审批已经 + * @param instance 流程实例 + * @param targetNodeCode 驳回的节点 */ - private void backApplyUser(String message, Instance instance, String applyUserNodeCode) { + private void backTask(String message, Instance instance, String targetNodeCode, String status) { List list = taskService.list(FlowFactory.newTask().setInstanceId(instance.getId())); if (CollUtil.isNotEmpty(list)) { - List tasks = StreamUtils.filter(list, e -> e.getNodeCode().equals(applyUserNodeCode)); + List tasks = StreamUtils.filter(list, e -> e.getNodeCode().equals(targetNodeCode)); if (list.size() == tasks.size()) { return; } @@ -406,10 +397,10 @@ public class FlwTaskServiceImpl implements IFlwTaskService { for (Task task : list) { List userList = currentTaskAllUser(task.getId()); FlowParams flowParams = FlowParams.build(); - flowParams.nodeCode(applyUserNodeCode); + flowParams.nodeCode(targetNodeCode); flowParams.message(message); flowParams.skipType(SkipType.PASS.getKey()); - flowParams.flowStatus(BusinessStatusEnum.BACK.getStatus()).hisStatus(TaskStatusEnum.BACK.getStatus()); + flowParams.flowStatus(status).hisStatus(TaskStatusEnum.BACK.getStatus()); flowParams.ignore(true); //解决会签,或签撤销没权限问题 if (CollUtil.isNotEmpty(userList)) { @@ -418,7 +409,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { taskService.skip(task.getId(), flowParams); } //解决会签,或签多人审批问题 - backApplyUser(message, instance, applyUserNodeCode); + backTask(message, instance, targetNodeCode, status); } /**