当启动一个流程实例且这个实例没有结束时,如何根据我们的业务id终止这流程实例呢?且看如下:
首先根据业务key获取到对应的流程实例,然后根据流程实例的id获取正在运行的任务,然后根据任务id和结束节点(type为endEvent)直接终止流程实例/**
* 终止正在运行的流程实例
* @author:kaka
* @param dkey:流程定义key,businessKey:业务id
*/
public void stopRunProcessInstance( String dkey,String businessKey) {
if( null != businessKey ) {
HistoricProcessInstance processInstanceId = workflowFactory.getHistoryService().createHistoricProcessInstanceQuery().processInstanceBusinessKey( businessKey ).singleResult();
Task task = workflowFactory.getTaskService().createTaskQuery().processInstanceId( processInstanceId.getId() ).singleResult();
if(null != task){
TaskServiceImpl taskServiceImpl = ( TaskServiceImpl )workflowFactory.getTaskService();
// 直接跳转到结束
String eventActivityId = workflowUtils.getEn