@Test voidtest01(){ List<HistoricProcessInstance> list = historyService.createHistoricProcessInstanceQuery().list(); for (HistoricProcessInstance hi : list) { logger.info("==={},{},{},{},{},{}",hi.getId(),hi.getName(),hi.getStartActivityId(),hi.getStartTime(),hi.getEndActivityId(),hi.getEndTime()); } }
@Test voidtest03(){ List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery().orderByHistoricActivityInstanceStartTime().asc().list(); for (HistoricActivityInstance hai : list) { logger.info("流程ID:{},活动名称:{},活动ID:{},活动处理人:{}",hai.getProcessInstanceId(),hai.getActivityName(),hai.getActivityId(),hai.getAssignee()); } }
查询结果如下图:
小伙伴们看查询 SQL 也印证我们说的没有问题。由于我这里目前只执行了一个流程,所以这里就只显示了一个流程的所有活动,大家看打印出来的流程 ID 都是一样的。
再来看查询历史 Task:
1 2 3 4 5 6 7
@Test voidtest04(){ List<HistoricTaskInstance> list = historyService.createHistoricTaskInstanceQuery().orderByHistoricTaskInstanceStartTime().asc().list(); for (HistoricTaskInstance hti : list) { logger.info("流程ID:{},Task 开始时间:{},Task 结束时间:{},Task 处理人:{}",hti.getProcessInstanceId(),hti.getCreateTime(),hti.getEndTime(),hti.getAssignee()); } }