掌桥专利:专业的专利平台
掌桥专利
首页

流程的处理方法及装置、处理器和电子设备

文献发布时间:2023-06-19 19:38:38


流程的处理方法及装置、处理器和电子设备

技术领域

本申请涉及金融科技技术领域,具体而言,涉及一种流程的处理方法及装置、处理器和电子设备。

背景技术

相关技术中,流程编排,流程串联,流程流转条件都是通过手写脚本写死在数据库中,没有友好的可视化配置页面和工具,导致流程修改,流程新增难度高。而且,流程中写死流程节点和流程控制条件,抽象程度低,导致高相似度流程无法复用。另外,相关技术中的审批流程的过程一般是以顺序流的流程形式实现的。具体为,业务审批流根据预先编排好的流程审批环节一步步按顺序往下流转,故会导致审批流程的效率较低。

针对相关技术中审批流程的效率较低的问题,目前尚未提出有效的解决方案。

发明内容

本申请的主要目的在于提供一种流程的处理方法及装置、处理器和电子设备,以解决相关技术中审批流程的效率较低的问题。

为了实现上述目的,根据本申请的一个方面,提供了一种流程的处理方法。该方法包括:基于流程引擎获取流程中的当前环节和目标环节,其中,所述流程为待审批的流程,所述目标环节为所述当前环节流转至的目的环节,所述当前环节和所述目标环节之间存在至少一个环节;依据所述当前环节和所述目标环节,确定从所述当前环节流转到所述目标环节需要完成的任务集合,其中,所述任务集合用于表示从所述当前环节流转到所述目标环节时所述当前环节和所述目标环节分别需要完成的任务;基于所述任务集合,从所述当前环节流转到所述目标环节,并完成对所述流程的审批处理。

进一步地,基于所述任务集合,从所述当前环节流转到所述目标环节包括:判断所述任务集合中的任务是否全部完成;若所述任务集合中的任务已全部完成,则从所述当前环节流转到所述目标环节;若所述任务集合中的任务未全部完成,则返回至所述当前环节。

进一步地,判断所述任务集合中的任务是否全部完成包括:获取所述任务集合中每个任务的执行结果;依据所述任务集合中每个任务的执行结果,判断所述任务集合中的任务是否全部完成。

进一步地,基于所述任务集合,从所述当前环节流转到所述目标环节,并完成对所述流程的审批处理包括:基于所述任务集合,从所述当前环节流转到所述目标环节;判断所述目标环节是否为所述流程中的最后一个环节;若所述目标环节为所述流程中的最后一个环节,则表示已完成对所述流程的审批处理;若所述目标环节不是所述流程中的最后一个环节,则表示未完成对所述流程的审批处理,并从所述目标环节流转到所述目标环节的下一个环节,以完成对所述流程的审批处理。

进一步地,依据所述当前环节和所述目标环节,确定从所述当前环节流转到所述目标环节需要完成的任务集合包括:依据所述当前环节,确定从所述当前环节流转到所述目标环节时所述当前环节需要完成的第一任务;依据所述目标环节,确定从所述当前环节流转到所述目标环节时所述目标环节需要完成的第二任务;将所述第一任务和所述第二任务进行汇总,得到所述任务集合。

进一步地,基于流程引擎获取流程中的当前环节和目标环节包括:基于流程引擎获取所述流程中的多个第一环节;从所述流程中的多个第一环节中确定所述当前环节;获取所述当前环节之后的多个第二环节,其中,每个第二环节和所述当前环节之间存在至少一个环节;确定所述多个第二环节中的第三环节,其中,所述第三环节为所述流程中待完成的至少一个环节;依据所述第三环节,确定所述目标环节。

进一步地,依据所述第三环节,确定所述目标环节包括:获取所述第三环节的数量;若所述第三环节的数量为一个,则将所述第三环节作为所述目标环节;若所述第三环节的数量为多个,则从所述第三环节中选取排序最后的环节作为所述目标环节。

为了实现上述目的,根据本申请的另一方面,提供了一种流程的处理装置。该装置包括:第一获取单元,用于基于流程引擎获取流程中的当前环节和目标环节,其中,所述流程为待审批的流程,所述目标环节为所述当前环节流转至的目的环节,所述当前环节和所述目标环节之间存在至少一个环节;第一确定单元,用于依据所述当前环节和所述目标环节,确定从所述当前环节流转到所述目标环节需要完成的任务集合,其中,所述任务集合用于表示从所述当前环节流转到所述目标环节时所述当前环节和所述目标环节分别需要完成的任务;第一处理单元,用于基于所述任务集合,从所述当前环节流转到所述目标环节,并完成对所述流程的审批处理。

