From ca420bd9c09b51a404ade3e0106257725df727be Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期三, 01 十一月 2023 11:32:28 +0800 Subject: [PATCH] 整合代码 --- Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java | 27 +++++++++++++++++++++------ 1 files changed, 21 insertions(+), 6 deletions(-) diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java index 731fb62..6502574 100644 --- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java +++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java @@ -159,10 +159,17 @@ String modelKey = processInstance.getProcessDefinitionKey(); List<FlowTaskDTO> mis = flowEngineService.getNodeByFlowableKey(modelKey); + Map<String,String> taskMap = new HashMap<>(); + mis.stream().forEach(e->{ + String taskId = e.getTaskId(); + String taskName = e.getTaskName(); + taskMap.put(taskId,taskName); + }); // 杈撳嚭杩炵嚎 List<SequenceFlow> outFlows = flowNode.getOutgoingFlows(); for (SequenceFlow sequenceFlow : outFlows) { + String toname = sequenceFlow.getName()==null?"鍚屾剰":sequenceFlow.getName(); //褰撳墠瀹℃壒鑺傜偣 if (NODE_NOW.equals(node)) { FlowElement sourceFlowElement = sequenceFlow.getSourceFlowElement(); @@ -174,9 +181,11 @@ FlowTaskDTO flowTaskUserCi = new FlowTaskDTO(); //flowTaskUserCi.setConditionKey(null); //flowTaskUserCi.setConditionValue(null); - flowTaskUserCi.setToName("鍚屾剰"); + flowTaskUserCi.setToName(toname); flowTaskUserCi.setToTaskId(targetFlow.getId()); - flowTaskUserCi.setToTaskName(targetFlow.getName()); + String taskName = taskMap.get(targetFlow.getId()); + flowTaskUserCi.setToTaskName(taskName); + flowTaskUserCi.setTaskName(taskName); taskList.add(flowTaskUserCi); } @@ -190,16 +199,21 @@ flowTaskUserCi.setToTaskName(targetFlow.getName()); taskList.add(flowTaskUserCi); } - // 濡傛灉涓嬩釜瀹℃壒鑺傜偣涓烘帓浠栫綉鍏� - if (targetFlow instanceof ExclusiveGateway) { + // 濡傛灉涓嬩釜瀹℃壒鑺傜偣涓虹綉鍏� + if (targetFlow instanceof Gateway) { ExclusiveGateway exclusiveGateway = (ExclusiveGateway) targetFlow; List<SequenceFlow> exclusiveGatewayOutgoingFlows = exclusiveGateway.getOutgoingFlows(); for (SequenceFlow nexti:exclusiveGatewayOutgoingFlows){ String conditionExpression = nexti.getConditionExpression();//condition + String taskId = nexti.getTargetRef();//taskId String name = nexti.getName();//toName,椹冲洖銆佸悓鎰� - + String taskName = taskMap.get(taskId); +//ExclusiveGateway + if(StringUtils.isEmpty(conditionExpression)){//姝ゆ椂鎺掍粬缃戝叧娌℃湁閰嶇疆娴佽浆鏉′欢 + continue; + } for (FlowTaskDTO flowTaskUserCi:mis){ if(taskId.equals(flowTaskUserCi.getTaskId())){ flowTaskUserCi.setCondition(conditionExpression); @@ -220,7 +234,8 @@ } flowTaskUserCi.setToName(name); flowTaskUserCi.setToTaskId(taskId); - flowTaskUserCi.setToTaskName(flowTaskUserCi.getTaskName()); + flowTaskUserCi.setToTaskName(taskName); + flowTaskUserCi.setTaskName(taskName); taskList.add(flowTaskUserCi); } } -- Gitblit v1.9.3