业务项目中的一套架构里,考虑整合一套工作流作为审批使用,主要考虑两款Activity和flowable,权衡使用场景、操作性等方面,最终选择了flowable
前言
这篇文章不分享后台相关内容,因为此类文章度娘已经烂大街了,这里主要分享一款工作流前端设计器
一个优秀的审批流程设计器可以减少无效沟通,简化配置和操作流程,使得审批流程的设计更加高效。
设计器选择
其实开源项目中有不少设计器,同时成型项目也不少,为何最终没选择,有以下几点原因:
- 业务框架耦合度过高
- 自身框架中过渡封装
- 技术框架选型不同
- 二次开发不便利
直到看见FlowLong这款开源设计器,无论从设计器简洁程度,还是代码都无可挑剔,符合我的使用场景
关于 FlowLong
飞龙工作流引擎 FlowLong 真正的国产工作流引擎 json 格式实例模型、简易审批流程设计器、为中国特色审批匠心打造!
功能说明
满足部分标准 BPMN
功能的同时支持中国特色流程操作概念
支持功能 | 功能描述 | 完成程度 |
---|---|---|
顺序会签 | 同一个审批节点设置多个人,如 A、B、C 三人,三人按顺序依次收到待办,<br/>即 A 先审批,A 提交后 B 才能审批,需全部同意之后,审批才可到下一审批节点。 | ✅ |
并行会签 | 指同一个审批节点设置多个人,如 A、B、C 三人,三人会同时收到待办任务,<br/>需全部同意之后,审批才可到下一审批节点。 | ✅ |
或签 | 一个流程审批节点里有多个处理人,任意一个人处理后就能进入下一个节点 | ✅ |
票签 | 指同一个审批节点设置多个人,如 A、B、C 三人,<br/>分别定义不同的权重,当投票权重比例大于 50% 就能进入下一个节点 | ✅ |
抄送 | 将审批结果通知给抄送列表对应的人 | ✅ |
驳回 | 将审批重置发送给某节点,重新审批。驳回也叫退回,<br/>也可以分退回申请人、退回上一步、任意退回等 | ✅ |
分配 | 允许用户自行决定任务转办、委派、主办 及其它 | ✅ |
转办 | A 转给其 B 审批,B 审批后,进入下一节点 | ✅ |
委派 | A 转给其 B 审批,B 审批后,转给 A,A 审批后进入下一节点 | ✅ |
跳转 | 可以将当前流程实例跳转到任意办理节点 | ✅ |
拿回 | 在当前办理人尚未处理文件前,允许上一节点提交人员执行拿回 | ✅ |
撤销 | 流程发起者可以对流程进行撤销处理 | ✅ |
加签 | 允许当前办理人根据需要自行增加当前办理节点的办理人员 | ✅ |
减签 | 在当前办理人操作之前减少办理人 | ✅ |
认领 | 公共任务认领 | ✅ |
已阅 | 任务是否查看状态显示 | ✅ |
催办 | 通知当前活动任务处理人办理任务 | ✅ |
沟通 | 与当前活动任务处理人沟通 | ✅ |
终止 | 在任意节点终止流程实例 | ✅ |
运行及使用
运行后端
- 导入 idea 可选择 Gradle 或 Maven 方式管理依赖
git clone https://gitee.com/aizuda/flowlong.git
- 先跑一跑测试用例
- 初始化执行 db/flowlong-mysql.sql 数据库脚本
- 找到 flowlong-spring-boot-starter 模块,目录 test 部分 java/test
- 找到 mysql 相关测试类 Test...java 执行观察数据库中表数据变化
结构说明
|- db 数据库文件存放目录
|- flowlong-core 工作流核心库
|- flowlong-mybatis-plus 数据访问层,默认 MybatisPlus 当然你可以适配其它 ORM
|- flowlong-solon-example Solon 演示案例
|- flowlong-solon-plugin Solon 启动插件
|- flowlong-spring-boot-example SpringBoot 演示案例
|- flowlong-spring-boot-starter SpringBoot 启动插件
|- build.gradle Gradle 依赖管理
|- pom.xml Maven 依赖管理
设计器
- 导入 Vscode
git clone https://gitee.com/flowlong/flowlong-designer.git
- 安装依赖、运行、打包
# 安装依赖
npm install
# 本地运行
npm run dev
# 编译打包
npm run build
- 效果预览
发表评论