OA工作流-Activiti(三)
一、条件连线
1.1 流程示例图
特别注意:
1.2部署流程定义(InputStream)
部署完之后查看数据库:
1.3启动流程定义(最新版本启动)
1.4完成任务流程
设置流程变量 message设置走的路线
即:需要存数据的时候,利用Map集合把他存放在里面,没有数据存放的时候,就可以直接完成任务
总结:
如果只有一个SequenceFlow, 则可以不使用流程变量设置codition的名称;如果有多个,则需要使用流程变量设置codition的名称。message表示流程变量的名称,‘不重要’表示流程变量的值,${}中间的内容要使用boolean类型的表达式,用来判断应该执行的连线
二、排他网管
2.1流程图
bpmn的xml格式
所有表的配置:
2.2部署和启动任务--(相同,不再演示)
2.3完成当前个人任务,并配置好金额
总结:
1,决策网关只会返回一条结果。当流程执行到排他网关时,流程引擎会自动检索网关出口,从上到下检索如果发现第一条决策结果为true或者没有设置条件的(默认为成立),则流出。
2,使用流程变量,设置连线的条件,并按照连线的条件执行工作流,如果没有条件符合的条件,则以默认的连线离开
三、并行网关
3.1并行网关流程图
3.2部署、启动流程并查看流程--(并行都可以查看)
说明:第一个并行网关,当任务启动的时候,付款和收货的人都可以查到。当到达第二个并行网关的时候,收款的结束并不影响收获的结束,两个支流可以并行。
3.3 完成个人任务(最后需要进行两次)
总结:
A. 一个流程中流程实例只有1个,执行对象有多个
B. 并行网关的进入和外出都是使用相同节点标识
C.并行网关不解析条件。即使顺序流中定义了条件,也会被忽略
D. 并行网关不需要是“平衡的”(比如, 对应并行网关的进入和外出节点数目不一定相等)。如图中标示是合法的:
四、开始流程--开始流程节点
4.1 流程图
4.2部署(不再演示)+启动
总结:
1):结束节点没有出口
2):其他节点有一个或多个出口。
如果有一个出口,则代表是一个单线流程;
如果有多个出口,则代表是开启并发流程。
五、接收活动(receiveTask,即等待活动)
5.1流程图
5.2启动流程实例+设置流程变量+获取流程变量+向后执行一步
下面详细介绍了每一步的步骤。。
欢迎订阅关注公众号(JAVA和人工智能)
获取更多免费书籍、资源、视频资料