activiti6+springboot2 的第三個簡單demo 動態設置任務節點處理人(多人並行 無序)


 

 

 

 

 

 

 ${nrOfCompletedInstances/nrOfInstances==1}   ==1表示所有任務實力完成才可以進入下一個節點;  ==0.75 表示 3/4的完成可進入下一節點;以此類推

 

 

 

    @RequestMapping("multi_assignee")
    public void setMultiAssignee() {
        //根據bpmn文件部署流程
        repositoryService.createDeployment().addClasspathResource("processes/multi_assignee.bpmn").deploy();
        // 設置多個處理人變量 這里設置了三個人
        Map<String, Object> variables = new HashMap<>();
        List<String> userList = new ArrayList<>();
        userList.add("user1");
        userList.add("user2");
        userList.add("user3");
        variables.put("userList", userList);
        //采用key來啟動流程定義並設置流程變量,返回流程實例
        ProcessInstance pi = runtimeService.startProcessInstanceByKey("multi_assignee", variables);
        String processId = pi.getId();
        System.out.println("流程創建成功,當前流程實例ID:"+processId);
        // 查看user1的任務
        List<Task> list = taskService.createTaskQuery().taskAssignee("user1").list();
        if(list!=null && list.size()>0){
            for(org.activiti.engine.task.Task task:list){
                System.out.println("任務ID:"+task.getId());
                System.out.println("任務的辦理人:"+task.getAssignee());
                System.out.println("任務名稱:"+task.getName());
                System.out.println("任務的創建時間:"+task.getCreateTime());
                System.out.println("流程實例ID:"+task.getProcessInstanceId());
                System.out.println("#######################################");
            }
        }
        // 查看user2的任務
        List<Task> list2 = taskService.createTaskQuery().taskAssignee("user2").list();
        if(list2!=null && list2.size()>0){
            for(org.activiti.engine.task.Task task:list2){
                System.out.println("任務ID:"+task.getId());
                System.out.println("任務的辦理人:"+task.getAssignee());
                System.out.println("任務名稱:"+task.getName());
                System.out.println("任務的創建時間:"+task.getCreateTime());
                System.out.println("流程實例ID:"+task.getProcessInstanceId());
                System.out.println("#######################################");
            }
        }
        // 查看user3的任務
        List<Task> list3 = taskService.createTaskQuery().taskAssignee("user3").list();
        if(list3!=null && list3.size()>0){
            for(org.activiti.engine.task.Task task:list3){
                System.out.println("任務ID:"+task.getId());
                System.out.println("任務的辦理人:"+task.getAssignee());
                System.out.println("任務名稱:"+task.getName());
                System.out.println("任務的創建時間:"+task.getCreateTime());
                System.out.println("流程實例ID:"+task.getProcessInstanceId());
                System.out.println("#######################################");
            }
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM