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 @@