SELECT USERNAME
,d. NAME -- 角色名
,displayname -- 显示报表名称和目录名称
-- ,AUTHORITYENTITYTYPE -- 0-目录权限,2 - 数据连接权限
,case AUTHORITYENTITYTYPE
when 0 then '目录权限'
when 2 then '数据连接权限'
else '未知' end as AUTHORITYTYPE
,case AUTHORITYTYPE
when 1 then '查看权限'
when 2 then '授权权限'
when 3 then '编辑权限'
when 4 then '数据连接管理权限' else '未知' end as AUTHORITYTYPE
,case EXPANDTYPE
when 1 then '平台管理系统节点'
when 2 then '首页'
when 3 then '目录'
when 5 then '链接'
when 6 then '文件'
when 101 then '上报流程'
when 102 then 'FineReport 报表'
when 201 then 'BI 报表' else '未知' end as EXPANDTYPE
-- ,b.ROLETYPE
,case b.ROLETYPE
when 1 then '部门职位'
when 2 then '自定义角色'
else '未知' end as ROLETYPE
-- ,C.ROLETYPE
,case C.ROLETYPE
when 1 then '部门-部门下职务'
when 2 then '自定义角色'
when 3 then '用户'
when 5 then '职务'
else '未知' end as ROLETYPE
-- 所关联的广义角色类型1 - 部门,部门下职务2 - 自定义角色3 - 用户4 - 职务
FROM FINE_USER a -- 用户表
LEFT JOIN FINE_USER_ROLE_MIDDLE b -- 用户角色的中间表
ON a.ID = b.USERID
LEFT JOIN FINE_AUTHORITY c -- 权限表
ON b.roleid = c.roleid
LEFT JOIN FINE_CUSTOM_ROLE d -- 自定义角色表
ON b.roleid = d.id
LEFT JOIN FINE_DEP_ROLE f -- 部分职位中间表
ON b.roleid = f.id
-- LEFT JOIN g -- BI业务包行过滤器表
-- on c.roleid =f.roleid
LEFT JOIN fine_department h -- 部门表
ON f.DEPARTMENTID = h.id
LEFT JOIN FINE_AUTHORITY_OBJECT j -- 权限实体表
ON j.id = c.AUTHORITYENTITYID
LEFT JOIN FINE_POST i ON f.postid = i.id
WHERE a.USERNAME = 'Alice'
-- and EXPANDTYPE = 3 -- 目录
-- and AUTHORITY=2 -- 权限
-- and AUTHORITYENTITYTYPE in (1,0)
GROUP BY USERNAME,
d.NAME,
displayname,
AUTHORITYENTITYTYPE,
AUTHORITYTYPE,
EXPANDTYPE,
b.ROLETYPE,
c.ROLETYPE
+++++++++++++++sql_end+++++++++++++