权限控制问题:

销售日报表sale_daily,  有门店id(mdid),门店名称(mdmc)楼层(louceng),销售金额(xsje)4个字段,要做到用户test登陆只能看到A门店1F和2F两个楼层的销售情况,怎么能实现。建了一张表 姓名 门店 楼层,怎么和$fine_username关联,语句怎么写才能参数传进去实现查询结果

FineReport ysbin 发布于 2022-10-25 09:48
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
runerLv7资深互助
发布于2022-10-25 09:52(编辑于 2022-10-25 13:56)

 and 1=1 ${if( fine_username=="admin" , "",  "and MASS_NO in ('" + ARRAY(replace(user1,",","','")) + "') " )}

类似与这种的判断

-----------

 and 1=1 ${if( len(fine_username)== 0  , "",  "and md in (select md from 权限表 where name = '"+fine_username+"'  ) " )}

-------

 and 1=1 ${if( len(fine_username)== 0  , "",  "and md in (select md from 权限表 where name = '"+fine_username+"'  ) and louceng in (select louceng from 权限表 where name = '"+fine_username+"'  )" )}

这个的意思是 参数为空不生效,你可以把指定的人判断出来  fine_username = '张三'

------

 and 1=1 ${if( fine_username == "张三" || fine_username == "李四"   , "",  "and md in (select md from 权限表 where name = '"+fine_username+"'  ) and louceng in (select louceng from 权限表 where name = '"+fine_username+"'  )" )}

  • ysbin ysbin(提问者) 还要加个楼层呢?应该怎么写?
    2022-10-25 10:06 
  • runer runer 回复 ysbin(提问者) 道理一样,补充了
    2022-10-25 10:20 
  • ysbin ysbin(提问者) 非常感谢,最后再问一下。如果有几个人是集团权限,所有门店,所有部门的,怎么样方便?不用表里每家店,每个楼层都加,这样可行吗?
    2022-10-25 10:42 
  • runer runer 回复 ysbin(提问者) 那你直接再len(参数) == 0 那个里面判断 ,参数 =\"张三\",参数不生效;这个也是写死的; 或者门店部门 赋值,999加一层判断,
    2022-10-25 10:44 
  • ysbin ysbin(提问者) 回复 runer 如果有张三和李四,两个人集团权限,这个应该怎么写?
    2022-10-25 11:13 
最佳回答
0
qqqLv3见习互助
发布于2022-10-25 10:49(编辑于 2022-10-25 10:51)

先进入权限编辑

image.png

然后选中你要设置权限的位置,在给对应角色添加权限

image.png

这个是进入权限编辑后,左下角位置

直接写公式就能获取到

image.png

  • 3关注人数
  • 255浏览人数
  • 最后回答于:2022-10-25 13:56
    请选择关闭问题的原因
    确定 取消
    返回顶部