审批流程管理产品系统

我要开发同款
THead2026年09月21日
3阅读

技术信息

语言技术
JavaHTML5CSSJavaScriptAngular
系统类型
Web
行业分类
企业服务

作品详情

行业场景

适用行业:通用型企业办公、政务审批、金融风控、人事管理、采购报销等。

典型使用场景:
企业内部的审批流:如请假、报销、采购、合同审批等,不同金额或类型走不同分支,支持会签、或签、转办。
政务/事业单位的办事流程:如事项申报、多级审核、并联审批,需要严格留痕和流程追溯。
业务系统中的嵌入式流程:作为中台能力接入 CRM、ERP、OA 等系统,让业务表单和审批流程解耦,业务人员可自行调整流程而无需改代码。

解决的核心痛点:
传统审批写死在代码里,改一个节点就要发版,业务响应慢。
多级、并行、条件分支等复杂流程难以用简单工作流覆盖。
业务表单和流程耦合,复用一个流程要重做一套表单。

功能介绍

一、流程设计器(前端拖拽配置)
可视化拖拽建流程:从左侧节点面板拖拽开始、审批、条件分支、并行网关、结束等节点到画布,自由连线。
节点属性配置:每个节点可设置审批人类型,如指定人员、角色、部门主管、发起人自选、上级审批等。
条件分支:支持按表单字段值、金额区间、部门等条件自动走不同分支。
并行/会签/或签:支持多节点并行提交与审批,可配置会签(全部通过才通过)、或签(一人通过即通过)。
流程校验与发布:保存前校验孤立节点、死循环、缺少审批人等,通过后版本化发布。

二、业务表单设计器
拖拽式表单搭建:文本框、下拉、日期、金额、附件、子表等控件拖拽生成。
与流程绑定:表单字段可直接作为流程条件分支的判断依据。
数据联动:支持字段显隐、必填、联动赋值等规则。

三、审批引擎(后端)
流程实例管理:发起、暂停、终止、撤回、催办。
多模式审批:单人审批、多人并行审批、会签、或签、依次审批。
动态审批人解析:根据节点配置和业务数据,运行时解析出实际审批人。
转办、加签、退回:支持审批过程中转交他人、临时加签、退回到指定节点。
审批记录与留痕:完整记录每个节点的操作人、时间、意见,可追溯。

四、系统集成
REST API:提供发起流程、查询待办、审批等接口,方便嵌入现有系统。
消息通知:待办提醒可对接站内信,邮件,短信,微信

项目实现

技术选型:
前端:Angular + TypeScript + PrimeNG
后端:Java21 + Spring Boot
数据库:MySQL(流程定义、实例、任务、表单数据)
缓存:Redis(待办缓存、分布式锁)
部署:Nginx


核心实现思路:
流程模型:将前端画布数据序列化为 JSON(节点、连线、属性),后端解析为流程定义并版本化存储。
流程驱动:基于令牌(Token)机制驱动流程流转。每个流程实例持有一个或多个令牌,遇到并行网关时分裂令牌,汇聚时合并,从而实现并行提交与审批。
审批人解析:节点配置只存“审批人类型 + 参数”,运行时由 AssigneeResolver 根据发起人、表单数据、组织架构动态计算出实际审批人列表。
表单与流程解耦:表单定义独立存储,流程节点通过 formId 关联表单;条件分支通过表达式引擎(如 Aviator)读取表单数据求值。
任务调度:审批任务写入任务表,待办查询走 Redis 缓存;超时自动提醒通过定时任务扫描。

技术难点与解决
并行网关的令牌同步:多个分支全部到达汇聚节点才继续,用计数器 + 分布式锁保证并发下不重复推进。
动态审批人性能:组织架构查询较慢,对角色、部门主管等结果做短期缓存,减少重复计算。
流程版本兼容:已发起的实例绑定旧版本定义,新流程走新版本,避免改流程影响在途单据。
前端画布与后端模型一致性:定义统一的 JSON Schema,前端保存和后端解析共用一套校验规则。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论