delete from panel_view_linkage where panel_view_linkage.panel_id = #{panelId} AND panel_view_linkage.source_view_id = #{sourceViewId} DELETE pvl FROM panel_view_linkage pvl, panel_view_linkage_field pvlf WHERE pvl.id = pvlf.linkage_id AND pvl.source_view_id = #{panelId} AND pvl.panel_id = #{panelId} INSERT INTO `panel_view_linkage` ( menu_id, title, pid, sub_count, permission, hidden,i_frame ) VALUES (#{menu.menuId},#{menu.title},#{menu.pid},#{menu.subCount},#{menu.permission},#{menu.hidden},ifnull(#{menu.hidden},0)) INSERT INTO panel_view_linkage ( id, panel_id, source_view_id, target_view_id, update_time, update_people, ext1, ext2, copy_from, copy_id ) SELECT UUID() AS id, pv_source_copy.t_panel_id AS panel_id, pv_source_copy.t_chart_view_id AS source_view_id, pv_target_copy.t_chart_view_id target_view_id, update_time, update_people, ext1, ext2, id as copy_from, #{copyId} as copy_id FROM panel_view_linkage INNER JOIN ( SELECT pvs.panel_id AS s_panel_id, pvs.chart_view_id AS s_chart_view_id, pvt.panel_id AS t_panel_id, pvt.chart_view_id AS t_chart_view_id FROM panel_view pvt 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 AND panel_view_linkage.source_view_id = pv_source_copy.s_chart_view_id INNER JOIN ( SELECT pvs.panel_id AS s_panel_id, pvs.chart_view_id AS s_chart_view_id, pvt.panel_id AS t_panel_id, pvt.chart_view_id AS t_chart_view_id FROM panel_view pvt 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 AND panel_view_linkage.target_view_id = pv_target_copy.s_chart_view_id INSERT INTO panel_view_linkage_field ( id, linkage_id, source_field, target_field, update_time, copy_from, copy_id ) SELECT uuid() AS id, pvlf_copy.t_id, source_field, target_field, update_time, id AS copy_from, #{copyId} AS copy_id FROM panel_view_linkage_field INNER JOIN ( SELECT id AS t_id, copy_from AS s_id FROM panel_view_linkage WHERE copy_id = #{copyId} ) pvlf_copy ON panel_view_linkage_field.linkage_id = pvlf_copy.s_id