---
title: "3.5 人员浏览框二开口子自定义数据范围限制"
docId: "408460504604868608"
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/repository/91f5067f-775e-48f4-93a2-ce84ca0b9c2e/doc/408460504604868608"
---
- 人员浏览框二开口子自定义数据范围限制
  
  ### 一、**二开规范文档： **[https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/396ddd87-df07-48a6-bccf-17caa9ceecd5](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/396ddd87-df07-48a6-bccf-17caa9ceecd5)
  
  ### **二、后端埋点：**
  
  #### **埋点拦截参考文档：**[https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/da1e8852-3839-402a-b48c-da80eb89096a](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/da1e8852-3839-402a-b48c-da80eb89096a)
  
  #### **实现内容：**
  
  1.后端通过@WeaHook  注解进行埋点，对应钩子的唯一标识如下：
  
  人员浏览按钮：HRM_RESOURCE_SQL_LIMIT_001
  
  2.参数：
  
  人员浏览按钮：
  
  employeeId: 当前人员id
  
  param：其他业务参数
  
   
  
  3. 二开开发对接方式： 参考 [埋点拦截参考文档](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/da1e8852-3839-402a-b48c-da80eb89096a)  中的 二开跨服务触发使用 部分：
  
  以下是简单测试demo：
  
  ![image.png](../../../assets/1120529750376857639.png)
  
   
  
  4. 二开返回数据说明：即3中WeaHookResponse 中的 result 的值
  
  a. 返回是Map<String,String>类型;
  
  Map<String, String> map = Maps.*newHashMap*();map.put("commonSql", "[e.id](http://e.id) in (790573414778830850,790334631902404611) ");map.put("partTimeSql", "[eo.id](http://eo.id) in (8716836619022337,8493481408294913,8594567188156416) ");map.put("leftCountSql", "[employee.id](http://eo.id) in (8716836619022337,8493481408294913,8594567188156416) ");
  
  b. 返回说明：
  
  commonSql是普通人员范围sql片段，partTimeSql是兼职人员范围sql片段，leftCountSql是组织架构页签左侧组织上的人员统计总数限制
  
  示例：
  
  指定部门示例：map.put("commonSql", "[E.id](http://e.id) in (select id from {$publicdb}.employee where department =831912225857331201 ) ");
  
  E是人员表别名，department是人员表字段部门id，示例表示能查询指定部门为831912225857331201的人员；
  
  如果需要包含兼职在部门为831912225857331201的人员，还需要：map.put("commonSql", "[EO.id](http://e.id) in (select id from {$publicdb}.employee where department =831912225857331201 ) ");
  
  注意：如果sql片段中包含子查询，查询的表必须是eteams库的公共表，且表名前面要增加 {$publicdb}. 前缀，如果返回的sql片段错误会导致整个功能查询数据失败；
  
   
  
  5. 以上功能使用范围：
  
  (1) 以上功能都是针对人员浏览框二开自定义范围限制，如果有开启应用分权功能，则结果集会是应用分权和自定义sql范围限制的交集，如果需要完全自己定义范围，去掉应用分权控制，浏览按钮接口可以增加参数："disableAppDetach":"1"
  
  (2)如果二开返回结果map中commonSql和partTimeSql、leftCountSql的值都为空，则限制范围不受二开自定义控制。
