1. 什么是会签?
举个例子:比如我们有一个任务 可能需要多人审批,审批通过的条件可能比较多样,比如五个人审批。3个人审批过了就算过了,再或者有一个人权限比较高,拥有一票否决权。 即是其余所有人都过了,他点了个否定 就算不过了,这种就是会签。
- 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 >= 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>
其他的参考如下:
具体数据流转参考以下:
工作流多实例运转过程