要实现:用户发起任务后在审批完之前可以手动撤销
实现:
1.查询出当前流程,我用的根据businesskey查询
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().
processInstanceBusinessKey(objId).includeProcessVariables().singleResult();
if (processInstance==null){
return ReturnResult.errorMsg("此流程已终结");
}
2.删除流程,执行此方法后未审批的任务会被删除,流程历史不会被删除,并且流程历史的状态为finished完成
runtimeService.deleteProcessInstance(processInstance.getId(),"用户撤销");
3.如果不想彻底删除任务,那么到这之后更改一下数据的审批状态就可以了。
4.彻底删除此任务
runtimeService.deleteProcessInstance(processInstance.getId(),"用户撤销");
//删除流程历史信息
historyService.deleteHistoricProcessInstance(processInstance.getId());
//之后删除流程数据
。。。