ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

flowable多实例

2021-05-25 21:07:28  阅读:184  来源: 互联网

标签:处理 flowable assigneeList assignee 任务 实例


多时例的业务场景:

收集一次组织活动的信息;
一个合同需要三个经理审批,可以是顺序的也可以是并行的;
投票,只需要其中70%的人赞成即可。等等......

内置变量说明:

nrOfInstances 一共有多少个实例
nrOfCompletedInstances 已经完成的实例个数
nrOfActiveInstances 未完成的实例个数

流程定义xml:

<userTask xmlns:flowable="http://flowable.org/bpmn" id="Task_0ej43gf" name="知执行人确认收到指令" flowable:assignee="${assignee}" flowable:formKey="23">
<multiInstanceLoopCharacteristics isSequential="true" flowable:collection="assigneeList"  flowable:elementVariable="assignee">
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6 }</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>

注意红色部分!!

flowable:collection="assigneeList"  ==》多实例处理人集合,需要在前端或后台在流程变量中赋值,比如

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

assigneeList.add("00000001");

assigneeList.add("00000002");

variables.put("assigneeList", assigneeList);

flowable:elementVariable="assignee" ==》指定一个别名,以备动态指定

flowable:assignee="${assignee}" ==》任务处理人,一定要与上面的别名一致

completionCondition为多实例节点结束条件!

isSequential true为串行,false为并行。

并行代表同时进行,如把任务分给5个人来处理,这5个人同时会收到任务,并且可以同时处理,不受各自的影响。
串行代表工作或任务由一个人完成后,再由另一个人去处理,直至全部完成,每个任务依赖于前一个任务完成。

标签:处理,flowable,assigneeList,assignee,任务,实例
来源: https://blog.51cto.com/u_14318784/2812532

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有