进一步地,所述第一处理单元包括:第一判断模块,用于判断所述任务集合中的任务是否全部完成;第一流转模块,用于若所述任务集合中的任务已全部完成,则从所述当前环节流转到所述目标环节;第一返回模块,用于若所述任务集合中的任务未全部完成,则返回至所述当前环节。

进一步地,所述第一判断模块包括:第一获取子模块,用于获取所述任务集合中每个任务的执行结果;第一判断子模块,用于依据所述任务集合中每个任务的执行结果,判断所述任务集合中的任务是否全部完成。

进一步地,所述第一处理单元包括:第二流转模块,用于基于所述任务集合,从所述当前环节流转到所述目标环节;第二判断模块,用于判断所述目标环节是否为所述流程中的最后一个环节;第一确定模块,用于若所述目标环节为所述流程中的最后一个环节,则表示已完成对所述流程的审批处理;第二确定模块,用于若所述目标环节不是所述流程中的最后一个环节,则表示未完成对所述流程的审批处理,并从所述目标环节流转到所述目标环节的下一个环节,以完成对所述流程的审批处理。

进一步地,所述第一确定单元包括:第三确定模块,用于依据所述当前环节,确定从所述当前环节流转到所述目标环节时所述当前环节需要完成的第一任务;第四确定模块,用于依据所述目标环节,确定从所述当前环节流转到所述目标环节时所述目标环节需要完成的第二任务;第一汇总模块,用于将所述第一任务和所述第二任务进行汇总,得到所述任务集合。

进一步地,所述第一获取单元包括:第一获取模块,用于基于流程引擎获取所述流程中的多个第一环节;第五确定模块,用于从所述流程中的多个第一环节中确定所述当前环节;第二获取模块,用于获取所述当前环节之后的多个第二环节,其中,每个第二环节和所述当前环节之间存在至少一个环节;第六确定模块,用于确定所述多个第二环节中的第三环节,其中,所述第三环节为所述流程中待完成的至少一个环节;第七确定模块,用于依据所述第三环节,确定所述目标环节。

进一步地,所述第七确定模块包括:第二获取子模块,用于获取所述第三环节的数量;第一确定子模块,用于若所述第三环节的数量为一个,则将所述第三环节作为所述目标环节;第二确定子模块,用于若所述第三环节的数量为多个,则从所述第三环节中选取排序最后的环节作为所述目标环节。

为了实现上述目的,根据本申请的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的任意一项所述的流程的处理方法。

为了实现上述目的,根据本申请的另一方面,提供了一种电子设备,所述电子设备包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的任意一项所述的流程的处理方法。

通过本申请,采用以下步骤:基于流程引擎获取流程中的当前环节和目标环节,其中,流程为待审批的流程,目标环节为当前环节流转至的目的环节,当前环节和目标环节之间存在至少一个环节;依据当前环节和目标环节,确定从当前环节流转到目标环节需要完成的任务集合,其中,任务集合用于表示从当前环节流转到目标环节时当前环节和目标环节分别需要完成的任务;基于任务集合,从当前环节流转到目标环节,并完成对流程的审批处理,解决了相关技术中审批流程的效率较低的问题。通过依据基于流程引擎获取到的当前环节和目标环节,且当前环节和目标环节之间存在至少一个环节,确定从当前环节流转到目标环节需要完成的任务集合,并基于任务集合,从当前环节流转到目标环节,并完成对流程的审批处理,从而可以实现流程的非顺序流转,进而达到了提升审批流程的效率的效果。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例提供的流程的处理方法的流程图;

图2是根据本申请实施例提供的流程的处理方法的流程图一;

图3是根据本申请实施例提供的可选的流程的处理方法的流程图;

图4是本申请实施例中进入人工任务调查的示意图;

图5是本申请实施例中流入验证环节的示意图;

图6是本申请实施例中定义流程的示意图;

图7是根据本申请实施例提供的流程的处理装置的示意图;

图8是根据本申请实施例提供的电子设备的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。

为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:

BPMN:Business Process Modelling Notation,工作流标准。

Activiti:基于BPMN流程规范的开源流程引擎。

