- public class JumpTaskCmd implements Command<Comment> {
- protected String executionId;
- protected String activityId;
- public JumpTaskCmd(String executionId, String activityId) {
- this.executionId = executionId;
- this.activityId = activityId;
- }
- public Comment execute(CommandContext commandContext) {
- for (TaskEntity taskEntity : Context.getCommandContext().getTaskEntityManager().findTasksByExecutionId(executionId)) {
- Context.getCommandContext().getTaskEntityManager().deleteTask(taskEntity, "jump", false);
- }
- ExecutionEntity executionEntity = Context.getCommandContext().getExecutionEntityManager().findExecutionById(executionId);
- ProcessDefinitionImpl processDefinition = executionEntity.getProcessDefinition();
- ActivityImpl activity = processDefinition.findActivity(activityId);
- executionEntity.executeActivity(activity);
- return null;
- }
- }
调用:
- TaskServiceImpl taskServiceImpl=(TaskServiceImpl)taskService;
- taskServiceImpl.getCommandExecutor().execute(new JumpTaskCmd(executionId, activityId));
executionId:当前任务executionID。activityId:跳转目标activityID