---
title: "@组件人员类型范围限制"
docId: "233395097062866944"
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/repository/91f5067f-775e-48f4-93a2-ce84ca0b9c2e/doc/233395097062866944"
---
> 本地sdk方案：支持sqlwhere片段（确保sqlwhere在本服务数据库可查）；优点：需求可以跟灵活，sql可以调优；缺点：只能本服务调用

- 实现人力接口

```java
com.weaver.common.hrm.service.condition.HrmEmpConditionHandler#genSqlwhere
```

- 入参说明
  
  | 参数 | 类型 | 说明 |
  | --- | --- | --- |
  | params | Map<String,Object> | @api请求的参数 |
  | tenantKey | string | 租户 |
  | tbAlias | string | 人员表别名 |
- 返回参数（HrmBrowserCondtionResult）
  
  | 参数 | 类型 | 说明 |
  | --- | --- | --- |
  | sqlwhere | string | sql片段；示例： [e.id](http://e.id) in (931697832467955713) ; 其中 e 是入参中【人员表别名】 |
  |  |  |  |
- 接口实现示例

```java
package com.weaver.teams.hrm.manage.conditiontest;

import com.weaver.common.hrm.domain.browsercondition.HrmBrowserCondtionResult;
import com.weaver.common.hrm.service.condition.HrmEmpConditionHandler;
import org.springframework.stereotype.Service;

import java.util.Map;

@Service("hrm_empcondtionhandler")
public class HrmEmpBasewebConditionHandler implements HrmEmpConditionHandler {
    @Override
    public HrmBrowserCondtionResult genSqlwhere(Map<String, Object> params, String tenantKey, String tbAlias) {
        return HrmBrowserCondtionResult
                .builder()
                .sqlwhere("e.id = 931697832467955713")
                .build()
        ;
    }
}

```

- @框入参中指定实现类

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| conditionBeanName | string | bean的别名，如上图示例中 应该是 hrm_empcondtionhandler |
|  |  |  |

- api请求入参示例

```api
http://127.0.0.1:8090/api/hrm/common/userFast?keywords=xy&conditionBeanName=hrm_empcondtionhandler&virtualId=1
```

- H5的@组件采用人员组织多选浏览按钮（browsercombinationResource）有以下配置
  
    - 在props的commonParams添加：
      
          - selectTypes： 可以限定搜索类型：resource 内部人员、external 外部联系人、dept 部门、group 群组
          - nullAll 是否隐藏所有人， true 是，false 否
          - hideTargetMember 是否隐藏事项成员， true 是 ， false 否
          - disableTabs 隐藏浏览按钮页签列表： all 通讯录、teams 组织架构、channel 群组、mySubordinate 我的下属、external 外部联系人、recently 最近
    - 示例：
      
      ```js
      {
          "commonParams": {
              "selectTypes": [
                  "resource"
              ],
              "nullAll": true,
              "hideTargetMember": true,
              "disableTabs": [
                  "all",
                  "teams",
                  "channel",
                  "mySubordinate",
                  "external"
              ]
          }
      }
      ```
