diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java index 27461a0363..7fbda9ee6b 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java @@ -185,6 +185,7 @@ public class DataVisualizationServer implements DataVisualizationApi { List newDsGroupInfo = new ArrayList<>(); Map dsTableIdMap = new HashMap<>(); Map dsTableFieldsIdMap = new HashMap<>(); + List dsTableFieldsList = new ArrayList(); Map datasourceIdMap = new HashMap<>(); Map> dsTableNamesMap = new HashMap<>(); List newDatasourceId = new ArrayList<>(); @@ -273,10 +274,19 @@ public class DataVisualizationServer implements DataVisualizationApi { dsDsField.setDatasetTableId(dsTableIdMap.get(dsDsField.getDatasetTableId())); dsDsField.setDatasourceId(datasourceIdMap.get(dsDsField.getDatasourceId())); dsDsField.setId(newId); - coreDatasetTableFieldMapper.insert(dsDsField); + dsTableFieldsList.add(dsDsField); dsTableFieldsIdMap.put(oldId,newId); }); + // dsTableFields 中存在计算字段在OriginName中 也需要替换 + dsTableFieldsList.forEach(dsTableFields ->{ + dsTableFieldsIdMap.forEach((key,value) ->{ + dsTableFields.setOriginName(dsTableFields.getOriginName().replaceAll(key.toString(),value.toString())); + }); + coreDatasetTableFieldMapper.insert(dsTableFields); + }); + + // 持久化数据集 newDsGroupInfo.forEach(dsGroup ->{ dsTableIdMap.forEach((key,value) ->{