-
记录当前审批人,当审批完后,审批人向后移动一位
-
当审批人对应结束节点时,流程结束
每个节点执行人是hardcoding的
第二天
发现部分业务需要支持会签节点。
我又查了一天啥是会签节点,发现会签节点就是一个大节点,里面有很多审批人,当这个大节点里的所有人都审批通过后,才能进入下一个节点。
翻了原来的链表式设计:
第三天
发现部分业务需要支持条件节点。
要根据表单的内容确定下一步进入哪个分支。
第四天
审批人多加两种类型,比如可以从表单中选择下一个审批人,还有根据发起人不同选择不同的审批人。
第五天
需要满足xxx需求,卒。。。
看来实现一个工作流引擎还是蛮难的,那有什么可选的轮子吗
有哪些选型方案呢
工作流整体流程如下:
| 建模(事前) | 运行 (事中) | 管理 (事后) | 监控(全生命周期) |
| — | — | — | — |
| 流程设计 | engine驱动 | 数据管理 | 流程监控 |
基于bpmn标准进行流程定义
什么是BPMN
BPMN 是 Business Process Modeling Notation 的简称,即业务流程建模与标注。BPMN 定义了一个业务流程图,这个流程图被设计用于创建业务流程操作的图形化模型 。 而一个业务流程模型( Business Process Model ),指一个由图形对象( graphical objects )组成的网状图,图形对象包括活动(activities) 和用于定义这些活动执行顺序的流程控制器( flow controls )。
代表实现产品如下:
-
JBPM
-
Activiti
-
Flowable
国产自定义
-
snaker
-
jflow
仅列出常见功能场景实现,具体介绍和详情文档参见:Spring Boot 集成SnakerFlow流程引擎,简介、功能列表、详细解读、扩展点分析
☎️ ☎️ ☎️ 已开源基于SnakerFlow轻量级工作流引擎的脚手架项目 easy-admin