工作规范工作流场景,一般是甲方发起,乙方宣导学习。
文章目录
- 一、工作规范流程图绘制元素
- 二、流程图展示
- 三、工作规范流程图:
- 四、流程说明
- 五、知识补充
- 六、问题思考?
一、工作规范流程图绘制元素
绘制元素 | 说明 |
---|---|
主键(ID) | 自定义,建议有标识唯一性 |
名称 | 介绍该节点 |
独占任务 | 勾选 |
集合(多实例) | 设置一个list 把每个实例也就是每个人的userid放到list集合中 例如:userList |
分配用户 | 选择候选组 建议使用表达式 例如:${userCode} |
元素变量(多实例) | 添加表达式中的变量 userCode |
发起流程设置自动跳过节点 | ${initiator} |
二、流程图展示
三、工作规范流程图:
1.创建甲方候选组和动态创建乙方的候选组个数
2.甲方经理发起流程,直接到多实例节点
3.给多实例设置的参数(可参考: 分支flowable-base请假)
工作规范流程功能说明:让每个小组的每个人都要办理此事
四、流程说明
- 乙方小组数量不确定,因此采用动态创建小组(根据需求自行添加即可)
- 每个人其实可以看做就是一个执行实例
- 此流程由甲方发起,发起流程前,添加一个多实例选择的按钮,以弹框形式显示,支持自定义选择组的集合,把组的list集合传递给后台,后台根据每个小组的roleId去,查询每个小组下面的每个人的userId,放到userlist中,把userlist put到variables中发起流程即可
五、知识补充
-
多实例和候选组的区别?
候选组采用先到先得的原则,也就是谁先签收,任务就属于谁的,签收之后,act_ru_task表中的ASSIGNEE_字段才会有值,简言之,设置当前办理人。
多实例则不同,多实例中的每一个实例都要办理此任务,不需要签收,直接办理,当多实例中的其中一个实例办理任务完成后,在已办任务会有显示,
但是,待办队列中当前任务不会立刻消失,也不会流转节点;
当多实例中的每一个实例都办理此任务完成后,会进行节点流转。 -
签收操作什么场景下会有?
候选模式,候选人或者候选组 -
多实例节点应采用分配人和候选人呢?
候选人
六、问题思考?
为什么(分支flowable-base请假流程)的多实例节点应该是第三个节点,为什么设置多实例流程参数变量会在发起流程的时候呢?
因为全称把前台参数都封装到了一个vo对象中,每个节点需要的参数,前台传递给后台之后,封装到对象中,什么时候用,直接从封装的对象中取即可。
由于是全程封装的对象,因此,在哪设置一样,在发起流程时,设置多实例参数变量,不一定就在发起流程时用到,办理任务都会调用complete(CompleteTaskVo params)此方法。
CompleteTaskVo封装对象中,有一个参数:private Map<String, Object> variables ,只不过提前把多实例的参数方法map中而已,什么时候用到,就从map中,根据key取value即可