疯狂的狮子Li
2025-01-15 652f5161a91475ae0c22a88eb06b36b240edb744
update 适配 新版本将xml转为json
已添加5个文件
已删除5个文件
已修改1个文件
649 ■■■■ 文件已修改
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave1.json 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave1.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave2.json 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave2.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave3.json 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave3.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave4.json 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave4.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave5.json 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
script/bpmn/leave5.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwDefinitionServiceImpl.java
@@ -11,7 +11,6 @@
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.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 @@
    @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 @@
    @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);
    }
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"
  } ]
}
script/bpmn/leave1.xml
ÎļþÒÑɾ³ý
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"
    } ]
  } ]
}
script/bpmn/leave2.xml
ÎļþÒÑɾ³ý
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"
    } ]
  } ]
}
script/bpmn/leave3.xml
ÎļþÒÑɾ³ý
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"
  } ]
}
script/bpmn/leave4.xml
ÎļþÒÑɾ³ý
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"
    } ]
  } ]
}
script/bpmn/leave5.xml
ÎļþÒÑɾ³ý