Răsfoiți Sursa

update 适配 新版本将xml转为json

疯狂的狮子Li 3 luni în urmă
părinte
comite
652f5161a9

+ 4 - 12
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java

@@ -11,7 +11,6 @@ import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.dromara.common.core.exception.ServiceException;
-import org.dromara.common.core.utils.DateUtils;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.json.utils.JsonUtils;
@@ -41,7 +40,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
-import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -147,18 +145,13 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean importJson(MultipartFile file, String category) {
-        try (InputStream inputStream = file.getInputStream()) {
-            byte[] fileBytes = inputStream.readAllBytes();
-            String fileContent = new String(fileBytes, StandardCharsets.UTF_8);
-            DefJson defJson = JsonUtils.parseObject(fileContent, DefJson.class);
+        try {
+            DefJson defJson = JsonUtils.parseObject(file.getBytes(), DefJson.class);
             defJson.setCategory(category);
             defService.importDef(defJson);
         } catch (IOException e) {
             log.error("读取文件流错误: {}", e.getMessage(), e);
             throw new IllegalStateException("文件读取失败,请检查文件内容", e);
-        } catch (Exception e) {
-            log.error("导入流程定义错误: {}", e.getMessage(), e);
-            throw new IllegalStateException("导入流程定义失败", e);
         }
         return true;
     }
@@ -173,12 +166,11 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
     @Override
     public void exportDef(Long id, HttpServletResponse response) throws IOException {
         byte[] data = defService.exportJson(id).getBytes(StandardCharsets.UTF_8);
-        String filename = "workflow_export_" + DateUtils.dateTimeNow() + ".json";
         // 设置响应头和内容类型
         response.reset();
         response.setCharacterEncoding(StandardCharsets.UTF_8.name());
-        response.setContentType("application/json");
-        response.setHeader("Content-Disposition", "attachment; filename=" + filename);
+        response.setContentType("application/text");
+        response.setHeader("Content-Disposition", "attachment;");
         response.addHeader("Content-Length", "" + data.length);
         IoUtil.write(response.getOutputStream(), false, data);
     }

+ 75 - 0
script/bpmn/leave1.json

@@ -0,0 +1,75 @@
+{
+  "flowCode" : "leave1",
+  "flowName" : "请假申请-普通",
+  "category" : "1",
+  "version" : "1",
+  "formCustom" : "N",
+  "formPath" : "/workflow/leaveEdit/index",
+  "nodeList" : [ {
+    "nodeType" : 0,
+    "nodeCode" : "d5ee3ddf-3968-4379-a86f-9ceabde5faac",
+    "nodeName" : "开始",
+    "nodeRatio" : 0.000,
+    "coordinate" : "200,200|200,200",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "d5ee3ddf-3968-4379-a86f-9ceabde5faac",
+      "nextNodeCode" : "dd515cdd-59f6-446f-94ca-25ca062afb42",
+      "skipType" : "PASS",
+      "coordinate" : "220,200;310,200"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "dd515cdd-59f6-446f-94ca-25ca062afb42",
+    "nodeName" : "申请人",
+    "nodeRatio" : 0.000,
+    "coordinate" : "360,200|360,200",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "dd515cdd-59f6-446f-94ca-25ca062afb42",
+      "nextNodeCode" : "78fa8e5b-e809-44ed-978a-41092409ebcf",
+      "skipType" : "PASS",
+      "coordinate" : "410,200;490,200"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "78fa8e5b-e809-44ed-978a-41092409ebcf",
+    "nodeName" : "组长",
+    "permissionFlag" : "role:1",
+    "nodeRatio" : 0.000,
+    "coordinate" : "540,200|540,200",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "78fa8e5b-e809-44ed-978a-41092409ebcf",
+      "nextNodeCode" : "a8abf15f-b83e-428a-86cc-033555ea9bbe",
+      "skipType" : "PASS",
+      "coordinate" : "590,200;670,200"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "a8abf15f-b83e-428a-86cc-033555ea9bbe",
+    "nodeName" : "部门主管",
+    "permissionFlag" : "role:3,role:4",
+    "nodeRatio" : 0.000,
+    "coordinate" : "720,200|720,200",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "a8abf15f-b83e-428a-86cc-033555ea9bbe",
+      "nextNodeCode" : "8b82b7d7-8660-455e-b880-d6d22ea3eb6d",
+      "skipType" : "PASS",
+      "coordinate" : "770,200;880,200"
+    } ]
+  }, {
+    "nodeType" : 2,
+    "nodeCode" : "8b82b7d7-8660-455e-b880-d6d22ea3eb6d",
+    "nodeName" : "结束",
+    "nodeRatio" : 0.000,
+    "coordinate" : "900,200|900,200",
+    "skipAnyNode" : "N",
+    "formCustom" : "N"
+  } ]
+}

