select panel_group.*,
panel_group.name as label,
(select nick_name from sys_user where username = panel_group.create_by) as creator_name,
get_auths(panel_group.id, 'panel', #{userId}) as `privileges`
from panel_group
where id = #{panelId}
select id, name,panel_data from panel_group where node_type = 'panel' and panel_type ='self'
SELECT
panel_group.id,
panel_group.`name`,
panel_group.pid,
panel_group.`level`,
panel_group.node_type,
panel_group.create_by,
panel_group.create_time,
panel_group.panel_type,
panel_group.`name` AS label,
panel_group.`source`,
panel_group.`panel_type`,
panel_group.`status`,
sourcePanelGroup.`mobile_layout`,
sourcePanelGroup.`name` as source_panel_name,
authInfo.privileges as `privileges`
from (select GET_V_AUTH_MODEL_ID_P_USE (#{userId}, 'panel') cids) t,panel_group
LEFT JOIN panel_group sourcePanelGroup
on sourcePanelGroup.id=panel_group.source
left join (
SELECT
auth_source,
group_concat( DISTINCT sys_auth_detail.privilege_extend ) as `privileges`
FROM
(
`sys_auth`
LEFT JOIN `sys_auth_detail` ON ((
`sys_auth`.`id` = `sys_auth_detail`.`auth_id`
)))
WHERE
sys_auth_detail.privilege_value = 1
AND sys_auth.auth_source_type = 'panel'
AND (
(
sys_auth.auth_target_type = 'dept'
AND sys_auth.auth_target IN ( SELECT dept_id FROM sys_user WHERE user_id = #{userId} )
)
OR (
sys_auth.auth_target_type = 'user'
AND sys_auth.auth_target = #{userId}
)
OR (
sys_auth.auth_target_type = 'role'
AND sys_auth.auth_target IN ( SELECT role_id FROM sys_users_roles WHERE user_id = #{userId} )
)
)
GROUP BY
`sys_auth`.`auth_source`
) authInfo
on panel_group.id = authInfo.auth_source
FIND_IN_SET(panel_group.id,cids)
and panel_group.name like CONCAT('%', #{name},'%')
and panel_group.node_type = #{nodeType}
and panel_group.panel_type = #{panelType}
and panel_group.id = #{id}
and panel_group.pid = #{pid}
and panel_group.level = #{level}
ORDER BY CONVERT(panel_group.name using gbk)
SELECT
panel_group.id,
panel_group.`name`,
panel_group.pid,
panel_group.`level`,
panel_group.node_type,
panel_group.create_by,
panel_group.create_time,
panel_group.panel_type,
panel_group.`name` AS label,
panel_group.`node_type`,
panel_group.`mobile_layout`,
panel_group.`status`,
(case when ISNULL(defaultPanelGroup.id) then false else true end) is_default,
defaultPanelGroup.id as default_panel_id,
defaultPanelGroup.`name` as default_panel_name,
authInfo.privileges as `privileges`
from (select GET_V_AUTH_MODEL_ID_P_USE (#{userId}, 'panel') cids) t,panel_group
LEFT JOIN panel_group defaultPanelGroup
on defaultPanelGroup.source=panel_group.id and defaultPanelGroup.source is not null
left join (
SELECT
auth_source,
group_concat( DISTINCT sys_auth_detail.privilege_extend ) as `privileges`
FROM
(
`sys_auth`
LEFT JOIN `sys_auth_detail` ON ((
`sys_auth`.`id` = `sys_auth_detail`.`auth_id`
)))
WHERE
sys_auth_detail.privilege_value = 1
AND sys_auth.auth_source_type = 'panel'
AND (
(
sys_auth.auth_target_type = 'dept'
AND sys_auth.auth_target IN ( SELECT dept_id FROM sys_user WHERE user_id = #{userId} )
)
OR (
sys_auth.auth_target_type = 'user'
AND sys_auth.auth_target = #{userId}
)
OR (
sys_auth.auth_target_type = 'role'
AND sys_auth.auth_target IN ( SELECT role_id FROM sys_users_roles WHERE user_id = #{userId} )
)
)
GROUP BY
`sys_auth`.`auth_source`
) authInfo
on panel_group.id = authInfo.auth_source
FIND_IN_SET(panel_group.id,cids)
and panel_group.name like CONCAT('%', #{name},'%')
and panel_group.node_type = #{nodeType}
and panel_group.panel_type = #{panelType}
and panel_group.id = #{id}
and panel_group.pid = #{pid}
and panel_group.level = #{level}
ORDER BY panel_group.node_type desc, CONVERT(panel_group.name using gbk)
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 from chart_view where FIND_IN_SET(chart_view.scene_id,GET_PANEL_GROUP_WITH_CHILDREN(#{pid}))
delete from chart_view_cache where FIND_IN_SET(chart_view_cache.scene_id,GET_PANEL_GROUP_WITH_CHILDREN(#{pid}))
INSERT INTO panel_view ( id, panel_id, chart_view_id ) SELECT
uuid(),
#{panelId},
chart_view_id
FROM
panel_view
WHERE
panel_id = #{panelId}
DELETE
FROM
chart_view
WHERE
chart_view.chart_type = 'private'
AND chart_view.scene_id = #{panelId}
AND id NOT IN
#{viewId}