From d8d0fd16af2f88cc7623b01493338c1f53b64e74 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 16 十一月 2023 08:51:13 +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