diff --git a/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java b/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java index 5e4585f513..2c42e6ce24 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java @@ -32,7 +32,7 @@ public interface ExtDataVisualizationMapper { String findDvType(@Param("dvId") Long dvId); void dvCopy(@Param("sourceDvId") Long sourceDvId,@Param("newDvId") Long newDvId,@Param("copyId") Long copyId); - void viewCopyWithDv(@Param("sourceDvId") Long sourceDvId,@Param("newDvId") Long newDvId,@Param("copyId") Long copyId); + void viewCopyWithDv(@Param("sourceDvId") Long sourceDvId,@Param("newDvId") Long newDvId,@Param("copyId") Long copyId,@Param("resourceTable") String resourceTable); List findViewInfoByCopyId(@Param("copyId") Long copyId); DataVisualizationVO findDvInfo(@Param("dvId") Long dvId,@Param("dvType") String dvType,@Param("resourceTable") String resourceTable); diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java index 749b238cb6..01fbdf5364 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java @@ -420,6 +420,7 @@ public class DataVisualizationServer implements DataVisualizationApi { if (DataVisualizationConstants.RESOURCE_OPT_TYPE.COPY.equals(request.getOptType())) { // 复制更新 新建权限插入 visualizationInfoMapper.deleteById(request.getId()); + snapshotMapper.deleteById(request.getId()); visualizationInfo.setNodeType(DataVisualizationConstants.NODE_TYPE.LEAF); } Long newDvId = coreVisualizationManage.innerSave(visualizationInfo); @@ -668,7 +669,8 @@ public class DataVisualizationServer implements DataVisualizationApi { newDv.setPid(request.getPid()); newDv.setCreateTime(System.currentTimeMillis()); // 复制图表 chart_view - extDataVisualizationMapper.viewCopyWithDv(sourceDvId, newDvId, copyId); + extDataVisualizationMapper.viewCopyWithDv(sourceDvId, newDvId, copyId,CommonConstants.RESOURCE_TABLE.CORE); + extDataVisualizationMapper.viewCopyWithDv(sourceDvId, newDvId, copyId,CommonConstants.RESOURCE_TABLE.SNAPSHOT); List viewList = extDataVisualizationMapper.findViewInfoByCopyId(copyId); if (!CollectionUtils.isEmpty(viewList)) { String componentData = newDv.getComponentData(); diff --git a/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml b/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml index c383127ad1..f399c1879d 100644 --- a/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml +++ b/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml @@ -2,7 +2,16 @@ - INSERT INTO `core_chart_view` (`id`, + INSERT INTO + + + `snapshot_core_chart_view` + + + `core_chart_view` + + + (`id`, `title`, `scene_id`, `table_id`, @@ -44,7 +53,7 @@ `flow_map_start_name`, `flow_map_end_name`, `ext_color`) - SELECT core_chart_view.`id` + #{copyId} as id, + SELECT ccv.`id` + #{copyId} as id, `title`, #{newDvId} as scene_id, `table_id`, @@ -81,13 +90,21 @@ `refresh_time`, `linkage_active`, `jump_active`, - core_chart_view.`id` as copy_from, + ccv.`id` as copy_from, #{copyId} as copy_id, `flow_map_start_name`, `flow_map_end_name`, `ext_color` - FROM core_chart_view - WHERE core_chart_view.scene_id = #{sourceDvId} + FROM + + + snapshot_core_chart_view ccv + + + core_chart_view ccv + + + WHERE ccv.scene_id = #{sourceDvId} INSERT INTO `data_visualization_info` (`id`, @@ -257,34 +274,34 @@ - INSERT INTO visualization_link_jump (`id`, + INSERT INTO snapshot_visualization_link_jump (`id`, `source_dv_id`, `source_view_id`, `link_jump_info`, `checked`, `copy_from`, `copy_id`) - SELECT visualization_link_jump.`id` + #{copyId} as id, + SELECT snapshot_visualization_link_jump.`id` + #{copyId} as id, dv_view_copy.t_dv_id as source_dv_id, dv_view_copy.t_chart_view_id as source_view_id, - visualization_link_jump.`link_jump_info`, - visualization_link_jump.`checked`, - visualization_link_jump.`id` as copy_from, + snapshot_visualization_link_jump.`link_jump_info`, + snapshot_visualization_link_jump.`checked`, + snapshot_visualization_link_jump.`id` as copy_from, #{copyId} as copy_id - FROM visualization_link_jump + FROM snapshot_visualization_link_jump INNER JOIN (SELECT pvs.scene_id AS s_dv_id, pvs.id AS s_chart_view_id, pvt.scene_id AS t_dv_id, pvt.id AS t_chart_view_id - FROM core_chart_view pvt - INNER JOIN core_chart_view pvs ON pvt.copy_from = pvs.id + FROM snapshot_core_chart_view pvt + INNER JOIN snapshot_core_chart_view pvs ON pvt.copy_from = pvs.id WHERE pvt.copy_id = #{copyId}) dv_view_copy - ON visualization_link_jump.source_dv_id = dv_view_copy.s_dv_id - AND visualization_link_jump.source_view_id = dv_view_copy.s_chart_view_id + ON snapshot_visualization_link_jump.source_dv_id = dv_view_copy.s_dv_id + AND snapshot_visualization_link_jump.source_view_id = dv_view_copy.s_chart_view_id - INSERT INTO visualization_link_jump_info (id, + INSERT INTO snapshot_visualization_link_jump_info (id, link_jump_id, link_type, jump_type, @@ -295,51 +312,51 @@ `attach_params`, copy_from, copy_id) - SELECT visualization_link_jump_info.`id` + #{copyId} as id, + SELECT snapshot_visualization_link_jump_info.`id` + #{copyId} as id, plj_copy.t_id as link_jump_id, - visualization_link_jump_info.`link_type`, - visualization_link_jump_info.`jump_type`, - visualization_link_jump_info.`target_dv_id`, - visualization_link_jump_info.`source_field_id`, - visualization_link_jump_info.`content`, - visualization_link_jump_info.`checked`, - visualization_link_jump_info.`attach_params`, - visualization_link_jump_info.`id` AS copy_from, + snapshot_visualization_link_jump_info.`link_type`, + snapshot_visualization_link_jump_info.`jump_type`, + snapshot_visualization_link_jump_info.`target_dv_id`, + snapshot_visualization_link_jump_info.`source_field_id`, + snapshot_visualization_link_jump_info.`content`, + snapshot_visualization_link_jump_info.`checked`, + snapshot_visualization_link_jump_info.`attach_params`, + snapshot_visualization_link_jump_info.`id` AS copy_from, #{copyId} AS copy_id - FROM visualization_link_jump_info + FROM snapshot_visualization_link_jump_info INNER JOIN (SELECT id AS t_id, copy_from AS s_id - FROM visualization_link_jump + FROM snapshot_visualization_link_jump WHERE copy_id = #{copyId}) plj_copy - ON visualization_link_jump_info.link_jump_id = plj_copy.s_id + ON snapshot_visualization_link_jump_info.link_jump_id = plj_copy.s_id - INSERT INTO visualization_link_jump_target_view_info (`target_id`, + INSERT INTO snapshot_visualization_link_jump_target_view_info (`target_id`, `link_jump_info_id`, `source_field_active_id`, `target_view_id`, `target_field_id`, `copy_from`, `copy_id`) - SELECT visualization_link_jump_target_view_info.`target_id` + #{copyId} as target_id, + SELECT vljtvi.`target_id` + #{copyId} as target_id, plji_copy.t_id as link_jump_info_id, - visualization_link_jump_target_view_info.`source_field_active_id`, - visualization_link_jump_target_view_info.`target_view_id`, - visualization_link_jump_target_view_info.`target_field_id`, - visualization_link_jump_target_view_info.`target_id` AS copy_from, + vljtvi.`source_field_active_id`, + vljtvi.`target_view_id`, + vljtvi.`target_field_id`, + vljtvi.`target_id` AS copy_from, #{copyId} AS copy_id - FROM visualization_link_jump_target_view_info + FROM snapshot_visualization_link_jump_target_view_info vljtvi INNER JOIN (SELECT id AS t_id, copy_from AS s_id FROM visualization_link_jump_info WHERE copy_id = #{copyId}) plji_copy - ON visualization_link_jump_target_view_info.link_jump_info_id = plji_copy.s_id + ON vljtvi.link_jump_info_id = plji_copy.s_id - INSERT INTO visualization_linkage (`id`, + INSERT INTO snapshot_visualization_linkage (`id`, dv_id, source_view_id, target_view_id, @@ -350,7 +367,7 @@ `ext2`, `copy_from`, `copy_id`) - SELECT visualization_linkage.`id` + #{copyId} as `id`, + SELECT snapshot_visualization_linkage.`id` + #{copyId} as `id`, pv_source_copy.t_dv_id AS dv_id, pv_source_copy.t_chart_view_id AS source_view_id, pv_target_copy.t_chart_view_id AS target_view_id, @@ -359,51 +376,51 @@ `linkage_active`, `ext1`, `ext2`, - visualization_linkage.`id` as copy_from, + snapshot_visualization_linkage.`id` as copy_from, #{copyId} as copy_id - FROM visualization_linkage + FROM snapshot_visualization_linkage INNER JOIN (SELECT pvs.scene_id AS s_dv_id, pvs.id AS s_chart_view_id, pvt.scene_id AS t_dv_id, pvt.id AS t_chart_view_id - FROM core_chart_view pvt - INNER JOIN core_chart_view pvs ON pvt.copy_from = pvs.id + FROM snapshot_core_chart_view pvt + INNER JOIN snapshot_core_chart_view pvs ON pvt.copy_from = pvs.id WHERE pvt.copy_id = #{copyId}) pv_source_copy - ON visualization_linkage.dv_id = pv_source_copy.s_dv_id - AND visualization_linkage.source_view_id = pv_source_copy.s_chart_view_id + ON snapshot_visualization_linkage.dv_id = pv_source_copy.s_dv_id + AND snapshot_visualization_linkage.source_view_id = pv_source_copy.s_chart_view_id INNER JOIN (SELECT pvs.scene_id AS s_dv_id, pvs.id AS s_chart_view_id, pvt.scene_id AS t_dv_id, pvt.id AS t_chart_view_id - FROM core_chart_view pvt - INNER JOIN core_chart_view pvs ON pvt.copy_from = pvs.id + FROM snapshot_core_chart_view pvt + INNER JOIN snapshot_core_chart_view pvs ON pvt.copy_from = pvs.id WHERE pvt.copy_id = #{copyId}) pv_target_copy - ON visualization_linkage.dv_id = pv_target_copy.s_dv_id - AND visualization_linkage.target_view_id = pv_target_copy.s_chart_view_id + ON snapshot_visualization_linkage.dv_id = pv_target_copy.s_dv_id + AND snapshot_visualization_linkage.target_view_id = pv_target_copy.s_chart_view_id - INSERT INTO visualization_linkage_field (id, + INSERT INTO snapshot_visualization_linkage_field (id, `linkage_id`, `source_field`, `target_field`, `update_time`, `copy_from`, `copy_id`) - SELECT visualization_linkage_field.`id` + #{copyId} as `id`, + SELECT snapshot_visualization_linkage_field.`id` + #{copyId} as `id`, pvlf_copy.t_id as `linkage_id`, `source_field`, `target_field`, `update_time`, id AS copy_from, #{copyId} as copy_id - FROM visualization_linkage_field + FROM snapshot_visualization_linkage_field INNER JOIN (SELECT id AS t_id, copy_from AS s_id - FROM visualization_linkage + FROM snapshot_visualization_linkage WHERE copy_id = #{copyId}) pvlf_copy - ON visualization_linkage_field.linkage_id = pvlf_copy.s_id + ON snapshot_visualization_linkage_field.linkage_id = pvlf_copy.s_id