求权限查询的写法

${if(find(fr_username,"sdyr,ewqe")>0,"",if(GETUSERJOBTITLES()='部门主任',"and ((department.dept_name='"+GETUSERDEPARTMENTS()+"' and (USER_PRIV_NAME='经理' or USER_PRIV_NAME='员工')) or USER.user_name='"+fr_username+"')","and USER.user_name='"+fr_username+"'"))}

上面是 部门主任能看到本部门所有人的数据,其他人只能看到自己的数据

现在想改成部门主任和经理能看到本部门所有人,其他人只能看到自己的数据

FineReport wgw3721 发布于 2023-4-17 17:42
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
用户S5182147Lv6中级互助
发布于2023-4-17 20:14(编辑于 2023-4-18 10:22)

在原先的判断中,增加一个判断就行了:

${if(find(fr_username,"sdyr,ewqe")>0,"",

if(GETUSERJOBTITLES()='部门主任' || GETUSERJOBTITLES()='经理',

"and ((department.dept_name='"+GETUSERDEPARTMENTS()+"' and (USER_PRIV_NAME='经理' or USER_PRIV_NAME='员工')) or USER.user_name='"+fr_username+"')",

"and USER.user_name='"+fr_username+"'"))}

  • wgw3721 wgw3721(提问者) 这个答案 部门主任可以看到整个部门的数据,但是经理只能看到经理和员工的,看不到部门主任的
    2023-04-18 08:51 
  • 用户S5182147 用户S5182147 回复 wgw3721(提问者) 看最新答案
    2023-04-18 10:22 
  • wgw3721 wgw3721(提问者) 回复 用户S5182147 经理还是看不到主任的数据!
    2023-04-18 11:23 
  • 用户S5182147 用户S5182147 回复 wgw3721(提问者) 那你就看下经理登录的账号,GETUSERJOBTITLES() 返回的值是不是 = \'经理\' ,一样的话,应该是能看见的。或者你要看下获取数据的数据集中,这个权限sql是不是有漏替换的。
    2023-04-19 09:39 
  • 2关注人数
  • 786浏览人数
  • 最后回答于:2023-4-18 10:22
    请选择关闭问题的原因
    确定 取消
    返回顶部