diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java index 01985aae..7b83dad0 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java @@ -19,6 +19,7 @@ import com.jero.modules.activiti.process.esAnnualReport.entity.vo.AnnualReportFl import com.jero.modules.activiti.process.esAnnualReport.mapper.ProcessEsAnnualReportMapper; import com.jero.modules.activiti.process.esAnnualReport.service.ProcessEsAnnualReportService; import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType; +import com.jero.modules.activiti.process.esInitChange.entity.vo.InitChangeFlowUserVO; import com.jero.modules.activiti.service.ProcessAllService; import com.jero.modules.activiti.service.ProcessNodeLinkService; import com.jero.modules.activiti.service.ProcessNodeService; @@ -237,8 +238,8 @@ public class ProcessEsAnnualReportServiceImpl extends ServiceImpl nodeList = processNodeService.getNodeList(processDefinitionId, processInstanceId); AnnualReportFlowUserVO annualReportFlowUserVO = new AnnualReportFlowUserVO(); - Map userMap = nodeList.stream().collect(Collectors.toMap(ProcessNode::getVariableName, node -> node)); - annualReportFlowUserVO.setStandardEngineer(userMap.get("standardEngineer").getLinkUserIds()); - annualReportFlowUserVO.setContactUserList(userMap.get("contactUserList").getLinkUserIds()); - annualReportFlowUserVO.setWorkGroupUserList(userMap.get("workGroupUserList").getLinkUserIds()); - annualReportFlowUserVO.setCollectUserLeader(userMap.get("collectUserLeader").getLinkUserIds()); - annualReportFlowUserVO.setContactUserLeaderLeader(userMap.get("contactUserLeaderLeader").getLinkUserIds()); + Map userMap = nodeList.stream() + .collect(Collectors.groupingBy(ProcessNode::getVariableName)) + .values() + .stream() + .map(nodes -> nodes.get(0)) // 选择每组的第一个元素 + .collect(Collectors.toMap(ProcessNode::getVariableName, node -> node)); + Optional.ofNullable(userMap.get("standardEngineer")).ifPresent(node -> annualReportFlowUserVO.setStandardEngineer(node.getLinkUserIds())); + Optional.ofNullable(userMap.get("contactUserList")).ifPresent(node -> annualReportFlowUserVO.setContactUserList(node.getLinkUserIds())); + Optional.ofNullable(userMap.get("workGroupUserList")).ifPresent(node -> annualReportFlowUserVO.setWorkGroupUserList(node.getLinkUserIds())); + Optional.ofNullable(userMap.get("collectUserLeader")).ifPresent(node -> annualReportFlowUserVO.setCollectUserLeader(node.getLinkUserIds())); + Optional.ofNullable(userMap.get("contactUserLeaderLeader")).ifPresent(node -> annualReportFlowUserVO.setContactUserLeaderLeader(node.getLinkUserIds())); return annualReportFlowUserVO; }