会签、或签、依次审批
# 2. 流程通知
流程在发生变化时,会发送通知给相关的人。目前有三个场景会有通知,通过短信的方式。

# 3. 流程图示例
# 3.1 会签
定义:指同一个审批节点设置多个人,如 ABC 三人,三人会同时收到审批,需全部同意之后,审批才可到下一审批节点。
配置方式如下图所示:

重点是【完成条件】为 ${ nrOfCompletedInstances== nrOfInstances }。
# 3.2 或签
定义:指同一个审批节点设置多个人,如ABC三人,三人会同时收到审批,只要其中任意一人审批即可到下一审批节点。
配置方式如下图所示:

重点是【完成条件】为 ${ nrOfCompletedInstances== 1 }。
# 4. 如何使用 Activiti?
Activiti 和 Flowable 提供的 Java API 是基本一致的,例如说 Flowable 的 org.flowable.engine.RepositoryService 对应 Activiti 的 org.activiti.engine .RepositoryService。所以,我们可以修改 import 的包路径来替换。
另外,在项目的老版本,我们也提供了 Activiti 实现,你可以具体参考下:
yudao-spring-boot-starter-activiti(opens new window)yudao-module-bpm-biz-activiti(opens new window)

草稿
设计流程的实现?
基于 https://github.com/miyuesc/bpmn-process-designer (opens new window) 项目实现,它的底层是 bpmn-js (opens new window)。
其中,规则类型用于分配用户任务的审批人,目前有 7 种规则:角色、部门成员、部门负责人、岗位、用户、用户组、自定义脚本,基本可以满足绝大多数场景,是不是非常良心。
规则类型的实现?
可见 BpmUserTaskActivityBehavior (opens new window) 代码,目前暂时支持分配一个审批人。