需求
用户和管理员有时候需要统计,有多少个业务实例通过了审核,这个时候需要查询指定流程下的已完成的流程实例,用做后期的统计。
涉及到的表
act_hi_procinst:流程实例历史表
方案
根据流程定义key,依赖historyservice服务来完成
代码(这里可以附加其他的条件,来细化查询结果)
public void queryHistoryProcessInstance() {
HistoryService historyService = processEngine.getHistoryService();
//创建历史流程实例,查询对象
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery();
//设置查询条件
//指定流程定义key,只查询某个业务流程的实例
String processDefinitionKey = "purchasingflow";
historicProcessInstanceQuery.processDefinitionKey(processDefinitionKey);
//设置只查询已完成的
historicProcessInstanceQuery.finished();
//数据列表
List<HistoricProcessInstance> list = historicProcessInstanceQuery.list();
for (HistoricProcessInstance historicProcessInstance : list) {
System.out.prin