直接上代码:
接口:
package com.workflow.service;
import java.util.List;
public interface ProcessService {
/**
* 自由跳转
* @param taskId 当前任务ID,必传输,考虑出现非会签的并行任务
* @param targetTaskKey 目标节点ID,非任务ID
*/
void freeJumpFlow(String taskId,String targetTaskKey);
}
实现类:
@Override
public void freeJumpFlow(String taskId, String targetTaskKey) {
Task task=taskService.createTaskQuery().taskId(taskId).singleResult();
if (task==null){
//确定流程是否存在和是否在流转
throw new RuntimeException("该任务不存在,无法执行该操作");
}
// List<Task> tasks=taskService.createTaskQuery().processInstanceId(task.getProcessInstanceId()).list();
//获得当前流程的活动ID
ExecutionQuery executionQuery =runtimeService.createExecutionQuery();
Execution execution =e