activiti 任意跳转

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));

猜你喜欢

转载自subject.iteye.com/blog/2229041
今日推荐