+ 0 - 17
script/bpmn/leave1.xml

@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<definition flowCode="leave1" flowName="请假申请-普通" version="1" category="1" formCustom="N" formPath="/workflow/leaveEdit/index">
-    <node nodeType="start" nodeCode="d5ee3ddf-3968-4379-a86f-9ceabde5faac" nodeName="开始" nodeRatio="0.000" coordinate="200,200|200,200" skipAnyNode="N" formCustom="N">
-        <skip coordinate="220,200;310,200" skipType="PASS">dd515cdd-59f6-446f-94ca-25ca062afb42</skip>
-    </node>
-    <node nodeType="between" nodeCode="dd515cdd-59f6-446f-94ca-25ca062afb42" nodeName="申请人" nodeRatio="0.000" coordinate="360,200|360,200" skipAnyNode="N" formCustom="N">
-        <skip coordinate="410,200;490,200" skipType="PASS">78fa8e5b-e809-44ed-978a-41092409ebcf</skip>
-    </node>
-    <node nodeType="between" nodeCode="78fa8e5b-e809-44ed-978a-41092409ebcf" nodeName="组长" permissionFlag="role:1" nodeRatio="0.000" coordinate="540,200|540,200" skipAnyNode="N" formCustom="N">
-        <skip coordinate="590,200;670,200" skipType="PASS">a8abf15f-b83e-428a-86cc-033555ea9bbe</skip>
-    </node>
-    <node nodeType="between" nodeCode="a8abf15f-b83e-428a-86cc-033555ea9bbe" nodeName="部门主管" permissionFlag="role:3,role:4" nodeRatio="0.000" coordinate="720,200|720,200" skipAnyNode="N" formCustom="N">
-        <skip coordinate="770,200;880,200" skipType="PASS">8b82b7d7-8660-455e-b880-d6d22ea3eb6d</skip>
-    </node>
-    <node nodeType="end" nodeCode="8b82b7d7-8660-455e-b880-d6d22ea3eb6d" nodeName="结束" nodeRatio="0.000" coordinate="900,200|900,200" skipAnyNode="N" formCustom="N"/>
-</definition>

+ 111 - 0
script/bpmn/leave2.json

