我们可以通过【管理系统】查看单个人员对应的目录权限,并且无法导出,但是我们可以通过FineDB表结构以及表之间的关系使用SQL导出,以下是Oracle 语法FineDB查询表与角色和人员关系的SQL语句
select id, path, parent2, parent3, parent4, displayname, nvl(max(authority_r), 'N') authority_r, nvl(max(authority_w), 'N') authority_w, role_name, role_category, realname, username from (select a.id, cast(a.path as varchar(100)) path, c.DISPLAYNAME parent2, d.DISPLAYNAME parent3, e.DISPLAYNAME parent4, a.DISPLAYNAME, FINE_AUTHORITY.AUTHORITY, decode(cast(FINE_AUTHORITY.AUTHORITYTYPE as number), 1, 'Y', null) AUTHORITY_R, decode(cast(FINE_AUTHORITY.AUTHORITYTYPE as number), 3, 'Y', null) AUTHORITY_W, role_name, role_category, FINE_USER.REALNAME, FINE_USER.USERNAME from (select id, path, DISPLAYNAME, substr(FULLPATH, instr(FULLPATH, '-_-', 1, 1) + 3, instr(FULLPATH, '-_-', 1, 2) - 3 - instr(FULLPATH, '-_-', 1, 1)) p2, case when instr(FULLPATH, '-_-', 1, 3) > 0 then substr(FULLPATH, instr(FULLPATH, '-_-', 1, 2) + 3, instr(FULLPATH, '-_-', 1, 3) - 3 - instr(FULLPATH, '-_-', 1, 2)) else substr(FULLPATH, instr(FULLPATH, '-_-', 1, 2) + 3, length(FULLPATH) - 2 - instr(FULLPATH, '-_-', 1, 2)) end p3, case when instr(FULLPATH, '-_-', 1, 3) > 0 then substr(FULLPATH, instr(FULLPATH, '-_-', 1, 3) + 3, length(FULLPATH) - 2 - instr(FULLPATH, '-_-', 1, 3)) end p4 from FINE_AUTHORITY_OBJECT where 1=1 -- 报表模板路径 -- and path like '01/07/%' -- 报表目录名称 -- and DISPLAYNAME like '%周期%' ) a left join (select id, DISPLAYNAME from FINE_AUTHORITY_OBJECT) c on a.p2 = c.id left join (select id, DISPLAYNAME from FINE_AUTHORITY_OBJECT) d on a.p3 = d.id left join (select id, DISPLAYNAME from FINE_AUTHORITY_OBJECT) e on a.p4 = e.id
left join (select id, authority, AUTHORITYTYPE, AUTHORITYENTITYID, ROLEID from FINE_AUTHORITY) FINE_AUTHORITY on a.ID = FINE_AUTHORITY.AUTHORITYENTITYID left join (select id, REALNAME, UserName, '' role_name, 'user' role_category from FINE_USER union
select distinct FINE_CUSTOM_ROLE.id, FINE_USER.REALNAME, FINE_USER.UserName, FINE_CUSTOM_ROLE.name, 'role' role_category from (select id, name from FINE_CUSTOM_ROLE) FINE_CUSTOM_ROLE inner join (select id, ROLEID, UserID from FINE_USER_ROLE_MIDDLE) FINE_USER_ROLE_MIDDLE on FINE_CUSTOM_ROLE.id = FINE_USER_ROLE_MIDDLE.ROLEID inner join (select id, REALNAME, UserName from FINE_USER) FINE_USER on FINE_USER_ROLE_MIDDLE.userID = FINE_USER.id) FINE_USER on FINE_AUTHORITY.ROLEID = FINE_USER.ID) dw_role where (AUTHORITY_R is not null or AUTHORITY_W is not null) and AUTHORITY = 2 group by id, path, parent2, parent3, parent4, displayname, role_name, role_category, realname, username order by parent2, parent3, parent4
|