标题: 关于流程执行结束后,因故需要修改成流转中的方法 [打印本页] 作者: 王爱东 时间: 2020-3-14 18:09 标题: 关于流程执行结束后,因故需要修改成流转中的方法 来一个干货。
如果我们在使用工作流程的时候,比如流程: 开始 --> A审批--> B 审批--> C签收-->归档-->结束。
我们知道,如果流程在任何节点等待处理的时候,如果前面节点执行人或者其他信息有问题,可以通过度量快速开发平台的 流程监控进行设置(可以退回到上一步,可以修改本步的执行人),比较方便。流程结束后,在流程监控中 就看不到这条信息。
那如果流程已经结束,发现前面有步骤执行上有问题,需要退回去再执行,怎么办呢?目前可以通过修改几个关联表的状态参数即可,右面我们也会有其他更好的方案.
1、变更业务数据的流程状态。
'如果业务数据是高级工作流开发的,则需要更改自定义的状态已经其他值,例如下面的语句,是流程最后一步人力资源已经签收结束了的流程,需要修改业务数据。
update 职工年休假申请 set 状态='流转中',人力资源部=null where id='数据ID'
’如果业务数据是表单工作流,我们也需要更新业务数据。
update 表单流程的表 set flow_state=1 where ID='数据ID'
2、修改流程主信息的状态
update flow_thread set thread_state=1 where key_code='数据ID'
3、修改执行人的信息
'通过select id from flow_thread where key_code='数据ID' 找到流程进程ID
'通过select id from flow_user_thread where thread_id='流程ID' 找到最后一个执行的ID
'修改最后一个执行人的信息。
update flow_user_thread set state=3,real_oper_userid=null,real_oper_username=null,result=null,result_text=null,first_looktime=null where id='执行ID'