一种对已办结流程收回重办的方法及系统与流程
未命名
07-19
阅读:111
评论:0
1.本发明属于流程收回技术领域,特别涉及一种对已办结流程收回重办的方法及系统。
背景技术:
2.在实际业务场景中,特别是政务领域,对流程的办理结果要求相对正规,对于已办结的流程,如果流程办理过程中有数据填写不正确的需要修改,就有收回的需求,收回后,如果所有节点全部重新办理显然也不是很合适,因此需要跳转到指定节点进行办理。
3.然而传统的流程引擎,针对这个业务场景存在2个问题,第一点,流程办结时会自动销毁执行实例表对象act_ru_execution、正在执行的流程变量表对象act_ru_variable、流程变量历史表对象act_ru_actinst等对象,无法再进行操作;第二点,任务完成时会自动为下个节点创建待办任务,不能选择任意节点进行流转。
4.基于此,本发明设计了一种对已办结流程收回重办的方法及系统来解决上述问题。
技术实现要素:
5.针对上述问题,本发明提供一种对已办结流程收回重办的方法,所述方法包括:判断流程是否为已办结流程;对已办结流程进行收回,将活动移动至已办结流程的任务发起节点;查询已办结流程的所有节点,选择指定节点并将活动移动至选择的节点,生成新的待办任务;按照已办结流程的流程图,从选择的节点开始进行办理。
6.优选地,在判断流程是否为已办结流程之前,还包括:对流程发布和流程办理过程进行优化。
7.优选地,所述对流程发布进行优化包括:解析流程的流程图元素,在流程的结束节点前生成一个虚拟任务节点并进行标记,标记标识为结束任务元素。
8.优选地,所述对流程办理过程进行优化包括:判断流程中待办任务节点的标识是否为结束任务元素,若是,则说明流程中该分支已经结束;查找其他所有待办任务节点,若所有待办任务节点的标识均为结束任务元素,则说明流程已经结束;对判断为已经结束的流程进行标记,标记标识为确认结束流程。
9.优选地,判断流程是否为已办结流程包括:判断流程标记是否为确认结束流程:如果是,则该流程为已办结流程;
若不是,则该流程为未办结流程。
10.优选地,判断流程是否为已办结流程时,若流程为未办结流程,则将活动移动至发起任务的节点,激活流程发起的待办任务。
11.优选地,对已办结流程进行收回包括:将已办结流程的确认结束流程标识删除,并为流程添加收回标记。
12.优选地,查询已办结流程的所有节点之前,还包括:判断流程是否被添加收回标记,若未添加收回标记,则按照流程的流程图进行办理;若添加了收回标记,则查询所有节点并提交指定节点选择申请。
13.优选地,提交指定节点选择申请后,将流程的收回标记删除,将活动移动至选择的节点,生成新的待办任务。
14.本发明还提出一种对已办结流程收回重办的系统,所述系统包括判断模块、收回模块、节点选择模块和办理模块;其中,所述判断模块用于判断流程是否为已办结流程;所述收回模块用于对已办结流程进行收回,将活动移动至已办结流程的任务发起节点;所述节点选择模块用于查询已办结流程的所有节点,选择指定节点并将活动移动至选择的节点,生成新的待办任务;所述办理模块用于按照已办结流程的流程图,从选择的节点开始进行办理。
15.优选地,所述系统还包括优化模块;所述优化模块用于对流程发布和流程办理过程进行优化。
16.优选地,所述优化模块用于对流程发布进行优化,包括:优化模块用于解析流程的流程图元素,在流程的结束节点前生成一个虚拟任务节点并进行标记,标记标识为结束任务元素。
17.优选地,所述优化模块用于对流程办理过程进行优化包括:优化模块用于判断流程中待办任务节点的标识是否为结束任务元素,若是,则说明流程中该分支已经结束;查找其他所有待办任务节点,若所有待办任务节点的标识均为结束任务元素,则说明流程已经结束;对判断为已经结束的流程进行标记,标记标识为确认结束流程。
18.优选地,所述判断模块用于判断流程是否为已办结流程,包括:判断流程标记是否为确认结束流程:如果是,则该流程为已办结流程;若不是,则该流程为未办结流程。
19.优选地,所述判断模块在判断流程是否为已办结流程时,若流程为未办结流程,则将活动移动至发起任务的节点,激活流程发起的待办任务。
20.优选地,所述收回模块用于对已办结流程进行收回,包括:收回模块用于将已办结流程的确认结束流程标识删除,并为流程添加收回标记。
21.优选地,所述系统还包括确认模块:所述确认模块用于判断流程是否被添加收回标记,若未添加收回标记,则按照流
process。
31.判断流程是否为已办结流程包括:判断流程标记是否为确认结束流程:如果是,则该流程为已办结流程;若不是,则该流程为未办结流程。
32.判断流程是否为已办结流程时,若流程为未办结流程,则将活动移动至发起任务的节点,激活流程发起的待办任务。
33.本实施例中,激活流程发起待办任务的伪代码为:list《execution》executions = runtimeservice.createexecutionquery().parentid(historictaskinstance.getprocessinstanceid()).list();executions.foreach(execution-》executionids.add(execution.getid()));runtimeservice.createchangeactivitystatebuilder().moveexecutionstosingleactivityid(executionids, activityid).changestate();(2)对已办结流程进行收回,将活动移动至已办结流程的任务发起节点对已办结流程进行收回包括:将已办结流程的确认结束流程标识删除,并为流程添加收回标记take back。
34.(3)查询已办结流程的所有节点,选择指定节点并将活动移动至选择的节点,生成新的待办任务查询已办结流程的所有节点之前,还包括:判断流程是否被添加收回标记,若未添加收回标记,则按照流程的流程图进行办理;若添加了收回标记,则查询所有节点并提交指定节点选择申请。
35.本实施例中,查询所有节点的伪代码为:list《historicactivityinstance》list = historyservice.createhistoricactivityinstancequery().processinstanceid(historictaskinstance.getprocessinstanceid()).orderbyhistoricactivityinstancestarttime().asc().orderbyhistoricactivityinstanceendtime().asc().list();list《string》elementkeylist = new arraylist《》();for (historicactivityinstance activityinstance: list) {if (!("usertask".equals(activityinstance.getactivitytype()) ||"callactivity".equals(activityinstance.getactivitytype()))) {continue;}if (elementkeylist.contains(activityinstance.getactivityid())) {continue;}elementkeylist.add(activityinstance.getactivityid());}提交指定节点选择申请后,将流程的收回标记删除,将活动移动至选择的节点,生成新的待办任务。
36.(4)按照已办结流程的流程图,从选择的节点开始进行办理本实施例中,所使用的流程为flowable流程,若需要对已办结的流程运行时数据进行清理,主要有以下部分:筛选出所有办结超过一个月的流程;找到该流程下所有end task element节点的任务,调用complete()方法完成任务;触发flowable流程完结机制,自动销毁执行实例表对象act_ru_execution、正在执行的流程变量表对象act_ru_variable、流程变量历史表对象act_ru_actinst等对象;清理调用的流程不可再进行收回。
37.综上,首先,在流程发布时识别出结束节点前的任务节点,避免触发流程办结自动销毁运行时数据的机制,通过在结束节点前自动添加一个虚拟任务节点实现该逻辑,并对该虚拟节点继续标记,通过flowable提供的扩展属性extension elements实现属性标记,标记的属性名为end task element;然后在流程办理时,完成一个任务后,判断下个节点是不是有end task element标记;如果有end task element标记,将扩展属性标记转为任务的扩展变量processvariables,方便后续使用;判断所有待办任务的扩展变量是不是都有end task element标记;如果存在没有标记的说明流程未办结;如果所有待办任务均有标记,则说明流程已办结,对流程实例进行标记,标记属性为is end process;进一步的,在收回操作时,判断当前流程是否有is end process标记,如果有则先取消标记;然后通过move executions移动执行将当前活动指到申请节点,销毁掉当前待办任务,并为申请节点生成一个收回任务,通过收回标志take back标记进行标识;进一步的,在任务办理时,判断take back标识,如果没有该标识,按正常逻辑流转,为下个节点生成待办任务;如果有take back标识,办理时让用户选择节点进行办理,通过遍历流程图和当前流程已经办理过的任务,找到所有的已走过的节点及其下一个节点返回作为可选范围,即允许流程从收回之前继续往后流转,也允许流程从中间某个节点重新进行办理;用户提交时,通过移动执行将当前活动指定到选择的节点;最后,运行时流程实例对象需要及时进行销毁,系统通过定时任务扫描已办结流程,对办结超过一个月的流程实例进行销毁,销毁方法为依赖flowable原机制,通过完成所有的待办任务,使流程所有分支都走到结束事件,自动销毁实时执行和实时流程实例;最后,整个流程实例从创建到办理、到收回、再到销毁形成闭环。
38.其中,流程实例也可称为流程,用户发起一个流程申请时,会根据流程图生成一个流程实例;收回是对于已办结或者未办结的流程,发起人或流程管理员发现申请时提交数据有误,通过操作收回,让流程回到申请节点重新修改提交数据,提交后根据数据变更情况选
择指定节点进行办理;办理是对流程产生的任务进行处理,包括审批通过、拒绝、收回、退回、撤回、转办、协办等操作;办结是在一个流程中,所有的任务节点均办理完成,所有分支均指向了结束节点;节点是指流程设计生成的流程图上的一个节点,流程图是有多个节点及节点之间的连线组成。
39.本实施例中实用的开发框架为spring-cloud 2020.0.4、spring-cloud-alibaba 2.2.3.release和springboot 2.5.7,使用的开发语言是java 1.8,使用的插件是flowable6.7.0。
40.如图2所示,本发明还提出一种对已办结流程收回重办的系统,所述系统包括判断模块、收回模块、节点选择模块和办理模块。
41.所述判断模块用于判断流程是否为已办结流程,包括:判断流程标记是否为确认结束流程:如果是,则该流程为已办结流程;若不是,则该流程为未办结流程。所述判断模块在判断流程是否为已办结流程时,若流程为未办结流程,则将活动移动至发起任务的节点,激活流程发起的待办任务。
42.所述收回模块用于对已办结流程进行收回,将活动移动至已办结流程的任务发起节点。所述收回模块用于对已办结流程进行收回,包括:收回模块用于将已办结流程的确认结束流程标识删除,并为流程添加收回标记。
43.所述节点选择模块用于查询已办结流程的所有节点,选择指定节点并将活动移动至选择的节点,生成新的待办任务。
44.所述办理模块用于按照已办结流程的流程图,从选择的节点开始进行办理。
45.所述系统还包括优化模块;所述优化模块用于对流程发布和流程办理过程进行优化;其中,所述优化模块用于对流程发布进行优化,包括:优化模块用于解析流程的流程图元素,在流程的结束节点前生成一个虚拟任务节点并进行标记,标记标识为结束任务元素;所述优化模块用于对流程办理过程进行优化包括:优化模块用于判断流程中待办任务节点的标识是否为结束任务元素,若是,则说明流程中该分支已经结束;查找其他所有待办任务节点,若所有待办任务节点的标识均为结束任务元素,则说明流程已经结束;对判断为已经结束的流程进行标记,标记标识为确认结束流程。
46.所述系统还包括确认模块:所述确认模块用于判断流程是否被添加收回标记,若未添加收回标记,则按照流程的流程图进行办理;若添加了收回标记,则查询所有节点并提交指定节点选择申请。提交指定节点选择申请后,将流程的收回标记删除,将活动移动至选择的节点,生成新的待办任务。
47.本领域的普通技术人员应当理解:尽管参考前述实施例对本发明进行的详细说明,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种对已办结流程收回重办的方法,其特征在于,所述方法包括:判断流程是否为已办结流程;对已办结流程进行收回,将活动移动至已办结流程的任务发起节点;查询已办结流程的所有节点,选择指定节点并将活动移动至选择的节点,生成新的待办任务;按照已办结流程的流程图,从选择的节点开始进行办理。2.根据权利要求1所述的一种对已办结流程收回重办的方法,其特征在于,在判断流程是否为已办结流程之前,还包括:对流程发布和流程办理过程进行优化。3.根据权利要求2所述的一种对已办结流程收回重办的方法,其特征在于,所述对流程发布进行优化包括:解析流程的流程图元素,在流程的结束节点前生成一个虚拟任务节点并进行标记,标记标识为结束任务元素。4.根据权利要求2所述的一种对已办结流程收回重办的方法,其特征在于,所述对流程办理过程进行优化包括:判断流程中待办任务节点的标识是否为结束任务元素,若是,则说明流程中该分支已经结束;查找其他所有待办任务节点,若所有待办任务节点的标识均为结束任务元素,则说明流程已经结束;对判断为已经结束的流程进行标记,标记标识为确认结束流程。5.根据权利要求4所述的一种对已办结流程收回重办的方法,其特征在于,判断流程是否为已办结流程包括:判断流程标记是否为确认结束流程:如果是,则该流程为已办结流程;若不是,则该流程为未办结流程。6.根据权利要求5所述的一种对已办结流程收回重办的方法,其特征在于,判断流程是否为已办结流程时,若流程为未办结流程,则将活动移动至发起任务的节点,激活流程发起的待办任务。7.根据权利要求4所述的一种对已办结流程收回重办的方法,其特征在于,对已办结流程进行收回包括:将已办结流程的确认结束流程标识删除,并为流程添加收回标记。8.根据权利要求7所述的一种对已办结流程收回重办的方法,其特征在于,查询已办结流程的所有节点之前,还包括:判断流程是否被添加收回标记,若未添加收回标记,则按照流程的流程图进行办理;若添加了收回标记,则查询所有节点并提交指定节点选择申请。9.根据权利要求1-8任一项所述的一种对已办结流程收回重办的方法,其特征在于,提交指定节点选择申请后,将流程的收回标记删除,将活动移动至选择的节点,生成新的待办任务。10.一种对已办结流程收回重办的系统,其特征在于,所述系统包括判断模块、收回模块、节点选择模块和办理模块;
其中,所述判断模块用于判断流程是否为已办结流程;所述收回模块用于对已办结流程进行收回,将活动移动至已办结流程的任务发起节点;所述节点选择模块用于查询已办结流程的所有节点,选择指定节点并将活动移动至选择的节点,生成新的待办任务;所述办理模块用于按照已办结流程的流程图,从选择的节点开始进行办理。11.根据权利要求10所述的一种对已办结流程收回重办的系统,其特征在于,所述系统还包括优化模块;所述优化模块用于对流程发布和流程办理过程进行优化。12.根据权利要求11所述的一种对已办结流程收回重办的系统,其特征在于,所述优化模块用于对流程发布进行优化,包括:优化模块用于解析流程的流程图元素,在流程的结束节点前生成一个虚拟任务节点并进行标记,标记标识为结束任务元素。13.根据权利要求11所述的一种对已办结流程收回重办的系统,其特征在于,所述优化模块用于对流程办理过程进行优化包括:优化模块用于判断流程中待办任务节点的标识是否为结束任务元素,若是,则说明流程中该分支已经结束;查找其他所有待办任务节点,若所有待办任务节点的标识均为结束任务元素,则说明流程已经结束;对判断为已经结束的流程进行标记,标记标识为确认结束流程。14.根据权利要求10所述的一种对已办结流程收回重办的系统,其特征在于,所述判断模块用于判断流程是否为已办结流程,包括:判断流程标记是否为确认结束流程:如果是,则该流程为已办结流程;若不是,则该流程为未办结流程。15.根据权利要求14所述的一种对已办结流程收回重办的系统,其特征在于,所述判断模块在判断流程是否为已办结流程时,若流程为未办结流程,则将活动移动至发起任务的节点,激活流程发起的待办任务。16.根据权利要求10所述的一种对已办结流程收回重办的系统,其特征在于,所述收回模块用于对已办结流程进行收回,包括:收回模块用于将已办结流程的确认结束流程标识删除,并为流程添加收回标记。17.根据权利要求10所述的一种对已办结流程收回重办的系统,其特征在于,所述系统还包括确认模块:所述确认模块用于判断流程是否被添加收回标记,若未添加收回标记,则按照流程的流程图进行办理;若添加了收回标记,则查询所有节点并提交指定节点选择申请。18.根据权利要求17所述的一种对已办结流程收回重办的系统,其特征在于,提交指定节点选择申请后,将流程的收回标记删除,将活动移动至选择的节点,生成新的待办任务。
技术总结
本发明涉及流程收回技术领域,特别涉及一种对已办结流程收回重办的方法及系统。所述方法包括:判断流程是否为已办结流程;对已办结流程进行收回,将活动移动至已办结流程的任务发起节点;查询已办结流程的所有节点,选择指定节点并将活动移动至选择的节点,生成新的待办任务;按照已办结流程的流程图,从选择的节点开始进行办理。所述系统包括判断模块、收回模块、节点选择模块和办理模块。本发明可以满足流程办理过程中或流程办理结束后,如果发现流程办理有不当之处,通过流程管理员收回功能,收回后重新进行提交,人为干预流程走向,使流程能够按照期望的结果走向继续进行。流程能够按照期望的结果走向继续进行。流程能够按照期望的结果走向继续进行。
技术研发人员:许建兵 朱彦欣 费维进 李立强
受保护的技术使用者:安徽商信政通信息技术股份有限公司
技术研发日:2023.06.13
技术公布日:2023/7/17
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种自动煎药锅的制作方法 下一篇:一种储水箱底部出水口结构的制作方法
