Activiti (五) 完結任務

當我們知道了個人的任務後就可以對任務進行完結


接下來我們用代碼完結任務


完結任務的步驟:

  1. 得到ProcessEngine對象
  2. 得到TaskService對象
  3. 查詢任務
  4. 判斷
  5. 完結任務

創捷類ActivitiTask

public class ActivitiTask {
    public static void main(String[] args) {
            //1:定義ProcessEngine對象,自己封裝的工具類也可以 
                    ProcessEngines.getDefaultProcessEngine();
            ProcessEngine processEngine= ReturnProcessEngineUtil.getProcessEngine();
            //2:得到TaskService對象
            TaskService taskService=processEngine.getTaskService();
            //3:查詢任務
            Task task=taskService.createTaskQuery().processDefinitionKey("day").taskAssignee("xiaoyi").singleResult();
            //4:判斷
            if(task!=null){
                //5:完成任務
                taskService.complete(taskId);
                System.out.println(" 完結任務 ");
                System.out.println("task.getId() = " + task.getId());
            }

           

    }
}

我們看下數據庫被影響的表

  • act_hi_actinst     已完成的活動信息
  • act_hi_identitylink   參與者信息
  • act_hi_taskinst   任務實例
  • act_ru_identitylink   參與者信息
  • act_ru_task  當前任務

act_hi_actinst表:我們看到執行人xiaoyi有了結束時間,並且表中多了一條xiaoer的任務,還沒有完成任務,所以還沒有就結束時間

act_hi_identitylink表:可以看到表中多了一條參與者信息,因爲xiaoyi任務完成後,會自動到了洗澡也就是xiaoer的任務

 

act_hi_taskinst表:相同的,可以看到任務實例中也多了xiaoer的記錄

act_ru_identitylink表:

act_ru_task表:可以看到之前xiaoyi的吃飯任務被覆蓋了,取而代之的時xiaoer的洗澡任務,xiaoer任務執行完後同樣會被覆蓋,知道流程走完act_ru_task就會被清空

 



原創文章,未經允許禁止盜用



 

 

 

 

 

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