@@ -0,0 +1,111 @@
+{
+  "flowCode" : "leave2",
+  "flowName" : "请假申请-排他网关",
+  "category" : "1",
+  "version" : "1",
+  "formCustom" : "N",
+  "formPath" : "/workflow/leaveEdit/index",
+  "nodeList" : [ {
+    "nodeType" : 0,
+    "nodeCode" : "cef3895c-f7d8-4598-8bf3-8ec2ef6ce84a",
+    "nodeName" : "开始",
+    "nodeRatio" : 0.000,
+    "coordinate" : "300,240|300,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "cef3895c-f7d8-4598-8bf3-8ec2ef6ce84a",
+      "nextNodeCode" : "fdcae93b-b69c-498a-b231-09255e74bcbd",
+      "skipType" : "PASS",
+      "coordinate" : "320,240;390,240"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "fdcae93b-b69c-498a-b231-09255e74bcbd",
+    "nodeName" : "申请人",
+    "nodeRatio" : 0.000,
+    "coordinate" : "440,240|440,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "fdcae93b-b69c-498a-b231-09255e74bcbd",
+      "nextNodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
+      "skipType" : "PASS",
+      "coordinate" : "490,240;535,240"
+    } ]
+  }, {
+    "nodeType" : 3,
+    "nodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
+    "nodeRatio" : 0.000,
+    "coordinate" : "560,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
+      "nextNodeCode" : "b3528155-dcb7-4445-bbdf-3d00e3499e86",
+      "skipType" : "PASS",
+      "skipCondition" : "le@@leaveDays|2",
+      "coordinate" : "560,265;560,320;670,320"
+    }, {
+      "nowNodeCode" : "7b8c7ead-7dc8-4951-a7f3-f0c41995909e",
+      "nextNodeCode" : "5ed2362b-fc0c-4d52-831f-95208b830605",
+      "skipName" : "大于两天",
+      "skipType" : "PASS",
+      "skipCondition" : "gt@@leaveDays|2",
+      "coordinate" : "560,215;560,160;670,160|560,187"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "b3528155-dcb7-4445-bbdf-3d00e3499e86",
+    "nodeName" : "组长",
+    "permissionFlag" : "3,4",
+    "nodeRatio" : 0.000,
+    "coordinate" : "720,320|720,320",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "b3528155-dcb7-4445-bbdf-3d00e3499e86",
+      "nextNodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
+      "skipType" : "PASS",
+      "coordinate" : "770,320;860,320;860,280"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
+    "nodeName" : "总经理",
+    "permissionFlag" : "role:1",
+    "nodeRatio" : 0.000,
+    "coordinate" : "860,240|860,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
+      "nextNodeCode" : "40aa65fd-0712-4d23-b6f7-d0432b920fd1",
+      "skipType" : "PASS",
+      "coordinate" : "910,240;980,240"
+    } ]
+  }, {
+    "nodeType" : 2,
+    "nodeCode" : "40aa65fd-0712-4d23-b6f7-d0432b920fd1",
+    "nodeName" : "结束",
+    "nodeRatio" : 0.000,
+    "coordinate" : "1000,240|1000,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N"
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "5ed2362b-fc0c-4d52-831f-95208b830605",
+    "nodeName" : "部门领导",
+    "permissionFlag" : "role:1",
+    "nodeRatio" : 0.000,
+    "coordinate" : "720,160|720,160",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "5ed2362b-fc0c-4d52-831f-95208b830605",
+      "nextNodeCode" : "c9fa6d7d-2a74-4e78-b947-0cad8a6af869",
+      "skipType" : "PASS",
+      "coordinate" : "770,160;860,160;860,200"
+    } ]
+  } ]
+}

+ 0 - 24
script/bpmn/leave2.xml

@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<definition flowCode="leave2" flowName="请假申请-排他网关" version="1" category="1" formCustom="N" formPath="/workflow/leaveEdit/index">
-    <node nodeType="start" nodeCode="cef3895c-f7d8-4598-8bf3-8ec2ef6ce84a" nodeName="开始" nodeRatio="0.000" coordinate="300,240|300,240" skipAnyNode="N" formCustom="N">
-        <skip coordinate="320,240;390,240" skipType="PASS">fdcae93b-b69c-498a-b231-09255e74bcbd</skip>
-    </node>
-    <node nodeType="between" nodeCode="fdcae93b-b69c-498a-b231-09255e74bcbd" nodeName="申请人" nodeRatio="0.000" coordinate="440,240|440,240" skipAnyNode="N" formCustom="N">
-        <skip coordinate="490,240;535,240" skipType="PASS">7b8c7ead-7dc8-4951-a7f3-f0c41995909e</skip>
-    </node>
-    <node nodeType="serial" nodeCode="7b8c7ead-7dc8-4951-a7f3-f0c41995909e" nodeRatio="0.000" coordinate="560,240" skipAnyNode="N" formCustom="N">
-        <skip coordinate="560,265;560,320;670,320" skipType="PASS" skipCondition="le|leaveDays|2">b3528155-dcb7-4445-bbdf-3d00e3499e86</skip>
-        <skip coordinate="560,215;560,160;670,160|560,187" skipType="PASS" skipName="大于两天" skipCondition="gt|leaveDays|2">5ed2362b-fc0c-4d52-831f-95208b830605</skip>
-    </node>
-    <node nodeType="between" nodeCode="b3528155-dcb7-4445-bbdf-3d00e3499e86" nodeName="组长" permissionFlag="3,4" nodeRatio="0.000" coordinate="720,320|720,320" skipAnyNode="N" formCustom="N">
-        <skip coordinate="770,320;860,320;860,280" skipType="PASS">c9fa6d7d-2a74-4e78-b947-0cad8a6af869</skip>
-    </node>
-    <node nodeType="between" nodeCode="c9fa6d7d-2a74-4e78-b947-0cad8a6af869" nodeName="总经理" permissionFlag="role:1" nodeRatio="0.000" coordinate="860,240|860,240" skipAnyNode="N" formCustom="N">
-        <skip coordinate="910,240;980,240" skipType="PASS">40aa65fd-0712-4d23-b6f7-d0432b920fd1</skip>
-    </node>
-    <node nodeType="end" nodeCode="40aa65fd-0712-4d23-b6f7-d0432b920fd1" nodeName="结束" nodeRatio="0.000" coordinate="1000,240|1000,240" skipAnyNode="N" formCustom="N"/>
-    <node nodeType="between" nodeCode="5ed2362b-fc0c-4d52-831f-95208b830605" nodeName="部门领导" permissionFlag="role:1" nodeRatio="0.000" coordinate="720,160|720,160" skipAnyNode="N" formCustom="N">
-        <skip coordinate="770,160;860,160;860,200" skipType="PASS">c9fa6d7d-2a74-4e78-b947-0cad8a6af869</skip>
-    </node>
-</definition>

