假设现在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
任务名称:吃饭
原创文章,未经允许禁止盗用