V10关于角色不同,数据权限不同的处理

公司自研的系统上外挂帆软的url,

帆软是用决策报表做的,里面有10个图表块,能获取$fine_username,然后用外挂表A查询$fine_username的角色,用$fine_username查询外挂表B查询该用户的能看哪些公司,然后到外挂表C查询这些公司的数据。

因为是10个图表块,需要每个图表块写一个服务器数据集,都需要进行上述操作。这样相同的sql要执行10遍,有没有什么简单的方法能优化一下吗?

FineReport yunliwuli 发布于 2022-11-2 16:17
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2022-11-2 16:22

这个没办法,目前有多少数据集,就会执行几次,要么减少数据集个数。。。不同图表公用一个数据集

  • yunliwuli yunliwuli(提问者) 老师,每个图标块的逻辑还不太一样,不能写成一个。现在是角色有好几种,过滤数据的字段还不同,写起来复杂。可能要写很多处理。想找个好点的方法让代码好维护一些。
    2022-11-02 16:47 
  • snrtuemc snrtuemc 回复 yunliwuli(提问者) 代码复杂,可以建议数据库视图或者存储过程小处理部分,这样可以减少前端压力
    2022-11-02 16:49 
  • yunliwuli yunliwuli(提问者) 回复 snrtuemc 数据库视图是指建成大体什么样子的?我们这边是有个大数据平台给加工底层数据,但是不让建存储过程。搞的我很难办。
    2022-11-02 16:53 
  • snrtuemc snrtuemc 回复 yunliwuli(提问者) 视图就是sql语句建成的一个虚拟表
    2022-11-02 16:55 
最佳回答
0
weibwLv7高级互助
发布于2022-11-2 16:22

按理说你这个应该是速度最快的,如果你通过fine_username 获取一次公司,然后作为数据集,再通过这个数据集去过滤你的那些图表块的数据的话只是你在开发的时候简单了,但是查询速度就会降低。

  • yunliwuli yunliwuli(提问者) 老师,一个图标块一个数据集,里面这个角色不同,过滤数据的字段不同,写起来比较繁琐。角色不同的这种,你们实现的过程中有什么好方法吗?比如有角色a,角色b,角色c,角色d,四个角色,分别写不同的sql,过滤不同的字段。不知道表述清楚了没有。
    2022-11-02 16:51 
  • 2关注人数
  • 303浏览人数
  • 最后回答于:2022-11-2 16:22
    请选择关闭问题的原因
    确定 取消
    返回顶部