信贷流程:信贷流程审批场景支持多种非顺序流程审批模式。

下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例提供的流程的处理方法的流程图,如图1所示,该方法包括如下步骤:

步骤S101,基于流程引擎获取流程中的当前环节和目标环节,其中,流程为待审批的流程,目标环节为当前环节流转至的目的环节,当前环节和目标环节之间存在至少一个环节。

例如,上述的流程可以分为调查、调查复核、审查、审查复核和审批这几个环节。且上述的当前环节可以为流程中的调查环节,上述的目标环节可以为流程中的审查环节,上述的流程引擎可以为Activiti流程引擎。而且,Activiti流程引擎可以控制从当前的调查环节流转到审查环节。

步骤S102,依据当前环节和目标环节,确定从当前环节流转到目标环节需要完成的任务集合,其中,任务集合用于表示从当前环节流转到目标环节时当前环节和目标环节分别需要完成的任务。

例如,Activiti流程引擎控制从当前的调查环节流转到审查环节时,可以查询规则配置,确定从当前的调查环节流转到审查环节时,后续调查环节和审查环节分别需经历的子任务。

步骤S103,基于任务集合,从当前环节流转到目标环节,并完成对流程的审批处理。

例如,验证环节进行全部结果集的结果处理,也即,验证调查环节和审查环节分别需经历的子任务是否已经全部完成,若验证通过(即子任务全部完成),则流程从调查环节发送到审查环节。

通过上述的步骤S101至S103,通过依据基于流程引擎获取到的当前环节和目标环节,且当前环节和目标环节之间存在至少一个环节,确定从当前环节流转到目标环节需要完成的任务集合,并基于任务集合,从当前环节流转到目标环节,并完成对流程的审批处理,从而可以实现流程的非顺序流转,进而达到了提升审批流程的效率的效果。

为了快速准确的确定目标环节,在本申请实施例提供的流程的处理方法中,还可以通过以下步骤确定目标环节:基于流程引擎获取流程中的多个第一环节;从流程中的多个第一环节中确定当前环节;获取当前环节之后的多个第二环节,其中,每个第二环节和当前环节之间存在至少一个环节;确定多个第二环节中的第三环节,其中,第三环节为流程中待完成的至少一个环节;依据第三环节,确定目标环节。

例如,先构建流程模型,然后在新研发的流程模型中,人工任务可以根据需要增加减少,环节之间不会影响,使得审批流程可以灵活配置。比如,可以通过Activiti流程引擎获取到待审批的流程中包含调查、调查复核、审查、审查复核和审批这几个环节(上述的多个第一环节);然后上述的当前环节可以为调查环节;再找到调查环节之后的环节,且与调查环节之间至少相隔一个环节的环节,也即,这些环节可以为审查、审查复核和审批这几个环节(上述的多个第二环节),但是不可以为调查复核环节,由于调查复核环节和调查环节之间是相邻的,没有相隔至少一个环节;然后可以从审查、审查复核和审批这几个环节中找到还未完成的环节,比如审查和审批还没有完成(上述的多个第三环节),则可以将未完成的环节中的审查环节(上述的目标环节)作为当前的调查环节需要流转至的目的环节。

通过上述的方案,可以快速准确的确定出当前环节需要流转至的目的环节。

为了快速准确的确定目标环节,在本申请实施例提供的流程的处理方法中,还可以通过以下步骤确定目标环节:获取第三环节的数量;若第三环节的数量为一个,则将第三环节作为目标环节;若第三环节的数量为多个,则从第三环节中选取排序最后的环节作为目标环节。

例如,在从审查、审查复核和审批这几个环节中找到还未完成的环节时,如果判断出只有审批环节还没有完成(上述的多个第三环节),则可以将审批环节(上述的目标环节)作为当前的调查环节需要流转至的目的环节;如果判断出审查和审批都还未完成(上述的多个第三环节),则可以将其中排序最后的审批环节(上述的目标环节)作为当前的调查环节需要流转至的目的环节。

综上所述,通过确定出当前环节需要流转至的目的环节,可以提升流程的审批效率。

为了快速准确的确定从当前环节流转到目标环节需要完成的任务集合,在本申请实施例提供的流程的处理方法中,还可以通过以下步骤确定从当前环节流转到目标环节需要完成的任务集合:依据当前环节,确定从当前环节流转到目标环节时当前环节需要完成的第一任务;依据目标环节,确定从当前环节流转到目标环节时目标环节需要完成的第二任务;将第一任务和第二任务进行汇总,得到任务集合。

