【入门篇】Activiti查询指定流程定义下指定流程实例下历史任务

需求

针对每个流程,有时候需要查看项目审核的过程,这个时候,就需要查看指定流程定义下指定流程实例下的任务明细。

涉及到的表

act_hi_taskinst:任务实例表

方案

根据流程定义key,流程实例id,依赖historyservice查询

代码(可以设置任务负责人查询负责人对任务的操作)

 

public void queryHistoryTask(){
	HistoryService historyService = processEngine.getHistoryService();
	
	//创建查询对象,用户查询历史任务
	HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery();
	
	//设置查询条件
	//设置taskAssignee只查询某个用户的历史任务
	//historicTaskInstanceQuery.taskAssignee(taskAssignee);
	
	//指定流程定义key,只查询该流程下所有流程实例所有历史任务
	String processDefinitionKey = "purchasingflow";
	historicTaskInstanceQuery.processDefinitionKey(processDefinitionKey);
	
	//指定流程实例id,只查询该流程实例执行的历史任务,流程实例的id也可以完成也可以是未完成
	String processInstanceId = "902";
	historicTaskInstanceQuery.processInstanceId(processInstanceId);
	
	//查询历史任务查询流程变量
	historicTaskInstanceQuery.includeTaskLocalVariables();
	
	List<HistoricTaskInstance> list = historicTaskInstanceQuery.list();
	
	for (HistoricTaskInstance historicTaskInstance : list) {
		System.out.println("-------------------------");
		System.out.println("流程实例id:"+ historicTaskInstance.getProcessInstanceId());
		System.out.println("任务id:" + historicTaskInstance.getId());
		System.out.println("任务标识:" + historicTaskInstance.getTaskDefinitionKey());
		System.out.println("任务负责人:" + historicTaskInstance.getAssignee());
		System.out.println("任务名称:" + historicTaskInstance.getName());
		System.out.println("任务开始时间:" + historicTaskInstance.getStartTime());
		System.out.println("任务结束时间:" + historicTaskInstance.getEndTime());
		OrderCustom orderCustom = (OrderCustom)historicTaskInstance.getTaskLocalVariables().get("order");
		System.out.println("流程变量:" + orderCustom.getPrice());
	}
}

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女汉纸一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值