diff --git a/db/流程图导入后初始sql.sql b/db/流程图导入后初始sql.sql index 72cfd32c..08eeabc8 100644 --- a/db/流程图导入后初始sql.sql +++ b/db/流程图导入后初始sql.sql @@ -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 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java index 45e84350..63a663d0 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java @@ -331,12 +331,12 @@ public class ModelerController { nodeOriginList.addAll(addNodeList); //找到驳回的线 - List removeList = nodeOriginList.stream() + List rejectFlowList = nodeOriginList.stream() .filter(item -> "驳回".equals(item.getNodeName())) .collect(Collectors.toList()); //全部去除 - nodeOriginList.removeAll(removeList); - + nodeOriginList.removeAll(rejectFlowList); + Map rejectSourceIdIsGatewayMap = CollStreamUtil.toIdentityMap(rejectFlowList, ProcessModelNode::getXmlSourceRef); //找到全部的通过线 List passFlowList = nodeOriginList.stream() .filter(item -> "通过".equals(item.getNodeName())) @@ -345,7 +345,7 @@ public class ModelerController { //全部去除 nodeOriginList.removeAll(passFlowList); //获得来源id为网关的对应map(通过线的来源id一定是审批网关) - Map sourceIdIsGatewayMap = CollStreamUtil.toIdentityMap(passFlowList, ProcessModelNode::getXmlSourceRef); + Map passSourceIdIsGatewayMap = CollStreamUtil.toIdentityMap(passFlowList, ProcessModelNode::getXmlSourceRef); //根据通过的线获取全部审批网关id List 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 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 edge2 = new HashMap<>(); + //edge2.put("label","驳回"); + //edge2.put("source", beforeGatewayNodeId); + //edge2.put("target",afterGatewayNodeId1); + //edges.add(edge2); } //找到全部的审批网关(审批网关名字是null) List 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 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 result = new HashMap<>(); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessModelNodeService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessModelNodeService.java index fda5a412..67ffdf3c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessModelNodeService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessModelNodeService.java @@ -403,6 +403,12 @@ public class ProcessModelNodeService extends ServiceImpl