项目实践工作流之Activiti学习(三十九)

2023-11-23 12:54:27 浏览数 (3)

5.1.2流程定义

图标:

5.1.3测试

在部门经理审核后,走排他网关,从排他网关出来的分支有两条,一条是判断请假天数是否大于 3天,另一条是判断请假天数是否小于等于 3 天。

设置分支条件时,如果所有分支条件都不是 true,报错:

代码语言:javascript复制
org.activiti.engine.ActivitiException: No outgoing sequence flow of the exclusive gateway 
'exclusivegateway1' could be selected for continuing the process
at 
org.activiti.engine.impl.bpmn.behavior.ExclusiveGatewayActivityBehavior.leave(ExclusiveGatewayActivit
yBehavior.java:85)

5.2并行网关

5.2.1什么是并行网关

并行网关允许将流程分成多条分支,也可以把多条分支汇聚到一起,并行网关的功能是基于进入和外出顺序流的:

 fork 分支:

并行后的所有外出顺序流,为每个顺序流都创建一个并发分支。

 join 汇聚:

所有到达并行网关,在此等待的进入分支, 直到所有进入顺序流的分支都到达以后, 流程就会通过汇聚网关。

注意,如果同一个并行网关有多个进入和多个外出顺序流, 它就同时具有分支和汇聚功能。 这时,网关会先汇聚所有进入的顺序流,然后再切分成多个并行分支。

与其他网关的主要区别是,并行网关不会解析条件。 即使顺序流中定义了条件,也会被忽略。

例子:

说明:

财务结算和入库是两个 execution 分支,在 act_ru_execution 表有两条记录分别是财务结算和入库,act_ru_execution 还有一条记录表示该流程实例。

待财务结算和入库任务全部完成,在汇聚点汇聚,通过 parallelGateway 并行网关。

并行网关在业务应用中常用于会签任务,会签任务即多个参与者共同办理的任务。

0 人点赞