+ 121 - 0
script/bpmn/leave3.json

@@ -0,0 +1,121 @@
+{
+  "flowCode" : "leave3",
+  "flowName" : "请假申请-并行网关",
+  "category" : "1",
+  "version" : "1",
+  "formCustom" : "N",
+  "formPath" : "/workflow/leaveEdit/index",
+  "nodeList" : [ {
+    "nodeType" : 0,
+    "nodeCode" : "a80ecf9f-f465-4ae5-a429-e30ec5d0f957",
+    "nodeName" : "开始",
+    "nodeRatio" : 0.000,
+    "coordinate" : "380,220|380,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "a80ecf9f-f465-4ae5-a429-e30ec5d0f957",
+      "nextNodeCode" : "b7bbb571-06de-455c-8083-f83c07bf0b99",
+      "skipType" : "PASS",
+      "coordinate" : "400,220;470,220"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "b7bbb571-06de-455c-8083-f83c07bf0b99",
+    "nodeName" : "申请人",
+    "nodeRatio" : 0.000,
+    "coordinate" : "520,220|520,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "b7bbb571-06de-455c-8083-f83c07bf0b99",
+      "nextNodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
+      "skipType" : "PASS",
+      "coordinate" : "570,220;655,220"
+    } ]
+  }, {
+    "nodeType" : 4,
+    "nodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
+    "nodeRatio" : 0.000,
+    "coordinate" : "680,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
+      "nextNodeCode" : "4b7743cd-940c-431b-926f-e7b614fbf1fe",
+      "skipType" : "PASS",
+      "coordinate" : "680,195;680,140;750,140"
+    }, {
+      "nowNodeCode" : "84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a",
+      "nextNodeCode" : "762cb975-37d8-4276-b6db-79a4c3606394",
+      "skipType" : "PASS",
+      "coordinate" : "680,245;680,300;750,300"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "4b7743cd-940c-431b-926f-e7b614fbf1fe",
+    "nodeName" : "市场部",
+    "permissionFlag" : "role:1",
+    "nodeRatio" : 0.000,
+    "coordinate" : "800,140|800,140",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "4b7743cd-940c-431b-926f-e7b614fbf1fe",
+      "nextNodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
+      "skipType" : "PASS",
+      "coordinate" : "850,140;920,140;920,195"
+    } ]
+  }, {
+    "nodeType" : 4,
+    "nodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
+    "nodeRatio" : 0.000,
+    "coordinate" : "920,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
+      "nextNodeCode" : "23e7429e-2b47-4431-b93e-40db7c431ce6",
+      "skipType" : "PASS",
+      "coordinate" : "945,220;975,220;975,220;960,220;960,220;990,220"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "23e7429e-2b47-4431-b93e-40db7c431ce6",
+    "nodeName" : "CEO",
+    "permissionFlag" : "1",
+    "nodeRatio" : 0.000,
+    "coordinate" : "1040,220|1040,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "23e7429e-2b47-4431-b93e-40db7c431ce6",
+      "nextNodeCode" : "f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1",
+      "skipType" : "PASS",
+      "coordinate" : "1090,220;1140,220"
+    } ]
+  }, {
+    "nodeType" : 2,
+    "nodeCode" : "f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1",
+    "nodeName" : "结束",
+    "nodeRatio" : 0.000,
+    "coordinate" : "1160,220|1160,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N"
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "762cb975-37d8-4276-b6db-79a4c3606394",
+    "nodeName" : "综合部",
+    "permissionFlag" : "role:3,role:4",
+    "nodeRatio" : 0.000,
+    "coordinate" : "800,300|800,300",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "762cb975-37d8-4276-b6db-79a4c3606394",
+      "nextNodeCode" : "b66b6563-f9fe-41cc-a782-f7837bb6f3d2",
+      "skipType" : "PASS",
+      "coordinate" : "850,300;920,300;920,245"
+    } ]
+  } ]
+}

