提示:这里简述项目相关背景:
项目场景:示例:项目中的正在审核单据不小心删掉,教你如何删掉流程
问题描述
提示:这里描述项目中遇到的问题:
例如:有个单正在走流程,删除功能有bug,然后被误删了。但流程还在,所以要删掉流程。
解决方案:
1.先在项目使用的数据库找到 act_hi_procinst 这个表,然后用sql语句查询被删掉单据的流程id。
SELECT
hp.`ID_`,
hp.`PROC_INST_ID_`,
hp.`BUSINESS_KEY_`,
hp.`PROC_DEF_ID_`,
hp.`START_TIME_`,
hp.`END_TIME_`,
hp.`DURATION_`,
hp.`START_USER_ID_`,
hp.`START_ACT_ID_`,
hp.`END_ACT_ID_`,
hp.`SUPER_PROCESS_INSTANCE_ID_`,
hp.`DELETE_REASON_`,
w.`odd_numbers`oddNumbers
FROM
`act_hi_procinst` hp
LEFT JOIN
`war_bb` w ON w.`id`= hp.`BUSINESS_KEY_`//关联删掉单据的表
WHERE
hp.`PROC_DEF_ID_` LIKE 'activityKey%' //(加个流程定义的key的条件,查找会方便点)模块定义流程的那个key
2.查到删掉单据的流程id为1449601,然后调用activity的方法去删掉就可以啦
@Autowired
private RuntimeService runtimeService;
@Autowired
private HistoryService historyService;
//删除正在折行的流程
runtimeService.deleteProcessInstance("1449601", "");
//删除历史
historyService.deleteHistoricProcessInstance("1449601");
3.喜欢的收藏加关注哦(不喜勿喷)