【flowable 7.2.0 二开之三:基于 Flowable 7.2 的审批流系统解压即用】

flowable 7.2.0 二开之三:基于 Flowable 7.2 的审批流系统解压即用

背景和痛点

工作流引擎如 Flowable、Camunda 功能强大,但对于中小项目来说学习成本和配置复杂度偏高。很多场景下,开发者需要的只是一个能快速跑起来、方便修改和二次开发的轻量级审批流系统。本文介绍的就是这样一套方案

技术架构

后端:Spring Boot 2.7 + Flowable 7.2 + MyBatis-Plus

前端:Vue 3 + Element Plus + bpmn-js

数据库:H2(内嵌,开箱即用)/ MySQL(生产环境)

部署:一个 Jar 包,解压即运行

整体架构

系统采用前后端分离架构,前端编译后打包到后端 Jar 中,实现一键部署。

层级 技术选型 说明

前端 Vue 3 + Element Plus 现代化 UI 框架

流程设计 bpmn-js BPMN 2.0 流程设计器

表单设计 form-create 可视化表单设计器

后端 Spring Boot 2.7 基础框架

流程引擎 Flowable 7.2 核心工作流引擎

ORM MyBatis-Plus 数据访问层

数据层 H2 / MySQL H2 用于开箱即用,MySQL 用于生产

缓存 Redis 会话管理、分布式锁

部署 Jar 包 + 内置 JRE 解压即运行

数据流向

用户操作 → 前端 Vue 组件

API 请求 → Spring Boot Controller

业务处理 → Service 层调用 Flowable API

数据持久化 → MyBatis-Plus / Flowable 自动建表

流程驱动 → Flowable 引擎解析 BPMN 并推进流程

核心扩展点

bpmn-js 扩展:通过 customForm.json 为流程节点增加自定义属性(可写字段、只读字段等)

Flowable 监听器:支持任务创建、完成等事件的自定义处理

核心功能实现

1. 流程设计器集成

基于 bpmn-js 实现可视化流程设计,支持 BPMN 2.0 标准。通过自定义 customForm.json 扩展了节点属性(可写字段、只读字段、办理人配置等)



2. 表单设计器集成

基于 form-create 实现拖拽式表单设计,支持文本、数字、日期、下拉框、表格布局等组件。


3. 条件分支实现

以请假流程为例:配置表达式 ${leaveDays > 3} 实现天数判断,满足条件时走总经理审批。

4. 办理人动态分配

在 BPMN 节点上配置 custom:assignee,通过后端 addUserTaskAttributes 转换为 flowable:assignee,支持指定用户、角色、发起人等类型。


5.字段级权限控制

在流程设计时为每个节点配置可写/只读字段,前端 TaskProcessDialog 根据权限动态控制表单编辑状态

发起节点,都是可以写的字段

处理任务,字段都设置只读。

项目亮点

✅ 开箱即用:内嵌 H2 数据库,解压双击启动

✅ 流程设计:BPMN 2.0 可视化拖拽

✅ 表单设计:拖拽生成,所见即所得

✅ 条件分支:支持金额、天数等复杂判断

✅ 字段权限:节点级可写/只读控制

开源版 vs 商业版

功能 开源版 商业版

流程/表单设计 ✅ ✅

条件分支 ✅ ✅

会签/驳回 ✅ ✅

字段权限 ✅ ✅

数据库 H2(内嵌) MySQL

生产环境推荐 ❌ ✅

源码交付 GitHub 公开 私有仓库完整源码

技术支持 社区 1 年专属

商业授权 Apache 2.0 商业授权

开源版功能齐全,适合学习体验;商业版专为生产环境打造,数据库更强、源码私有、有技术支持。

如何获取

开源版:GitHub 地址:https://gitee.com/longsebo/smart-flowable.git

B站视频链接:【一个zip压缩包搞定企业审批流Flowable工作流系统演示】

相关推荐
天河归来10 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL10 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
砚底藏山河11 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
猿究院_夏燊12 小时前
MySQL 的四种隔离级别
java·数据库·mysql
码流子13 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
霸道流氓气质13 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
云创智城-yuncitys13 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot
文丑颜不良啊13 小时前
LeetCode1661~1680题目解析
java·leetcode
子非鱼@Itfuture13 小时前
关于前后端联调中登录状态/登录信息失效?
java·前端
郭小李13 小时前
openFeign入门
java·开发语言·前端