+ 0 - 27
script/bpmn/leave3.xml

@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<definition flowCode="leave3" flowName="请假申请-并行网关" version="1" category="1" formCustom="N" formPath="/workflow/leaveEdit/index">
-    <node nodeType="start" nodeCode="a80ecf9f-f465-4ae5-a429-e30ec5d0f957" nodeName="开始" nodeRatio="0.000" coordinate="380,220|380,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="400,220;470,220" skipType="PASS">b7bbb571-06de-455c-8083-f83c07bf0b99</skip>
-    </node>
-    <node nodeType="between" nodeCode="b7bbb571-06de-455c-8083-f83c07bf0b99" nodeName="申请人" nodeRatio="0.000" coordinate="520,220|520,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="570,220;655,220" skipType="PASS">84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a</skip>
-    </node>
-    <node nodeType="parallel" nodeCode="84d7ed24-bb44-4ba1-bf1f-e6f5092d3f0a" nodeRatio="0.000" coordinate="680,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="680,195;680,140;750,140" skipType="PASS">4b7743cd-940c-431b-926f-e7b614fbf1fe</skip>
-        <skip coordinate="680,245;680,300;750,300" skipType="PASS">762cb975-37d8-4276-b6db-79a4c3606394</skip>
-    </node>
-    <node nodeType="between" nodeCode="4b7743cd-940c-431b-926f-e7b614fbf1fe" nodeName="市场部" permissionFlag="role:1" nodeRatio="0.000" coordinate="800,140|800,140" skipAnyNode="N" formCustom="N">
-        <skip coordinate="850,140;920,140;920,195" skipType="PASS">b66b6563-f9fe-41cc-a782-f7837bb6f3d2</skip>
-    </node>
-    <node nodeType="parallel" nodeCode="b66b6563-f9fe-41cc-a782-f7837bb6f3d2" nodeRatio="0.000" coordinate="920,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="945,220;975,220;975,220;960,220;960,220;990,220" skipType="PASS">23e7429e-2b47-4431-b93e-40db7c431ce6</skip>
-    </node>
-    <node nodeType="between" nodeCode="23e7429e-2b47-4431-b93e-40db7c431ce6" nodeName="CEO" permissionFlag="1" nodeRatio="0.000" coordinate="1040,220|1040,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="1090,220;1140,220" skipType="PASS">f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1</skip>
-    </node>
-    <node nodeType="end" nodeCode="f5ace37f-5a5e-4e64-a6f6-913ab9a71cd1" nodeName="结束" nodeRatio="0.000" coordinate="1160,220|1160,220" skipAnyNode="N" formCustom="N"/>
-    <node nodeType="between" nodeCode="762cb975-37d8-4276-b6db-79a4c3606394" nodeName="综合部" permissionFlag="role:3,role:4" nodeRatio="0.000" coordinate="800,300|800,300" skipAnyNode="N" formCustom="N">
-        <skip coordinate="850,300;920,300;920,245" skipType="PASS">b66b6563-f9fe-41cc-a782-f7837bb6f3d2</skip>
-    </node>
-</definition>

+ 90 - 0
script/bpmn/leave4.json

