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";
    }

 

 

 

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