例如,当前环节为调查环节,且当前环节需要流转至的目的环节为审查环节时。需要确定从调查环节流转至审查环节时,调查环节和审查环节分别需要完成的子任务,并将调查环节和审查环节分别需要完成的子任务汇总在一起,得到上述的任务集合。

通过上述的方案,可以快速准确的确定出当前环节和需要流转至的目的环节在流转时分别需要完成的任务。

图2是根据本申请实施例提供的流程的处理方法的流程图一,如图2所示,在本申请实施例提供的流程的处理方法中,基于任务集合,从当前环节流转到目标环节包括:

步骤S201,判断任务集合中的任务是否全部完成;

步骤S202,若任务集合中的任务已全部完成,则从当前环节流转到目标环节;

步骤S203,若任务集合中的任务未全部完成,则返回至当前环节。

例如,判断当前环节和需要流转至的目的环节在流转时分别需要完成的任务是否已全部完成,如果已经全部完成,则Activiti流程引擎控制从当前的调查环节流转到审查环节,如果未全部完成,则Activiti流程引擎控制不允许从当前的调查环节流转到审查环节,且控制流程返回至当前的调查环节。

通过上述的方案,根据当前环节和需要流转至的目的环节在流转时分别需要完成的任务,可以方便的控制流程的流转。

为了快速准确的判断任务集合中的任务是否全部完成,在本申请实施例提供的流程的处理方法中,还可以通过以下步骤判断任务集合中的任务是否全部完成:获取任务集合中每个任务的执行结果;依据任务集合中每个任务的执行结果,判断任务集合中的任务是否全部完成。

例如,判断当前环节和需要流转至的目的环节在流转时需要完成的任务集合中的每个任务是否已全部完成,也即,可以判断从调查环节流转至审查环节时,调查环节和审查环节分别需要完成的子任务是否已全部执行完成,如果调查环节和审查环节分别需要完成的子任务已全部执行完成,则表示任务集合中的任务已全部完成,如果调查环节和审查环节分别需要完成的子任务未全部执行完成,则表示任务集合中的任务未全部完成。

通过上述的方案,可以快速准确的判断任务集合中的任务是否全部完成。

为了快速准确的完成对流程的审批处理,在本申请实施例提供的流程的处理方法中,还可以通过以下步骤完成对流程的审批处理:基于任务集合,从当前环节流转到目标环节;判断目标环节是否为流程中的最后一个环节;若目标环节为流程中的最后一个环节,则表示已完成对流程的审批处理;若目标环节不是流程中的最后一个环节,则表示未完成对流程的审批处理,并从目标环节流转到目标环节的下一个环节,以完成对流程的审批处理。

例如,当前环节为调查环节,且当前环节需要流转至的目的环节为审查环节时,判断审查环节是否为流程中的最后一个环节,如果审查环节为流程中的最后一个环节,则表示该流程已处理完成;如果审查环节不是流程中的最后一个环节,则表示该流程未处理完成,还需继续对该流程进行处理。

通过上述的方案,可以快速准确的判断流程是否已经处理完成。

例如,可以通过编写一个自动验证任务来实现流程中任务环节之间的非顺序流转,并结合不同的申请流程,业务环节和流转操作,控制流转的规则和方向。且完成信贷审批业务,流程环节之间根据审批需要进行非顺序自由流转。

另外,业务环节需要重复调用,调用次数不能预先固定。流程建模不需要穷举业务需要的类型。会签环节参与人员和数量不用预先固定。可以支持重复调用流程实例动态创建任务。

而且,可以引入Activiti流程引擎,利用BPNM2.0(Business Process Model andNotation Version 2.0)的建模规范。采用任务(task),网关(Gateways),流向(SequenceFlow),子流程(Sub-Process)。同时根据BPMN建模规范,业务环节所需要配置的任务之间必须要有流向相连。不能是单独零散的存在。流程建模完成后,任务会按编排的顺序流转,能支持跨节点跳转,能按业务指定的要求非顺序跳转。

比如,根据信贷业务场景,模型的设计要满足流程节点之间非顺序、可跨节点任意跳转。构建并验证了符合信贷审批特色的流程模型,具体如下介绍:

1.流程模型构建

