一种基于Spring的流程状态机系统及其处理方法技术方案

技术编号:26379297 阅读:29 留言:0更新日期:2020-11-19 23:48
本发明专利技术涉及一种基于Spring的流程状态机系统及其处理方法,该流程状态机系统包括任务发起单元、多流程网关和数据库,任务发起单元连接至多流程网关,多流程网关与数据库连接,任务发起单元用于接收用户输入的业务场景信息,并将该业务场景信息传输给多流程网关;多流程网关基于SpringIOC注入方式,根据业务场景信息,以构建对应的流程任务,并输出该流程任务产生的流程数据给数据库进行存储;数据库内设置有可扩展的四个基础表:流程主表、待办表、流程日志表和流程类型表,用于存储对应的流程数据。与现有技术相比,本发明专利技术具有可配置化和易于扩展的优点,能够快速适应于不同业务场景,避免重复开发以及审批错误现象的发生。

【技术实现步骤摘要】
一种基于Spring的流程状态机系统及其处理方法
本专利技术涉及流程审批
,尤其是涉及一种基于Spring的流程状态机系统及其处理方法。
技术介绍
在企业日常办公中,往往需要进行工作流程审批,现有的办公系统流程引擎大多采用开源的Activity方式,即通过单独的流程服务平台完成流程审批服务,采用接口的形式调用流程平台,对于在用流程需要单独安装配套的软件,一旦当前流程平台删除原有执行人员信息后,就会造成不可逆的审批错误现象。此外,现有的流程审批系统通常只能应对单一业务场景,而流程审批大多会涉及多个不同的业务场景,若采用单独流程服务平台的方式,当发生新的审批流程时,就需要重新做一套流程审批系统,无法对原有的流程审批系统进行升级改造,大大增加了重复逻辑的开发,随着业务场景的不断增加,也会不断增加流程审批系统的冗余性。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于Spring的流程状态机系统及其处理方法,采用SpringIOC(InversionofControl,控制反转)方式,实现节点功能的封装及组合,结合多流程网关设计,从而快速适应不同业务场景;采用流程任务消息留存的方式,避免发生审批错误现象。本专利技术的目的可以通过以下技术方案来实现:一种基于Spring的流程状态机系统,包括任务发起单元、多流程网关和数据库,所述任务发起单元连接至多流程网关,所述多流程网关与数据库连接,所述任务发起单元用于接收用户输入的业务场景信息,并将该业务场景信息传输给多流程网关;所述多流程网关基于SpringIOC注入方式,根据业务场景信息,以构建对应的流程任务,并输出该流程任务产生的流程数据给数据库进行存储;所述数据库内设置有可扩展的四个基础表:流程主表、待办表、流程日志表和流程类型表,用于存储对应的流程数据。进一步地,所述多流程网关内设置有业务场景拆分单元、节点功能模块仓库和流程任务生成单元,所述业务场景拆分单元的输入端与任务发起单元连接,所述业务场景拆分单元的输出端与流程任务生成单元的输入端连接,用于将业务场景信息拆分为多个审批节点,并将多个审批节点信息传输给流程任务生成单元;所述流程任务单元的输入端还与节点功能模块仓库连接,用于根据多个审批节点信息,从节点功能模块仓库依次提取对应的多个节点功能模块,并对多个节点功能模块进行组合,以构建流程任务。进一步地,所述流程任务包括并行网关、串行网关、合并网关、分发网关、抢单网关和退回网关。进一步地,所述并行网关用于将流程分成多条分支;所述串行网关用于将流程固定为一条主支;所述合并网关用于配合并行网关,将多条分支合并为一条主支;所述分发网关用于将流程分发至多个节点;所述抢单网关用于将流程分发至多人任务,但只允许一人进行审批;所述退回网关用于将流程退回顺序流。进一步地,所述分发网关包括随机分发子网关和固定分发子网关,所述随机分发子网关用于将流程任务随机分发至多个节点,所述固定分发子网关用于将流程任务固定分发至多个节点。进一步地,所述退回网关包括多节点退回子网关和单节点退回子网关,所述多节点退回子网关用于将流程按节点顺序依次退回至多个节点,所述单节点退回子网关用于将流程退回至某一个指定的节点。进一步地,所述流程主表的字段包括主键、提交时间、提交人、审批类型、业务类型和业务主键;所述待办表的字段包括主键、当前审批等级、审批人、审批时间和审批状态;所述流程日志表的字段包括主键、审批状态、审批创建时间和审批通过时间;所述流程类型表的字段包括主键、类型名称、类型代号、状态和创建时间。一种基于Spring的流程状态机处理方法,包括以下步骤:S1、基于SpringIOC注入方式,预先注册封装多个节点功能模块至节点功能模块仓库中,其中,多个节点功能模块分别对应于不同审批节点名称;S2、任务发起单元接收用户输入的业务场景信息,并将该业务场景信息输出给业务场景拆分单元;S3、按照审批要求和审批顺序,业务场景拆分单元将业务场景信息拆分为多个审批节点,并将多个审批节点信息传输给流程任务生成单元;S4、根据多个审批节点信息,若不存在新增审批节点,则执行步骤S5,若存在新增审批节点,则执行步骤S6;S5、流程任务生成单元从节点功能模块仓库全部对应提取出节点功能模块,并将提取出的多个节点功能模块进行组合,以构建流程任务,之后执行步骤S7;S6、基于SpringIOC注入方式,根据新增审批节点信息,结合数据库中基础表数据,注册封装对应的新增节点功能模块至节点功能模块仓库中,之后根据多个审批节点信息,流程任务生成单元从节点功能模块仓库全部对应提取出节点功能模块,并将提取出的多个节点功能模块进行组合,以构建流程任务,之后执行步骤S7;S7、用户操作流程任务,期间产生的流程数据通过多流程网关实时存入数据库对应的基础表中。进一步地,所述审批节点信息包括业务需求、角色类型、职位类型和分配人员。进一步地,所述流程数据包括审批事项数据、代办事项数据和操作记录数据。与现有技术相比,本专利技术具有以下优点:一、本专利技术基于SpringIOC方式,通过SpringIOC对Bean的管理,来实现不同业务可定制化的审批流程,通过对流程节点的功能划分,将每个审批节点抽取为独立的节点功能模块,针对不同业务场景仅仅需要将原先的抽取的节点功能模块进行自定义组合,即可实现完整的审批流程,以此来解决每次因业务变化,就需要改动大量代码的问题,能够快速适应不同业务场景。二、本专利技术采用多流程网关实现流程任务的构建,能够根据业务场景信息即时生成包括并行网关、串行网关、合并网关、分发网关、抢单网关和退回网关的流程任务,同时结合数据库中基础表的设置,保证了整个状态机系统的可扩展性,三、本专利技术状态机流程引擎(节点功能模块)是基于SpringIOC注入工程中,减少了通过接口的形式调用流程平台,能够直接获取处理审批节点的流程信息,并利用数据库实时存储流程网关输出的流程数据,即使删除原有执行人员信息,也不会造成审批错误现象。附图说明图1为本专利技术的流程状态机系统结构示意图;图2为本专利技术的流程状态机处理方法流程示意图;图3为实施例中应用过程示意图;图中标记说明:1、任务发起单元,2、多流程网关,3、数据库,201、业务场景拆分单元,202、节点功能模块仓库,203、流程任务生成单元。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。实施例如图1所示,一种基于Spring的流程状态机系统,包括依次连接的任务发起单元1、多流程网关2和数据库3,多流程网关2中设置有业务场景拆分单元201、节点功能模块仓库202和流程任务生成单元203,业务场景拆分单元201的输入端与任务发起单元1连接,业务场景拆分单元201的输出端与流程任务生成单元203的输入端连接,流程任务单本文档来自技高网...