@@ -0,0 +1,90 @@
+{
+  "flowCode" : "leave4",
+  "flowName" : "请假申请-会签",
+  "category" : "1",
+  "version" : "1",
+  "formCustom" : "N",
+  "formPath" : "/workflow/leaveEdit/index",
+  "nodeList" : [ {
+    "nodeType" : 0,
+    "nodeCode" : "9ce8bf00-f25b-4fc6-91b8-827082fc4876",
+    "nodeName" : "开始",
+    "nodeRatio" : 0.000,
+    "coordinate" : "320,240|320,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "9ce8bf00-f25b-4fc6-91b8-827082fc4876",
+      "nextNodeCode" : "e90b98ef-35b4-410c-a663-bae8b7624b9f",
+      "skipType" : "PASS",
+      "coordinate" : "340,240;410,240"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "e90b98ef-35b4-410c-a663-bae8b7624b9f",
+    "nodeName" : "申请人",
+    "nodeRatio" : 0.000,
+    "coordinate" : "460,240|460,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "e90b98ef-35b4-410c-a663-bae8b7624b9f",
+      "nextNodeCode" : "768b5b1a-6726-4d67-8853-4cc70d5b1045",
+      "skipType" : "PASS",
+      "coordinate" : "510,240;590,240"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "768b5b1a-6726-4d67-8853-4cc70d5b1045",
+    "nodeName" : "百分之60通过",
+    "permissionFlag" : "${userList}",
+    "nodeRatio" : 60.000,
+    "coordinate" : "640,240|640,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "768b5b1a-6726-4d67-8853-4cc70d5b1045",
+      "nextNodeCode" : "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
+      "skipType" : "PASS",
+      "coordinate" : "690,240;770,240"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
+    "nodeName" : "全部审批通过",
+    "permissionFlag" : "role:1,role:3",
+    "nodeRatio" : 100.000,
+    "coordinate" : "820,240|820,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "2f9f2e21-9bcf-42a3-a07c-13037aad22d1",
+      "nextNodeCode" : "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
+      "skipType" : "PASS",
+      "coordinate" : "870,240;950,240"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
+    "nodeName" : "CEO",
+    "permissionFlag" : "1",
+    "nodeRatio" : 0.000,
+    "coordinate" : "1000,240|1000,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "27461e01-3d9f-4530-8fe3-bd5ec7f9571f",
+      "nextNodeCode" : "b62b88c3-8d8d-4969-911e-2aaea219e7fc",
+      "skipType" : "PASS",
+      "coordinate" : "1050,240;1080,240;1080,240;1070,240;1070,240;1100,240"
+    } ]
+  }, {
+    "nodeType" : 2,
+    "nodeCode" : "b62b88c3-8d8d-4969-911e-2aaea219e7fc",
+    "nodeName" : "结束",
+    "nodeRatio" : 0.000,
+    "coordinate" : "1120,240|1120,240",
+    "skipAnyNode" : "N",
+    "formCustom" : "N"
+  } ]
+}

+ 0 - 20
script/bpmn/leave4.xml

@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<definition flowCode="leave4" flowName="请假申请-会签" version="1" category="1" formCustom="N" formPath="/workflow/leaveEdit/index">
-    <node nodeType="start" nodeCode="9ce8bf00-f25b-4fc6-91b8-827082fc4876" nodeName="开始" nodeRatio="0.000" coordinate="320,240|320,240" skipAnyNode="N" formCustom="N">
-        <skip coordinate="340,240;410,240" skipType="PASS">e90b98ef-35b4-410c-a663-bae8b7624b9f</skip>
-    </node>
-    <node nodeType="between" nodeCode="e90b98ef-35b4-410c-a663-bae8b7624b9f" nodeName="申请人" nodeRatio="0.000" coordinate="460,240|460,240" skipAnyNode="N" formCustom="N">
-        <skip coordinate="510,240;590,240" skipType="PASS">768b5b1a-6726-4d67-8853-4cc70d5b1045</skip>
-    </node>
-    <node nodeType="between" nodeCode="768b5b1a-6726-4d67-8853-4cc70d5b1045" nodeName="百分之60通过" permissionFlag="${userList}" nodeRatio="60.000" coordinate="640,240|640,240" skipAnyNode="N" anyNodeSkip="e90b98ef-35b4-410c-a663-bae8b7624b9f" formCustom="N">
-        <skip coordinate="690,240;770,240" skipType="PASS">2f9f2e21-9bcf-42a3-a07c-13037aad22d1</skip>
-    </node>
-    <node nodeType="between" nodeCode="2f9f2e21-9bcf-42a3-a07c-13037aad22d1" nodeName="全部审批通过" permissionFlag="role:1,role:3" nodeRatio="100.000" coordinate="820,240|820,240" skipAnyNode="N" formCustom="N">
-        <skip coordinate="870,240;950,240" skipType="PASS">27461e01-3d9f-4530-8fe3-bd5ec7f9571f</skip>
-    </node>
-    <node nodeType="between" nodeCode="27461e01-3d9f-4530-8fe3-bd5ec7f9571f" nodeName="CEO" permissionFlag="1" nodeRatio="0.000" coordinate="1000,240|1000,240" skipAnyNode="N" formCustom="N">
-        <skip coordinate="1050,240;1080,240;1080,240;1070,240;1070,240;1100,240" skipType="PASS">b62b88c3-8d8d-4969-911e-2aaea219e7fc</skip>
-    </node>
-    <node nodeType="end" nodeCode="b62b88c3-8d8d-4969-911e-2aaea219e7fc" nodeName="结束" nodeRatio="0.000" coordinate="1120,240|1120,240" skipAnyNode="N" formCustom="N"/>
-</definition>

