5级权限

本文详细介绍了ESOP系统中五级权限的概念及查询逻辑,包括省级至客户经理各级权限的实现方式。同时,阐述了如何根据操作员登录获取其最大权限及其对应的组织机构树构造方法。
摘要由CSDN通过智能技术生成

五级权限查询以及ESOP组织机构树构造原理

一.基本概念
客户管理将操作员分为五个角色,分为五级:省级管理员,地市级管理员,区县管理员,客户经理主管,客户经理
对应的字典如下:
select * from dict_item where groupid = 'NGMgrRight';
在业务数据查询时都是需要分权限查询的,省级管理员查询全省的数据,地市管理员查询本地市的数据,区县管理员查询本区县的数据,客户经理查询自己管辖的客户
角色定义在workgroup这个视图中,而给操作员分配对应的角色定义在operator_workgroup视图中。

二.五级权限查询以及组织机构树
1.ESOP系统中五级查询有哪五级,又是如何实现的呢?
ESOP系统中的五级查询分为:省(查询全省数据),市(查询本市数据),县(查询本区县数据),部门(查询部门数据),人员(查询管辖下的数据)
1)省级,地市级操作员查询时只需要region限制条件即可
2)区县一级需要根据区县的id,到v_esop_organization_m视图中迭代出下属所有的组织机构,查询出所有组织机构的值
3)同2)
4)人员一级,需要关联cm_cu_groupcustservchannel(集团客户服务渠道表)查询出本操作员所管辖的集团客户数据

2.当一个操作员登陆时,我们是如何知道他属于哪一级,且最大的组织机构是什么,即操作员的最大权限是如何得到的?
1)首先要了解ESOP系统的权限分为角色权限和数据权限(数据权限,目前只有江苏在用),获取操作员的最大权限,即是取此操作员的角色权限和数据权限的最大值

2)通过查询v_esop_userdataauth表获取操作员的最大数据权限对应的orgid,orglevel。取orglevel最小的一条记录。

    selectorg.orgid, org.orglevel, org.orgname, org.parentid, org.region, org.esop_type

          fromv_esop_organization_m org

          whereorg.orgid in (select t.authobjectid

                      from v_esop_userdataauth t

                     where t.staffid = #staffid#

                       and t.AUTHID = #authid#) and org.esop_type=#esopType#
3)如果是最大数据权限为空,则通过操作员的工号查询operator_workgroup表获取操作员的最大角色,然后根据操作员的不同角色通过查询v_esop_organization_m以及district,organization等表获取角色对应的最大的组织机构orgid,orglevel。

①              取最大的权限角色:           select dict.dictid,

                          dict.dictname,

                          dict.groupid,

                          dict.sortorder,

                          dict.status,

                          dict.statusdate,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值