角色有哪些报告的权限

用户想知道这些角色有哪些报告的权限,用到的表有role、role_resource_permission、new_report、folder和project这几张表。项目这个表可用可不用

角色有哪些报告的权限 - 图1

角色有哪些报告的权限 - 图2

报告角色权限表的sql如下:

(SELECT t0.role_id, t0.resource_id, t0.is_folder, t0.permissions, t0.creator_id AS "角色创建者_id"
    , t0.rule, t0.type AS "权限类型", t1.title AS "报告名称", t1.creator_id AS "报告创建人", t1.folder_id AS "文件夹id"
    , t1.category, t1.user_id, t1.project_id, t1.id AS "报告id", t1.status
FROM dashboard.role_resource_permission t0
    LEFT JOIN dashboard.new_report t1 ON t0.resource_id = t1.id
WHERE t0.is_folder = 0
    AND t0.resource_category = 5
    AND t0.resource_type = 0)
UNION
(SELECT a.role_id, a.resource_id, a.is_folder, a.permissions, a.creator_id AS "角色创建者_id"
    , a.rule, a.type AS "权限类型", c.title AS "报告名称", c.creator_id AS "报告创建人", c.folder_id AS "文件夹id"
    , c.category, c.user_id, c.project_id, c.id AS "报告id", c.status
FROM dashboard.role_resource_permission a
    LEFT JOIN folder b ON a.resource_id = b.id
    LEFT JOIN new_report c ON b.id = c.folder_id
WHERE a.is_folder = 1
    AND a.resource_category = 5
    AND a.resource_type = 0)

注意:上面那个sql是限制了资源类型为报告的,其他资源没显示。如果需要其他资源,把resource_category为5的筛选去掉 角色有哪些报告的权限 - 图3