设计流转控制环节,查询流转规则的配置,通过修改流程变量的值满足边上条件,控制流程后续流向;通过网关和流向的搭配使用,实现子流程和子任务能够以并行或串行的方式执行;最后采用流转控制和规则验证,实现环节的非顺序流转。

(1)流转控制,对包容网关关联的边上条件进行赋值,控制流程后续流向。

服务任务属于自动执行的任务,执行时会加载业务处理规则表的内容,通过对包容网关边上条件进行赋值,控制流程后续流向。如控制公用控制子任务、控制联动控制子任务、控制规则验证子任务。当流转控制判断需要流向公用控制子任务和联动控制子任务时,只需在流转控制环节把控制子任务的流向条件赋值为true。构建规则解析的工厂类,根据业务类型配置的规则不同,封装不同的流转控制类对规则工厂类进行扩展;不同的业务配置不同的流转控制类。

(2)规则验证,子任务并行执行结束,在包容网关汇集后流入验证,对所有子任务结果集进行处理,判断是否需要对流向进行重定向赋值。

验证环节对所有子任务的结果进行处理,查询边上流向条件为true的条目,根据流转规则定义的参数关联格式进行条目的提取、解析。如边上条件为控制子任务关联结果参数分别为各个子任务的执行结果值;如果部分子任务执行失败,流程引擎提供异常机制,实现流程的正常中断,不流入目标环节。

子任务全部执行成功,流程进入目标环节,在流程运行实例表、流程运行任务表中删除已执行完成的活动和任务,写入待办活动和任务。在流程历史参数表、流程历史任务表记录完结的活动和任务。

在流程中心拓展表流程代办任务表删除已执行的任务并写入待执行的任务,流程已办任务表写入已执行完结的任务,支持信贷业务待办和已办的列表查询。

2.新设计流程图

例如,图3是根据本申请实施例提供的可选的流程的处理方法的流程图,如图3所示,开始(start)之后,进入排他网关,然后进入人工任务,再到流转控制环节,经过流转控制后到自动任务,再汇总到网关之后,进入验证环节,验证之后再到排他网关,最后结束(end)。而且,新研发的流程模型中,人工任务可以根据需要增加减少,环节之间不会影响,使得审批流程可以灵活配置。同时环节之间的流转通过流转控制,可以无序的流转到任意一个其他环节。

业务逻辑,校验规则的等原有的耦合部分,被完全分离到规则校验的子任务中,如公用控制子任务,联动控制子任务等。

从而使新研发的流程模型,及引入Activiti引擎和BPMN规范,提升审批流程性能,指定审批流程的标准规范。同时又保留信贷审批流程的特色,要求流程可以非顺序的流转。

3.流程流转过程

例如,图4是本申请实施例中进入人工任务调查的示意图,如图4所示,业务系统提交审批,流程引擎创建流程实例,流程流向变量赋值为初始环节,流程经过排他网关和边判断进入人工任务调查。

然后,处理人可以选择业务处理方式为发送、指定下一任务环节和办理人(机构、部门),调用流程中心API服务(Application Programming Interface,应用程序编程接口)。

(1)在流转控制内把流程流向变量赋值为下一节点,查询流传规则配置确定后续需经历的子任务,把子任务状态赋值为true。

(2)流入包容网关和边进行匹配,可以进入公共控制子任务和联动控制子任务,子任务并行执行在包容网关等待全部执行结束。

(3)流入验证环节,进行全部结果集的结果处理,验证通过,流程从调查节点发送到审查节点。且流程进度图如图5所示,图5是本申请实施例中流入验证环节的示意图。

(4)流程当前状态信息:流程当前环节为审查,流转完成。

综上所述,引用Activiti流程引擎,可以提高流程处理效率。实现的非顺序的流程模型,可以广泛的支持应用到复杂的信贷业务审批流程中。不用穷举审批流程中所以的环节,不用穷举可能出现的审批顺序。非顺序,可重复执行的任务环节,可以简单快速配置。

另外,本申请实施例中的相关内容介绍如下:

1.Activiti介绍

Activiti是一个工作流引擎,Activiti可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行,实现了业务系统的业务流程由Activiti进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。

2.BPMN介绍

BPMN(Business Process Model And Notation)-业务流程模型和符号是由BPMI(Business Process Management Initiative)开发的一套标准的业务流程建模符号,使用BPMN提供的符号可以创建业务流程。

3.Activiti流程定义

