snaker-core/src/main/java/org/snaker/engine/core/SnakerEngineImpl.java
public List<Task> executeAndJumpTask(String taskId, String operator, Map<String, Object> args, String nodeName) {
		Execution execution = execute(taskId, operator, args);
		if(execution == null) return Collections.emptyList();
		ProcessModel model = execution.getProcess().getModel();
		AssertHelper.notNull(model, "当前任务未找到流程定义模型");
		if(StringHelper.isEmpty(nodeName)) {
			Task newTask = task().rejectTask(model, execution.getTask());
			execution.addTask(newTask);
		} else {
			NodeModel nodeModel = model.getNode(nodeName);
			AssertHelper.notNull(nodeModel, "根据节点名称[" + nodeName + "]无法找到节点模型");
			//动态创建转移对象，由转移对象执行execution实例
			TransitionModel tm = new TransitionModel();
			tm.setTarget(nodeModel);
			tm.setEnabled(true);
			tm.execute(execution);
		}

		return execution.getTasks();
	}
public List<Task> executeAndJumpTask(String taskId, String operator, Map<String, Object> args, String nodeName) {
		Execution execution = execute(taskId, operator, args);
		if(execution == null) return Collections.emptyList();
		ProcessModel model = execution.getProcess().getModel();
		AssertHelper.notNull(model, "当前任务未找到流程定义模型");
		if(StringHelper.isEmpty(nodeName)) {
			Task newTask = task().rejectTask(model, execution.getTask());
			execution.addTask(newTask);
		} else {
			NodeModel nodeModel = model.getNode(nodeName);
			AssertHelper.notNull(nodeModel, "根据节点名称[" + nodeName + "]无法找到节点模型");
			//动态创建转移对象，由转移对象执行execution实例
			TransitionModel tm = new TransitionModel();
			tm.setTarget(nodeModel);
			tm.setEnabled(true);
			tm.execute(execution);
		}

		return execution.getTasks();
	}
public List < Task > executeAndJumpTask ( String taskId , String operator , Map < String , Object > args , String nodeName ) { Execution execution = execute ( taskId , operator , args ) ; if ( execution == null ) return Collections . emptyList ( ) ; ProcessModel model = execution . getProcess ( ) . getModel ( ) ; AssertHelper . notNull ( model , "当前任务未找到流程定义模型"); if ( StringHelper . isEmpty ( nodeName ) ) { Task newTask = task ( ) . rejectTask ( model , execution . getTask ( ) ) ; execution . addTask ( newTask ) ; } else { NodeModel nodeModel = model . getNode ( nodeName ) ; AssertHelper . notNull ( nodeModel , "根据节点名称[" + nodeName  ]无法找到节点模 " ; //动态创建转移对象，由转移对象执行execution实例 TransitionModel tm = new TransitionModel ( ) ; tm . setTarget ( nodeModel ) ; tm . setEnabled ( true ) ; tm . execute ( execution ) ; } return execution . getTasks ( ) ; }
根据任务主键ID，操作人ID，参数列表执行任务，并且根据nodeName跳转到任意节点
1、nodeName为null时，则驳回至上一步处理
2、nodeName不为null时，则任意跳转，即动态创建转移
根据任务主键ID，操作人ID，参数列表执行任务，并且根据nodeName跳转到任意节点 1、nodeName为null时，则驳回至上一步处理 2、nodeName不为null时，则任意跳转，即动态创建转移