今天看activiti的act_ru_task表,發現有一個parent_task_id_字段,比較好奇,就研究了一番。發現原來是可以給一個task創建subtask
那么他的適用場景就是
- 創建自子任務
- 創建抄送任務
- 任務分裂
上代碼,如何實現創建子任務,為Zl用戶創建一個任務
Task newtask = taskService.newTask();
newtask.setAssignee("zl");
newtask.setName("xinjia");
newtask.setParentTaskId(parentTask.getId());//父任務id
taskService.saveTask(newtask);
注意,新建的task不影響主流程的推進,就是父任務結束了流程也會向后面流轉,子任務也不會結束
正是因為以上原因,可以用於抄送任務,不影響主流程進行。
也可以用於任務的裂變。
根據任務id,查詢子任務
List<Task> subTaskList = taskService.getSubTasks("taskid");
結束子任務,根據上面指定的zl查詢
List<Task> list = taskService.createTaskQuery().taskAssignee("zl").list();
for(Task task:list){
taskService.complete(task.getId());
}