From bb84675acbe29387ec127b80bcae80088d36d909 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Sat, 20 Jul 2024 16:41:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B5=81=E7=A8=8B=E6=B5=81=E8=BD=ACBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/MyGlobalEventListener.java | 38 ++++--------------- 1 file changed, 8 insertions(+), 30 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java index 214cc34f..d90334ad 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java @@ -19,7 +19,6 @@ import com.jero.modules.activiti.enums.CommitFlagEnum; import com.jero.modules.activiti.enums.FinishFlagEnum; import com.jero.modules.activiti.enums.ProcessStatusEnum; import com.jero.modules.activiti.enums.ProcessTypeEnum; -import com.jero.modules.activiti.process.standardinterpret.common.StandardInterpretCommon; import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.activiti.service.ProcessNodeService; @@ -411,37 +410,16 @@ public class MyGlobalEventListener implements ActivitiEventListener { String parentTaskId = (String) execution.getVariable(ActivitiCommon.PARENT_TASK_ID); if (StringUtils.isNotBlank(parentTaskId)) { int i = processAllService.countByParentTaskId(parentTaskId); - - // 判断当前parentTaskId是否是第一个子流程 解读人填写信息节点的parentTaskId - ProcessApprovalRecordService processApprovalRecordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class); - int count = processApprovalRecordService.count( - new LambdaQueryWrapper() - .eq(ProcessApprovalRecord::getProcessInstanceId, processInstanceId) - .eq(ProcessApprovalRecord::getNodeId, StandardInterpretCommon.INTERPRETING_PEOPLE_FILLOUT) - .eq(ProcessApprovalRecord::getParentTaskId, parentTaskId)); - if (count > 0){ - // 判断子流程是否还有未完成的节点 - int childCount = processApprovalRecordService.count( - new LambdaQueryWrapper() - .eq(ProcessApprovalRecord::getProcessInstanceId, processInstanceId) - .isNotNull(ProcessApprovalRecord::getParentTaskId) - .eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue())); - if (childCount == 0){ - // 子流程都结束并且没有未分发数据才完成父任务 - TaskService taskService = SpringContextUtil.getBean(TaskService.class); - int unallocatedQuantity = (int) taskService.getVariable(parentTaskId, UNALLOCATED_QUANTITY); - if (unallocatedQuantity == 0){ - taskService.complete(parentTaskId); - } - } - }else { - if (i == 0) { - // 子流程都结束并且没有未分发数据才完成父任务 - TaskService taskService = SpringContextUtil.getBean(TaskService.class); - int unallocatedQuantity = (int) taskService.getVariable(parentTaskId, UNALLOCATED_QUANTITY); - if (unallocatedQuantity == 0){ + if (i == 0) { + TaskService taskService = SpringContextUtil.getBean(TaskService.class); + Object variable = taskService.getVariable(parentTaskId, UNALLOCATED_QUANTITY); + if (variable != null) { + int unallocatedQuantity = (int) variable; + if (unallocatedQuantity == 0) { taskService.complete(parentTaskId); } + } else { + taskService.complete(parentTaskId); } } } else {