会签、或签、依次审批
当一个审批节点需要多个人参与时,RuoYi Office 支持三种多人审批方式。
前端:管理端为 Vue3 + Vben Admin + Ant Design Vue;流程相关页面源码位于 ruoyi-office-vben/apps/web-antd/src/views/bpm。
1. 会签(并行)
同一个审批节点设置多个人(如 A、B、C),三人会同时收到待办任务,全部同意后审批才能到下一节点。
配置方式
在 BPMN 设计器或 Simple 设计器中,设置「多人审批方式」为「会签」。
实现原理
使用 Flowable 的并行多实例(Parallel Multi-Instance)实现:
isSequential = false(并行执行)- 完成条件:
${nrOfCompletedInstances == nrOfInstances}(所有实例完成) - 自定义行为:
BpmParallelMultiInstanceBehavior
审批拒绝
任一人拒绝时,根据「审批拒绝处理」配置:
- 终止流程:直接结束整个流程
- 继续:继续等待其他人审批
2. 或签(并行)
同一个审批节点设置多个人,任意一个人处理后就能进入下一个节点。
实现原理
同样使用并行多实例:
isSequential = false- 完成条件:
${nrOfCompletedInstances >= 1}(一个实例完成即可) - 其他未处理的任务自动取消
3. 依次审批(顺序会签)
同一个审批节点设置多个人(如 A、B、C),按顺序依次收到待办:A 先审批,A 提交后 B 才能审批。
实现原理
使用 Flowable 的顺序多实例(Sequential Multi-Instance):
isSequential = true(顺序执行)- 完成条件:
${nrOfCompletedInstances == nrOfInstances} - 自定义行为:
BpmSequentialMultiInstanceBehavior
4. 审批人比例通过
RuoYi Office 还支持配置通过比例:
- 如设置 50%,则超过半数人通过即可进入下一节点
- 完成条件动态调整为
${nrOfCompletedInstances / nrOfInstances >= 0.5}
5. 配置对照表
| 方式 | 并发/顺序 | 完成条件 | 适用场景 |
|---|---|---|---|
| 会签 | 并行 | 全部完成 | 多部门会审 |
| 或签 | 并行 | 任一完成 | 多人中任一审批 |
| 依次审批 | 顺序 | 全部完成 | 逐级审批 |
| 比例通过 | 并行 | 达到比例 | 投票表决 |