+ 121 - 0
script/bpmn/leave5.json

@@ -0,0 +1,121 @@
+{
+  "flowCode" : "leave5",
+  "flowName" : "请假申请-并行会签网关",
+  "category" : "1",
+  "version" : "1",
+  "formCustom" : "N",
+  "formPath" : "/workflow/leaveEdit/index",
+  "nodeList" : [ {
+    "nodeType" : 0,
+    "nodeCode" : "ebebaf26-9cb6-497e-8119-4c9fed4c597c",
+    "nodeName" : "开始",
+    "nodeRatio" : 0.000,
+    "coordinate" : "300,220|300,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "ebebaf26-9cb6-497e-8119-4c9fed4c597c",
+      "nextNodeCode" : "e1b04e96-dc81-4858-a309-2fe945d2f374",
+      "skipType" : "PASS",
+      "coordinate" : "320,220;350,220;350,220;340,220;340,220;370,220"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "e1b04e96-dc81-4858-a309-2fe945d2f374",
+    "nodeName" : "申请人",
+    "nodeRatio" : 0.000,
+    "coordinate" : "420,220|420,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "e1b04e96-dc81-4858-a309-2fe945d2f374",
+      "nextNodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
+      "skipType" : "PASS",
+      "coordinate" : "470,220;535,220"
+    } ]
+  }, {
+    "nodeType" : 4,
+    "nodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
+    "nodeRatio" : 0.000,
+    "coordinate" : "560,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
+      "nextNodeCode" : "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
+      "skipType" : "PASS",
+      "coordinate" : "560,245;560,320;650,320"
+    }, {
+      "nowNodeCode" : "3e743f4f-51ca-41d4-8e94-21f5dd9b59c9",
+      "nextNodeCode" : "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
+      "skipType" : "PASS",
+      "coordinate" : "560,195;560,120;650,120"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
+    "nodeName" : "会签",
+    "permissionFlag" : "role:1,role:3",
+    "nodeRatio" : 100.000,
+    "coordinate" : "700,320|700,320",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "c80f273e-1f17-4bd8-9ad1-04a4a94ea862",
+      "nextNodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
+      "skipType" : "PASS",
+      "coordinate" : "750,320;860,320;860,245"
+    } ]
+  }, {
+    "nodeType" : 4,
+    "nodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
+    "nodeRatio" : 0.000,
+    "coordinate" : "860,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
+      "nextNodeCode" : "7a8f0473-e409-442e-a843-5c2b813d00e9",
+      "skipType" : "PASS",
+      "coordinate" : "885,220;950,220"
+    } ]
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "7a8f0473-e409-442e-a843-5c2b813d00e9",
+    "nodeName" : "CEO",
+    "permissionFlag" : "1",
+    "nodeRatio" : 0.000,
+    "coordinate" : "1000,220|1000,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "7a8f0473-e409-442e-a843-5c2b813d00e9",
+      "nextNodeCode" : "03c4d2bc-58b5-4408-a2e4-65afb046f169",
+      "skipType" : "PASS",
+      "coordinate" : "1050,220;1120,220"
+    } ]
+  }, {
+    "nodeType" : 2,
+    "nodeCode" : "03c4d2bc-58b5-4408-a2e4-65afb046f169",
+    "nodeName" : "结束",
+    "nodeRatio" : 0.000,
+    "coordinate" : "1140,220|1140,220",
+    "skipAnyNode" : "N",
+    "formCustom" : "N"
+  }, {
+    "nodeType" : 1,
+    "nodeCode" : "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
+    "nodeName" : "百分之60票签",
+    "permissionFlag" : "${userList}",
+    "nodeRatio" : 60.000,
+    "coordinate" : "700,120|700,120",
+    "skipAnyNode" : "N",
+    "formCustom" : "N",
+    "skipList" : [ {
+      "nowNodeCode" : "1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4",
+      "nextNodeCode" : "1a20169e-3d82-4926-a151-e2daad28de1b",
+      "skipType" : "PASS",
+      "coordinate" : "750,120;860,120;860,195"
+    } ]
+  } ]
+}

