fix:【数据集】修复参数数据集预览时全局生效 保存提示异常

This commit is contained in:
tjlygdx
2026-05-25 21:32:37 +08:00
parent 2e83e2a608
commit deb4f79c9a
2 changed files with 22 additions and 2 deletions

View File

@@ -281,6 +281,7 @@ public class DatasetDataManage {
datasourceRequest.setQuery(querySQL);
datasourceRequest.setDsList(dsMap);
datasourceRequest.setIsCross(crossDs);
applyPreparedParams(datasourceRequest, sqlMap);
Map<String, Object> data = provider.fetchResultField(datasourceRequest);
Map<String, Object> map = new LinkedHashMap<>();
@@ -385,6 +386,7 @@ public class DatasetDataManage {
datasourceRequest.setQuery(querySQL);
datasourceRequest.setDsList(dsMap);
datasourceRequest.setIsCross(crossDs);
applyPreparedParams(datasourceRequest, sqlMap);
Provider provider;
if (crossDs) {
@@ -426,6 +428,18 @@ public class DatasetDataManage {
return map;
}
@SuppressWarnings("unchecked")
private void applyPreparedParams(DatasourceRequest datasourceRequest, Map<String, Object> sqlMap) {
if (sqlMap == null) {
return;
}
List<TableFieldWithValue> tableFieldWithValues = (List<TableFieldWithValue>) sqlMap.get("tableFieldWithValues");
if (CollectionUtils.isEmpty(tableFieldWithValues)) {
return;
}
datasourceRequest.setTableFieldWithValues(tableFieldWithValues.stream().map(TableFieldWithValue::copy).toList());
}
private UserFormVO getUserEntity() {
if (getRowPermissionsApi() == null) {
return null;
@@ -654,6 +668,7 @@ public class DatasetDataManage {
datasourceRequest.setQuery(querySQL);
datasourceRequest.setDsList(dsMap);
datasourceRequest.setIsCross(crossDs);
applyPreparedParams(datasourceRequest, sqlMap);
Map<String, Object> data = provider.fetchResultField(datasourceRequest);
List<String[]> dataList = (List<String[]>) data.get("data");
@@ -780,6 +795,7 @@ public class DatasetDataManage {
datasourceRequest.setQuery(querySQL);
datasourceRequest.setDsList(dsMap);
datasourceRequest.setIsCross(crossDs);
applyPreparedParams(datasourceRequest, sqlMap);
Map<String, Object> data = provider.fetchResultField(datasourceRequest);
List<String[]> dataList = (List<String[]>) data.get("data");
@@ -1043,6 +1059,7 @@ public class DatasetDataManage {
datasourceRequest.setQuery(querySQL);
datasourceRequest.setDsList(dsMap);
datasourceRequest.setIsCross(crossDs);
applyPreparedParams(datasourceRequest, sqlMap);
Map<String, Object> data = provider.fetchResultField(datasourceRequest);
List<String[]> dataList = (List<String[]>) data.get("data");
@@ -1244,6 +1261,7 @@ public class DatasetDataManage {
datasourceRequest.setQuery(querySQL);
datasourceRequest.setDsList(dsMap);
datasourceRequest.setIsCross(crossDs);
applyPreparedParams(datasourceRequest, sqlMap);
Map<String, Object> data = provider.fetchResultField(datasourceRequest);
List<String[]> rows = (List<String[]>) data.get("data");

View File

@@ -230,7 +230,8 @@ const saveSqlNode = (val: SqlNode, cb) => {
info: state.visualNode.info,
tableName,
type: 'sql',
isCross: isCross.value
isCross: isCross.value,
sqlVariableDetails
}).then(res => {
state.visualNode.confirm = true
state.nodeList.push(state.visualNode)
@@ -251,7 +252,8 @@ const saveSqlNode = (val: SqlNode, cb) => {
info: state.visualNode.info,
tableName,
type: 'sql',
isCross: isCross.value
isCross: isCross.value,
sqlVariableDetails
}).then(() => {
state.visualNode.confirm = true
cb?.()