activiti-会签任务

activiti-会签任务_第1张图片
1. 什么是会签?
举个例子:比如我们有一个任务 可能需要多人审批,审批通过的条件可能比较多样,比如五个人审批。3个人审批过了就算过了,再或者有一个人权限比较高,拥有一票否决权。 即是其余所有人都过了,他点了个否定 就算不过了,这种就是会签。

  1. XML格式
 <userTask id="sid-AFB0AD6E-5B65-457F-8E99-F3B8104CBA95" name="多实例任务1" flowable:assignee="${assignee}" flowable:formFieldValidation="true">
      <extensionElements>
        <modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
      </extensionElements>
      <multiInstanceLoopCharacteristics isSequential="false" flowable:collection="assigneeList" flowable:elementVariable="assignee">
        <loopCardinality>5</loopCardinality>
        <completionCondition>${nrOfCompletedInstances/nrOfInstances &gt;= 0.50}</completionCondition>
      </multiInstanceLoopCharacteristics>
    </userTask>

参数含义:

配置执行实例数量,表示会签的人数;
该属性的意思是这个任务循环的基数是多少,这个任务类型就是多实例任务,根据上面的解释,这个属性就是设置究竟是多少个实例的地方,比如我们需要五个人审批投票,然后就在这里设置个5就行了,为什么叫循环基数呢?就是因为如果我们的通过条件是3个人通过就ok的话,那么可能只需要3个实例就结束,进入到下一个环节了,而不是要5个实例。

<loopCardinality>5</loopCardinality>

配置执行人

flowable:assignee=${assignee}

配置执行人员列表

flowable:collection=“assigneeList”

配置列表中的变量别名(注意必须要和上面的flowable:assignee配置的值一模一样)

flowable:elementVariable=“assignee”

false 代表并行,true代表串行;并行就是上面这5个任务可以同时执行,不受约束,串行就是一个个轮着来执行。

isSequential=“false”

完成的条件,这里就是设置这个多实例任务完成的地方,这里面你可以设置自己的结束条件,比如这里的条件:

completionCondition
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.50}</completionCondition>

其他的参考如下:
activiti-会签任务_第2张图片
具体数据流转参考以下:
工作流多实例运转过程

你可能感兴趣的:(工作流,java,spring)