Flowable工作流总结_工作规范流程设计思路

工作规范工作流场景,一般是甲方发起,乙方宣导学习。

一、工作规范流程图绘制元素

绘制元素 说明
主键(ID) 自定义,建议有标识唯一性
名称 介绍该节点
独占任务 勾选
集合(多实例) 设置一个list 把每个实例也就是每个人的userid放到list集合中 例如:userList
分配用户 选择候选组 建议使用表达式 例如:${userCode}
元素变量(多实例) 添加表达式中的变量 userCode
发起流程设置自动跳过节点 ${initiator}

二、流程图展示

Flowable工作流总结_工作规范流程设计思路
Flowable工作流总结_工作规范流程设计思路
Flowable工作流总结_工作规范流程设计思路
Flowable工作流总结_工作规范流程设计思路
Flowable工作流总结_工作规范流程设计思路
Flowable工作流总结_工作规范流程设计思路

三、工作规范流程图:

1.创建甲方候选组和动态创建乙方的候选组个数
2.甲方经理发起流程,直接到多实例节点
3.给多实例设置的参数(可参考: 分支flowable-base请假)

工作规范流程功能说明:让每个小组的每个人都要办理此事

四、流程说明

  1. 乙方小组数量不确定,因此采用动态创建小组(根据需求自行添加即可)
  2. 每个人其实可以看做就是一个执行实例
  3. 此流程由甲方发起,发起流程前,添加一个多实例选择的按钮,以弹框形式显示,支持自定义选择组的集合,把组的list集合传递给后台,后台根据每个小组的roleId去,查询每个小组下面的每个人的userId,放到userlist中,把userlist put到variables中发起流程即可

五、知识补充

  1. 多实例和候选组的区别?
    候选组采用先到先得的原则,也就是谁先签收,任务就属于谁的,签收之后,act_ru_task表中的ASSIGNEE_字段才会有值,简言之,设置当前办理人。
    多实例则不同,多实例中的每一个实例都要办理此任务,不需要签收,直接办理,当多实例中的其中一个实例办理任务完成后,在已办任务会有显示,
    但是,待办队列中当前任务不会立刻消失,也不会流转节点;
    当多实例中的每一个实例都办理此任务完成后,会进行节点流转。

  2. 签收操作什么场景下会有?
    候选模式,候选人或者候选组

  3. 多实例节点应采用分配人和候选人呢?
    候选人

六、问题思考?

为什么(分支flowable-base请假流程)的多实例节点应该是第三个节点,为什么设置多实例流程参数变量会在发起流程的时候呢?

因为全称把前台参数都封装到了一个vo对象中,每个节点需要的参数,前台传递给后台之后,封装到对象中,什么时候用,直接从封装的对象中取即可。
由于是全程封装的对象,因此,在哪设置一样,在发起流程时,设置多实例参数变量,不一定就在发起流程时用到,办理任务都会调用complete(CompleteTaskVo params)此方法。
CompleteTaskVo封装对象中,有一个参数:private Map<String, Object> variables ,只不过提前把多实例的参数方法map中而已,什么时候用到,就从map中,根据key取value即可