oracle求sql的实现方式&能否把角色做成参数供决策报表的10个图标块过滤数据用?

1.SQL实现方式

有个权限的外挂表A,根据用户id去查询A表中此用户的角色,用户有多个角色。

用户的角色编号中8是管理员,如果该用户的角色编号里面有8的话就是role=管理员。

用户的角色编号中有9,10的是role=用户主管。用户角色编号中有15,16,17的是role=用户经理。

2.能否把role做成参数供决策报表的10个图标块过滤数据用

FineReport yunliwuli 发布于 2022-11-8 10:18 (编辑于 2022-11-8 10:19)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
LTC朝Lv6高级互助
发布于2022-11-8 10:24

通过内置参数$fine_username获取登录者的用户id;

通过id取表中的角色,可以使用数据集函数(https://help.fanruan.com/finereport10.0/doc-view-850.html);

再利用 inarray() 函数判断是否包含某个角色。

最佳回答
1
luojian0323Lv7资深互助
发布于2022-11-8 10:19

image.png

  • yunliwuli yunliwuli(提问者) 老师,我们这个因为有多个部门在用,各个部门角色及权限不同。所以角色是各个部门在外挂的表中自己管理。$fine_role读取不了
    2022-11-08 10:21 
  • luojian0323 luojian0323 回复 yunliwuli(提问者) 那报表平台读取不了外挂平台上的角色 啊。要想办法把角色同步到报表平台。利用报表平台的这个角色 功能实现权限 管理
    2022-11-08 10:22 
  • yunliwuli yunliwuli(提问者) 回复 luojian0323 这个跟帆软的老师讨论过,说是让我们把用户ID同步到决策平台系统,角色是用外挂的表读取。这块我第一次弄也是有些晕乎乎的。
    2022-11-08 10:24 
最佳回答
0
yzm339714Lv6中级互助
发布于2022-11-8 10:23

你可以把用户名作为参数,然后数据集关联下你的外挂表 也可以啊

  • yunliwuli yunliwuli(提问者) 是的,老师,我也是这个思路的。 多角色的sql不知道怎么写。
    2022-11-08 10:26 
  • yzm339714 yzm339714 回复 yunliwuli(提问者) http://t.zoukankan.com/yanggb-p-14130315.html 百度一下嘛,这个是查看是否包含某个字符串的函数
    2022-11-08 11:41 
  • 3关注人数
  • 295浏览人数
  • 最后回答于:2022-11-8 10:24
    请选择关闭问题的原因
    确定 取消
    返回顶部