多级审批

我想实现在一个模板下,根据登录用户不同展现不同数据,业务员只能查看自己的数据,销售经理可以查看华北的数据(数据表中只有业务员这个人员字段,销售经理是我创的用户),销售部长可以查看所有数据。我在数据集中用SELECT * FROM 销量 where 销售员='${fine_username}'这样只能得到业务员的数据,使用销售经理和销售部长就不可以,,请问可以在where下根据不同的角色来筛选不同的数据吗,如是业务员就销售员=$fine_username,销售经理就区域=‘华南’,销售部长就1=1

FineReport yzmM5D3f3873533 发布于 2022-9-14 14:50
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
weibwLv7高级互助
发布于2022-9-14 15:19

给你提供一个思路,像我这样维护一个虚拟的组织架构表。然后将你的数据表和这张表进行关联,就用用户名去关联。然后用户点进来时通过模板参数去虚拟组织架构表里查到这个人的岗位(角色),然后通过判断,如果是业务员,则过滤一下业务员为当前用户的数据。如果角色是销售部长,则过滤所有销售部长为当前用户的数据,依次类推。

image.png

最佳回答
0
芝士汉堡Lv6见习互助
发布于2022-9-14 15:19(编辑于 2022-9-14 15:27)

111.png

//$fine_username   会获取决策系统上的名字,直接拿来在数据源里面判断即可

select *

from 销量

where 1=1

${if(fine_username='销售部长','',

if(fine_username='销售经理'," and 区域='华南'","  and 销售员='"+fine_username+"'"

))}

  • 1关注人数
  • 203浏览人数
  • 最后回答于:2022-9-14 15:27
    请选择关闭问题的原因
    确定 取消
    返回顶部