工作流使用BPMN 2.0进行流程建模、流程执行管理,它包括很多的建模符号,比如:Event用一个圆圈表示,它是流程中运行过程中发生的事情。

例如,图6是本申请实施例中定义流程的示意图,比如,一个bpmn图形的例子如下:首先当事人发起一个请假单,其次他所在部门的经理对请假单进行审核,然后人事经理进行复核并进行备案,最后请假流程结束。

4.Activiti使用

(1)部署Activiti

Activiti是一个工作流引擎(其实就是一堆jar包API),业务系统使用Activiti来对系统的业务流程进行自动化管理,为了方便业务系统访问(操作)Activiti的接口或功能,通常将Activiti环境与业务系统的环境集成在一起。

(2)流程定义

使用Activiti流程建模工具(activity-designer)定义业务流程(.bpmn文件)。.bpmn文件就是业务流程定义文件,通过xml定义业务流程。

(3)流程定义部署

向Activiti部署业务流程定义(.bpmn文件)。使用Activiti提供的api向Activiti中部署.bpmn文件(一般情况还需要一块儿部署业务流程的图片.png)

(4)启动一个流程实例(ProcessInstance)

启动一个流程实例表示开始一次业务流程的运行,比如员工请假流程部署完成,如果张三要请假就可以启动一个流程实例,如果李四要请假也启动一个流程实例,两个流程的执行互相不影响,就好比定义一个java类,实例化两个对象一样,部署的流程就好比java类,启动一个流程实例就好比new一个java对象。

(5)用户查询待办任务(Task)

因为现在系统的业务流程已经交给Activiti管理,通过Activiti就可以查询当前流程执行到哪了,当前用户需要办理什么任务了,这些Activiti帮我们管理了

(6)用户办理任务

用户查询待办任务后,就可以办理某个任务,如果这个任务办理完成还需要其它用户办理,比如采购单创建后由部门经理审核,这个过程也是由Activiti帮我们完成了,不需要我们在代码中硬编码指定下一个任务办理人了。

(7)流程结束

当任务办理完成没有下一个任务/结点了,这个流程实例就完成了。

综上,本申请实施例提供的流程的处理方法,通过基于流程引擎获取流程中的当前环节和目标环节,其中,流程为待审批的流程,目标环节为当前环节流转至的目的环节,当前环节和目标环节之间存在至少一个环节;依据当前环节和目标环节,确定从当前环节流转到目标环节需要完成的任务集合,其中,任务集合用于表示从当前环节流转到目标环节时当前环节和目标环节分别需要完成的任务;基于任务集合,从当前环节流转到目标环节,并完成对流程的审批处理,解决了相关技术中审批流程的效率较低的问题。通过依据基于流程引擎获取到的当前环节和目标环节,且当前环节和目标环节之间存在至少一个环节,确定从当前环节流转到目标环节需要完成的任务集合,并基于任务集合,从当前环节流转到目标环节,并完成对流程的审批处理,从而可以实现流程的非顺序流转,进而达到了提升审批流程的效率的效果。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例还提供了一种流程的处理装置,需要说明的是,本申请实施例的流程的处理装置可以用于执行本申请实施例所提供的用于流程的处理方法。以下对本申请实施例提供的流程的处理装置进行介绍。

图7是根据本申请实施例的流程的处理装置的示意图。如图7所示,该装置包括:第一获取单元701、第一确定单元702和第一处理单元703。

具体地,第一获取单元701,用于基于流程引擎获取流程中的当前环节和目标环节,其中,流程为待审批的流程,目标环节为当前环节流转至的目的环节,当前环节和目标环节之间存在至少一个环节;

第一确定单元702,用于依据当前环节和目标环节,确定从当前环节流转到目标环节需要完成的任务集合,其中,任务集合用于表示从当前环节流转到目标环节时当前环节和目标环节分别需要完成的任务;

第一处理单元703,用于基于任务集合,从当前环节流转到目标环节,并完成对流程的审批处理。

