ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何在 JeecgBoot 上跑通第一个 Flowable 审批流:从请假流程到上线的完整实践

如何在 JeecgBoot 上跑通第一个 Flowable 审批流:从请假流程到上线的完整实践 如何在 JeecgBoot 上跑通第一个 Flowable 审批流从请假流程到上线的完整实践【免费下载链接】jeecg-boot【低代码v2.0一句话即可生成整个系统】企业级AI低代码平台一键生成前后端代码甚至整个系统。 AI Skills 一句话画流程、设计表单、生成报表、大屏。内置 AI应用平台涵盖AI聊天、知识库、流程编排、MCP插件等兼容主流大模型。引领AI低代码「Skills 生成 → 在线配置 → 代码生成 → 手工合并-AI修改」开发模式解决 Java 项目 90% 重复工作提高效率又不失灵活。项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-boot你有没有见过这样的场景同事提交请假申请部门经理审批超过三天再由总经理加签最后人事归档。这套审批流在 JeecgBoot 里不需要从零写起——平台内置了 Flowable 工作流引擎你在可视化流程设计器上把节点和连线画出来、挂上表单流程就能跑起来。本文就用请假审批这条线带你从概念到部署走完一遍。从一个请假流程说起工作流到底帮你干什么把上面的流程拆开看其实就四件事一张表单谁请假、请几天、什么理由一条路径提交 → 经理审 → 金额天数判断 → 总经理审 → 结束一组规则每个节点由谁处理一份记录流程走到哪、业务数据状态如何变化。以前这四件事都要手写 Java现在前两件在页面上画后两件靠配置和少量代码完成。这就是 Flowable 流程引擎配置在 JeecgBoot 里的定位你负责画和配引擎负责跑。核心概念速览一分钟看懂 BPMN第一次接触工作流建议只记住下面四个词概念一句话解释在请假流程里的对应流程定义画好还没人用的图纸请假审批这张流程图本身流程实例有人真发起了图纸活了小王提交的那张单任务实例中轮到某人处理的环节经理桌上的那条待办网关走 A 还是走 B 的岔路口是否超过 3 天的判断节点BPMN 是国际通用的流程描述标准Business Process Model and Notation你可以把它理解为流程图的规范画法。JeecgBoot 的设计器严格按这套标准生成所以画出来的图引擎能直接执行不存在图只是给人看的这种尴尬。三步跑通第一个审批流前置条件数据库里已导入基础脚本见db/jeecgboot-mysql-5.7.sql项目用start-docker-compose.sh或 IDE 正常启动。第 1 步新建流程并画线进入系统管理下的流程设计入口新建一个流程命名leave_process流程标识Key填leave_leave。画布上依次拖入开始事件 → 用户任务经理审批 → 排他网关 → 用户任务总经理审批 → 结束事件用连线把它们串起来再补一条从网关直接到结束的线对应不超过 3 天直接通过。第 2 步配置节点属性双击经理审批节点在右侧属性面板里配置任务候选详见下一节再给表单选一张在线表单或编码表单。两个用户任务都要配否则走到节点时找不到人处理。第 3 步校验并部署点击设计器顶部的校验按钮确认没有网关未设默认分支节点无出口之类的红叉后点部署。系统会把图存成流程定义并生成定义 ID——之后每次发起的实例都挂在这个定义下。发起方式二选一在业务页面点发起流程按钮走前端或者在代码里调一行runtimeService.startProcessInstanceByKey(...)下一节给例子。⚠️ 避坑提示部署报错流程定义已存在多半是重复部署同名 Key。要么删掉旧定义再部要么确认你要的是覆盖而非新建。表单挂靠与节点细节三种表单怎么选流程里的表单不是固定死的挂什么由你定表单类型适合谁怎么配在线表单简单字段收集不想写代码拖控件自动生成保存即可挂到节点编码表单有校验逻辑、联动、调接口的复杂页面先开发好 Vue 页面节点里选它外部链接审批对象在别的系统里节点里填 URL打开新窗口处理设计器的前端代码在 jeecgboot-vue3/src/views/sys/ 目录排查页面问题时可以对照着看。节点属性里还有两个新手容易漏的候选人与候选人组决定谁能看到这条任务详见下一节节点表单不同节点挂不同表单是允许的比如提交节点挂申请表归档节点只挂一张只读视图。⚠️ 避坑提示表单挂靠后页面上选不到表先确认表单类型是否匹配——在线表单只能选平台生成的编码表单要选已注册的页面路径两者不通用。任务该分给谁角色与表达式怎么选一个用户任务跑起来后必须有人能办。JeecgBoot 支持两种分配思路按角色分推荐先用这个在节点属性里选候选人组填一个角色名比如dept_manager。系统会把这个角色下所有用户都变成这条任务的可见人谁来点签收谁就是办理人。权限天然跟岗位走人走了角色不变维护成本最低。按表达式分需要动态逻辑时负责人依赖运行时数据时比如找申请人所在部门的经理用表达式// 节点候选人组/负责人处填写表达式 ${assigneeService.findManagerByDeptId(deptId)}表达式里的方法由你自己实现交给 Spring 管理引擎在运行时求值。适合上级审批跨部门会签这类无法写死的场景。业务数据怎么和流程绑起来推荐三件套业务表加一列存流程实例 ID流程变量里存业务表主键再写一个任务监听器在节点完成时回写业务状态如approved/rejected。这样查询业务数据时能直接看到流程走到哪一步反过来从流程实例也能定位到那张单。⚠️ 避坑提示表达式求值为空任务就成了无主任务。上线前用测试账号发起一遍确认每个节点都能分到人自定义服务类记得注册成 Spring Bean。监控与运维流程在跑你看得见流程上线后你需要的不是祈祷它正常而是能随时回答三个问题谁手里有单待办任务列表按角色/用户过滤谁的待办积压一眼可见某张单走到哪了流程实例详情页展示当前节点、历史轨迹和办理人处理我那条报销到哪了这类咨询不用翻代码异常单怎么处理提供流程终止、任务委派、节点跳转三类操作发起错了就终止办理人临时请假就委派给别人特殊场景就跳转到指定节点。这些操作建议只开放给流程管理员角色避免业务人员误操作。后端侧Flowable 会把运行数据写入ACT_前缀的表统计平均审批耗时哪个节点最慢直接查库即可这是做流程优化的原始依据。⚠️ 避坑提示跳转和终止属于高危操作日志里务必记录操作人和原因方便事后追溯。走到这里你已经完成了零代码流程搭建的完整闭环画 BPMN 图、挂表单、配任务分配、绑业务数据、上线后监控运维。请假流只是起点——把同样的套路套到报销、采购、用印上改的是表单和网关条件方法完全一致。下一个建议给你的第一个流程加上超时未办自动提醒那才是工作流开始真正省心的地方。【免费下载链接】jeecg-boot【低代码v2.0一句话即可生成整个系统】企业级AI低代码平台一键生成前后端代码甚至整个系统。 AI Skills 一句话画流程、设计表单、生成报表、大屏。内置 AI应用平台涵盖AI聊天、知识库、流程编排、MCP插件等兼容主流大模型。引领AI低代码「Skills 生成 → 在线配置 → 代码生成 → 手工合并-AI修改」开发模式解决 Java 项目 90% 重复工作提高效率又不失灵活。项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-boot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表