一、开源项目简介
基于SpringBoot+Vue前后端分离的Java国产信创工作流引擎
工作流引擎对内提供单位/机关流程管理规则和内部业务流程的数字化落地实践;对外提供自动化地第三方业务驱动、接口接入和算法单元驱动能力。工作流引擎在提供底层驱动引擎的同时对全局透明监控、安全防御和国产化特色功能进行充分考虑,是内部流程管理和业务算法驱动的最佳实践。
二、开源协议
使用GPL-3.0开源协议
三、界面展示
工作流引擎截图
事项管理截图
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
工作台截图
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
四、功能概述
功能架构图
1.工作台的功能和界面都由事项管理进行配置后形成
2.事项管理的功能分为流程类、表单类和配置项类
3.表单管理负责映射数据库的表结构设计,由拖拉拽的表单引擎支撑
4.流程管理包含流程的设计、部署和监控,由拖拉拽的流程引擎支撑
5.接口管理支持在流程节点和流程路径中接入第三方的接口
6.链接管理支持通过岗位绑定第三方应用的入口
7.正文模板和套红模板均需要接入第三方插件才可以使用
引擎国产化特点
序 号 |
特 点 名 称 |
特点描述 |
1 |
串行办理 |
一个流程节点,多人按照顺序依次收到待办进行办理,全部办理完成后,自动进入下一个流程节点 |
2 |
并行办理 |
一个流程节点,多人同时收到待办进行办理,全部办理完成后,自动进入下一个流程节点 |
3 |
或行办理 |
一个流程节点,无论串行或并行办理,任意一个人办理完成后,自动进入下一个流程节点(需避免使用排他网关) |
4 |
票行办理 |
一个流程节点,无论串行或并行办理,多个人分配不同的权重进行投票,投票权重大于X%(例如60%),自动进入下一个流程节点(需避免使用排他网关) |
5 |
单人签收 |
一个流程节点,支持多人同时接到办理任务,一个人抢占签收进行办理(签收后,其他人无办理任务),可拒签,可撤销签收 |
6 |
主协办 |
一个并行办理的流程节点,支持定义主办和协办,只有主办可以办理完成后操作进入一个流程节点 |
7 |
子流程 |
主流程设置子流程,支持主、子流程独立办理 |
8 |
自动执行 |
支持在流程路径和流程节点自动触发或者跳过,并进入下一个流程节点 |
9 |
加减签 |
支持在本流程节点增加或者减少办理的岗位 |
10 |
抄送 |
任何流程状态下,所有参与人都可以将本流程实例通知至其他岗位,允许重复抄送 |
11 |
重定位 |
支持将当前流程实例跳转到任意节点 |
12 |
委托 |
将本岗位的所有事项和流程实例交由另一个岗位进行办理,支持设置委托的日期范围 |
13 |
催办 |
支持在在办列表中对于办理岗位进行催促通知 |
14 |
退回 |
支持将本流程实例退回给申请人(起草人),支持退回给流程节点的发送人 |
15 |
收回 |
支持发送人在当前办理人未流转前,撤回并重新办理 |
16 |
特殊办结 |
无论在任何流程节点,支持直接对流程实例进行办结 |
17 |
过期任务 |
支持流程实例在每个流程节点配置过期时间,过期后进行状态改变 |
18 |
恢复待办 |
支持将已办结的流程实例重新进行流转 |
引擎国产化功能
序 号 |
功 能 名 称 |
功能描述 |
1 |
事项配置 |
针对所有工作流引擎中的配置项进行统一的绑定、管理操作 |
2 |
表单配置 |
支持表单的动作设置、数据源、字段绑定、字段校验、样式加载等诸多的灵活配置项 |
3 |
统一待办 |
汇总所有的待办消息于统一界面进行通知和办理 |
4 |
接口配置 |
支持第三方系统的接口配置、测试和调用,便于在流程路径和流程节点中进行接入 |
5 |
链接配置 |
支持第三方系统的功能模块地址的绑定和配置 |
6 |
关联流程 |
支持手动将参与办理的流程实例与当前流程实例进行关联,关联后可以联动打开 |
7 |
消息提醒 |
支持对在办件的流程节点的意见批复和办理情况进行消息通知配置 |
8 |
实例迁移 |
支持将低版本的流程的实例无缝迁移至高版本中 |
9 |
流程监控 |
支持对流程实例的删除、挂起、激活、历程图、变量进行实时查看和操作 |
10 |
综合检索 |
针对当前登录人的岗位下所有事项中的所有状态的流程实例检索 |
11 |
正文模板 |
支持外部导入的流式文件模板,便于正文起草的模板使用(需要正文插件) |
12 |
套红模板 |
支持外部导入的流式红头文件模板,便于正文起草后进行红头模板的添加(需要正文插件) |
13 |
沟通交流 |
在流程实例的全过程中,支持所有办理和抄送相关岗位的人员进行留言沟通 |
14 |
打印模板 |
支持表单信息和word模板的配置,便于流程流转过程中的预览和打印 |
15 |
日历配置 |
针对法定节假日、国家调休计算工作日和自然日,便于流程的日期规则计算 |
16 |
意见配置 |
在事项的不同的流程节点中,支持配置不同类型的意见框,从而明确不同岗位的意见分栏 |
17 |
动态视图 |
支持灵活配置草稿箱、待办列表、在办列表、办结列表的展示方式 |
18 |
编号配置 |
在事项的不同的流程节点中,支持授权岗位对字段进行编号的定义 |
文档专区
序号 |
名称 |
1 |
内部Java开发规范手册 |
2 |
日志组件使用文档 |
3 |
文件组件使用文档 |
4 |
代码生成器使用文档 |
5 |
配置文件说明文档 |
6 |
常用工具类使用示例文档 |
7 |
前端开发手册 |
8 |
前端开发规范 |
9 |
前端代码格式化 |
10 |
前端系统组件 |
11 |
前端通用方法 |
12 |
前端国际化 |
13 |
前端Icon图标 |
14 |
单点登录对接文档 |
16 |
工作流在线文档 |
17 |
工作流war包部署文档 |
18 |
工作流源码部署文档 |
19 |
工作流程操作文档 |
20 |
流程管理接口文档 |
21 |
事项管理接口文档 |
22 |
工作办件接口文档 |
23 |
Oracle数据库适配文档 |
24 |
Dameng数据库适配文档 |
25 |
PostgreSQL数据库适配文档 |
26 |
Kingbase数据库适配文档 |
27 |
Mariadb数据库适配文档 |
28 |
OceanBase数据库适配文档 |
29 |
MySQL数据库适配文档 |
详细内容请查看 README.md 文档
五、技术选型
源码目录
逻辑架构图
-
工作流引擎主要分为事项配置和工作台,事项配置面向运维人员对工作流进行配置,工作台面向用户操作使用
-
工作流引擎需要数字底座中对于岗位角色的配置,否则无法运转
-
工作流引擎不仅仅支持传统OA,更面向外部业务、算法、接口、代理的接入和控制
部署架构图
1.工作流引擎支持以微服务、分布式、容器化的方式进行部署和扩展
2.工作流引擎需要额外部署文件预览相关的服务器
3.工作流引擎依赖数字底座和其单点登录服务
4.工作流引擎单体在信创环境中,4核8GB内存的虚拟机可以轻松应对500用户(历史数据需按年度结转)
后端技术选型
序号 |
依赖 |
版本 |
1 |
Spring Boot |
2.7.10 |
2 |
SpringDataJPA |
2.7.10 |
3 |
SpringDataRedis |
2.7.10 |
4 |
SpringKafka |
2.8.11 |
5 |
nacos |
2.2.1 |
6 |
druid |
1.2.16 |
7 |
Jackson |
2.13.5 |
8 |
javers |
6.13.0 |
9 |
lombok |
1.18.26 |
10 |
logback |
1.2.11 |
11 |
flowable |
6.8.0 |
前端技术选型
序号 |
依赖 |
版本 |
1 |
vue |
3.3.2 |
2 |
vite2 |
2.9.13 |
3 |
vue-router |
4.0.13 |
4 |
pinia |
2.0.11 |
5 |
axios |
0.24.0 |
6 |
typescript |
4.5.4 |
7 |
core-js |
3.20.1 |
8 |
element-plus |
2.2.29 |
9 |
sass |
1.58.0 |
10 |
animate.css |
4.1.1 |
11 |
vxe-table |
4.3.5 |
12 |
echarts |
5.3.2 |
13 |
svgo |
1.3.2 |
14 |
lodash |
4.17.21 |
中间件选型
序号 |
工具 |
版本 |
1 |
JDK |
11 |
2 |
Tomcat |
9.0+ |
3 |
Kafka |
2.6+ |
4 |
filezilla server |
1.7+ |
数据库选型
序号 |
工具 |
版本 |
1 |
Mysql |
5.7 / 8.0+ |
2 |
Redis |
6.2+ |
3 |
elasticsearch |
7.9+ |
工作流引擎专利
序 号 |
专利号 |
专利名称 |
1 |
ZL202210221266.3 |
《基于全域状态更新的工作流同步更新方法及工作流同步更新系统》 |
2 |
ZL202210222170.X |
《一种工作流数据恢复方法及数据恢复系统》 |
3 |
ZL202210803411.9 |
《一种包含多起点多分支流程的工作流引擎的实现方法》 |
信创兼容适配
序号 |
类型 |
对象 |
1 |
浏览器 |
奇安信、火狐、谷歌、360等 |
2 |
插件 |
金山、永中、数科、福昕等 |
3 |
中间件 |
东方通、金蝶、宝兰德等 |
4 |
数据库 |
人大金仓、达梦、高斯等 |
5 |
操作系统 |
统信、麒麟、中科方德等 |
6 |
芯片 |
ARM体系、MIPS体系、X86体系 |
浏览器
html
无