当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这种情况下,引入工作流引擎能够带来很多好处,目前市面上比较主流的几个工作流引擎包括Activiti、Flowable、Camunda等,体系较为成熟,使用最为广泛的是Activiti。
Activiti是一款老牌的工作流引擎框架,也是目前市面上使用最为广泛的,但相对较为笨重,配置相当繁琐,对新人来讲,学习成本偏高,今天给大家介绍另一款国产开源的轻量级工作流引擎------Warm-Flow。
介绍
Warm-Flow国产工作流引擎🎉,其特点简洁轻量但又不简单,五脏俱全,组件独立,可扩展,可满足中小项目的组件。
-
支持常规的流程流转,比如通过、回退、终止和任意跳转
-
支持转办、委派、加减签,任务最终回到发起人
-
支持或签、会签和票签
-
业务项目可不依赖流程设计器,组件会生成流程图片
-
支持角色、部门和用户等权限配置
-
支持监听器,参数传递,动态权限
-
支持多租户
-
支持互斥网关,并行网关
-
支持条件表达式,可扩展
-
支持不同orm框架系统使用,支持不同orm框架和数据库扩展
-
同时支持spring和solon
-
兼容java8和java17,理论11也可以
-
官方提供基于ruoyi-vue封装实战项目,很实用
表结构
-
flow_definition [流程定义表]
-
flow_his_task [历史任务记录表]
-
flow_instance [流程实例表]
-
flow_node [流程结点表]
-
flow_skip [结点跳转关联表]
-
flow_task [待办任务表]
-
flow_user [流程用户表]
功能演示
流程设计
节点设置
配置节点名称,协作方式,节点权限,是否任意调整,监听器等
跳转线设置
配置跳转名称,调整类型(通过还是退回),调整条件
开启流程实例
hh-vue项目已经准备了七套流程,以及开启流程代码,开启流程会直接执行到开始节点后一个节点
提交流程
提交流程后,流程流转到代表任务,由流程设计中的对应权限人去办理
办理流程
如果是互斥网关则会判断是否满足条件
驳回流程
开源地址
https://gitee.com/dromara/warm-flow