《Activiti/Flowable 深入BPM工作流》-任務在實際項目中的處理的優化

 

 

 

《Activiti/Flowable  深入BPM工作流》

                                   ---任務在實際項目中的處理的優化

 

 

一.問題: 

      任務在實際項目中的處理的優化

 

 

二. 詳情

    具體的code如下: 

 

/**
     * 如何進行任務處理2?
     * 真實的任務處理中,一定是有負責人的,負責人是否有該人的辦理權限,這都需要處理的.
     */
    @Test
    public void compleTask2() {
        // 任務Id
        String taskId = "2505";

        // 任務處理人
        String assignee = "Daniel";

        // 創建TaskService
        // (1)鏈接配置文件
        ProcessEngineConfiguration configuration = ProcessEngineConfiguration
                .createProcessEngineConfigurationFromResource("activiti.cfg.xml");

        // (2)創建引擎
        ProcessEngine processEngine = configuration.buildProcessEngine();

        // (3)創建TaskService
        TaskService taskService = processEngine.getTaskService();

        /**
         * 設置完成任務,需要進行任務查詢;
         * 這裏只指任務id,並沒有指定任務負責人,只有調用complete, 該任務就完成
         * 所以說, 必須完成任務前進行校驗
         * 校驗方法: 根據任務id和任務負責人 assignee,查詢任務, 如果查到說明該客戶有完成該任務的權限,否則沒有權限.
         */

        Task task = taskService.createTaskQuery().taskId(taskId)
                .taskAssignee(assignee).singleResult();

        if (task != null) {
            taskService.complete(taskId);
            System.out.println("完成任務!!!  Id=" + taskId);
        }
    }

 

小結: 

    在具體的項目中,我們是必須要考慮權限的, 哪些人對哪些人具有訪問,處理的權限,這與測試是不同的.

整個 .bpmn部署的過程:

1. 進行流程的部署, deployment

2. 進行流程的啓動.

3. 進行流程的操作.

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