取当前用户的部门编码和名称

想根据登录平台的当前用户获取同部门的人员名称做一个数据集

用$fine_username获取当前用户的编码,怎么查出这个用户的所在部门,部门里有哪些人员。

FineReport yzm187216 发布于 2021-7-23 16:43
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
JackRenLv6初级互助
发布于2021-7-23 17:47

select distinct a.id as 部门编码,a.name as 部门名称,d.userName,d.realName from fine_department a

left join fine_dep_role b on a.id=b.departmentId

left join fine_user_role_middle c on b.id=c.roleId

join fine_user d on c.userId =d.id

where b.id in (select roleId from fine_user a

left join  fine_user_role_middle b on a.id=b.userId

where realName='$fine_username'

and b.roleType=1)

藏的实在是太深了。主要的关联关系如上。

最佳回答
1
snrtuemcLv8专家互助
发布于2021-7-23 16:55

参考FineDB 表结构-https://help.fanruan.com/finereport/doc-view-3151.html

根据fine_username查出人员ID,然后ID匹配roleid,在匹配departmentid,根据departmentid,在fine_dep_role中查出所有id,再根据id查出fine_user_role_middle中的userid

感觉好复杂啊,帆软是根据roleid来关联部门。。。。。

最佳回答
0
liu.yangLv2初级互助
发布于2021-7-23 16:49(编辑于 2021-7-23 16:51)

select  *  from  同步人员信息的表 t  where exists (select 1 from 同步人员信息的表 t1 where t.部门=t1.部门 and t1.员工号='$fine_username')

至于这个同步人员信息的表 你应该知道去哪儿找吧

设计器 ->服务器->服务器数据集 找到你们同步用户信息的那个数据集 里面用到的表 

  • 4关注人数
  • 621浏览人数
  • 最后回答于:2021-7-23 17:47
    请选择关闭问题的原因
    确定 取消
    返回顶部