From a446ac999ba176b50cb9b833d9df5edba616389f Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Mon, 7 Nov 2022 10:09:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=BA=94=E7=94=A8):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E6=96=B0=E5=BB=BA=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E5=8F=AF=E8=83=BD=E6=97=A0=E6=95=88?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/service/dataset/DataSetTableService.java | 4 ++++ .../service/panel/PanelAppTemplateService.java | 11 ++++++++++- .../io/dataease/service/panel/PanelGroupService.java | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 9f5ffd29cc..73e233c704 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -2865,4 +2865,8 @@ public class DataSetTableService { // custom 创建doris视图 createDorisView(TableUtils.tableName(tableId), sql); } + + public void updateDatasetInfo(DatasetTable datasetTable){ + datasetTableMapper.updateByPrimaryKeySelective(datasetTable); + } } diff --git a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java index 5fb7ef3a87..4015d9ac20 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java @@ -159,7 +159,7 @@ public class PanelAppTemplateService { } @Transactional(rollbackFor = Exception.class) - public String applyPanel(PanelGroupRequest panelInfo, Map chartViewsRealMap, String newPanelId, String panelName, String pid) { + public String applyPanel(PanelGroupRequest panelInfo, Map chartViewsRealMap,Map datasetsRealMap ,Map datasetFieldsRealMap, String newPanelId, String panelName, String pid) { panelInfo.setId(newPanelId); panelInfo.setPid(pid); panelInfo.setName(panelName); @@ -167,6 +167,12 @@ public class PanelAppTemplateService { panelInfo.setPanelType("self"); panelInfo.setCreateBy(AuthUtils.getUser().getUsername()); panelInfo.setCreateTime(System.currentTimeMillis()); + datasetsRealMap.forEach((k, v) -> { + panelInfo.setPanelData(panelInfo.getPanelData().replaceAll(k, v)); + }); + datasetFieldsRealMap.forEach((k, v) -> { + panelInfo.setPanelData(panelInfo.getPanelData().replaceAll(k, v)); + }); panelGroupService.newPanelFromApp(panelInfo, chartViewsRealMap); return newPanelId; } @@ -184,6 +190,7 @@ public class PanelAppTemplateService { datasetRequest.setOptFrom("appApply"); datasetRequest.setSyncType("sync_now"); DatasetTable newDataset = dataSetTableService.save(datasetRequest); + datasetTable.setId(newDataset.getId()); datasetsRealMap.put(oldId, newDataset.getId()); } return datasetsRealMap; @@ -233,6 +240,8 @@ public class PanelAppTemplateService { } else if (DatasetType.UNION.name().equalsIgnoreCase(datasetTable.getType())) { dataSetTableService.createAppUnionDorisView(datasetTable.getInfo(), datasetTable.getId()); } + }else{ + dataSetTableService.updateDatasetInfo(datasetTable); } } } diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index a32f624813..d31f73cf27 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -873,7 +873,7 @@ public class PanelGroupService { panelAppTemplateService.applyViewsField(chartViewFieldsInfo,chartViewsRealMap,datasetsRealMap,datasetFieldsRealMap); - panelAppTemplateService.applyPanel(panelInfo,chartViewsRealMap,newPanelId, request.getPanelName(), request.getPanelGroupPid()); + panelAppTemplateService.applyPanel(panelInfo,chartViewsRealMap,datasetsRealMap,datasetFieldsRealMap,newPanelId, request.getPanelName(), request.getPanelGroupPid()); panelAppTemplateService.applyPanelView(panelViewsInfo,chartViewsRealMap,newPanelId);