在审批流中,我们经常遇到,一个任务节点,需要部门主管一层层的审批,但任务又不能同时发放,目前直接的flowable分配,貌似解决不了【也可能个人没了解到】,所以,我们可以做一个自定义监听器。
如下图
部门主管,可能需要上三层主管按照层级审批,如何配置成活动的呢?直接上配置
首先,多实例类型选串行,采集设置assigneelist 完成条件配置${nrOfCompletedInstances/nrOfInstances >= 1 } 元素变量多实例 改为assignee 分配人改为固定值${asignee};
主要来看执行监听器的配置:
可根据个人传值,进行不同的参数设置。我传入了level和target两个参数
字符串值,3 意思为从下到上取三级主管
然后看一下我们的监听器的写法,还是不多说,上代码:
我实现的是根据层级和leve,按照顺序取出任务人,会给前台,这样前台就可以根据用户列表顺序,发放任务。
如,我取出来的任务人ID排序为:1-2-3-4
我下达任务之后,任务人1 进来,可以看到一条审批记录,2-3-4 进来,是看不到待办的。1 审批通过,任务出现在1的已办中,2 出现待办 3-4 无任务。等4审核通过之后,即审批进入下一个节点。【测试已通过】
未完成全部审批,节点如上。
所有人完成审批,节点如下:
此处,实现的是监听,同样的,任务派送,转办等,都可以通过这种方法实现,毕竟代码逻辑自己写了,怎么配,咱自己说了算
。