activiti 获取历史任务的变量
时间: 2024-04-03 10:35:05 浏览: 101
可以使用Activiti提供的查询API来获取历史任务的变量。具体步骤如下:
1. 获取HistoricTaskInstanceQuery对象
```java
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery();
```
2. 添加查询条件
```java
historicTaskInstanceQuery.taskAssignee("assignee"); // 指定任务的办理人
historicTaskInstanceQuery.processInstanceId("processInstanceId"); // 指定流程实例ID
```
3. 调用查询方法获取HistoricTaskInstance对象列表
```java
List<HistoricTaskInstance> historicTaskInstances = historicTaskInstanceQuery.list();
```
4. 遍历HistoricTaskInstance对象列表,获取任务变量值
```java
for (HistoricTaskInstance historicTaskInstance : historicTaskInstances) {
Map<String, Object> variables = historyService.getTaskVariables(historicTaskInstance.getId());
// 根据变量名称获取变量值
Object variableValue = variables.get("variableName");
}
```
其中,historyService是Activiti提供的历史数据查询服务。
阅读全文