feat(REQ-2752) - 调整自定义查询指定变量名的变量命令的实现逻辑
This commit is contained in:
parent
3563b5ba3d
commit
af304ad293
@ -7,9 +7,9 @@ import org.flowable.engine.ManagementService;
|
||||
import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl;
|
||||
import org.flowable.engine.impl.util.CommandContextUtil;
|
||||
import org.flowable.variable.api.history.HistoricVariableInstance;
|
||||
import org.flowable.variable.api.history.NativeHistoricVariableInstanceQuery;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -34,14 +34,16 @@ public class CustomGetHistoricVariablesCmd implements Command<List<HistoricVaria
|
||||
HistoryService historyService = processEngineConfiguration.getHistoryService();
|
||||
|
||||
|
||||
historyService.createNativeHistoricVariableInstanceQuery()
|
||||
NativeHistoricVariableInstanceQuery query = historyService.createNativeHistoricVariableInstanceQuery()
|
||||
.sql(buildQuerySql(commandContext))
|
||||
.parameter("processInstanceId", processInstanceId)
|
||||
.parameter("variableNames", variableNames)
|
||||
.list();
|
||||
.parameter("processInstanceId", processInstanceId);
|
||||
if (!CollectionUtils.isEmpty(variableNames)) {
|
||||
for (int i = 0; i < variableNames.size(); i++) {
|
||||
query.parameter("variableName" + i, variableNames.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return Collections.emptyList();
|
||||
return query.list();
|
||||
}
|
||||
|
||||
private String buildQuerySql(CommandContext commandContext) {
|
||||
@ -51,9 +53,7 @@ public class CustomGetHistoricVariablesCmd implements Command<List<HistoricVaria
|
||||
.append(" FROM ")
|
||||
.append(managementService.getTableName(HistoricVariableInstance.class))
|
||||
.append(" WHERE 1 = 1")
|
||||
.append(" AND PROC_INST_ID_ = '")
|
||||
.append(processInstanceId)
|
||||
.append("'");
|
||||
.append(" AND PROC_INST_ID_ = #{processInstanceId}");
|
||||
|
||||
if (!CollectionUtils.isEmpty(variableNames)) {
|
||||
baseQuerySql.append(" AND (");
|
||||
@ -61,7 +61,7 @@ public class CustomGetHistoricVariablesCmd implements Command<List<HistoricVaria
|
||||
if (i != 0) {
|
||||
baseQuerySql.append(" OR ");
|
||||
}
|
||||
baseQuerySql.append(" NAME_ = '").append(variableNames.get(i)).append("'");
|
||||
baseQuerySql.append(" NAME_ = #{variableName").append(i).append("}");
|
||||
}
|
||||
}
|
||||
return baseQuerySql.append(")").toString();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user