ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

flowable-流程中心设计之网关(八)

2022-01-19 14:01:18  阅读:226  来源: 互联网

标签:网关 连线 flowable 流程 并行 多条 设计 符合条件


简介

网关主要作用是根据条件控制,判断流向,主要分为连线,排他网关,并行网关,兼容网关,事件网关。

连线

说明

连线就是可以设置多条线路,如果有多条连线符合条件,那就选择第一条在流程文件中出现的连线,如果没有符合条件的,就是用默认线路。

设计

 

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
  <process id="test_signal_5" name="测试信号" isExecutable="true">
    <startEvent id="startEvent1"></startEvent>
    <userTask id="sid-01588F55-6BA0-4329-B984-9D40DE6F55B3" name="经理审核"></userTask>
    <sequenceFlow id="sid-5D67F250-1A29-4E9E-8299-2ADB9048C4AE" sourceRef="startEvent1" targetRef="sid-01588F55-6BA0-4329-B984-9D40DE6F55B3"></sequenceFlow>
    <endEvent id="sid-45845AA4-B21A-4DFB-9D7F-81698B5CB9FE"></endEvent>
    <sequenceFlow id="sid-A12680B5-6B9A-4595-8695-A998A24FE2D5" name="审核不通过" sourceRef="sid-01588F55-6BA0-4329-B984-9D40DE6F55B3" targetRef="sid-45845AA4-B21A-4DFB-9D7F-81698B5CB9FE">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${status='REJECTED'}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-23DD057C-3C51-45F7-8E36-300FA378463D" name="审核通过" sourceRef="sid-01588F55-6BA0-4329-B984-9D40DE6F55B3" targetRef="sid-45845AA4-B21A-4DFB-9D7F-81698B5CB9FE">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${status='APPROVED'}]]></conditionExpression>
    </sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_test_signal_5">
    <bpmndi:BPMNPlane bpmnElement="test_signal_5" id="BPMNPlane_test_signal_5">
      <bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1">
        <omgdc:Bounds height="30.0" width="30.0" x="90.0" y="145.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-01588F55-6BA0-4329-B984-9D40DE6F55B3" id="BPMNShape_sid-01588F55-6BA0-4329-B984-9D40DE6F55B3">
        <omgdc:Bounds height="80.0" width="100.0" x="165.0" y="120.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-45845AA4-B21A-4DFB-9D7F-81698B5CB9FE" id="BPMNShape_sid-45845AA4-B21A-4DFB-9D7F-81698B5CB9FE">
        <omgdc:Bounds height="28.0" width="28.0" x="375.0" y="146.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="sid-A12680B5-6B9A-4595-8695-A998A24FE2D5" id="BPMNEdge_sid-A12680B5-6B9A-4595-8695-A998A24FE2D5">
        <omgdi:waypoint x="215.0" y="199.95"></omgdi:waypoint>
        <omgdi:waypoint x="215.0" y="262.0"></omgdi:waypoint>
        <omgdi:waypoint x="389.0" y="262.0"></omgdi:waypoint>
        <omgdi:waypoint x="389.0" y="173.94993458082106"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-23DD057C-3C51-45F7-8E36-300FA378463D" id="BPMNEdge_sid-23DD057C-3C51-45F7-8E36-300FA378463D">
        <omgdi:waypoint x="264.94999999992666" y="160.0"></omgdi:waypoint>
        <omgdi:waypoint x="375.0" y="160.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-5D67F250-1A29-4E9E-8299-2ADB9048C4AE" id="BPMNEdge_sid-5D67F250-1A29-4E9E-8299-2ADB9048C4AE">
        <omgdi:waypoint x="119.94999848995758" y="160.0"></omgdi:waypoint>
        <omgdi:waypoint x="164.9999999999917" y="160.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
View Code

xml 

排他网关

说明

排他网关好像一个人在分岔路口,只会选择一条线路前进,如果有多条连线符合条件,那就选择第一条在流程文件中出现的连线,如果没有符合条件的,就是用默认线路。

设计

 