综上,本申请实施例提供的流程的处理装置,通过第一获取单元701基于流程引擎获取流程中的当前环节和目标环节,其中,流程为待审批的流程,目标环节为当前环节流转至的目的环节,当前环节和目标环节之间存在至少一个环节;第一确定单元702依据当前环节和目标环节,确定从当前环节流转到目标环节需要完成的任务集合,其中,任务集合用于表示从当前环节流转到目标环节时当前环节和目标环节分别需要完成的任务;第一处理单元703基于任务集合,从当前环节流转到目标环节,并完成对流程的审批处理,解决了相关技术中审批流程的效率较低的问题。通过依据基于流程引擎获取到的当前环节和目标环节,且当前环节和目标环节之间存在至少一个环节,确定从当前环节流转到目标环节需要完成的任务集合,并基于任务集合,从当前环节流转到目标环节,并完成对流程的审批处理,从而可以实现流程的非顺序流转,进而达到了提升审批流程的效率的效果。

可选地,在本申请实施例提供的流程的处理装置中,第一处理单元包括:第一判断模块,用于判断任务集合中的任务是否全部完成;第一流转模块,用于若任务集合中的任务已全部完成,则从当前环节流转到目标环节;第一返回模块,用于若任务集合中的任务未全部完成,则返回至当前环节。

可选地,在本申请实施例提供的流程的处理装置中,第一判断模块包括:第一获取子模块,用于获取任务集合中每个任务的执行结果;第一判断子模块,用于依据任务集合中每个任务的执行结果,判断任务集合中的任务是否全部完成。

可选地,在本申请实施例提供的流程的处理装置中,第一处理单元包括:第二流转模块,用于基于任务集合,从当前环节流转到目标环节;第二判断模块,用于判断目标环节是否为流程中的最后一个环节;第一确定模块,用于若目标环节为流程中的最后一个环节,则表示已完成对流程的审批处理;第二确定模块,用于若目标环节不是流程中的最后一个环节,则表示未完成对流程的审批处理,并从目标环节流转到目标环节的下一个环节,以完成对流程的审批处理。

可选地,在本申请实施例提供的流程的处理装置中,第一确定单元包括:第三确定模块,用于依据当前环节,确定从当前环节流转到目标环节时当前环节需要完成的第一任务;第四确定模块,用于依据目标环节,确定从当前环节流转到目标环节时目标环节需要完成的第二任务;第一汇总模块,用于将第一任务和第二任务进行汇总,得到任务集合。

可选地,在本申请实施例提供的流程的处理装置中,第一获取单元包括:第一获取模块,用于基于流程引擎获取流程中的多个第一环节;第五确定模块,用于从流程中的多个第一环节中确定当前环节;第二获取模块,用于获取当前环节之后的多个第二环节,其中,每个第二环节和当前环节之间存在至少一个环节;第六确定模块,用于确定多个第二环节中的第三环节,其中,第三环节为流程中待完成的至少一个环节;第七确定模块,用于依据第三环节,确定目标环节。

可选地,在本申请实施例提供的流程的处理装置中,第七确定模块包括:第二获取子模块,用于获取第三环节的数量;第一确定子模块,用于若第三环节的数量为一个,则将第三环节作为目标环节;第二确定子模块,用于若第三环节的数量为多个,则从第三环节中选取排序最后的环节作为目标环节。

所述流程的处理装置包括处理器和存储器,上述第一获取单元701、第一确定单元702和第一处理单元703等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来达到提升审批流程的效率的效果。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述流程的处理方法。

如图8所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:基于流程引擎获取流程中的当前环节和目标环节,其中,所述流程为待审批的流程,所述目标环节为所述当前环节流转至的目的环节,所述当前环节和所述目标环节之间存在至少一个环节;依据所述当前环节和所述目标环节,确定从所述当前环节流转到所述目标环节需要完成的任务集合,其中,所述任务集合用于表示从所述当前环节流转到所述目标环节时所述当前环节和所述目标环节分别需要完成的任务;基于所述任务集合,从所述当前环节流转到所述目标环节,并完成对所述流程的审批处理。

处理器执行程序时还实现以下步骤:基于所述任务集合,从所述当前环节流转到所述目标环节包括:判断所述任务集合中的任务是否全部完成;若所述任务集合中的任务已全部完成,则从所述当前环节流转到所述目标环节;若所述任务集合中的任务未全部完成,则返回至所述当前环节。

处理器执行程序时还实现以下步骤:判断所述任务集合中的任务是否全部完成包括:获取所述任务集合中每个任务的执行结果;依据所述任务集合中每个任务的执行结果,判断所述任务集合中的任务是否全部完成。

