flowable查询最后一个节点完成的任务
时间: 2023-06-19 13:02:50 浏览: 334
要查询最后一个节点完成的任务,可以使用Flowable的历史记录服务(HistoryService)。具体步骤如下:
1. 获取HistoryService:
```java
HistoryService historyService = processEngine.getHistoryService();
```
2. 使用createHistoricActivityInstanceQuery()方法创建查询:
```java
HistoricActivityInstanceQuery query = historyService.createHistoricActivityInstanceQuery();
```
3. 设置查询条件,包括流程实例ID、节点类型、完成时间等:
```java
query.processInstanceId(processInstanceId) // 流程实例ID
.activityType("userTask") // 节点类型
.finished() // 已完成
.orderByHistoricActivityInstanceEndTime().desc(); // 按完成时间倒序排序
```
4. 调用list()方法获取查询结果列表:
```java
List<HistoricActivityInstance> activityInstances = query.list();
```
5. 从列表中获取最后一个节点的完成时间:
```java
if (!activityInstances.isEmpty()) {
Date lastCompletedTime = activityInstances.get(0).getEndTime();
// 根据需要对时间进行格式化等处理
}
```
注意:以上代码仅为示例,需要根据实际情况进行调整。
阅读全文