xml 

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
  <process id="test_signal_5" name="测试信号" isExecutable="true">
    <startEvent id="startEvent1"></startEvent>
    <userTask id="sid-01588F55-6BA0-4329-B984-9D40DE6F55B3" name="发起人填表"></userTask>
    <sequenceFlow id="sid-5D67F250-1A29-4E9E-8299-2ADB9048C4AE" sourceRef="startEvent1" targetRef="sid-01588F55-6BA0-4329-B984-9D40DE6F55B3"></sequenceFlow>
    <exclusiveGateway id="sid-3117E275-4C15-4591-9A78-C13B0CB170AB"></exclusiveGateway>
    <sequenceFlow id="sid-9EA97222-7C53-4FC5-B689-5F8EB4D71810" sourceRef="sid-01588F55-6BA0-4329-B984-9D40DE6F55B3" targetRef="sid-3117E275-4C15-4591-9A78-C13B0CB170AB"></sequenceFlow>
    <userTask id="sid-7A94C06C-D003-45A8-911D-58821E2C0240" name="总监审核"></userTask>
    <userTask id="sid-12E10C0A-C46A-4A0B-B388-66A4A0FA75C4" name="经理审核"></userTask>
    <endEvent id="sid-174924A8-DB0B-4DD9-969E-6F44654C1A4A"></endEvent>
    <sequenceFlow id="sid-4BF3EEFB-CF64-4633-9FA2-8180077BC24E" sourceRef="sid-7A94C06C-D003-45A8-911D-58821E2C0240" targetRef="sid-174924A8-DB0B-4DD9-969E-6F44654C1A4A"></sequenceFlow>
    <sequenceFlow id="sid-90D666AA-2CB7-4A9B-9B7A-0DF50C819BCF" sourceRef="sid-12E10C0A-C46A-4A0B-B388-66A4A0FA75C4" targetRef="sid-174924A8-DB0B-4DD9-969E-6F44654C1A4A"></sequenceFlow>
    <sequenceFlow id="sid-F9EAE97D-97FB-4E69-B869-C3AFE740514A" name="金额大于100" sourceRef="sid-3117E275-4C15-4591-9A78-C13B0CB170AB" targetRef="sid-7A94C06C-D003-45A8-911D-58821E2C0240">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${money>100}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-A8BF1219-E2F6-4A08-BC63-9BB5A3B4ACE3" name="金额小于等于100" sourceRef="sid-3117E275-4C15-4591-9A78-C13B0CB170AB" targetRef="sid-12E10C0A-C46A-4A0B-B388-66A4A0FA75C4">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${money<=100}]]></conditionExpression>
    </sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_test_signal_5">
    <bpmndi:BPMNPlane bpmnElement="test_signal_5" id="BPMNPlane_test_signal_5">
      <bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1">
        <omgdc:Bounds height="30.0" width="30.0" x="90.0" y="145.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-01588F55-6BA0-4329-B984-9D40DE6F55B3" id="BPMNShape_sid-01588F55-6BA0-4329-B984-9D40DE6F55B3">
        <omgdc:Bounds height="80.0" width="100.0" x="165.0" y="120.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-3117E275-4C15-4591-9A78-C13B0CB170AB" id="BPMNShape_sid-3117E275-4C15-4591-9A78-C13B0CB170AB">
        <omgdc:Bounds height="40.0" width="40.0" x="310.0" y="140.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-7A94C06C-D003-45A8-911D-58821E2C0240" id="BPMNShape_sid-7A94C06C-D003-45A8-911D-58821E2C0240">
        <omgdc:Bounds height="80.0" width="100.0" x="435.0" y="45.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-12E10C0A-C46A-4A0B-B388-66A4A0FA75C4" id="BPMNShape_sid-12E10C0A-C46A-4A0B-B388-66A4A0FA75C4">
        <omgdc:Bounds height="80.0" width="100.0" x="435.0" y="195.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="sid-174924A8-DB0B-4DD9-969E-6F44654C1A4A" id="BPMNShape_sid-174924A8-DB0B-4DD9-969E-6F44654C1A4A">
        <omgdc:Bounds height="28.0" width="28.0" x="630.0" y="146.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="sid-9EA97222-7C53-4FC5-B689-5F8EB4D71810" id="BPMNEdge_sid-9EA97222-7C53-4FC5-B689-5F8EB4D71810">
        <omgdi:waypoint x="264.9499999999977" y="160.21623376623376"></omgdi:waypoint>
        <omgdi:waypoint x="310.4130434782609" y="160.41304347826087"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-5D67F250-1A29-4E9E-8299-2ADB9048C4AE" id="BPMNEdge_sid-5D67F250-1A29-4E9E-8299-2ADB9048C4AE">
        <omgdi:waypoint x="119.94999848995758" y="160.0"></omgdi:waypoint>
        <omgdi:waypoint x="164.9999999999917" y="160.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-4BF3EEFB-CF64-4633-9FA2-8180077BC24E" id="BPMNEdge_sid-4BF3EEFB-CF64-4633-9FA2-8180077BC24E">
        <omgdi:waypoint x="534.95" y="85.0"></omgdi:waypoint>
        <omgdi:waypoint x="644.0" y="85.0"></omgdi:waypoint>
        <omgdi:waypoint x="644.0" y="146.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-F9EAE97D-97FB-4E69-B869-C3AFE740514A" id="BPMNEdge_sid-F9EAE97D-97FB-4E69-B869-C3AFE740514A">
        <omgdi:waypoint x="330.5" y="140.5"></omgdi:waypoint>
        <omgdi:waypoint x="330.5" y="85.0"></omgdi:waypoint>
        <omgdi:waypoint x="435.0" y="85.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-A8BF1219-E2F6-4A08-BC63-9BB5A3B4ACE3" id="BPMNEdge_sid-A8BF1219-E2F6-4A08-BC63-9BB5A3B4ACE3">
        <omgdi:waypoint x="330.5" y="179.43729892761394"></omgdi:waypoint>
        <omgdi:waypoint x="330.5" y="235.0"></omgdi:waypoint>
        <omgdi:waypoint x="434.9999999999428" y="235.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="sid-90D666AA-2CB7-4A9B-9B7A-0DF50C819BCF" id="BPMNEdge_sid-90D666AA-2CB7-4A9B-9B7A-0DF50C819BCF">
        <omgdi:waypoint x="534.95" y="235.0"></omgdi:waypoint>
        <omgdi:waypoint x="644.0" y="235.0"></omgdi:waypoint>
        <omgdi:waypoint x="644.0" y="173.94994181075484"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
View Code

并行网关

说明

并行网关用于表述流程的并发,并行网关可以让一个执行流变成多个同时进行的并发执行流,也可以让多个执行流合并为一个执行流,因此并行网关会有两种行为,分岔和合并。

设计

发起人填表后,3条线上传附件,然后汇集一起提交

 

包含网关

说明

兼容网关就好像排他网关和并行网关的结合体,与排他网关不同的是,兼容网关可以创建多条执行流,

换言之,如果多个条件成立,那么此时可以将它看做并行网关,而排他网关,多个条件成立时,只会选择第一个定义的顺序流。

设计

 

事件网关

说明

网关的每个外出顺序流都要连接到一个中间捕获事件

设计

 

标签:网关,连线,flowable,流程,并行,多条,设计,符合条件
来源: https://www.cnblogs.com/LQBlog/p/15821996.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有