处理器执行程序时还实现以下步骤:基于所述任务集合,从所述当前环节流转到所述目标环节,并完成对所述流程的审批处理包括:基于所述任务集合,从所述当前环节流转到所述目标环节;判断所述目标环节是否为所述流程中的最后一个环节;若所述目标环节为所述流程中的最后一个环节,则表示已完成对所述流程的审批处理;若所述目标环节不是所述流程中的最后一个环节,则表示未完成对所述流程的审批处理,并从所述目标环节流转到所述目标环节的下一个环节,以完成对所述流程的审批处理。

处理器执行程序时还实现以下步骤:依据所述当前环节和所述目标环节,确定从所述当前环节流转到所述目标环节需要完成的任务集合包括:依据所述当前环节,确定从所述当前环节流转到所述目标环节时所述当前环节需要完成的第一任务;依据所述目标环节,确定从所述当前环节流转到所述目标环节时所述目标环节需要完成的第二任务;将所述第一任务和所述第二任务进行汇总,得到所述任务集合。

处理器执行程序时还实现以下步骤:基于流程引擎获取流程中的当前环节和目标环节包括:基于流程引擎获取所述流程中的多个第一环节;从所述流程中的多个第一环节中确定所述当前环节;获取所述当前环节之后的多个第二环节,其中,每个第二环节和所述当前环节之间存在至少一个环节;确定所述多个第二环节中的第三环节,其中,所述第三环节为所述流程中待完成的至少一个环节;依据所述第三环节,确定所述目标环节。

处理器执行程序时还实现以下步骤:依据所述第三环节,确定所述目标环节包括:获取所述第三环节的数量;若所述第三环节的数量为一个,则将所述第三环节作为所述目标环节;若所述第三环节的数量为多个,则从所述第三环节中选取排序最后的环节作为所述目标环节。

本文中的设备可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:基于流程引擎获取流程中的当前环节和目标环节,其中,所述流程为待审批的流程,所述目标环节为所述当前环节流转至的目的环节,所述当前环节和所述目标环节之间存在至少一个环节;依据所述当前环节和所述目标环节,确定从所述当前环节流转到所述目标环节需要完成的任务集合,其中,所述任务集合用于表示从所述当前环节流转到所述目标环节时所述当前环节和所述目标环节分别需要完成的任务;基于所述任务集合,从所述当前环节流转到所述目标环节,并完成对所述流程的审批处理。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:基于所述任务集合,从所述当前环节流转到所述目标环节包括:判断所述任务集合中的任务是否全部完成;若所述任务集合中的任务已全部完成,则从所述当前环节流转到所述目标环节;若所述任务集合中的任务未全部完成,则返回至所述当前环节。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:判断所述任务集合中的任务是否全部完成包括:获取所述任务集合中每个任务的执行结果;依据所述任务集合中每个任务的执行结果,判断所述任务集合中的任务是否全部完成。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:基于所述任务集合,从所述当前环节流转到所述目标环节,并完成对所述流程的审批处理包括:基于所述任务集合,从所述当前环节流转到所述目标环节;判断所述目标环节是否为所述流程中的最后一个环节;若所述目标环节为所述流程中的最后一个环节,则表示已完成对所述流程的审批处理;若所述目标环节不是所述流程中的最后一个环节,则表示未完成对所述流程的审批处理,并从所述目标环节流转到所述目标环节的下一个环节,以完成对所述流程的审批处理。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:依据所述当前环节和所述目标环节,确定从所述当前环节流转到所述目标环节需要完成的任务集合包括:依据所述当前环节,确定从所述当前环节流转到所述目标环节时所述当前环节需要完成的第一任务;依据所述目标环节,确定从所述当前环节流转到所述目标环节时所述目标环节需要完成的第二任务;将所述第一任务和所述第二任务进行汇总,得到所述任务集合。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:基于流程引擎获取流程中的当前环节和目标环节包括:基于流程引擎获取所述流程中的多个第一环节;从所述流程中的多个第一环节中确定所述当前环节;获取所述当前环节之后的多个第二环节,其中,每个第二环节和所述当前环节之间存在至少一个环节;确定所述多个第二环节中的第三环节,其中,所述第三环节为所述流程中待完成的至少一个环节;依据所述第三环节,确定所述目标环节。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:依据所述第三环节,确定所述目标环节包括:获取所述第三环节的数量;若所述第三环节的数量为一个,则将所述第三环节作为所述目标环节;若所述第三环节的数量为多个,则从所述第三环节中选取排序最后的环节作为所述目标环节。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

技术分类

06120115983750