您的位置:首页 > 编程语言 > Java开发

Java Activiti(4)--查询历史任务数据等信息

2017-10-09 22:16 357 查看
public class ActivitiHistoryTest {
private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

//1、部署流程定义
@Test
public void deployLeave() throws Exception {
DeploymentBuilder builder = processEngine.getRepositoryService().createDeployment();
builder.addClasspathResource("flow/baoxiao.bpmn");
builder.addClasspathResource("flow/baoxiao.png");
builder.name("报销流程部署");
Deployment deploy = builder.deploy();
System.out.println("deploy.getId()==" + deploy.getId());
}

//2、根据流程定义的key启动流程实例,启动版本version最高的
@Test
public void startProcessInstanceByKey() throws Exception {
String processDefinitionKey = "baoxiaoFlow";
ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceByKey(processDefinitionKey);
System.out.println("processInstance.getId()===" + processInstance.getId());
System.out.println("processInstance.getProcessDefinitionId()===" + processInstance.getProcessDefinitionId());
}

//3、根据流程实例,查询任务列表  ,说明一个流程定义对应多个流程实例,一个流程实例对应多个任务列表
@Test
public void getProcessTask() throws Exception {
String processInstanceId = "5001";
//1
String assignee = "tom";
//2
//String assignee = "jack";
//3
//String assignee = "smith";
//任务列表
TaskQuery taskQuery = processEngine.getTaskService().createTaskQuery();
//查询tom的任务列表
taskQuery.taskAssignee(assignee);
taskQuery.orderByTaskCreateTime().desc();
List<Task> tasks = taskQuery.list();
for (Task task : tasks) {
System.out.println(task.getId() + ":" + task.getName());
}
}

//4、办理任务,办理完成后,第三步就找不到tom的这个任务了,跑到下个jack的任务中了,5与6是相互重复的
@Test
public void dealProcessTask() throws Exception {
//String taskId = "12506"; //提交
String taskId = "37509";  //项目经理审批
processEngine.getTaskService().complete(taskId);
}

//5.1、查询历史记录ACT_HI_PROCINST
@Test
public void queryProcessTaskHistory() throws Exception {
HistoricProcessInstanceQuery query = processEngine.getHistoryService().createHistoricProcessInstanceQuery();
query.orderByProcessDefinitionId().desc();
query.orderByProcessInstanceEndTime().asc();
List<HistoricProcessInstance> list = query.list();
for (HistoricProcessInstance hpi : list){
System.out.println(hpi.getId() + ":" + hpi.getName());
}

}

//5.2、查询历史活动记录ACT_HI_ACTINST
@Test
public void queryProcessTaskActHistory() throws Exception {
HistoricActivityInstanceQuery query = processEngine.getHistoryService().createHistoricActivityInstanceQuery();
List<HistoricActivityInstance> list = query.list();
for (HistoricActivityInstance hpi : list){
System.out.println(hpi.getId() + ":" + hpi.getActivityName() + ":" + hpi.getActivityType());
}

}

//5.3、查询历史任务记录ACT_HI_TASKINST
@Test
public void queryProcessTaskTaskHistory() throws Exception {
HistoricTaskInstanceQuery query = processEngine.getHistoryService().createHistoricTaskInstanceQuery();
List< HistoricTaskInstance> list = query.list();
for ( HistoricTaskInstance hpi : list){
System.out.println(hpi.getId() + ":" + hpi.getAssignee() + ":" + hpi.getName());
}

}

}


—————————————————————————————————————————————————–

java架构师项目实战,高并发集群分布式,大数据高可用视频教程,共760G

下载地址:

https://item.taobao.com/item.htm?id=555888526201


01.高级架构师四十二个阶段高

02.Java高级系统培训架构课程148课时

03.Java高级互联网架构师课程

04.Java互联网架构Netty、Nio、Mina等-视频教程

05.Java高级架构设计2016整理-视频教程

06.架构师基础、高级片

07.Java架构师必修linux运维系列课程

08.Java高级系统培训架构课程116课时

+

hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门

—————————————————————————————————————————————————–
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