一种工作流并行审批方法及其系统与流程

文档序号:16508597发布日期:2019-01-05 09:11阅读:780来源:国知局
一种工作流并行审批方法及其系统与流程

本发明涉及工作流审批技术领域,具体涉及一种工作流并行审批方法及其系统。



背景技术:

工作流(workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”;activiti是一个业务流程管理(bpm)开源项目,作为一个开源的工作流引擎,它实现了bpmn2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。

在现有的activiti中基本能满足我们日常的简单的审批流程,但是会存在一些不能满足业务需求的场景,比如:在一个审批业务场景中,我们要求多个任务同时并行进行(会签功能),当所有任务都处理为“同意”时才能进入下一个审批任务,如果当中有一个任务处理结果为“不同意”,那么我们要求驳回到发起人;目前,传统的activiti还不能实现这个功能。



技术实现要素:

基于此,针对上述问题,有必要提出一种实现多个任务同时并行处理,提高任务处理效率,且满足审批需求,提高审批准确性的工作流并行审批方法及其系统。

本发明提供一种工作流并行审批方法,其技术方案如下:

一种工作流并行审批方法,包括以下步骤:

a、接收第三方发起人提交的任务请求,并进行任务审批申请;

b、任务审批申请通过后,生成并行待办审批任务列表,进行并行审批,并将并行审批完成后的任务统一储存至审批完成列表;

c、判断审批完成列表中的任务是否全部审批通过,如果是,则将任务发送至代办人;如果否,则进行任务调整。

在本技术方案中,在接收到所要审批的任务后,利用排他网关引导任务流向,避免出现两条顺序流的问题,如果不用排他网关将会使提交和重新申请两条进入流流向同一位置,导致流程出错;然后,在执行并行审批任务过程中,只要有一个任务审批不通过,则就会驳回至任务发起人处,发起人要么重新申请,要么放弃申请,其解决了现有activiti不能解决的技术问题,实现多任务并行审批,并汇聚判断,既满足了任务审批的需求,又提高了任务审批的处理效率和准确性。

优选的,所述步骤a中,进行任务审批申请包括以下步骤:

判断参数是否正确,如果是,则进一步查询代办人;如果否,则提示信息错误,并返回至发起人;

判断是否找到代办人,如果是,则执行并行审批操作;如果否,则提示未找到代办人,并返回至发起人。

在进行并行审批前,需对任务审批申请进行检测、判断,当录入的必要参数都正确,就查询代办人,如果找到了代办人就可以把任务放入生成的并行待办审批任务列表中,进行并行审批;如果必要参数都不正确,就会提示信息错误,如果参数正确但是没找到代办人,就会提示未找到代办人,不能进行下一步的并行审批;进行该任务审批申请判断,可避免出现遗漏审批、重复审批和无效审批,如果任务都不符合要求,则不会放入并行待办审批任务列表中进行并行审批,不然会增加数据处理压力,造成数据冗余,并且,不符合要求的任务在进行并行处理后,容易影响其他的任务,降低处理效率。

优选的,所述步骤b包括以下步骤:

向并行待办审批任务列表中添加n个待审批任务,其中n≥2;

分别审批并行待办审批任务列表中的n个待审批任务,判断任意一个待审批任务是否审批通过,如果是,则标记并储存至审批完成列表;如果否,则直接储存至审批完成列表。

需要判断并行待办审批任务列表中的每个待审批任务,每个任务都判断完成后,不论是否被同意通过,均汇聚审批结果到审批完成列表中,然后在审批完成列表中统一进行筛选判断;将单个任务的判断和所有任务的筛选判断分开进行,提高了数据处理效率,使流程处理更清晰、高效,实现任务并行审批,并在所有任务审批都完成后汇聚。

优选的,在步骤c中,将任务发送至代办人后,包括以下步骤:

判断是否找到代办人,如果是,则进行上级任务审批;如果否,则提示未找到代办人,并返回至发起人;

判断上级任务是否审批通过,如果是,则工作流结束;如果否,则进行任务调整。

当审批通过后,再查询一次代办人,如果前后统一均找到了代办人,则根据权限,让上级进行审批,上级通过后,整个审批通过,工作流结束;如果上级审批未通过,则进行任务调整,根据调整决定任务的顺序流,严格审批,避免出现审批错误进而影响工作流的运行。

优选的,所述进行任务调整包括以下步骤:

若接收到驳回的申请,则将任务驳回至发起人;

若接收到重新调整任务的申请,则将所需重新调整的任务返回,并重新进行任务审批申请;

若接收到放弃任务的申请,则工作流结束。

当汇聚后的任务未完全通过,或上级审批未通过时,可进行任务调整,根据选择的驳回申请、调整申请和放弃申请进入不同的顺序流进行处理,进而保证任务处理的可选择性和主观性,提高任务处理的灵活性。

本发明还提供一种工作流并行审批系统,其技术方案如下:

一种工作流并行审批系统,包括审批申请模块、并行审批模块和审批判断模块,其中:

审批申请模块,用于接收第三方发起人提交的任务请求,并进行任务审批申请;

并行审批模块,用于任务审批申请通过后,生成并行待办审批任务列表,进行并行审批,并将并行审批完成后的任务统一储存至审批完成列表;

审批判断模块,用于判断审批完成列表中的任务是否全部审批通过,如果是,则将任务发送至代办人;如果否,则进行任务调整。

优选的,所述审批申请模块包括参数判断子模块和代办人查询子模块,其中:

参数判断子模块,用于判断参数是否正确,如果是,则进一步查询代办人;如果否,则提示信息错误,并返回至发起人;

代办人查询子模块,用于判断是否找到代办人,如果是,则执行并行审批操作;如果否,则提示未找到代办人,并返回至发起人。

优选的,所述并行审批模块包括任务添加子模块和任务审批子模块,其中:

任务添加子模块,用于向并行待办审批任务列表中添加n个待审批任务,其中n≥2;

任务审批子模块,用于分别审批并行待办审批任务列表中的n个待审批任务,判断任意一个待审批任务是否审批通过,如果是,则标记并储存至审批完成列表;如果否,则直接储存至审批完成列表。

优选的,还包括代办人查询模块和上级任务审批模块,其中:

代办人查询模块,用于判断是否找到代办人,如果是,则进行上级任务审批;如果否,则提示未找到代办人,并返回至发起人;

上级任务审批模块,用于判断上级任务是否审批通过,如果是,则工作流结束;如果否,则进行任务调整。

优选的,还包括任务调整模块,所述任务调整模块包括驳回子模块、重调子模块和放弃子模块,其中:

驳回子模块,用于接收到驳回的申请,将任务驳回至发起人;

重调子模块,用于接收到重新调整任务的申请,将所需重新调整的任务返回,并重新进行任务审批申请;

放弃子模块,用于接收到放弃任务的申请,结束工作流。

本发明的有益效果是:

1、本发明解决了现有activiti不能解决的技术问题,实现多任务并行审批,并汇聚判断,既满足了任务审批的需求,又提高了任务审批的处理效率和准确性。

2、在进行并行审批前,需对任务审批申请进行检测、判断,可避免出现遗漏审批、重复审批和无效审批,避免增加数据处理压力,造成数据冗余,并且,避免影响其他的任务处理,降低处理效率。

3、进行并行审批,判断并行待办审批任务列表中的每个待审批任务,每个任务都判断完成后,不论是否被同意通过,均汇聚审批结果到审批完成列表中,然后在审批完成列表中统一进行筛选判断;将单个任务的判断和所有任务的筛选判断分开进行,提高了数据处理效率,使流程处理更清晰、高效,实现任务并行审批,并在所有任务审批都完成后汇聚。

4、可进行任务调整,根据调整决定任务的顺序流,严格审批,避免出现审批错误进而影响工作流的运行。

5、根据任务调整,可选择驳回申请、调整申请和放弃申请,实现进入不同的顺序流进行处理,进而保证任务处理的可选择性和主观性,提高任务处理的灵活性。

附图说明

图1是本发明实施例所述工作流并行审批方法的流程图;

图2是本发明实施例所述工作流并行审批系统的原理框图;

图3是本发明实施例所述利用activiti现有功能生成的流程定义图。

附图标记说明:

10-审批申请模块;101-参数判断子模块;102-代办人查询子模块;20-并行审批模块;201-任务添加子模块;202-任务审批子模块;30-审批判断模块;40-代办人查询模块;50-上级任务审批模块;60-任务调整模块;601-驳回子模块;602-重调子模块;603-放弃子模块。

具体实施方式

下面结合附图对本发明的实施例进行详细说明。

实施例1

如图1所示,一种工作流并行审批方法,包括以下步骤:

a、接收第三方发起人提交的任务请求,并进行任务审批申请;

b、任务审批申请通过后,生成并行待办审批任务列表,进行并行审批,并将并行审批完成后的任务统一储存至审批完成列表;

c、判断审批完成列表中的任务是否全部审批通过,如果是,则将任务发送至代办人;如果否,则进行任务调整。

在本实施例中,在接收到所要审批的任务后,利用排他网关引导任务流向,避免出现两条顺序流的问题,如果不用排他网关将会使提交和重新申请两条进入流流向同一位置,导致流程出错;然后,在执行并行审批任务过程中,只要有一个任务审批不通过,则就会驳回至任务发起人处,发起人要么重新申请,要么放弃申请,其解决了现有activiti不能解决的技术问题,实现多任务并行审批,并汇聚判断,既满足了任务审批的需求,又提高了任务审批的处理效率和准确性。

实施例2

本实施例在实施例1的基础上,所述步骤a中,进行任务审批申请包括以下步骤:

判断参数是否正确,如果是,则进一步查询代办人;如果否,则提示信息错误,并返回至发起人;

判断是否找到代办人,如果是,则执行并行审批操作;如果否,则提示未找到代办人,并返回至发起人。

在进行并行审批前,需对任务审批申请进行检测、判断,当录入的必要参数都正确,就查询代办人,如果找到了代办人就可以把任务放入生成的并行待办审批任务列表中,进行并行审批;如果必要参数都不正确,就会提示信息错误,如果参数正确但是没找到代办人,就会提示未找到代办人,不能进行下一步的并行审批;进行该任务审批申请判断,可避免出现遗漏审批、重复审批和无效审批,如果任务都不符合要求,则不会放入并行待办审批任务列表中进行并行审批,不然会增加数据处理压力,造成数据冗余,并且,不符合要求的任务在进行并行处理后,容易影响其他的任务,降低处理效率。

实施例3

本实施例在实施例2的基础上,所述步骤b包括以下步骤:

向并行待办审批任务列表中添加n个待审批任务,其中n≥2;

分别审批并行待办审批任务列表中的n个待审批任务,判断任意一个待审批任务是否审批通过,如果是,则标记并储存至审批完成列表;如果否,则直接储存至审批完成列表。

需要判断并行待办审批任务列表中的每个待审批任务,每个任务都判断完成后,不论是否被同意通过,均汇聚审批结果到审批完成列表中,然后在审批完成列表中统一进行筛选判断;将单个任务的判断和所有任务的筛选判断分开进行,提高了数据处理效率,使流程处理更清晰、高效,实现任务并行审批,并在所有任务审批都完成后汇聚。

实施例4

本实施例在实施例2的基础上,在步骤c中,将任务发送至代办人后,包括以下步骤:

判断是否找到代办人,如果是,则进行上级任务审批;如果否,则提示未找到代办人,并返回至发起人;

判断上级任务是否审批通过,如果是,则工作流结束;如果否,则进行任务调整。

当审批通过后,再查询一次代办人,如果前后统一均找到了代办人,则根据权限,让上级进行审批,上级通过后,整个审批通过,工作流结束;如果上级审批未通过,则进行任务调整,根据调整决定任务的顺序流,严格审批,避免出现审批错误进而影响工作流的运行。

实施例5

本实施例在实施例4的基础上,所述进行任务调整包括以下步骤:

若接收到驳回的申请,则将任务驳回至发起人;

若接收到重新调整任务的申请,则将所需重新调整的任务返回,并重新进行任务审批申请;

若接收到放弃任务的申请,则工作流结束。

当汇聚后的任务未完全通过,或上级审批未通过时,可进行任务调整,根据选择的驳回申请、调整申请和放弃申请进入不同的顺序流进行处理,进而保证任务处理的可选择性和主观性,提高任务处理的灵活性。

实施例6

本实施例为实施例1的系统,如图2所示,一种工作流并行审批系统,包括审批申请模块10、并行审批模块20和审批判断模块30,其中:

审批申请模块10,用于接收第三方发起人提交的任务请求,并进行任务审批申请;

并行审批模块20,用于任务审批申请通过后,生成并行待办审批任务列表,进行并行审批,并将并行审批完成后的任务统一储存至审批完成列表;

审批判断模块30,用于判断审批完成列表中的任务是否全部审批通过,如果是,则将任务发送至代办人;如果否,则进行任务调整。

实施例7

本实施例为实施例2的系统,所述审批申请模块10包括参数判断子模块101和代办人查询子模块102,其中:

参数判断子模块101,用于判断参数是否正确,如果是,则进一步查询代办人;如果否,则提示信息错误,并返回至发起人;

代办人查询子模块102,用于判断是否找到代办人,如果是,则执行并行审批操作;如果否,则提示未找到代办人,并返回至发起人。

实施例8

本实施例为实施例3的系统,所述并行审批模块20包括任务添加子模块201和任务审批子模块202,其中:

任务添加子模块201,用于向并行待办审批任务列表中添加n个待审批任务,其中n≥2;

任务审批子模块202,用于分别审批并行待办审批任务列表中的n个待审批任务,判断任意一个待审批任务是否审批通过,如果是,则标记并储存至审批完成列表;如果否,则直接储存至审批完成列表。

实施例9

本实施例为实施例4的系统,还包括代办人查询模块40和上级任务审批模块50,其中:

代办人查询模块40,用于判断是否找到代办人,如果是,则进行上级任务审批;如果否,则提示未找到代办人,并返回至发起人;

上级任务审批模块50,用于判断上级任务是否审批通过,如果是,则工作流结束;如果否,则进行任务调整。

实施例10

本实施例为实施例5的系统,还包括任务调整模块60,所述任务调整模块60包括驳回子模块601、重调子模块602和放弃子模块603,其中:

驳回子模块601,用于接收到驳回的申请,将任务驳回至发起人;

重调子模块602,用于接收到重新调整任务的申请,将所需重新调整的任务返回,并重新进行任务审批申请;

放弃子模块603,用于接收到放弃任务的申请,结束工作流。

采用上述实施例的方案,利用activiti现有功能生成流程定义图,如图3所示,执行工作流的流程具体如下:

1位置使用排他网关并且默认流向2位置并行网关,解决2位置此处并行网关不可以有两条进入顺序流的问题(如果不用排他网关将会是提交和重新申请两条进入流流向2位置,导致流程出错);

2位置和6位置使用activiti并行网关(分支和汇聚);

4位置和5位置都设置两种处理结果“同意”,“不同意”,当审批任务时设置处理结果到流程变量中(子公司运维经理处理结果:sub_operation_manager=true||false,子公司财务经理处理结果:sub_financial_manager=true||false);

当“子公司运维经理”和“子公司财务经理”都审批完成后,汇聚审批结果,流向6位置;

7位置使用排他网关并设置带条件判断的两条外出顺序流(两条外出顺序流条件必须互斥);

7顺序流代表“子公司运维经理”和“子公司财务经理”处理结果都为“同意”,设置条件:${sub_operation_manager=='true'&&sub_financial_manager=='true'};

8顺序流代表“子公司运维经理”和“子公司财务经理”都处理不都为“同意”,设置条件:${sub_operation_manager=='false'||sub_financial_manager=='false'};

当流程执行8顺序流时就满足了我们的业务需要驳回到发起人;

通过上述处理流程,实现多任务并行审批,且当多任务进行并行审批时,如果当中有一个任务处理结果为“不同意”,那么我们要求驳回到发起人;满足了业务需求的场景,完善了业务审批流程,提高了审批处理的效率,以及保证了审批的流畅性和准确性。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1