一种基于人事系统的流程引擎系统及其文件管理方法
- 国知局
- 2024-07-31 23:06:22
本发明涉及软件开发,涉及但不限定于一种基于人事系统的流程引擎系统及其文件管理方法。
背景技术:
1、当前主流的开源流程引擎主要有jbpm、activiti、flowable、camunda。这些都是比较成熟的流程引擎框架,都是基于bpmn及bpmn2.0标准的实现,所以在技术实现上都有统一的实现标准。
2、从以上提到的流程引擎产品的历史角度来讲,jbpm是activiti、flowable、camunda技术的前身,activiti、是flowable和camunda的技术前身。jbpm本身是一个完善的开源的流程引擎,由于内部原因,分裂出了activiti,最早的activiti基于是基于jbpm4。历史总是有相似的一幕,activiti也是因为团队内部的一些原因,分裂出了flowable和camunda两个流程引擎产品,flowable最早的版本是基于activiti 6。camunda最早的版本是activiti 5。
3、以上4个流程引擎框架都是比较优秀而且成熟,相对于目前国内的技术趋势以及文档资料的完善情况以及开源社区的活跃度,activiti、flowable、camunda都是比较好的选择。但是从功能的丰富程度flowable、camunda则是更好的选择。
4、由于以上提到的流程引擎框架都是对bpmn规范及标准的实现,只是从技术层面实现了bpmn对流程元素的文字定义,并统一封装接口,方便开发人员使用。但是,立足于各行各业的业务部门的业务需求,这样单一的技术实现远远满足不了实际的使用场景。因为流程协同除了单一的流程流转外,还会牵涉到表单、权限、事件、消息等业务场景,这些场景都无法满足用户的可灵活配置的需求。
5、由于流程业务本身是一个比较复杂的业务协同过程。从业务角度来说,不同的业务阶段存在不同的数据范围,不同的页面展示效果,不同的消息通知内容,以及触发一些额外的业务操作等。这些如果依靠原生的流程引擎来实现,不仅功能无法完全满足,同时增大了功能定制的成本以及加大业务需求的交付周期。因此,基于现有的成熟的流程引擎的flowable基础上,为弥补流程引擎的这些业务弱项,需要开发一种新的流程引擎系统。
技术实现思路
1、有鉴于此,本发明实施例提供一种基于人事系统的流程引擎系统及其文件管理方法。
2、本发明实施例的技术方案是这样实现的:
3、第一方面,本发明实施例提供一种基于人事系统的流程引擎系统,包括:
4、功能扩展模块,用于基于开源的flowable流程引擎,在原有配置属性的基础上,针对不同业务流程增加页面、权限、按钮、事件、消息;
5、流程建模模块,用于以开源bpmn.js为基础,通过前端页面向用户提供业务功能组件以及配置信息,以配置得到业务流程图;
6、流程发起模块,用于响应于在业务前端页面接收到用户的按钮操作触发流程实例的发起,并解析配置阶段的配置信息;
7、流程任务创建模块,用于在流程发起后依据配置的业务流程图的流向到达目标任务节点,并基于解析的配置信息创建审核人任务;
8、流程任务审批模块,用于通过在流程建模阶段指定的审核页面完成对所述审核人任务的审批。
9、在一些可能的实施例中,所述功能扩展模块包括:
10、流程模型配置扩展子模块,用于针对同一流程模型的通用配置信息增加个性化扩展;
11、流程图属性扩展子模块,用于针对当前流程定义中流程的全局信息以及流程节点的属性增加个性化扩展;其中,所述全局信息为业务流转时涉及到的通用业务参数信息。
12、在一些可能的实施例中,所述流程模型配置扩展子模块所扩展的通用配置信息包括:
13、业务对象,作为流程发起所关联的主数据对象,为流程实例中业务主键的数据提供依据;
14、关键字段,用于在待办任务产生后在前端页面的待办信息列表中展示任务简要信息;
15、状态字段,用于在任务节点流转时体现业务对象的数据状态;
16、发起人字段,用于区分业务流程的发起人和申请人的数据依据;
17、申请人字段,用于配合申请人对象为流程申请人分配数据;
18、用户对象,用于在业务系统中自定义了用户对象的情况下,提供用户寻找用户数据的配置依据;
19、自定义任务名称,用于在流程代办中,通过自定义任务名称规则显示业务所需的任务待办名称。
20、在一些可能的实施例中,所述流程图属性扩展子模块扩展的所述流程的全局信息包括:
21、流程基础属性,为对当前流程定义的全局的功能性参数的配置;
22、触发器,用于提供个性化业务的接口扩展,在个性化开发时执行实际的程序代码或者逻辑编排;
23、校验器,用于流程执行时的必要参数检查或者业务逻辑检查。
24、在一些可能的实施例中,所述流程基础属性的扩展包括以下:
25、驳回状态,用于在流程审批过程中,流程任务审批人操作驳回功能时,表征对主数据的状态数据的变更;
26、撤销状态,用于在流程审批过程中,流程任务审批人或者申请人操作撤销功能时,表征对主数据的状态数据的变更;
27、申请查看页面,用于在流程发起后向发起人再次呈现流程申请信息。
28、在一些可能的实施例中,所述流程图属性扩展子模块扩展的所述流程节点的属性包括:
29、节点基础属性,包括办理页面、办理完成页面、业务状态、审核人、审批操作、流程回退,用于在业务流程流转以及任务审核时提供自定义的视图信息、任务数据的分配信息以及业务对象的状态设定值;
30、消息属性,用于业务流程流转在当前节点时提供信息发送的渠道;
31、触发器属性,用于业务流程流转在当前节点时提供执行一些额外的业务逻辑执行的能力,实现针对具体的业务场景中做个性化的增量开发;
32、表单权限属性,用于在业务审核环节中,限制业务对象的数据操作权限。
33、在一些可能的实施例中,用户通过所述功能扩展模块配置的属性信息,将和所述flowable流程引擎实现的bpmn的基础属性一起写入bpmn格式的xml文件中,最终存储在数据库。
34、第二方面,本发明实施例提供一种文件管理方法,应用于上述第一方面所述的流程引擎系统,所述方法包括:
35、响应于接收到用户通过系统配置的流程申请页面发起的文件审批请求,解析文件管理审核流程的模型配置信息;其中,所述文件审批请求至少包括推送的文件说明和选择的待审批科室;基于解析的所述模型配置信息、所述文件说明和所述待审批科室的数据创建审核人任务并向审核人发送任务待办消息;响应于该审核人在配置的审核页面的文件审批操作,完成业务审核。
36、所述基于解析的所述模型配置信息、所述文件说明和所述待审批科室的数据创建审核人任务,包括:基于所述模型配置信息执行检验器及触发器,设置该文件管理审核流程的申请人数据;当流程执行到用户任务节点时,更新业务对象的业务状态数据并发送节点消息;执行节点触发器,基于所述文件说明和所述待审批科室的数据创建所述审核人任务并分配任务审核人。
37、本发明实施例提供的技术方案带来的有益效果至少包括:
38、在本发明实施例中,为满足复杂业务的需求以及提供更灵活的交付方式,在flowable流程引擎的基础上进行扩展补充,主要围绕对功能的扩展和优化,增加页面、权限、按钮、事件、消息等扩展。由于流程引擎按照自研平台架构设计开发,在业务实现过程中可以以零代码的方式完成业务场景的交付;同时由于具备较高的灵活性,大大降低了系统的建设周期及具体业务的交付时间。
本文地址:https://www.jishuxx.com/zhuanli/20240730/195978.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表