其他分享
首页 > 其他分享> > Activiti相关

Activiti相关

作者:互联网

会签(串行和并行)

版本:activiti 7.1.0.M6、springboot 2.6

需求:逐级审批和普通会签(并行)

正文:

以请假为例,流程图如下所示

​编辑

以上流程图使用eclipse的activiti designer来设计,具体使用可自行搜索查阅。

填写表单后需要进行逐级审批(这里针对每级中的多人并行暂不知如何实现,如有建议还请不吝赐教),其中一级驳回即退回到表单填写,逐级审批全部通过后进入下一节点或结束。

具体流程图配置:针对逐级审批这一节点,Main config:设置你的处理人为assignee(指定人)还是candidate(候选人,需要签收),表达式${approvalUser}。Multi instance:Sequential选择true(串行),Collection为approvalUserList,Element variable为approvalUser,Completion condition(会签结束条件,里面有几个参数,分别是实例总数,已完成实例总数,未完成实例总数,这里设置为完成实例总数大于等于总实例数即退出该会签进行下一步节点)为${nrOfCompletedInstances>=nrOfInstances}。

代码说明:填写表单后开始流程,需要传入approvalUserList为你所需要逐级审批的人列表,会按照这个顺序来审批。中途有一个人驳回,需要设置会签结束条件,这里设置为nrOfCompletedInstances大于等于总实例的个数即可,例如已完成实例3>=总实例3,可在表act_hi_varinst中进行查看(实际使用中发现,完成实例赋值后流程跑过会实例数会再加1)。

会签并行:同理,只需要将Multi instance中的Sequential设置为false即可实现并行。

Tips:1.实际开发中会遇到会签驳回或者同意出现流程节点、顺序执行错乱的问题,请检查流程图或者重新画流程图,能解决一部分问题;还有一部分问题是代码中参数赋值异常导致,这个会报错。

​有一个提问:会签节点后为什么要有一个排他网关

标签:流程图,Activiti,并行,会签,实例,逐级,相关,节点
来源: https://www.cnblogs.com/sunjunfan-top/p/16594571.html