+ 0 - 27
script/bpmn/leave5.xml

@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<definition flowCode="leave5" flowName="请假申请-并行会签网关" version="1" category="1" formCustom="N" formPath="/workflow/leaveEdit/index">
-    <node nodeType="start" nodeCode="ebebaf26-9cb6-497e-8119-4c9fed4c597c" nodeName="开始" nodeRatio="0.000" coordinate="300,220|300,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="320,220;350,220;350,220;340,220;340,220;370,220" skipType="PASS">e1b04e96-dc81-4858-a309-2fe945d2f374</skip>
-    </node>
-    <node nodeType="between" nodeCode="e1b04e96-dc81-4858-a309-2fe945d2f374" nodeName="申请人" nodeRatio="0.000" coordinate="420,220|420,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="470,220;535,220" skipType="PASS">3e743f4f-51ca-41d4-8e94-21f5dd9b59c9</skip>
-    </node>
-    <node nodeType="parallel" nodeCode="3e743f4f-51ca-41d4-8e94-21f5dd9b59c9" nodeRatio="0.000" coordinate="560,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="560,245;560,320;650,320" skipType="PASS">c80f273e-1f17-4bd8-9ad1-04a4a94ea862</skip>
-        <skip coordinate="560,195;560,120;650,120" skipType="PASS">1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4</skip>
-    </node>
-    <node nodeType="between" nodeCode="c80f273e-1f17-4bd8-9ad1-04a4a94ea862" nodeName="会签" permissionFlag="role:1,role:3" nodeRatio="100.000" coordinate="700,320|700,320" skipAnyNode="N" formCustom="N">
-        <skip coordinate="750,320;860,320;860,245" skipType="PASS">1a20169e-3d82-4926-a151-e2daad28de1b</skip>
-    </node>
-    <node nodeType="parallel" nodeCode="1a20169e-3d82-4926-a151-e2daad28de1b" nodeRatio="0.000" coordinate="860,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="885,220;950,220" skipType="PASS">7a8f0473-e409-442e-a843-5c2b813d00e9</skip>
-    </node>
-    <node nodeType="between" nodeCode="7a8f0473-e409-442e-a843-5c2b813d00e9" nodeName="CEO" permissionFlag="1" nodeRatio="0.000" coordinate="1000,220|1000,220" skipAnyNode="N" formCustom="N">
-        <skip coordinate="1050,220;1120,220" skipType="PASS">03c4d2bc-58b5-4408-a2e4-65afb046f169</skip>
-    </node>
-    <node nodeType="end" nodeCode="03c4d2bc-58b5-4408-a2e4-65afb046f169" nodeName="结束" nodeRatio="0.000" coordinate="1140,220|1140,220" skipAnyNode="N" formCustom="N"/>
-    <node nodeType="between" nodeCode="1e3e8d3b-18ae-4d6c-a814-ce0d724adfa4" nodeName="百分之60票签" permissionFlag="${userList}" nodeRatio="60.000" coordinate="700,120|700,120" skipAnyNode="N" anyNodeSkip="e1b04e96-dc81-4858-a309-2fe945d2f374" formCustom="N">
-        <skip coordinate="750,120;860,120;860,195" skipType="PASS">1a20169e-3d82-4926-a151-e2daad28de1b</skip>
-    </node>
-</definition>