diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java index a1fdf5af1a..8e62c241e3 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java +++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.java @@ -17,6 +17,8 @@ public interface ExtPanelGroupMapper { //会级联删除pid 下的所有数据 int deleteCircle(@Param("pid") String pid, @Param("nodeType") String nodeType); + int deleteLinkDefaultCircle(@Param("pid") String pid); + int deleteCircleView(@Param("pid") String pid, @Param("nodeType") String nodeType); int deleteCircleViewCache(@Param("pid") String pid, @Param("nodeType") String nodeType); diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml index 6b3d058df8..6e54ab20fb 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml +++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml @@ -202,6 +202,10 @@ ORDER BY panel_group.node_type desc, CONVERT(panel_group.name using gbk) + + delete from panel_group where FIND_IN_SET(panel_group.source, GET_PANEL_GROUP_WITH_CHILDREN(#{pid})) + + delete from panel_group @@ -211,7 +215,6 @@ panel_group.source = #{pid} or FIND_IN_SET(panel_group.id, GET_PANEL_GROUP_WITH_CHILDREN(#{pid})) - or FIND_IN_SET(panel_group.source, GET_PANEL_GROUP_WITH_CHILDREN(#{pid})) 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 7f22ac1a7a..964155492b 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -305,6 +305,7 @@ public class PanelGroupService { extPanelGroupMapper.deleteCircleView(id, nodeType); extPanelGroupMapper.deleteCircleViewCache(id, nodeType); // 同时会删除对应默认仪表盘 + extPanelGroupMapper.deleteLinkDefaultCircle(id); extPanelGroupMapper.deleteCircle(id, nodeType); storeService.removeByPanelId(id); shareService.delete(id, null);