diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml index 66daeec193..c7a496ea3a 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkJumpMapper.xml @@ -174,7 +174,7 @@ panel_link_jump.checked, panel_link_jump.id as copy_from, #{copyId} as copy_id - from panel_link_jump left join + from panel_link_jump inner join (SELECT pvs.panel_id as s_panel_id, pvs.chart_view_id as s_chart_view_id, @@ -182,7 +182,7 @@ pvt.chart_view_id as t_chart_view_id FROM panel_view pvt - LEFT JOIN panel_view pvs ON pvt.copy_from = pvs.id + inner JOIN panel_view pvs ON pvt.copy_from = pvs.id WHERE pvt.copy_id = #{copyId}) panel_view_copy on panel_link_jump.source_panel_id = panel_view_copy.s_panel_id and panel_link_jump.source_view_id = panel_view_copy.s_chart_view_id @@ -213,7 +213,7 @@ #{copyId} FROM panel_link_jump_info - LEFT JOIN ( + inner JOIN ( SELECT id AS t_id, copy_from AS s_id @@ -241,7 +241,7 @@ #{copyId} AS copy_id FROM panel_link_jump_target_view_info - LEFT JOIN ( + inner JOIN ( SELECT id AS t_id, copy_from AS s_id @@ -251,5 +251,4 @@ copy_id = #{copyId} ) plji_copy ON panel_link_jump_target_view_info.link_jump_info_id = plji_copy.s_id - diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.xml index 509d0ee55e..e6230125c2 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewLinkageMapper.xml @@ -144,7 +144,7 @@ pvt.chart_view_id AS t_chart_view_id FROM panel_view pvt - LEFT JOIN panel_view pvs ON pvt.copy_from = pvs.id + inner JOIN panel_view pvs ON pvt.copy_from = pvs.id WHERE pvt.copy_id = #{copyId} ) pv_source_copy ON panel_view_linkage.panel_id = pv_source_copy.s_panel_id @@ -157,7 +157,7 @@ pvt.chart_view_id AS t_chart_view_id FROM panel_view pvt - LEFT JOIN panel_view pvs ON pvt.copy_from = pvs.id + inner JOIN panel_view pvs ON pvt.copy_from = pvs.id WHERE pvt.copy_id = #{copyId} ) pv_target_copy ON panel_view_linkage.panel_id = pv_target_copy.s_panel_id diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml index 00c0fb301c..1772e2b8e3 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelViewMapper.xml @@ -94,19 +94,20 @@ uuid() AS id, #{newPanelId}, uuid() AS chart_view_id, - create_by, - create_time, - update_by, - update_time, - `position`, - panel_id as copy_from_panel, - chart_view_id as copy_from_view, - id AS copy_from, + panel_view.create_by, + panel_view.create_time, + panel_view.update_by, + panel_view.update_time, + panel_view.`position`, + panel_view.panel_id as copy_from_panel, + panel_view.chart_view_id as copy_from_view, + panel_view.id AS copy_from, #{copyId} as copyId FROM - panel_view + panel_view inner join chart_view on panel_view.chart_view_id = chart_view.id WHERE panel_id = #{sourcePanelId} + and chart_view.id is not null 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 e9d276ecc0..d5ece3cc9e 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -1,5 +1,6 @@ package io.dataease.service.panel; +import com.alibaba.fastjson.JSON; import io.dataease.auth.annotation.DeCleaner; import io.dataease.base.domain.*; import io.dataease.base.mapper.ChartViewMapper; @@ -311,25 +312,33 @@ public class PanelGroupService { List panelViewList = panelViewService.findPanelViews(copyId); String panelData = panelGroupDTO.getPanelData(); if (CollectionUtils.isNotEmpty(panelViewList) && StringUtils.isNotEmpty(panelData)) { - //TODO 替换panel_data viewId 数据 并保存 - for (PanelView panelView : panelViewList) { - panelData = panelData.replaceAll(panelView.getCopyFromView(), panelView.getChartViewId()); + PanelView panelViewtemp = new PanelView(); + try { + //TODO 替换panel_data viewId 数据 并保存 + for (PanelView panelView : panelViewList) { + panelViewtemp = panelView; + panelData = panelData.replaceAll(panelView.getCopyFromView(), panelView.getChartViewId()); + } + panelGroupDTO.setPanelData(panelData); + panelGroupMapper.updateByPrimaryKeySelective(panelGroupDTO); + //TODO 复制跳转信息 copy panel_link_jump panel_link_jump_info panel_link_jump_target_view_info + extPanelLinkJumpMapper.copyLinkJump(copyId); + extPanelLinkJumpMapper.copyLinkJumpInfo(copyId); + extPanelLinkJumpMapper.copyLinkJumpTarget(copyId); + //TODO 复制联动信息 copy panel_view_linkage_field panel_view_linkage + extPanelViewLinkageMapper.copyViewLinkage(copyId); + extPanelViewLinkageMapper.copyViewLinkageField(copyId); + }catch (Exception e){ + e.printStackTrace(); + System.out.println("错误===》panel:"+panelGroupDTO.getId()+";panelView:"+ JSON.toJSONString(panelViewtemp)); } - panelGroupDTO.setPanelData(panelData); - panelGroupMapper.updateByPrimaryKeySelective(panelGroupDTO); - //TODO 复制跳转信息 copy panel_link_jump panel_link_jump_info panel_link_jump_target_view_info - extPanelLinkJumpMapper.copyLinkJump(copyId); - extPanelLinkJumpMapper.copyLinkJumpInfo(copyId); - extPanelLinkJumpMapper.copyLinkJumpTarget(copyId); - //TODO 复制联动信息 copy panel_view_linkage_field panel_view_linkage - extPanelViewLinkageMapper.copyViewLinkage(copyId); - extPanelViewLinkageMapper.copyViewLinkageField(copyId); } } //TODO 清理已经复制过的Panel_view PanelViewExample clearViewExample = new PanelViewExample(); clearViewExample.createCriteria().andCopyFromIsNull(); panelViewMapper.deleteByExample(clearViewExample); + LogUtil.info("=====v1.8版本 仪表板私有化【结束】====="); }