假設現在xiaoyi不知道自己有哪些任務,那麼我們可以進行查詢
任務查詢進行
任務查詢步驟:
- 得到ProcessEngine對象
- 得到TaskService對象
- 根據流程定義的key負責人assignee來實現當前用戶的人物列表查詢
創建ActivitiTaskQuery類(查詢分爲 查詢多個和只查詢一個)
代碼區別 list()/singleResult()
查詢多個
public class ActivitiTaskQuery {
public static void main(String[] args) {
//1:得到ProcessEngine對象
ProcessEngine processEngine= ProcessEngines.getDefaultProcessEngine();
//2:得到TaskService對象
TaskService taskService=processEngine.getTaskService();
//3:根據流程定義的key負責人assignee來實現當前用戶的人物列表查詢
List<Task>taskList=taskService.createTaskQuery()
.processDefinitionKey("day")
.taskAssignee("xiaoyi")//只查詢xiaoyi負責的任務
.list();//查詢多個
//列表的展示
for(Task task:taskList){
System.out.println("流程實例ID:"+task.getProcessInstanceId()); //mysql對應表:act_hi_procinst
System.out.println("任務ID:"+task.getId()); //mysql對應表:act_hi_taskinst
System.out.println("任務負責人:"+task.getAssignee());
System.out.println("任務名稱:"+task.getName());
}
}
}
只查詢一個
public class ActivitiTaskQuery {
public static void main(String[] args) {
//1:得到ProcessEngine對象
ProcessEngine processEngine= ProcessEngines.getDefaultProcessEngine();
//2:得到TaskService對象
TaskService taskService=processEngine.getTaskService();
//3:根據流程定義的key負責人assignee來實現當前用戶的人物列表查詢
Task task=taskService.createTaskQuery()
.processDefinitionKey("day")
.taskAssignee("xiaoyi")
.singleResult();//只查詢一個
//列表的展示
System.out.println("流程實例ID:"+task.getProcessInstanceId()); //mysql對應表:act_hi_procinst
System.out.println("任務ID:"+task.getId()); //mysql對應表:act_hi_taskinst
System.out.println("任務負責人:"+task.getAssignee());
System.out.println("任務名稱:"+task.getName());
}
}
運行結果:
流程實例ID:2501
任務ID:2505
任務負責人:xiaoyi
任務名稱:吃飯
原創文章,未經允許禁止盜用