kd.bos.servicehelper.user

## 类 UserServiceHelper

- java.lang.Object
- - kd.bos.servicehelper.user.UserServiceHelper

-     @KSObject
      public class UserServiceHelper
      extends java.lang.Object

  公共资料服务类：人员

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static java.lang.String` | `cacheKey`
    `static java.lang.String` | `ENTITY_USER_DEFAULT_ORG`
    `static java.lang.String` | `entityID_uitheme`
    `static java.lang.String` | `entityID_user`
    `static java.lang.String` | `entityID_userChange`
    `static java.lang.String` | `entityID_userposition`
    `static java.lang.String` | `entityID_useruitheme`
    `static java.lang.String` | `ORG`
    `static long` | `ROOT_ORG_ID`
    `static java.lang.String` | `USER`

  - ### 构造器概要

    构造器
    构造器和说明
    `UserServiceHelper()`

  - ### 方法概要

    所有方法 静态方法 实例方法 具体方法 已过时的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static void` | `add(java.util.List<kd.bos.permission.model.UserParam> userList)`
    `static void` | `addOrUpdate(java.util.List<kd.bos.permission.model.UserParam> userList)`
    `static java.util.Map<java.lang.String,java.lang.Object>` | `changePsw(long userId, java.lang.String password)` 已过时。
    `static java.util.Map<java.lang.String,java.lang.Object>` | `changePsw(long userId, java.lang.String oldPassword, java.lang.String newPassword)` 设置用户密码的接口
    `static void` | `delete(java.util.List<kd.bos.permission.model.UserParam> userList)`
    `static void` | `disable(java.util.List<kd.bos.permission.model.UserParam> userList)`
    `static void` | `disableHR(java.util.List<kd.bos.permission.model.UserParam> userList)`
    `static void` | `enable(java.util.List<kd.bos.permission.model.UserParam> userList)`
    `static void` | `enableHR(java.util.List<kd.bos.permission.model.UserParam> userList)`
    `static java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `get(java.util.List<java.lang.Long> userIds)`
    `static java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `get(java.util.List<java.lang.Long> userIds, java.lang.String[] properties, java.lang.String[] jobProperties)`
    `static java.util.List<java.lang.Long>` | `getAllDepartmentByUserId(long userId)`
    `static java.util.List<java.lang.Long>` | `getAllUsersOfOrg(java.util.List<java.lang.Long> orgIds)` 得到给定组织集合的全部人员，包括直属员工和下属组织的员工
    `static java.util.List<java.lang.Long>` | `getAllUsersOfOrg(java.util.List<java.lang.Long> orgIds, boolean isFindSubOrg)`
    `static java.util.List<java.lang.Long>` | `getAllUsersOfOrg(long orgId)` 得到当前组织的全部人员，包括直属员工和下属组织的员工
    `static kd.bos.dataentity.entity.DynamicObject` | `getCurrentUser(java.lang.String fieldName)`
    `static kd.bos.dataentity.entity.DynamicObjectCollection` | `getCurrentUserDepts(java.lang.String fieldName, boolean isIncludeSubOrg)`
    `static long` | `getCurrentUserId()`
    `static kd.bos.dataentity.entity.DynamicObjectCollection` | `getCurrentUserInchargeDepts(java.lang.String fieldName, boolean isIncludeSubOrg)`
    `static java.util.Map<java.lang.String,java.lang.Object>` | `getDefaultUIThemeNumAndVer()` 描述：获取默认主题
    `static java.util.List<java.lang.Long>` | `getDirectUsersOfOrg(long orgId)` 得到当前组织的直属员工（人员）
    `static java.util.List<java.lang.Long>` | `getInchargeOrgs(long userID, boolean isIncludeSubOrg)` 获取指定人员的负责部门
    `static java.util.List<java.lang.Long>` | `getManagersOfOrg(long orgId)` 获取当前组织的负责人，因为允许有多个人，返回列表
    `static java.util.List<java.lang.Long>` | `getMangedOrgsOfUser(long userId)` 得到当前用户负责的所有组织
    `static java.util.List<java.lang.Long>` | `getOrgsUserJoin(long userId)` 得到用户加入的所有组织
    `static java.lang.String` | `getPerson(long orgId, long userId, kd.bos.permission.model.PersonQueryType queryType, java.util.List<java.lang.Long> resultList)` 已过时。
    `static java.util.List<java.lang.Long>` | `getPerson(kd.bos.permission.model.PersonQueryParam personQueryParam)`
    `static java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `getPosition(java.util.List<java.lang.Long> userIds)`
    `static java.lang.String` | `getThemeCSS(java.lang.String themeNum)` 描述：获取界面主题样式内容
    `static java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `getUserChangeInfos(java.lang.String timestamp)` 描述：取人员变动信息接口
    `static long` | `getUserDefaultOrgID(long userID)`
    `static java.util.List<java.lang.Long>` | `getUserDepartment(long userId, boolean isOnlyChargeOrg)`
    `static java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `getUserIndirectSuperior(java.lang.String formId, long userId, long orgId, java.util.Date bizDate)`
    `static java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `getUserInfoByID(java.util.List<java.lang.Long> userID)` 根据用户id获取用户信息（批量）
    `static java.util.Map<java.lang.String,java.lang.Object>` | `getUserInfoByID(long userID)` 根据用户id获取用户信息（单个）
    `static kd.bos.dataentity.entity.DynamicObject` | `getUserInfoByID(java.lang.Long userID, java.lang.String selector)` 根据用户ID获取人员信息
    `static java.util.Map<java.lang.Long,java.util.Map<java.lang.String,java.lang.Object>>` | `getUserInfoByIndirectSuperior(long userId)` 获取间接上级信息 间接上级=直接上级的直接上级 如果没有直接上级的直接上级，则返回直接上级（根组织负责人）
    `static java.util.Map<java.lang.Long,java.util.Map<java.lang.String,java.lang.Object>>` | `getUserInfoBySuperior(long userId)`
    `static java.util.Map<java.lang.Long,java.lang.String>` | `getUserMainJob(java.util.List<java.lang.Long> userIds)`
    `static java.lang.String` | `getUserMainJob(long userId)`
    `static java.util.List<java.util.Map<java.lang.Long,java.lang.Long>>` | `getUserMainOrgId(java.util.List<java.lang.Long> lstUserIds)` 批量获取用户的主职部门
    `static long` | `getUserMainOrgId(long userID)` 获取用户的主要职务部门
    `static java.util.List<java.lang.Long>` | `getUserMainOrgIds(java.util.List<java.lang.Long> userIds)`
    `static java.util.List<java.lang.Long>` | `getUsersByIndirectSubordinate(long userId)` 已过时。
    `static java.util.List<java.lang.Long>` | `getUsersByIndirectSuperior(long userId)` 已过时。
    `static java.util.List<java.lang.Long>` | `getUsersBySubordinate(long userId)` 已过时。
    `static java.util.List<java.lang.Long>` | `getUsersBySubordinate(long userId, boolean includeIndirect)` 已过时。
    `static java.util.List<java.lang.Long>` | `getUsersBySuperior(long userId)` 已过时。
    `static java.util.List<java.lang.Long>` | `getUsersOfEqualLevel(long userId)` 获取当前用户（人员）A的全部平级用户（人员）,默认不包括当前用户A
    `static java.util.List<java.lang.Long>` | `getUsersOfEqualLevel(long userId, boolean bIncludeCurUser)` 获取当前用户（人员）A的全部平级用户（人员）
    `static java.util.List<java.lang.Long>` | `getUserSubordinate(long userId, int limitLevel)`
    `static java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `getUserSuperior(java.lang.String formId, long userId, long orgId, java.util.Date bizDate)`
    `static java.util.Map<java.lang.String,java.lang.Object>` | `getUserTheme(java.lang.Long userID)` 描述：获取用户界面主题
    `static java.lang.Long` | `getUserThemeID(java.lang.Long userID)` 描述：获取用户界面主题
    `static java.util.Map<java.lang.String,java.lang.Object>` | `getUserThemeNumAndVer(java.lang.Long userID)` 描述：获取当前用户对应主题及主题版本号
    `static java.lang.Boolean` | `isFirstLogin(java.lang.Long userId)` 描述：检查用户是否第一次登陆
    `static boolean` | `isUserBelongTo(java.lang.Long userId, java.lang.Long orgId)` 描述：判断某个人员是否属于某个组织（包括所有上级组织）
    `static java.util.Map<java.lang.Long,java.lang.Boolean>` | `isUserEnable(java.util.List<java.lang.Long> userIds)`
    `static boolean` | `isUserEnable(long userId)`
    `static void` | `setUserDefaultOrg(long userID, long defaultOrgID)`
    `static void` | `setUserTheme(java.lang.Long userID, java.lang.Long themeID)` 描述：设置用户界面主题
    `static boolean` | `setUserTheme(java.lang.Long userID, java.lang.String themeNumber)` 描述：设置用户界面主题
    `static void` | `switchUserDefaultOrg(long defaultOrgID)`
    `static void` | `update(java.util.List<kd.bos.permission.model.UserParam> userList)`
    `static void` | `updateFirstLoginFlag(java.lang.Long userId)` 描述：更新用户首次登陆标记
    `static void` | `updatePosition(java.util.List<kd.bos.permission.model.UserParam> userList)`
    `boolean` | `updateUserChange(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> userMapList)` 更新人员变动表，这里分别有两个状态，新增和修改
    `boolean` | `updateUserChange(java.util.Map<java.lang.String,java.lang.Object> userMap)` 更新人员变动表，这里分别有两个状态，新增和修改
    `static java.util.Map<java.lang.String,java.lang.Object>` | `verifyPSWStrategy(java.lang.String password)` 验证密码策略

    - ### 从类继承的方法 java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细资料

    - #### entityID_user

          public static final java.lang.String entityID_user

      另请参阅:
        常量字段值

    - #### entityID_userposition

          public static final java.lang.String entityID_userposition

      另请参阅:
        常量字段值

    - #### entityID_userChange

          public static final java.lang.String entityID_userChange

      另请参阅:
        常量字段值

    - #### entityID_uitheme

          public static final java.lang.String entityID_uitheme

      另请参阅:
        常量字段值

    - #### entityID_useruitheme

          public static final java.lang.String entityID_useruitheme

      另请参阅:
        常量字段值

    - #### USER

          public static final java.lang.String USER

      另请参阅:
        常量字段值

    - #### ORG

          public static final java.lang.String ORG

      另请参阅:
        常量字段值

    - #### ENTITY_USER_DEFAULT_ORG

          public static final java.lang.String ENTITY_USER_DEFAULT_ORG

      另请参阅:
        常量字段值

    - #### cacheKey

          public static final java.lang.String cacheKey

      另请参阅:
        常量字段值

    - #### ROOT_ORG_ID

          public static final long ROOT_ORG_ID

      另请参阅:
        常量字段值

  - ### 构造器详细资料

    - #### UserServiceHelper

          public UserServiceHelper()

  - ### 方法详细资料

    - #### getCurrentUser

          public static kd.bos.dataentity.entity.DynamicObject getCurrentUser(java.lang.String fieldName)

    - #### getCurrentUserInchargeDepts

          public static kd.bos.dataentity.entity.DynamicObjectCollection getCurrentUserInchargeDepts(java.lang.String fieldName,
                                                                                                     boolean isIncludeSubOrg)

    - #### getCurrentUserDepts

          public static kd.bos.dataentity.entity.DynamicObjectCollection getCurrentUserDepts(java.lang.String fieldName,
                                                                                             boolean isIncludeSubOrg)

    - #### getCurrentUserId

          public static long getCurrentUserId()

    - #### getUserMainOrgId

          public static long getUserMainOrgId(long userID)

      获取用户的主要职务部门
      参数:
        `userID` - 人员内码
      返回:
        主职部门内码

    - #### getUserMainOrgIds

          public static java.util.List<java.lang.Long> getUserMainOrgIds(java.util.List<java.lang.Long> userIds)

      参数:
        `userIds` -
      返回:

    - #### getUserMainOrgId

          public static java.util.List<java.util.Map<java.lang.Long,java.lang.Long>> getUserMainOrgId(java.util.List<java.lang.Long> lstUserIds)

      批量获取用户的主职部门
      参数:
        `lstUserIds` - 用户内码列表
      返回:
        主职部门内码

    - #### getOrgsUserJoin

          public static java.util.List<java.lang.Long> getOrgsUserJoin(long userId)

      得到用户加入的所有组织
      参数:
        `userId` - 用户内码
      返回:
        组织id列表

    - #### getMangedOrgsOfUser

          public static java.util.List<java.lang.Long> getMangedOrgsOfUser(long userId)

      得到当前用户负责的所有组织
      参数:
        `userId` - 用户内码
      返回:
        组织id列表

    - #### getUsersOfEqualLevel

          public static java.util.List<java.lang.Long> getUsersOfEqualLevel(long userId)

      获取当前用户（人员）A的全部平级用户（人员）,默认不包括当前用户A
      参数:
        `userId` - 当前用户内码
      返回:
        平级用户（人员）的内码，需要判断为空的处理

    - #### getUsersOfEqualLevel

          public static java.util.List<java.lang.Long> getUsersOfEqualLevel(long userId,
                                                                            boolean bIncludeCurUser)

      获取当前用户（人员）A的全部平级用户（人员）
      参数:
        `userId` - 用户内码
        `bIncludeCurUser` - 是否包括当前用户
      返回:
        平级用户（人员）的内码，需要判断为空的处理

    - #### getManagersOfOrg

          public static java.util.List<java.lang.Long> getManagersOfOrg(long orgId)

      获取当前组织的负责人，因为允许有多个人，返回列表
      参数:
        `orgId` - 组织内码
      返回:
        负责人列表

    - #### getDirectUsersOfOrg

          public static java.util.List<java.lang.Long> getDirectUsersOfOrg(long orgId)

      得到当前组织的直属员工（人员）
      参数:
        `orgId` - 当前组织
      返回:
        人员列表

    - #### getAllUsersOfOrg

          @KSMethod
          public static java.util.List<java.lang.Long> getAllUsersOfOrg(long orgId)

      得到当前组织的全部人员，包括直属员工和下属组织的员工
      参数:
        `orgId` - 组织内码
      返回:
        人员列表

    - #### getAllUsersOfOrg

          public static java.util.List<java.lang.Long> getAllUsersOfOrg(java.util.List<java.lang.Long> orgIds)

      得到给定组织集合的全部人员，包括直属员工和下属组织的员工
      参数:
        `orgId` - 组织内码
      返回:
        人员列表

    - #### getAllUsersOfOrg

          public static java.util.List<java.lang.Long> getAllUsersOfOrg(java.util.List<java.lang.Long> orgIds,
                                                                        boolean isFindSubOrg)

      参数:
        `orgIds` -
        `isFindSubOrg` - 是否查询下级组织
      返回:

    - #### getUsersBySuperior

          @Deprecated
          public static java.util.List<java.lang.Long> getUsersBySuperior(long userId)

      已过时。
      得到当前用户的所有上级负责人
      参数:
        `userId` - 当前用户
      返回:
        用户列表

    - #### getUserInfoBySuperior

          public static java.util.Map<java.lang.Long,java.util.Map<java.lang.String,java.lang.Object>> getUserInfoBySuperior(long userId)

      参数:
        `userId` -
      返回:
        人员信息Map：<人员ID, <属性名，属性值>>

    - #### getUsersBySubordinate

          @Deprecated
          public static java.util.List<java.lang.Long> getUsersBySubordinate(long userId,
                                                                                          boolean includeIndirect)

      已过时。
      获得当前人的所有下属，包括直接下属，根据参数获取间接下级
      参数:
        `userId` - 当前用户
        `includeIndirect` - 是否包括间接下级
      返回:
        用户列表

    - #### getUsersBySubordinate

          @Deprecated
          public static java.util.List<java.lang.Long> getUsersBySubordinate(long userId)

      已过时。
      获取当前用户的直接下级
      参数:
        `userId` - 用户ID
      返回:
        用户列表

    - #### getUsersByIndirectSuperior

          @Deprecated
          public static java.util.List<java.lang.Long> getUsersByIndirectSuperior(long userId)

      已过时。
      获取间接上级 间接上级=直接上级的直接上级 如果没有直接上级的直接上级，则返回直接上级（根组织负责人）
      参数:
        `userId` - 用户内码
      返回:
        人员列表

    - #### getUserInfoByIndirectSuperior

          public static java.util.Map<java.lang.Long,java.util.Map<java.lang.String,java.lang.Object>> getUserInfoByIndirectSuperior(long userId)

      获取间接上级信息 间接上级=直接上级的直接上级 如果没有直接上级的直接上级，则返回直接上级（根组织负责人）
      参数:
        `userId` - 用户内码
      返回:
        人员信息Map：<人员ID, <属性名，属性值>>

    - #### getUsersByIndirectSubordinate

          @Deprecated
          public static java.util.List<java.lang.Long> getUsersByIndirectSubordinate(long userId)

      已过时。
      获得间接下级，是否是只取间接下级组织的负责人？？需求待定
      参数:
        `userId` - 用户内码
      返回:
        人员列表

    - #### getInchargeOrgs

          public static java.util.List<java.lang.Long> getInchargeOrgs(long userID,
                                                                       boolean isIncludeSubOrg)

      获取指定人员的负责部门
      参数:
        `userId` - 人员ID
        `isIncludeSubOrg` - 是否包含下级部门
      返回:
        List 组织ID列表

    - #### getUserChangeInfos

          public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getUserChangeInfos(java.lang.String timestamp)

      描述：取人员变动信息接口
      参数:
        `timestamp` - 查询时间戳，格式YYYY-MM-dd
      返回:
        List> 人员变动信息列表，Map格式， key:id,uid,number,name,dpt,phone,email,chargerName,chargerNumber,companyName,changeType 描述：人员ID，云之家UID、工号、姓名、部门、手机、邮箱，部门负责人及其工号、调用部门所属公司名称、变更类型（新增、修改、删除，禁用）。 变更类型:1：新增 2：修改 3：删除 4:禁用

    - #### updateUserChange

          public boolean updateUserChange(java.util.Map<java.lang.String,java.lang.Object> userMap)

      更新人员变动表，这里分别有两个状态，新增和修改
      参数:
        `userMap` - 人员变动数据包，数据包应包含以下信息：userID，number，phone，changeTime，trueName,changeType changeType 变更状态，这里有几种：New-新增，Modity-修改，del-删除，disable-禁用，enable-启用
      返回:
        是否成功

    - #### updateUserChange

          public boolean updateUserChange(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> userMapList)

      更新人员变动表，这里分别有两个状态，新增和修改
      参数:
        `userMapList` - 人员变动数据包，数据包应包含以下信息：userID，number，phone，changeTime，trueName,changeType changeType 变更状态，这里有几种：New-新增，Modity-修改，del-删除，disable-禁用，enable-启用
      返回:
        是否成功

    - #### getUserInfoByID

          public static java.util.Map<java.lang.String,java.lang.Object> getUserInfoByID(long userID)

      根据用户id获取用户信息（单个）
      参数:
        `userID用户id` -
      返回:
        包含人员的userid、uid、number、name、phone、email、type的map

    - #### getUserInfoByID

          public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getUserInfoByID(java.util.List<java.lang.Long> userID)

      根据用户id获取用户信息（批量）
      参数:
        `userID用户id列表` -
      返回:
        包含人员的userid、uid、number、name、phone、email、type的map

    - #### getUserInfoByID

          public static kd.bos.dataentity.entity.DynamicObject getUserInfoByID(java.lang.Long userID,
                                                                               java.lang.String selector)

      根据用户ID获取人员信息
      参数:
        `userID` - 用户id
        `selector` - 查询字段
      返回:
        DynamicObject 人员信息动态对象

    - #### getDefaultUIThemeNumAndVer

          public static java.util.Map<java.lang.String,java.lang.Object> getDefaultUIThemeNumAndVer()

      描述：获取默认主题
      返回:
        Map key1: themeNum 主题编码; key2: themeVer 主题版本;key3:themeName 主题名称

    - #### getThemeCSS

          public static java.lang.String getThemeCSS(java.lang.String themeNum)

      描述：获取界面主题样式内容
      参数:
        `themeNum` - 主题编码
      返回:
        String 界面主题样式内容

    - #### getUserThemeNumAndVer

          public static java.util.Map<java.lang.String,java.lang.Object> getUserThemeNumAndVer(java.lang.Long userID)

      描述：获取当前用户对应主题及主题版本号
      参数:
        `userID` - 用户ID
      返回:
        Map key1: themeNum 主题编码; key2: themeVer 主题版本;key3:themeName 主题名称

    - #### getUserThemeID

          public static java.lang.Long getUserThemeID(java.lang.Long userID)

      描述：获取用户界面主题
      参数:
        `userID` - 用户ID
      返回:
        Long 用户界面主题ID

    - #### getUserTheme

          public static java.util.Map<java.lang.String,java.lang.Object> getUserTheme(java.lang.Long userID)

      描述：获取用户界面主题
      参数:
        `userID` - 用户ID
      返回:
        Map 用户界面主题相关信息，格式 { currentTheme: 'orange', allThemes: [ { theme: 'orange', title: '活力橙', img: orangeImg, previewImg: [orangePreview1, orangePreview2], cssText: '#kd-theme .common-selected-background-color{background-color:#fff1e6}' }, { theme: 'blue', title: '琉璃蓝', img: blueImg, previewImg: [bluePreview1, bluePreview2], cssText: '#kd-theme .common-selected-background-color{background-color:#e4efff}' }, { theme: 'purple', title: '圣罗兰紫', img: purpleImg, previewImg: [purplePreview1, purplePreview2], cssText: '#kd-theme .common-selected-background-color{background-color:#e8e9fe}' }, { theme: 'green', title: '水晶绿', img: greenImg, previewImg: [greenPreview1, greenPreview2], cssText: '#kd-theme .common-selected-background-color{background-color:#e3f6f6}' } ] }

    - #### setUserTheme

          public static boolean setUserTheme(java.lang.Long userID,
                                             java.lang.String themeNumber)

      描述：设置用户界面主题
      参数:
        `userID` - 用户ID
        `themeNumber` - 界面主题编码

    - #### setUserTheme

          public static void setUserTheme(java.lang.Long userID,
                                          java.lang.Long themeID)

      描述：设置用户界面主题
      参数:
        `userID` - 用户ID
        `themeID` - 用户界面主题ID

    - #### switchUserDefaultOrg

          public static void switchUserDefaultOrg(long defaultOrgID)

      参数:
        `defaultOrgID` -

    - #### getUserDefaultOrgID

          public static long getUserDefaultOrgID(long userID)

      参数:
        `userID` - 用户ID
      返回:

    - #### setUserDefaultOrg

          public static void setUserDefaultOrg(long userID,
                                               long defaultOrgID)

      参数:
        `userID` - 用户ID
        `defaultOrgID` - 默认组织ID

    - #### isUserBelongTo

          public static boolean isUserBelongTo(java.lang.Long userId,
                                               java.lang.Long orgId)

      描述：判断某个人员是否属于某个组织（包括所有上级组织）
      参数:
        `userId` - 人员ID
        `orgId` - 组织ID
      返回:
        true: 属于; false: 不属于

    - #### isUserEnable

          public static boolean isUserEnable(long userId)

      参数:
        `userId` -
      返回:

    - #### isUserEnable

          public static java.util.Map<java.lang.Long,java.lang.Boolean> isUserEnable(java.util.List<java.lang.Long> userIds)

      参数:
        `userIds` -
      返回:

    - #### getUserMainJob

          public static java.lang.String getUserMainJob(long userId)

      参数:
        `userId` - 人员ID
      返回:
        主职位文本

    - #### getUserMainJob

          public static java.util.Map<java.lang.Long,java.lang.String> getUserMainJob(java.util.List<java.lang.Long> userIds)

      参数:
        `userIds` - 人员ID列表
      返回:
        用户ID-主职位文本

    - #### getUserSuperior

          public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getUserSuperior(java.lang.String formId,
                                                                                                         long userId,
                                                                                                         long orgId,
                                                                                                         java.util.Date bizDate)

      参数:
        `formId` -
        `userId` -
        `orgId` -
        `bizDate` -
      返回:

    - #### getUserIndirectSuperior

          public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getUserIndirectSuperior(java.lang.String formId,
                                                                                                                 long userId,
                                                                                                                 long orgId,
                                                                                                                 java.util.Date bizDate)

      参数:
        `formId` -
        `userId` -
        `orgId` -
        `bizDate` -
      返回:

    - #### getUserSubordinate

          public static java.util.List<java.lang.Long> getUserSubordinate(long userId,
                                                                          int limitLevel)

      参数:
        `userId` - 人员ID
        `limitLevel` - 下级组织级数：0为返回用户所在层级，1为包括所在层级以及下一级，以此类推
      返回:

    - #### isFirstLogin

          public static java.lang.Boolean isFirstLogin(java.lang.Long userId)

      描述：检查用户是否第一次登陆
      参数:
        `userId` - 用户ID
      返回:
        Boolean true: 第一次登陆; false: 不是第一次登陆

    - #### updateFirstLoginFlag

          public static void updateFirstLoginFlag(java.lang.Long userId)

      描述：更新用户首次登陆标记
      参数:
        `userId` - 用户ID

    - #### getAllDepartmentByUserId

          public static java.util.List<java.lang.Long> getAllDepartmentByUserId(long userId)

      参数:
        `userId` -
      返回:

    - #### changePsw

          public static java.util.Map<java.lang.String,java.lang.Object> changePsw(long userId,
                                                                                   java.lang.String password)

      已过时。
      设置用户密码的接口
      参数:
        `userId` - 用户id
        `password` - 新密码
      返回:
        成功失败的信息 success:boolean,修改成功或失败;msg:String,失败信息

    - #### changePsw

          public static java.util.Map<java.lang.String,java.lang.Object> changePsw(long userId,
                                                                                   java.lang.String oldPassword,
                                                                                   java.lang.String newPassword)

      设置用户密码的接口
      参数:
        `userId` - 用户id
        `oldPassword` - 旧密码
        `newPassword` - 新密码
      返回:
        成功失败的信息 success:boolean,修改成功或失败;msg:String,失败信息

    - #### verifyPSWStrategy

          public static java.util.Map<java.lang.String,java.lang.Object> verifyPSWStrategy(java.lang.String password)

      验证密码策略
      参数:
        `password` -

    - #### add

          public static void add(java.util.List<kd.bos.permission.model.UserParam> userList)

      参数:
        `userList` -

    - #### update

          public static void update(java.util.List<kd.bos.permission.model.UserParam> userList)

      参数:
        `userList` -

    - #### delete

          public static void delete(java.util.List<kd.bos.permission.model.UserParam> userList)

      参数:
        `userList` -

    - #### enable

          public static void enable(java.util.List<kd.bos.permission.model.UserParam> userList)

      参数:
        `userList` -

    - #### disable

          public static void disable(java.util.List<kd.bos.permission.model.UserParam> userList)

      参数:
        `userList` -

    - #### enableHR

          public static void enableHR(java.util.List<kd.bos.permission.model.UserParam> userList)

      参数:
        `userList` -

    - #### disableHR

          public static void disableHR(java.util.List<kd.bos.permission.model.UserParam> userList)

      参数:
        `userList` -

    - #### updatePosition

          public static void updatePosition(java.util.List<kd.bos.permission.model.UserParam> userList)

      参数:
        `userList` -

    - #### get

          public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> get(java.util.List<java.lang.Long> userIds)

      参数:
        `userIds` -
      返回:

    - #### get

          public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> get(java.util.List<java.lang.Long> userIds,
                                                                                             java.lang.String[] properties,
                                                                                             java.lang.String[] jobProperties)

      参数:
        `userIds` -
        `properties` - 人员属性集合：为空时，返回默认属性
        `jobProperties` - 人员职位属性集合：为空时，返回默认属性
      返回:

    - #### getPosition

          public static java.util.List<java.util.Map<java.lang.String,java.lang.Object>> getPosition(java.util.List<java.lang.Long> userIds)

      参数:
        `userIds` -
      返回:

    - #### getPerson

          @Deprecated
          public static java.lang.String getPerson(long orgId,
                                                                long userId,
                                                                kd.bos.permission.model.PersonQueryType queryType,
                                                                java.util.List<java.lang.Long> resultList)

      已过时。
      参数:
        `orgId` - 组织ID
        `userId` - 人员ID
        `queryType` - 查询类型
        `resultList` - 返回结果
      返回:
        失败原因：成功时，返回空

    - #### getPerson

          public static java.util.List<java.lang.Long> getPerson(kd.bos.permission.model.PersonQueryParam personQueryParam)

      参数:
        `personQueryParam` -
      返回:

    - #### addOrUpdate

          public static void addOrUpdate(java.util.List<kd.bos.permission.model.UserParam> userList)

      参数:
        `userList` -

    - #### getUserDepartment

          public static java.util.List<java.lang.Long> getUserDepartment(long userId,
                                                                         boolean isOnlyChargeOrg)

      参数:
        `userId` - 人员ID
        `isOnlyChargeOrg` - 是否只查询所负责的部门
      返回: