甘肃省建设厅查行网站,wordpress综合商城主题,wordpress字不能,如何规范网站使用一.简介
Flowable 中常用的网关主要有三种类型#xff0c;分别是#xff1a;
排他网关并行网关包容网关
下面来说下这三种的网关的概念和用法。
二.排他网关
排他网关#xff0c;也叫互斥网关#xff0c;截图如下#xff1a; 排他网关有一个入口#xff0c;多个有效…一.简介
Flowable 中常用的网关主要有三种类型分别是
排他网关并行网关包容网关
下面来说下这三种的网关的概念和用法。
二.排他网关
排他网关也叫互斥网关截图如下 排他网关有一个入口多个有效出口。
下面举个例子 假设有一个请假流程请假 1 天组长审批请假小于 3 天项目经理审批请假大于 3 天总监审批绘制流程图截图如下 在这个流程图中当流程从排他网关出来的时候设置一个变量根据变量的值来决定下一个走哪一个 Task例如组长审批做如下配置截图如下 这个流条件表示当 days 这个变量的值小于等于 1 的时候就会进入到组长审批这个 Task。
以此类推设置经理审批截图如下 设置总监审批截图如下 下载这个XML文件XML文件的内容如下
process iddemo01 name测试流程 isExecutabletruedocumentation测试流程/documentationstartEvent idstartEvent1 flowable:formFieldValidationtrue/startEventexclusiveGateway idsid-C4E389D6-C507-4B8E-8469-2288AA5B44A5/exclusiveGatewaysequenceFlow idsid-DF97CC8B-3AD5-447D-AE67-1082CAB7B189 sourceRefstartEvent1 targetRefsid-C4E389D6-C507-4B8E-8469-2288AA5B44A5/sequenceFlowuserTask idsid-B4CD08AF-52B5-44F2-AC45-B2F5E154A5F0 name组长审批 flowable:formFieldValidationtrue/userTaskuserTask idsid-07B7951C-4E76-4639-989C-407C610C5BA8 name经理审批 flowable:formFieldValidationtrue/userTaskuserTask idsid-1A81B40F-D8D4-4158-B0B9-26DB8FB7DD2E name总监审批 flowable:formFieldValidationtrue/userTaskendEvent idsid-0F56FE56-1A8C-4B47-8F0D-196700DDF7B8/endEventsequenceFlow idsid-E4B4B580-F078-4BB9-B5D3-966E80737C4C sourceRefsid-B4CD08AF-52B5-44F2-AC45-B2F5E154A5F0 targetRefsid-0F56FE56-1A8C-4B47-8F0D-196700DDF7B8/sequenceFlowendEvent idsid-F05670CB-A8F4-44A3-B53D-46CFB6F65581/endEventsequenceFlow idsid-3EC62E5D-ACDA-480E-93B4-C24D8F6E9042 sourceRefsid-07B7951C-4E76-4639-989C-407C610C5BA8 targetRefsid-F05670CB-A8F4-44A3-B53D-46CFB6F65581/sequenceFlowendEvent idsid-52711414-1769-4EC3-9AE5-6BA426123095/endEventsequenceFlow idsid-C81500B2-D1EA-429F-8402-A3D8C8CA0E29 sourceRefsid-1A81B40F-D8D4-4158-B0B9-26DB8FB7DD2E targetRefsid-52711414-1769-4EC3-9AE5-6BA426123095/sequenceFlowsequenceFlow idsid-807C7B79-4AFA-4525-847F-4D0FE1C0F0F3 name小于1天 sourceRefsid-C4E389D6-C507-4B8E-8469-2288AA5B44A5 targetRefsid-B4CD08AF-52B5-44F2-AC45-B2F5E154A5F0conditionExpression xsi:typetFormalExpression![CDATA[${days1}]]/conditionExpression/sequenceFlowsequenceFlow idsid-3D3DF742-BF47-4536-9EE9-747CD284A1BA name1-3天 sourceRefsid-C4E389D6-C507-4B8E-8469-2288AA5B44A5 targetRefsid-07B7951C-4E76-4639-989C-407C610C5BA8conditionExpression xsi:typetFormalExpression![CDATA[${days1 days3}]]/conditionExpression/sequenceFlowsequenceFlow idsid-2AD41E43-AFEC-47A1-B8D1-0B4299434BF8 name大于3天 sourceRefsid-C4E389D6-C507-4B8E-8469-2288AA5B44A5 targetRefsid-1A81B40F-D8D4-4158-B0B9-26DB8FB7DD2EconditionExpression xsi:typetFormalExpression![CDATA[${days3}]]/conditionExpression/sequenceFlow/process可以看到在 sequenceFlow 标签中有一个 conditionExpression 标签这个标签的内容就是具体的条件了。 接下来部署一下这个流程代码如下
Test
void test01() {MapString, Object variables new HashMap();variables.put(days, 3);ProcessInstance pi runtimeService.startProcessInstanceByKey(demo01, variables);logger.info(id:{},activityId:{}, pi.getId(), pi.getActivityId());
}注意这个启动的时候传入一个 days 变量系统将来会根据这个变量来决定这个流程要走到哪一个 Task。流程启动成功之后去查询 ACT_RU_TASK 表就可以看到流程的执行是否和我们所预想的一致。