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 94d325471c..d904e5b99e 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 @@ -577,7 +577,7 @@ public class DataVisualizationServer implements DataVisualizationApi { viewInfo.setTableId(viewInfo.getSourceTableId()); } }); - + Map viewIdMap = appData.getViewIdMap(); // visualization_linkage appData.getLinkages().forEach(visualizationLinkageVO -> { Long oldId = visualizationLinkageVO.getId(); @@ -586,6 +586,7 @@ public class DataVisualizationServer implements DataVisualizationApi { BeanUtils.copyBean(visualizationLinkage, visualizationLinkageVO); visualizationLinkage.setDvId(newDvId); visualizationLinkage.setId(newId); + visualizationLinkage.setSourceViewId(viewIdMap.get(visualizationLinkage.getSourceViewId())); linkageIdMap.put(oldId, newId); }); @@ -610,6 +611,7 @@ public class DataVisualizationServer implements DataVisualizationApi { BeanUtils.copyBean(visualizationLinkJump, visualizationLinkJumpVO); visualizationLinkJump.setId(newId); visualizationLinkJump.setSourceDvId(newDvId); + visualizationLinkJump.setSourceViewId(viewIdMap.get(visualizationLinkJump.getSourceViewId())); linkJumpIdMap.put(oldId, newId); }); @@ -934,6 +936,7 @@ public class DataVisualizationServer implements DataVisualizationApi { try { Long newDvId = IDUtils.snowID(); String newFrom = request.getNewFrom(); + Map viewIdsMap = new HashMap<>(); String templateStyle = null; String templateData = null; String dynamicData = null; @@ -1027,6 +1030,7 @@ public class DataVisualizationServer implements DataVisualizationApi { VisualizationTemplateExtendDataDTO extendDataDTO = new VisualizationTemplateExtendDataDTO(newDvId, newViewId, originViewData); extendDataInfo.put(newViewId, extendDataDTO); templateData = templateData.replaceAll(originViewId, newViewId.toString()); + viewIdsMap.put(Long.valueOf(originViewId),newViewId); if (StringUtils.isNotEmpty(appDataStr)) { chartView.setTableId(chartView.getSourceTableId()); appDataStr = appDataStr.replaceAll(originViewId, newViewId.toString()); @@ -1040,7 +1044,7 @@ public class DataVisualizationServer implements DataVisualizationApi { request.setCanvasStyleData(templateStyle); //Store static resource into the server staticResourceServer.saveFilesToServe(staticResource); - return new DataVisualizationVO(newDvId, name, dvType, version, templateStyle, templateData, appDataStr, canvasViewInfo, null); + return new DataVisualizationVO(newDvId, name, dvType, version, templateStyle, templateData, appDataStr, canvasViewInfo, null,viewIdsMap); } catch (Exception e) { e.printStackTrace(); DEException.throwException("解析错误"); diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/DataVisualizationVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/DataVisualizationVO.java index e05a3c9bdb..99b8e5ba44 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/DataVisualizationVO.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/DataVisualizationVO.java @@ -188,8 +188,7 @@ public class DataVisualizationVO implements Serializable { */ private VisualizationExport2AppVO appData; - - public DataVisualizationVO(Long id, String name, String type, Integer version, String canvasStyleData, String componentData,String appDataStr, Map canvasViewInfo, Map extendDataInfo) { + public DataVisualizationVO(Long id, String name, String type, Integer version, String canvasStyleData, String componentData,String appDataStr, Map canvasViewInfo, Map extendDataInfo,Map viewIdMap) { this.id = id; this.name = name; this.type = type; @@ -199,6 +198,7 @@ public class DataVisualizationVO implements Serializable { this.extendDataInfo = extendDataInfo; if(StringUtils.isNotEmpty(appDataStr)){ this.appData= JsonUtil.parseObject(appDataStr,VisualizationExport2AppVO.class); + this.appData.viewIdMap = viewIdMap; } this.version = version; } diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java index 7a3f64a8f4..153644aa4a 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java @@ -4,6 +4,7 @@ import lombok.Data; import java.util.ArrayList; import java.util.List; +import java.util.Map; @Data public class VisualizationExport2AppVO { @@ -38,6 +39,8 @@ public class VisualizationExport2AppVO { List linkageFields; + Map viewIdMap; + public VisualizationExport2AppVO() { }