【技术保护点】
1.一种基于Spring的流程状态机系统,其特征在于,包括任务发起单元(1)、多流程网关(2)和数据库(3),所述任务发起单元(1)连接至多流程网关(2),所述多流程网关(2)与数据库(3)连接,所述任务发起单元(1)用于接收用户输入的业务场景信息,并将该业务场景信息传输给多流程网关(2);/n所述多流程网关(2)基于SpringIOC注入方式,根据业务场景信息,以构建对应的流程任务,并输出该流程任务产生的流程数据给数据库(3)进行存储;/n所述数据库(3)内设置有可扩展的四个基础表:流程主表、待办表、流程日志表和流程类型表,用于存储对应的流程数据。/n

【技术特征摘要】
1.一种基于Spring的流程状态机系统,其特征在于,包括任务发起单元(1)、多流程网关(2)和数据库(3),所述任务发起单元(1)连接至多流程网关(2),所述多流程网关(2)与数据库(3)连接,所述任务发起单元(1)用于接收用户输入的业务场景信息,并将该业务场景信息传输给多流程网关(2);
所述多流程网关(2)基于SpringIOC注入方式,根据业务场景信息,以构建对应的流程任务,并输出该流程任务产生的流程数据给数据库(3)进行存储;
所述数据库(3)内设置有可扩展的四个基础表:流程主表、待办表、流程日志表和流程类型表,用于存储对应的流程数据。


2.根据权利要求1所述的一种基于Spring的流程状态机系统,其特征在于,所述多流程网关(2)内设置有业务场景拆分单元(201)、节点功能模块仓库(202)和流程任务生成单元(203),所述业务场景拆分单元(201)的输入端与任务发起单元(1)连接,所述业务场景拆分单元(201)的输出端与流程任务生成单元(203)的输入端连接,用于将业务场景信息拆分为多个审批节点,并将多个审批节点信息传输给流程任务生成单元(203);
所述流程任务单元的输入端还与节点功能模块仓库(202)连接,用于根据多个审批节点信息,从节点功能模块仓库(202)依次提取对应的多个节点功能模块,并对多个节点功能模块进行组合,以构建流程任务。


3.根据权利要求1所述的一种基于Spring的流程状态机系统,其特征在于,所述流程任务包括并行网关、串行网关、合并网关、分发网关、抢单网关和退回网关。


4.根据权利要求3所述的一种基于Spring的流程状态机系统,其特征在于,所述并行网关用于将流程分成多条分支;所述串行网关用于将流程固定为一条主支;所述合并网关用于配合并行网关,将多条分支合并为一条主支;所述分发网关用于将流程分发至多个节点;所述抢单网关用于将流程分发至多人任务,但只允许一人进行审批;所述退回网关用于将流程退回顺序流。


5.根据权利要求4所述的一种基于Spring的流程状态机系统,其特征在于,所述分发网关包括随机分发子网关和固定分发子网关,所述随机分发子网关用于将流程任务随机分发至多个节点,所述固定分发子网关用于将流程任务固定分发至多个节点。


6.根据权利要求4所述的一种基于Spring的流程状态机系统,其特征在于,所述退回...

【专利技术属性】
技术研发人员:李虎曾毅峰魏明丽菅兵
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1