Activiti 流程任务的查询 处理及分析

任务查询

package com.itheima.activiti;

import org.activiti.engine.ProcessEngine;

import org.activiti.engine.ProcessEngines;

import org.activiti.engine.TaskService;

import org.activiti.engine.task.Task;

/**

 * 查询当前用户的任务列表

 */

public class ActivitiTaskQuery {

 //wangwu完成自己任务列表的查询

 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("holiday")

 .taskAssignee("wangwu")

 .singleResult();

 //4.任务列表的展示

 System.out.println("流程实例ID:"+task.getProcessInstanceId());

 System.out.println("任务ID:"+task.getId()); //5002

 System.out.println("任务负责人:"+task.getAssignee());

 System.out.println("任务名称:"+task.getName());

 }

 //lishi完成自己任务列表的查询

 /*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("holiday")

 .taskAssignee("lishi")

 .singleResult();

 //4.任务列表的展示

 System.out.println("流程实例ID:"+task.getProcessInstanceId());

 System.out.println("任务ID:"+task.getId()); //5002

 System.out.println("任务负责人:"+task.getAssignee());

 System.out.println("任务名称:"+task.getName());

 }

*/

 //zhangsan任务列表的查询

 /* 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("holiday")

 .taskAssignee("zhangsan")

 .list();

 //4.任务列表的展示

 for(Task task :taskList){

 System.out.println("流程实例ID:"+task.getProcessInstanceId());

 System.out.println("任务ID:"+task.getId());

 System.out.println("任务负责人:"+task.getAssignee());

 System.out.println("任务名称:"+task.getName());

 }

 }*/

}

任务处理

package com.itheima.activiti;

import org.activiti.engine.ProcessEngine;

import org.activiti.engine.ProcessEngines;

import org.activiti.engine.TaskService;

import org.activiti.engine.task.Task;

/**

 * 处理当前用户的任务

 * 背后操作的表：

 * act_hi_actinst

 act_hi_identitylink

 act_hi_taskinst

 act_ru_identitylink

 act_ru_task

 */

public class ActivitiCompleteTask {

 //查询当前用户wangwu的任务并处理掉

 public static void main(String[] args) {

 //1.得到ProcessEngine对象

 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

 //2.得到TaskService对象

 TaskService taskService = processEngine.getTaskService();

 //3.查询当前用户的任务

 Task task = taskService.createTaskQuery()

 .processDefinitionKey("holiday")

 .taskAssignee("wangwu")

 .singleResult();

 //4.处理任务,结合当前用户任务列表的查询操作的话,任务ID:task.getId()

 taskService.complete(task.getId());

 //5.输出任务的id

 System.out.println(task.getId());

 }

 //lishi完成自己的任务

 /*public static void main(String[] args) {

 //1.得到ProcessEngine对象

 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

 //2.得到TaskService对象

 TaskService taskService = processEngine.getTaskService();

 //3.处理任务,结合当前用户任务列表的查询操作的话,任务ID:5002

 taskService.complete("5002");

 }*/

 //zhangsan完成自己的任务

 /*public static void main(String[] args) {

 //1.得到ProcessEngine对象

 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

 //2.得到TaskService对象

 TaskService taskService = processEngine.getTaskService();

 //3.处理任务,结合当前用户任务列表的查询操作的话,任务ID:2505

 taskService.complete("2505");

 }*/

}

任务处理分析

影响到的数据库表

-- com.itheima.activiti.ActivitiCompleteTask

SELECT * FROM act_hi_actinst

SELECT * FROM act_hi_identitylink

SELECT * FROM act_hi_taskinst

SELECT * FROM act_ru_identitylink

SELECT * FROM act_ru_task

