1. 程式人生 > 實用技巧 >Spring activiti 筆記2 - 任務分發

Spring activiti 筆記2 - 任務分發

委派

是將任務節點分給其他人處理,等其他人處理好之後,委派任務會自動回到委派人的任務中
OWNER_(委託人):受理人委託其他人操作該TASK的時候,受理人就成了委託人OWNER_,其他人就成了受理人ASSIGNEE_
owner欄位就是用於受理人委託別人操作的時候運用的欄位

Task task=taskService.createTaskQuery().singleResult();

//委託 userId:被委派人id

taskService.delegateTask(task.getId(), "cc");

logger.info(taskService.createTaskQuery().singleResult().getOwner());

logger.info(taskService.createTaskQuery().singleResult().getAssignee());

//結果:owner是Billy,assignee是cc

//被委派人辦理任務

taskService.resolveTask(taskId,variables);

//正在執行的委派任務:

public ListmytaskChangeOtherList1(String userId){

List<Task>list = taskService.createTaskQuery().taskOwner(userId)

.orderByTaskCreateTime().desc().list();

returnlist;

}

//已經辦結的委派任務:(同理)

認領

你領了這隻狗狗,你就是她的主人啦~

ASSIGNEE_(受理人)代表task任務的受理人,沒有值的時候,可以使用簽收功能去指定受理人,就是候選組裡面誰簽收誰就成了受理人

//認領

taskService.claim(task.getId(),"billy");

logger.info(taskService.createTaskQuery().singleResult().getAssignee());

//結果:billy

轉辦

直接把益達給別人,擁有它的人不再是你!

直接將辦理人assignee 換成別人,這時任務的擁有著不再是轉辦人,而是為空,相當與將任務轉出。

//轉他人處理

publicvoid mytaskChangeOther(StringtaskId,StringuserId){

taskService.setAssignee(taskId,userId);

}

如果要查詢轉給他人處理的任務:

可以同時將OWNER進行設定(正在執行的任務表和歷史任務表都要進行設定),這樣在查詢的時候方便根據欄位進行查詢:以下是正在進行的任務表例子

taskService.setOwner(taskId,userId);