【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工作流系统演示

相关推荐
拾-光2 小时前
LTX-Video 2.3 实战:用图片生成视频,消费级显卡也能跑的开源 I2V 模型(GPT Image 2)
java·人工智能·python·深度学习·算法·机器学习·音视频
普修罗双战士2 小时前
高效使用 Git:从入门到精通的实战指南
java·git
wuxinyan1233 小时前
Java面试题51:一文深入了解K8s 环境下企业级 CI/CD 流水线搭建
java·ci/cd·kubernetes·面试题
琪露诺大湿3 小时前
网页聊天系统——测试报告
java·软件测试·功能测试·websocket·html·项目·测试报告
小园子的小菜3 小时前
生产实战|冷热数据转换:从识别、触发到落地全流程解析
java·开发语言·spring
invicinble3 小时前
对于线程的思路
java
iwS2o90XT3 小时前
WebSocket编程:Java实现实时双向通信应用
java·websocket·网络协议
Highcharts.js3 小时前
技术组合分析:Highcharts 的数据集成能力解析
java·前端·金融·echarts·saas·bi·highcharts
shaoFan14 小时前
关于java 调用阿里千问大模型,流式返回,并返回给前端
java·前端·状态模式