From 8c2ace0e4df7d18b1efe91b040bcdeeb56080223 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Wed, 31 Jul 2024 15:56:33 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=B5=81=E7=A8=8B):=20=E4=BC=9A=E7=AD=BE?= =?UTF-8?q?=E8=8A=82=E7=82=B9=20=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activiti/service/ProcessAllService.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java index 4873666c..08bc23ac 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessAllService.java @@ -44,6 +44,7 @@ import org.activiti.engine.ManagementService; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; import org.activiti.engine.task.Task; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.stereotype.Service; @@ -103,13 +104,19 @@ public class ProcessAllService extends ServiceImpl String order = req.getParameter("order"); IPage todoList = processAllMapper.getTodoList(page, queryWrapper, column, order); Set nodeIdSet = todoList.getRecords().stream().map(ProcessAll::getNodeId).collect(Collectors.toSet()); - List processNodeList = processNodeService.list(new LambdaQueryWrapper().in(ProcessNode::getId, nodeIdSet)); - todoList.getRecords().forEach(processAll -> { - processNodeList.stream() - .filter(processNode -> processNode.getId().equals(processAll.getNodeId())) - .findFirst() - .ifPresent(processNode -> processAll.setCountersignFlag(processNode.getCountersignFlag())); - }); + Set processDefinitionIdSet = todoList.getRecords().stream().map(ProcessAll::getProcessDefinitionId).collect(Collectors.toSet()); + if (CollectionUtils.isNotEmpty(nodeIdSet) && CollectionUtils.isNotEmpty(processDefinitionIdSet)){ + List processNodeList = processNodeService.list(new LambdaQueryWrapper() + .in(ProcessNode::getXmlNodeId, nodeIdSet) + .in(ProcessNode::getProcessDefinitionId, processDefinitionIdSet)); + todoList.getRecords().forEach(processAll -> { + processNodeList.stream().peek(v -> { + if (v.getXmlNodeId().equals(processAll.getNodeId())){ + processAll.setCountersignFlag(v.getCountersignFlag()); + } + }).collect(Collectors.toList()); + }); + } return todoList; }