Activiti会签

本文详细介绍了Activiti中的会签概念,包括按数量、比例、一票否决和一票通过等不同类型的会签方式。通过Activiti的多实例任务特性实现会签,并详细解析了相关属性设置,如Sequential、loop cardinality、Completion condition等。同时,文章讨论了会签环节涉及的默认流程变量,如nrOfInstances和nrOfCompletedInstances,并介绍了如何结合任务监听来完善会签功能,最后以请假申请的案例展示了会签的实践过程。
摘要由CSDN通过智能技术生成

1.    什么是会签
a)    在流程业务管理中,任务是通常都是由一个人去处理的,而多个人同时处理一个任务,这种任务我们称之为会签任务。
2.    会签的种类
a)    按数量通过:达到一定数量的通过表决后,会签通过。
b)    按比例通过:达到一定比例的通过表决后,会签通过。
c)    一票否决:只要有一个表决时否定的,会签通过。
d)    一票通过:只要有一个表决通过的,会签通过。
3.    Activiti实现会签
a)    Activiti实现会签是基于多实例任务,将节点设置成多实例,主要通过在UserTask节点的属性上配置

4.    多实例相关属性,以eclipse中的可视化图形操作为例

b)    选则一个用户任务在下面的属性中选择Multil instance,可以看到有很多属性
i.    Sequential:执行顺序。必选项,可选值有true、false。用于设置多实例的执行顺序。True:多实例顺序执行,false:多实例并行
ii.    loop cardinality:循环基数。可选项。可以直接填整数,表示会签的人数。
iii.    Collection:集合。可选项。会签人数的集合,通常为list。和loop cardinality二选一
iv.    Element variable:元素变量。选择Collection时必选,为collection集合每次遍历的元素
v.    Completion condition:完成条件。可选。Activiti会签有个特性,比如设置一个人完成后会签结束,那么其他人的代办任务都会消失。
1.    这里需要介绍一下会签环节中设计的几个默认流程变量
2.    nrOfInstances(numberOfInstances):会签中总共的实例数
3.    nrOfCompletedInstances:已经完成的实例数量
4.    nrOfActiviteInstances:当前活动的实例数量,即还没有完成的实例数量
条件${nrOfInstances == nrOfCompletedInstances}表示所有人员审批完成后会签结束。
条件${ nrOfCompletedInstances == 1}表示一个人完成审批,该会签就结束。
其他条件依次类推,同时这里也可以写自己添加的流程变量。后面实例中会体现

5.任务监听
    a).为了更好的实现会签可以结合监听功能处理,非必选项
b).监听种类:有Java class、Expression、Delegate expression、Alfresco execution script、Alfresco task script,因为监听非必选,所以只介绍Java class类型的监听
    c).监听的触发条件:对于任务监听而言有四种触发条件,
        i.create:任务创建的时候触发监听
        ii.Assignment:设置受理人的时候触发监听
        iii.Complete:任务完成的时候触发监听
        iv.All:以上三种事件都会触发监听
d).监听实现:监听的类需要实现TaskListener接口,重写notify方法
e).添加监听,如下图

如上图所示根据红框中的标记可以很容易的将自己的监听添加到任务中
6.会签实例:以请假申请为例展示会签,会签一人拒绝申请不通过,所有人同意申请通过。
    a).请假流程图以及相属性


这里的Assigner和下图中的Element variable相同

上图中的${signList}是存储会签人员的流程变量,signer为每次遍历时的临时变量名和上图${signer}对应,${pass == false}上文中提到此处可以用会签中默认的流程变量控制会签的过程也可以使用自己定义的流程变量,这里的pass就是自己定义的流程变量,在会签人员处理自己任务是添加到流程中

  • 20
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值