码上敲享录 > Activiti工作流完整开发实例分享 > activiti用户任务Multi instance用法

activiti用户任务Multi instance用法

上一章章节目录下一章 2019-12-30已有1019人阅读 评论(0)

activiti用户任务Multi instance用法


解决方法:

  • Sequential表示该活动的实例被串行或并行执行勾选就是任务排队串行。

  • loopCardinality任务应该循环的次数,假如设置3,就会最多生成三个任务,一般使用Collection时就不用指定loopCardinality因为activiti会根据Collection元素个数生成相同数目的任务

  • Completion Condition多个用户任务完成流转到下一个流程节点的条件,设置为${nrOfCompletedInstances/nrOfInstances == 1 }表示所有任务都被执行才流转到下一个节点,${nrOfCompletedInstances/nrOfInstances <= 0.5 }表示假如总共4个任务,执行了2个任务之后就流转到下一个节点。

  • Collection处理任务的人员集合,可在流程启动时设置,如果没配置loopCardinality的话集合有多少个元素就会生成多少个任务。

  • ElementVariable:就是Collection集合中的每一个元素的变量,可作为流程变量使用。

  • loopCounter已经循环的次数。

  • nrOfInstances任务总数

  • nrOfActiveInstances尚未完成的任务对于勾选Sequential的任务,该值始终为1

  • nrOfCompletedInstances已经完成的任务数。

这些参数可以在act_ru_variable中看得到。


例如Collection设置为:assigneeList,ElementVariable为assignee,Assignee为${assignee}

Map variableMap = new HashMap();

ArrayList<String> assigneeList = new ArrayList<>();

assigneeList.add("1");

assigneeList.add("2");

assigneeList.add("3");

//就会生成3个用户任务

variableMap.put("assigneeList",assigneeList);

ProcessInstance pi = runtimeService.startProcessInstanceByKey("myProcess_1", variableMap);

0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交