springboot整合activity6_Activiti之并行网关(无废话版)--------------------------------------------(十三)

1.源码地址:https://github.com/heidaodageshiwo/springbootactivity

 

Activiti之并行网关

 

所谓排他网关 顾名思义 执行到该网关,会有多条线路同时并行执行,当都执行完才继续执行后面的;

 

右侧 ParallelGateway就是并行网关;

 

我们修改后的业务是  学生请假审批提交,班长和班主任审批,当他们都审批完 才最终让校长审批。

 

 

 

部署:

 

 

 

 

 

还剩班主任审批:

 

 

最终都完成了才到了校长审批这一环节:

 

这一环节就到此结束了。

 @Autowired
    RepositoryService repositoryService;
    @Autowired
    RuntimeService runtimeService;
    @Autowired
    TaskService taskService;

    @RequestMapping("/StudentLeaveProcess5_deploy")
    public String deploy(){
        Deployment deployment=repositoryService.createDeployment()
                .addClasspathResource("StudentLeaveProcess/StudentLeaveProcess4/StudentLeaveProcess5.bpmn") // 加载资源文件
                .addClasspathResource("StudentLeaveProcess/StudentLeaveProcess4/StudentLeaveProcess5.png") // 加载资源文件
                .name("学生请假流程5") // 流程名称
                .deploy(); // 部署
        System.out.println("流程部署ID"+deployment.getId());
        System.out.println("流程部署Name"+deployment.getName());
        System.out.println("流程部署Key"+deployment.getKey());
        System.out.println("流程部署Date"+deployment.getDeploymentTime());
        return "StudentLeaveProcess5_deploy";
    }
    @RequestMapping("/StudentLeaveProcess5_start")
    public String start(){
        ProcessInstance processInstance=runtimeService.startProcessInstanceByKey("studentLeaveProcess5");
        System.out.println("流程实例ID"+processInstance);
        System.out.println("流程定义ID");
        return "StudentLeaveProcess5_start";
    }

    /**
     * 查看任务
     */
    @RequestMapping("/StudentLeaveProcess5_findTask")
    public String  findTask(){
        List<Task> taskList=taskService // 任务相关Service
                .createTaskQuery() // 创建任务查询
                .taskAssignee("王五") // 指定某个人
                .list();
        for(Task task:taskList){
            System.out.println("任务ID:"+task.getId());
            System.out.println("任务名称:"+task.getName());
            System.out.println("任务创建时间:"+task.getCreateTime());
            System.out.println("任务委派人:"+task.getAssignee());
            System.out.println("流程实例ID:"+task.getProcessInstanceId());
        }
        return "StudentLeaveProcess5_findTask";
    }
    /**
     * 完成任务
     */
    @RequestMapping("/StudentLeaveProcess5_completeTask")
    public String  completeTask(){
       taskService.complete("85005");
        return "StudentLeaveProcess5_completeTask";
    }

    /**
     * 完成任务
     */
    @RequestMapping("/StudentLeaveProcess5_completeTask1")
    public String  completeTask1(){
        taskService.complete("87504");
        return "StudentLeaveProcess5_completeTask";
    }

    /**
     * 完成任务
     */
    @RequestMapping("/StudentLeaveProcess5_completeTask2")
    public String  completeTask23(){
        taskService.complete("87507");
        return "StudentLeaveProcess5_completeTask";
    }

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章