# 多工作项
多工作项是指多个参与者共同完成人工活动
# 1多工作项完成策略
完成策略是指在同一个人工活动实例所产生的多个工作项中,设置需要完成多少个工作项时该活动实例才完成的规则。共有三种规则,只能选取其中一种。
# 全部完成
当一个人工活动实例所产生的所有工作项都完成时,该活动实例才完成。
# 完成个数
当一个人工活动实例所产生的所有工作项中,有设定数目的工作项完成时,该活动实例才完成。
# 完成百分比
当一个人工活动实例所产生的所有工作项中,有设定比例的工作项完成时,该活动实例才完成。
# 未完成工作项自动终止
这是针对第2和第3两种完成规则的一项配置,单选"是"或"否"。
- 是:当活动实例结束时,流程引擎对于剩余未完成的工作项做"停止"处理。
- 否:当活动实例结束时,剩余未完成的工作项仍然处于"运行"状态。此时无论是否处理这些工作项,对运行的流程实例都不会造成任何影响,只有当流程实例结束时,引擎才会将这些工作项终止 。
# 2多工作项分配策略
分配策略是指流程引擎根据所设置的人工活动的参与者来分配工作项的策略。
# 按参与者设置个数领取工作项
根据该活动的参与者个数产生相应数量的工作项。如果参与者设置了多个,比如设置了一个人员a和设置了一个机构a作为该活动的参与者,那么参与者就是2个,如果选择了按照参与者个数领取工作项,则该活动被启动后会产生两个工作项,一个分配给人员a,另外一个分配给机构a。
# 按操作员个数分配工作项
根据参与者中的人员个数产生工作项,比如设置了一个人员a以及一个机构a作为该活动的参与者,该机构a下有5个人员并且这个5个人中不包含人员a,那么当该活动被启动时会产生6个工作项,这6个人都可以去领取任务。但是如果机构a下面包含人员a,则只会产生5个工作项。
# 按变量迭代创建工作项
根据相关数据设定的数据产生多个工作项。
- 被迭代元素:可填写相关数据的XPath,要求所表示的相关数据对象为数组或java.util.List对象。
- 迭代变量:为被迭代元素中每个迭代对象配置一个变量名。该变量名可在以下地方使用:
- 在"参与者"Tab页的"相关数据"中使用:如果在此处使用了迭代变量,则会循环每个迭代对象,并得到每个迭代对象对应的参与者,为所有计算出的参与者创建工作项。如果此处没使用迭代变量,则产生的多工作项个数等于被迭代元素的长度。
- 在"引擎事件"Tab页,类型为"工作项创建后的"触发事件中使用。
# 顺序执行工作项
当开启顺序执行工作项后,流程引擎每次只会创建一个工作项,等前一个工作项完成后,才会创建下一个工作项;在未开启顺序执行工作项的情况下,一次性创建所有的工作项。