业务场景
对角色进行权限变更,需要将权限报表从前台导出进行整理,按照角色、用户进行整理,这个整理工作费事费力,标准产品也没有对应的报表进行解决,因此整理出来一个SQL,用于导出角色与用户的报表。只需要在前台把需要变更的角色找出来,进行脚本查找,就能得到角色与用户的报表。
SELECT a.FNUMBER AS "角色编码", b.fname AS "角色名称", c.FUSERID AS "用户内码", d.FNAME AS "用户名称", a.FBELONGORG AS "所属组织", a.FDESCRIPTION AS "描述", a.FIsDefault AS "是否默认", a.FCREATORID AS "创建者", a.FCREATEDATE AS "创建时间", a.FCREATEORG AS "创建组织", a.FFORBIDSTATUS AS "使用状态", a.FDOCUMENTSTATUS AS "数据状态" FROM T_SEC_ROLE a LEFT JOIN T_SEC_ROLE_L b ON a.FROLEID = b.froleid LEFT JOIN T_SEC_ROLEUSER c ON a.FROLEID = c.FROLEID LEFT JOIN T_SEC_USER d on c.FUSERID=d.FUSERID WHERE b.flocaleid = 2052 AND a.FFORBIDSTATUS = 'A' AND a.FDOCUMENTSTATUS = 'C' and (b.fname='角色1' or b.fname='角色2' or b.fname='角色3' or b.fname='角色4' )
不足之处:前面需要通过业务对象角色报表中的【业务对象+权限名称】,将角色查询出来并导出进行角色整理,再通过SQL把角色与用户找出来。
各位大神看看还有没有更优秀的方案?
业务需求是通过业务对象和权限名称将用户+组织+角色快速定位出来,系统标准报表导出的数据太多太乱,还有就是速度太慢,通过SQL脚本是最快的。
推荐阅读