forked from github/dataease
fix:仪表板跳转配置时,删除仪表板ID还在配置选项的问题
This commit is contained in:
parent
e7e6503577
commit
02f4d5bba0
@ -20,4 +20,7 @@ public interface ExtPanelGroupMapper {
|
||||
PanelGroupDTO panelGroup(String id);
|
||||
|
||||
|
||||
void copyPanelView(@Param("pid") String panelId);
|
||||
|
||||
|
||||
}
|
||||
|
@ -167,4 +167,15 @@
|
||||
delete from panel_group where 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}))
|
||||
</delete>
|
||||
|
||||
<insert id="copyPanelView">
|
||||
INSERT INTO panel_view ( id, panel_id, chart_view_id ) SELECT
|
||||
uuid(),
|
||||
#{panelId},
|
||||
chart_view_id
|
||||
FROM
|
||||
panel_view
|
||||
WHERE
|
||||
panel_id = #{panelId}
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
|
@ -17,6 +17,11 @@ public interface ExtPanelLinkJumpMapper {
|
||||
|
||||
void deleteJump(@Param("panelId") String panelId,@Param("viewId") String viewId);
|
||||
|
||||
void deleteJumpTargetViewInfoWithPanel(@Param("panelId") String panelId);
|
||||
|
||||
void deleteJumpInfoWithPanel(@Param("panelId") String panelId);
|
||||
|
||||
void deleteJumpWithPanel(@Param("panelId") String panelId);
|
||||
|
||||
List<PanelLinkJumpDTO> getTargetPanelJumpInfo(@Param("request")PanelLinkJumpBaseRequest request);
|
||||
}
|
||||
|
@ -114,6 +114,38 @@
|
||||
AND lj.source_view_id = #{viewId}
|
||||
</delete>
|
||||
|
||||
|
||||
|
||||
<delete id="deleteJumpTargetViewInfoWithPanel" >
|
||||
DELETE ljtv
|
||||
FROM
|
||||
panel_link_jump_target_view_info ljtv,
|
||||
panel_link_jump_info lji,
|
||||
panel_link_jump lj
|
||||
WHERE
|
||||
ljtv.link_jump_info_id = lji.id
|
||||
AND lji.link_jump_id = lj.id
|
||||
AND (lj.source_panel_id = #{panelId} or lji.target_panel_id = #{panelId})
|
||||
</delete>
|
||||
|
||||
<delete id="deleteJumpInfoWithPanel" >
|
||||
DELETE lji
|
||||
FROM
|
||||
panel_link_jump_info lji,
|
||||
panel_link_jump lj
|
||||
WHERE
|
||||
lji.link_jump_id = lj.id
|
||||
AND (lj.source_panel_id = #{panelId} or lji.target_panel_id = #{panelId})
|
||||
</delete>
|
||||
|
||||
<delete id="deleteJumpWithPanel" >
|
||||
DELETE lj
|
||||
FROM
|
||||
panel_link_jump lj
|
||||
WHERE
|
||||
lj.source_panel_id = #{panelId}
|
||||
</delete>
|
||||
|
||||
<select id="getTargetPanelJumpInfo" resultMap="AllJumpMap">
|
||||
SELECT DISTINCT
|
||||
concat( lj.source_view_id, '#', lji.source_field_id ) AS 'sourceInfo',
|
||||
|
@ -4,6 +4,7 @@ import io.dataease.base.domain.*;
|
||||
import io.dataease.base.mapper.ChartViewMapper;
|
||||
import io.dataease.base.mapper.PanelGroupMapper;
|
||||
import io.dataease.base.mapper.ext.ExtPanelGroupMapper;
|
||||
import io.dataease.base.mapper.ext.ExtPanelLinkJumpMapper;
|
||||
import io.dataease.commons.constants.PanelConstants;
|
||||
import io.dataease.commons.utils.AuthUtils;
|
||||
import io.dataease.commons.utils.TreeUtils;
|
||||
@ -55,6 +56,8 @@ public class PanelGroupService {
|
||||
private SysAuthService sysAuthService;
|
||||
@Resource
|
||||
private PanelViewService panelViewService;
|
||||
@Resource
|
||||
private ExtPanelLinkJumpMapper extPanelLinkJumpMapper;
|
||||
|
||||
|
||||
public List<PanelGroupDTO> tree(PanelGroupRequest panelGroupRequest) {
|
||||
@ -116,7 +119,14 @@ public class PanelGroupService {
|
||||
newPanel.setId(panelId);
|
||||
newPanel.setCreateBy(AuthUtils.getUser().getUsername());
|
||||
panelGroupMapper.insertSelective(newPanel);
|
||||
} else if ("move".equals(request.getOptType())) {
|
||||
|
||||
try{
|
||||
panelViewService.syncPanelViews(newPanel);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
LOGGER.error("更新panelView出错panelId:{}" ,request.getId());
|
||||
} }
|
||||
else if ("move".equals(request.getOptType())) {
|
||||
PanelGroupWithBLOBs panelInfo = panelGroupMapper.selectByPrimaryKey(request.getId());
|
||||
if(panelInfo.getPid().equalsIgnoreCase(request.getPid())){
|
||||
DataEaseException.throwException(Translator.get("i18n_select_diff_folder"));
|
||||
@ -139,6 +149,7 @@ public class PanelGroupService {
|
||||
panelGroupMapper.updateByPrimaryKeySelective(request);
|
||||
}
|
||||
|
||||
|
||||
//带有权限的返回
|
||||
PanelGroupRequest authRequest = new PanelGroupRequest();
|
||||
authRequest.setId(panelId);
|
||||
@ -175,6 +186,11 @@ public class PanelGroupService {
|
||||
storeService.removeByPanelId(id);
|
||||
shareService.delete(id, null);
|
||||
panelLinkService.deleteByResourceId(id);
|
||||
|
||||
//清理跳转信息
|
||||
extPanelLinkJumpMapper.deleteJumpTargetViewInfoWithPanel(id);
|
||||
extPanelLinkJumpMapper.deleteJumpInfoWithPanel(id);
|
||||
extPanelLinkJumpMapper.deleteJumpWithPanel(id);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user