报表权限问题

我现在用户表里面,有字段来区分用户是全业务权限,还是其他的权限,如医美权限,现在SQL怎么写,如果用户是全业务,就给他看全部的数据,如果是其他的权限,就给他看他权限对应区域的权限

1622791693(1).png

FineReport 理想三旬 发布于 2021-6-4 15:20 (编辑于 2021-6-4 15:28)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-6-4 15:23

那就直接sql数据集判断

select * from 表 where 1=1

'${if(fine_username="全业务",""," and 用户='"+fine_username+"'")}'

  • 理想三旬 理想三旬(提问者) 我这表有个字段是全业务、城市业务、医美业务,但是用户名还是正常的id啊
    2021-06-04 15:26 
  • snrtuemc snrtuemc 回复 理想三旬(提问者) 根据这个思路,如果当前用户进去,查出是全业务,那就where条件1=1不过滤,如果是其他字段,比如城市业务,那就过滤城市业务数据,还是要看你数据表中数据结构是怎么设计的
    2021-06-04 15:29 
  • 理想三旬 理想三旬(提问者) 回复 snrtuemc 不知道SQL怎么写,你看下我的表,我发出来了
    2021-06-04 15:41 
  • snrtuemc snrtuemc 回复 理想三旬(提问者) 你这个全选需要多层子查询嵌套查询,首先根据登录用户,查出 全业务权限,然后根据全业务权限在查询数据,你这个表只能查出,例如,admin 进去,可以查到他的权限access_type是全业务权限,你还要根据 全业务权限取查其他表数据,这个数据拟和全业务权限是怎么联系的?
    2021-06-04 15:45 
  • 理想三旬 理想三旬(提问者) 回复 snrtuemc 依靠store_id这个关联的
    2021-06-04 15:47 
最佳回答
0
luojian0323Lv7资深互助
发布于2021-6-4 15:25(编辑于 2021-6-4 15:25)

你用户部门角色职位是什么样的

你这医美权限,全业务权限是设置在哪里的?

  • 理想三旬 理想三旬(提问者) 有字段区分,但还是得通过用户名来判断
    2021-06-04 15:29 
  • luojian0323 luojian0323 回复 理想三旬(提问者) 用户名是登录用户名吗?还是数字类型的id? 光有用户名不行,要有对应这个用户是哪个权限才可以。所以你的表结构是什么样的要发上来
    2021-06-04 15:37 
  • 理想三旬 理想三旬(提问者) 回复 luojian0323 你看下上面的图
    2021-06-04 15:40 
  • luojian0323 luojian0323 回复 理想三旬(提问者) 你的单独的权限表,还是在业务数据中包含的数据权限?
    2021-06-04 16:16 
最佳回答
0
杨朝健Lv5中级互助
发布于2021-6-4 15:43(编辑于 2021-6-4 15:45)

select *

from 业务表  a

where 1=1

  and exists (

    select 1 from 用户表

    where user_id = '${fine_username}'

      and (access_type='全业务权限' or big_region_name=a.big_region_name or area_name=a.area_name or store_id=a.store_id)

  )

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-6-4 16:00

信息给的不全。

已生美权限为例,它的store_id是BF0268那你的存储数据的表中是不是也有BF0268还是说BF0268包含有其它的标识(如BF026801,BF026802)?

  • 理想三旬 理想三旬(提问者) 有两个用户名被我打了马赛克啊
    2021-06-04 16:02 
  • Z4u3z1 Z4u3z1 回复 理想三旬(提问者) 举个例子: 从用户表中查出张三有生美权限权限(store_id=BF0268),假设要查出销售表中取出生美权限的,那么销售表中是否得有个字段对应store_id=BF0268
    2021-06-04 16:12 
  • 理想三旬 理想三旬(提问者) 回复 Z4u3z1 对啊,就是用store_id来和数据表做关联的
    2021-06-04 16:16 
  • Z4u3z1 Z4u3z1 回复 理想三旬(提问者) 存储数据的表中是不是也有BF0268还是说BF0268包含有其它的标识(如BF026801,BF026802)?
    2021-06-04 16:19 
  • 5关注人数
  • 1041浏览人数
  • 最后回答于:2021-6-4 16:00
    请选择关闭问题的原因
    确定 取消
    返回顶部