admin或获取所有部门,其他人员只能获取自己部门,作为数据字典

admin或获取所有部门,其他人员只能获取自己部门,作为数据字典

这个sql怎么判断

where dep_name in ('${joinarray(GETUSERDEPARTMENTS(),"','")}')

这个是获取人员自己部门的sql,外面怎么套一层$fine_username是admin判断的sql

FineReport 冰雨咖啡 发布于 2023-12-29 13:50
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-12-29 13:53

where 1=1

${if(fine_username="admin",""," and dep_name in ('"+joinarray(GETUSERDEPARTMENTS(),"','")+"')")}

  • 冰雨咖啡 冰雨咖啡(提问者) 其他用户结果是空的
    2023-12-29 14:01 
  • snrtuemc snrtuemc 回复 冰雨咖啡(提问者) 这个其他用户,其实就是你自己的那个sql了,你原来语句可以查询吗?
    2023-12-29 14:11 
  • 冰雨咖啡 冰雨咖啡(提问者) 回复 snrtuemc 不加admin判断的haul是可以查到的,下拉的就是自己所在的部门
    2023-12-29 14:14 
  • snrtuemc snrtuemc 回复 冰雨咖啡(提问者) 不会把,我看语句是没有问题,我模拟sql语句都准确。。where后面有1=1,dep_name 前面有个and
    2023-12-29 14:18 
  • 冰雨咖啡 冰雨咖啡(提问者) 回复 snrtuemc 可以了,在数据集里面预览看不到,在前端才能看到
    2023-12-29 14:19 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-12-29 13:53

where 1=1

${if(fine_username='admin',"","and dep_name in ('${joinarray(GETUSERDEPARTMENTS(),"','")}'"))}

最佳回答
0
jenniferjunLv4初级互助
发布于2023-12-29 14:09

 ${if( or(a='admin',LEN(joinarray(GETUSERDEPARTMENTS(2),""))==0),""," and dep_name in ('"+b+"')")}

a公式:$fine_username

b公式  joinarray(GETUSERDEPARTMENTS(2),"','")

2 是第二级的意思

  • 3关注人数
  • 416浏览人数
  • 最后回答于:2023-12-29 14:09
    请选择关闭问题的原因
    确定 取消
    返回顶部