Merge remote-tracking branch 'origin/fourthStage' into fourthStage

This commit is contained in:
yjz
2024-01-26 17:57:55 +08:00
3 changed files with 30 additions and 7 deletions
+2 -2
View File
@@ -22,8 +22,8 @@ where process_definition_id like 'standard-assessment:%'
#
update process_node
set is_skip = 1
where process_definition_id like 'standard-assessment:%'
and xml_node_id = 'sjgcsbcgzlbh';
where process_definition_id like 'standard-assessment-2:%'
and xml_node_id in ('sjgcsbcgzlbh', 'mkzrrff_1', 'sjgcspg_1', 'mkzrrsp_1', 'bszgjldsp_1');
#
update process_node
set can_choose = 0
@@ -331,12 +331,12 @@ public class ModelerController {
nodeOriginList.addAll(addNodeList);
//找到驳回的线
List<ProcessModelNode> removeList = nodeOriginList.stream()
List<ProcessModelNode> rejectFlowList = nodeOriginList.stream()
.filter(item -> "驳回".equals(item.getNodeName()))
.collect(Collectors.toList());
//全部去除
nodeOriginList.removeAll(removeList);
nodeOriginList.removeAll(rejectFlowList);
Map<String, ProcessModelNode> rejectSourceIdIsGatewayMap = CollStreamUtil.toIdentityMap(rejectFlowList, ProcessModelNode::getXmlSourceRef);
//找到全部的通过线
List<ProcessModelNode> passFlowList = nodeOriginList.stream()
.filter(item -> "通过".equals(item.getNodeName()))
@@ -345,7 +345,7 @@ public class ModelerController {
//全部去除
nodeOriginList.removeAll(passFlowList);
//获得来源id为网关的对应map(通过线的来源id一定是审批网关)
Map<String, ProcessModelNode> sourceIdIsGatewayMap = CollStreamUtil.toIdentityMap(passFlowList, ProcessModelNode::getXmlSourceRef);
Map<String, ProcessModelNode> passSourceIdIsGatewayMap = CollStreamUtil.toIdentityMap(passFlowList, ProcessModelNode::getXmlSourceRef);
//根据通过的线获取全部审批网关id
List<String> approvalGatewayList = passFlowList.stream().map(ProcessModelNode::getXmlSourceRef).collect(Collectors.toList());
//根据审批网关id获取网关前的线(目标id为网关id的是网关前的线)
@@ -363,13 +363,23 @@ public class ModelerController {
//这里是网关id
String xmlTargetRef = modelNode.getXmlTargetRef();
//网关后的线
ProcessModelNode modelNode1 = sourceIdIsGatewayMap.get(xmlTargetRef);
ProcessModelNode modelNode1 = passSourceIdIsGatewayMap.get(xmlTargetRef);
//网关后的节点id
String afterGatewayNodeId = modelNode1.getXmlTargetRef();
Map<String,Object> edge = new HashMap<>();
edge.put("label","通过");
edge.put("source", beforeGatewayNodeId);
edge.put("target",afterGatewayNodeId);
edges.add(edge);
//网关后的线
//ProcessModelNode modelNode2 = rejectSourceIdIsGatewayMap.get(xmlTargetRef);
////网关后的节点id
//String afterGatewayNodeId1 = modelNode2.getXmlTargetRef();
//Map<String,Object> edge2 = new HashMap<>();
//edge2.put("label","驳回");
//edge2.put("source", beforeGatewayNodeId);
//edge2.put("target",afterGatewayNodeId1);
//edges.add(edge2);
}
//找到全部的审批网关(审批网关名字是null)
List<ProcessModelNode> gatewayList = nodeOriginList.stream()
@@ -408,6 +418,13 @@ public class ModelerController {
node.put("isApprovalNode",modelNode.getIsApprovalNode());
node.put("isCanDeleted",modelNode.getIsCanDeleted());
nodes.add(node);
}else if ("InclusiveGateway".equals(nodeType)){
Map<String,Object> node = new HashMap<>();
node.put("id",modelNode.getXmlNodeId());
node.put("name","包容网关");
node.put("isApprovalNode",modelNode.getIsApprovalNode());
node.put("isCanDeleted",modelNode.getIsCanDeleted());
nodes.add(node);
}
}
Map<String,Object> result = new HashMap<>();
@@ -403,6 +403,12 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
nodeName = gateway.getName();
xmlNodeId = gateway.getId();
} else if (flowElement instanceof InclusiveGateway) {
InclusiveGateway gateway = (InclusiveGateway) flowElement;
nodeType = "InclusiveGateway";
nodeName = gateway.getName();
xmlNodeId = gateway.getId();
} else if (flowElement instanceof SubProcess) {
SubProcess subProcess = (SubProcess) flowElement;
MultiInstanceLoopCharacteristics loopCharacteristics = subProcess.getLoopCharacteristics();