From ad73e4eeddfde421757283f1a54f79a92783e7a4 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: Mon, 8 Jan 2024 20:34:20 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=8A=9E=E7=90=86=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/service/impl/ActTaskServiceImpl.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java index 91bacba67..84fd56111 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java @@ -150,6 +150,13 @@ public class ActTaskServiceImpl implements IActTaskService { taskService.complete(newTask.getId()); return true; } + FlowProcessEventHandler processHandler = flowEventStrategy.getProcessHandler(processInstance.getProcessDefinitionKey()); + String businessStatus = WorkflowUtils.getBusinessStatus(task.getProcessInstanceId()); + if (BusinessStatusEnum.DRAFT.getStatus().equals(businessStatus) || BusinessStatusEnum.BACK.getStatus().equals(businessStatus) || BusinessStatusEnum.CANCEL.getStatus().equals(businessStatus)) { + if (processHandler != null) { + processHandler.handleProcess(processInstance.getId(), businessStatus); + } + } runtimeService.updateBusinessStatus(task.getProcessInstanceId(), BusinessStatusEnum.WAITING.getStatus()); String key = processInstance.getProcessDefinitionKey() + "_" + task.getTaskDefinitionKey(); FlowTaskEventHandler taskHandler = flowEventStrategy.getTaskHandler(key); @@ -164,14 +171,6 @@ public class ActTaskServiceImpl implements IActTaskService { } else { taskService.complete(completeTaskBo.getTaskId()); } - FlowProcessEventHandler processHandler = flowEventStrategy.getProcessHandler(processInstance.getProcessDefinitionKey()); - - String businessStatus = WorkflowUtils.getBusinessStatus(task.getProcessInstanceId()); - if (BusinessStatusEnum.DRAFT.getStatus().equals(businessStatus) || BusinessStatusEnum.BACK.getStatus().equals(businessStatus) || BusinessStatusEnum.CANCEL.getStatus().equals(businessStatus)) { - if (processHandler != null) { - processHandler.handleProcess(processInstance.getId(), businessStatus); - } - } List list = taskService.createTaskQuery().taskTenantId(TenantHelper.getTenantId()).processInstanceId(task.getProcessInstanceId()).list(); if (CollUtil.isEmpty(list)) { UpdateBusinessStatusCmd updateBusinessStatusCmd = new UpdateBusinessStatusCmd(task.getProcessInstanceId(), BusinessStatusEnum.FINISH.getStatus());