【入门篇】Activiti查询指定流程定义下待办task

需求

某人登录系统后,需要对他待办的任务进行处理

涉及到的表

act_ru_task

方案

根据流程定义key和任务人,依赖taskservice服务,查询act_ru_task表待办内容

代码

 

//查询当前用户的待办任务
@Test
public void findPersonalTaskList(){
	//得到runtimeService
	RuntimeService runtimeService = processEngine.getRuntimeService();
	//查询任务使用TaskService
	TaskService taskService = processEngine.getTaskService();
	//流程定义key(流程定义的标识)
	String processDefinitionKey = "purchasingflow";//采购流程标识
	//任务负责人
	String assignee = "zhangsan";
	//创建查询对象
	TaskQuery taskQuery = taskService.createTaskQuery();
	//设置查询条件
	taskQuery.taskAssignee(assignee);
	//指定流程定义key,只查询某个流程的任务
	taskQuery.processDefinitionKey(processDefinitionKey);
	//获取查询列表
	List list = taskQuery.list();
	
	for (Task task : list) {
		
		//流程实例id
		String processInstanceId = task.getProcessInstanceId();
		//根据流程实例id找到流程实例对象
		ProcessInstance processInstance = runtimeService
				.createProcessInstanceQuery()
				.processInstanceId(processInstanceId)
				.singleResult();
		//从流程实例对象获取bussinesskey
		String businessKey = processInstance.getBusinessKey();
		//根据businessKey查询业务系统,获取相关的业务信息
		System.out.println("流程实例id:" + task.getProcessInstanceId());
		System.out.println("任务id:" + task.getId());
		System.out.println("任务标识:" + task.getTaskDefinitionKey());
		System.out.println("任务负责人:" + task.getAssignee());
		System.out.println("任务名称:" + task.getName());
		System.out.println("任务创建时间:" + task.getCreateTime());
	}
}

 

 

 

 

 

你可能感兴趣的:(❀❀❀❀❀❀-框架篇)