From 6b51090887791d922042679a6d1ac33159195677 Mon Sep 17 00:00:00 2001 From: junjie Date: Thu, 25 Mar 2021 18:09:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E9=9B=86):=201.?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=88=86=E7=BB=84=EF=BC=8C=E5=9C=BA=E6=99=AF?= =?UTF-8?q?=E5=B0=86=E5=90=8C=E6=97=B6=E5=88=A0=E9=99=A4dataset=E5=92=8Cch?= =?UTF-8?q?art=EF=BC=9B2.=E6=95=B0=E6=8D=AE=E9=9B=86SQL=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E9=87=8D=E6=96=B0=E7=BC=96=E8=BE=91SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/chart/ChartGroupService.java | 13 +++++++++ .../service/chart/ChartViewService.java | 6 ++++ .../service/dataset/DataSetGroupService.java | 6 ++-- frontend/src/lang/zh.js | 3 +- frontend/src/views/dataset/add/AddSQL.vue | 28 +++++++++++++++++-- frontend/src/views/dataset/data/ViewTable.vue | 7 +++++ 6 files changed, 56 insertions(+), 7 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/chart/ChartGroupService.java b/backend/src/main/java/io/dataease/service/chart/ChartGroupService.java index b825250c00..8935b3015d 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartGroupService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartGroupService.java @@ -2,9 +2,12 @@ package io.dataease.service.chart; import io.dataease.base.domain.ChartGroup; import io.dataease.base.domain.ChartGroupExample; +import io.dataease.base.domain.DatasetGroup; +import io.dataease.base.domain.DatasetTable; import io.dataease.base.mapper.ChartGroupMapper; import io.dataease.commons.utils.BeanUtils; import io.dataease.controller.request.chart.ChartGroupRequest; +import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.dto.chart.ChartGroupDTO; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -21,6 +24,8 @@ import java.util.stream.Collectors; public class ChartGroupService { @Resource private ChartGroupMapper chartGroupMapper; + @Resource + private ChartViewService chartViewService; public ChartGroupDTO save(ChartGroup chartGroup) { if (StringUtils.isEmpty(chartGroup.getId())) { @@ -45,6 +50,14 @@ public class ChartGroupService { ChartGroupExample ChartGroupExample = new ChartGroupExample(); ChartGroupExample.createCriteria().andIdIn(ids); chartGroupMapper.deleteByExample(ChartGroupExample); + // 删除所有chart + deleteChart(ids); + } + + public void deleteChart(List sceneIds) { + for (String sceneId : sceneIds) { + chartViewService.deleteBySceneId(sceneId); + } } public ChartGroup getScene(String id) { diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index 3c282d3dce..b3cdd95172 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -75,6 +75,12 @@ public class ChartViewService { chartViewMapper.deleteByPrimaryKey(id); } + public void deleteBySceneId(String sceneId) { + ChartViewExample chartViewExample = new ChartViewExample(); + chartViewExample.createCriteria().andSceneIdEqualTo(sceneId); + chartViewMapper.deleteByExample(chartViewExample); + } + public ChartViewDTO getData(String id) throws Exception { ChartViewWithBLOBs view = chartViewMapper.selectByPrimaryKey(id); List xAxis = new Gson().fromJson(view.getXAxis(), new TypeToken>() { diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java index d5a8609d35..23680e301c 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java @@ -52,10 +52,8 @@ public class DataSetGroupService { DatasetGroupExample datasetGroupExample = new DatasetGroupExample(); datasetGroupExample.createCriteria().andIdIn(ids); datasetGroupMapper.deleteByExample(datasetGroupExample); - // 获取type为scene的id,删除场景下的表和字段 - deleteTableAndField(tree.stream().filter(ele -> { - return StringUtils.equalsIgnoreCase(ele.getType(), "scene"); - }).map(DatasetGroup::getId).collect(Collectors.toList())); + // 删除场景下的表和字段 + deleteTableAndField(ids); } public DatasetGroup getScene(String id) { diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 6b2b57cb4c..fdcc2230c2 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -768,7 +768,8 @@ export default { incremental_delete: '增量删除', last_update_time: '上次更新时间', current_update_time: '当前更新时间', - param: '参数' + param: '参数', + edit_sql: '编辑SQL' }, datasource: { create: '新建数据连接', diff --git a/frontend/src/views/dataset/add/AddSQL.vue b/frontend/src/views/dataset/add/AddSQL.vue index d2001b884b..4e7f75f6e8 100644 --- a/frontend/src/views/dataset/add/AddSQL.vue +++ b/frontend/src/views/dataset/add/AddSQL.vue @@ -3,7 +3,7 @@ - {{ $t('dataset.add_sql_table') }} + {{ param.tableId?$t('dataset.edit_sql'):$t('dataset.add_sql_table') }} @@ -85,6 +85,7 @@