人力资源模块+二开

1.常用表结构说明
1.1.组织架构表说明

1、hrmsubcompany:分部信息表。
2、hrmsubcompanydefined:分部自定义字段信息表,可以通过字段subcomid和hrmsubcompany表相关联。
3、hrmdepartment:部门信息表。
4、hrmdepartmentdefined:部门自定义字段信息表,可以通过字段deptid和hrmdepartment表相关联。
5、hrmjobactivities:职务表
6、hrmjobtitles:岗位表
7、hrmresource:人员基本信息表
8、cus_fielddata:人员自定义字段表
9、hrmresourcemanager:管理员基本信息表
1.2.权限表说明
1、hrmroles:角色表
2、hrmrolemembers:角色成员表
3、Matrixtable_1:矩阵表(1代表后台 组织权限中心-->矩阵管理-->矩阵设置 中矩阵左上角的序号)
1.3.其他 
1、hrmsysmaintenancelog:人员登录日志表
2、hrmonlinecount:在线人员统计表
  1. 常用api以及功能说明
    2.1.人员登录接口
    请求方式:POST
    请求地址:/api/hrm/login/checkLogin
    请求参数:
    参数名 类型 必填 描述 示例
    dynamicPassword String 非必填 动态密码 ""
    isie String 非必填 是否IE浏览器 ""
    loginid String 非必填 登录名 ""
    logintype String 非必填 登录类型 ""
    messages String 非必填 登录接口消息 "主要用于二次验证,记录前一次接口返回值"
    tokenauthkey String 非必填 动态令牌 ""
    userpassword String 非必填 密码 ""
    validatecode String 非必填 验证码 ""
    返回参数:
    {
    "msgcode":"0",//接口状态code
    "msg":"登录成功",//接口状态消息
    "access_token":"",
    "loginstatus":"true",
    "user_token":"355ff99d3c45450e1fcde68c41287fef_random_",//用户token
    "userid":280,//用户id
    "sumpasswordwrong":"0"//密码错误次数
    }
    2.2. 人员状态变更--人员离职
    请求方式:POST
    请求地址:/api/hrm/statechange/saveHrmDismiss
    请求参数:
    参数名 类型 必填 描述 示例
    changecontractid String 非必填 离职合同 ""
    changedate String 非必填 离职日期 ""
    changereason String 非必填 离职原因 ""
    infoman String 非必填 离职通知人 ""
    tempresourceid String 非必填 离职人 ""
    token String 必填 用户token
    返回参数:

{
"sign":"1",//是否保存成功。-1:保存失败、1:保存成功
"api_status":true,//接口是否存在异常。true-无异常、false-存在异常
"message":"保存成功!"//提示信息
}
2.3. 修改密码
请求方式:POST
请求地址:/api/hrm/password/changePassword
请求参数:
参数名 类型 必填 描述 示例
from String 非必填 来源 ""
id String 非必填 人员id ""
passwordnew String 非必填 新密码 ""
passwordold String 非必填 旧密码 ""
validatecode String 非必填 验证码 ""
返回参数:
{
"message":string"密码修改成功",//返回信息
"status":string"1"//状态
}
2.4. 人员卡片系统信息保存
请求方式:POST
请求地址:/api/hrm/systeminfo/save
请求参数:
参数名 类型 必填 描述 示例
classification String 非必填 人员密级 ""
email String 非必填 邮箱 ""
enableDate String 非必填 辅助校验自动启用日期 ""
enableUsbType String 非必填 辅助校验自动启用类型 ""
id String 非必填 人员id ""
isadaccount String 非必填 是否ad账号 ""
loginid String 非必填 登录名 ""
mobilecaflag String 非必填 CA扫码登录 ""
needauto String 非必填 自动启用 ""
password String 非必填 密码 ""
password1 String 非必填 确认密码 ""
passwordlock String 非必填 密码锁定 ""
seclevel String 非必填 安全级别 ""
serial String 非必填 用户密钥 ""
tokenkey String 非必填 动态令牌key ""
usbstate String 非必填 辅助校验状态 ""
userusbtype String 非必填 辅助校验类 ""
useSecondaryPwd String 非必填 二次认证密码 ""
validatecode String 非必填 验证码 ""
返回参数:
{
"status":"1"//接口状态。1:保存成功,-1:保存失败
}

3.常见需求
3.1.组织架构及人员同步
1、思路
从层级最高的分部依次同步到人员,分部 ——> 部门 ——> 职务 ——> 岗位 ——>人员
2、实现细节
(1)、理清楚分部的上下级关系。接数据时分部表中存在的字段用分部表接,不存在的数据放在分部的自定义表中。
(2)、理清楚每个部门所属的分部,然后清晰部门之间的上下级关系。接部门数据时部门表中存在的字段用部门表接,不存在的数据放在部门的自定义表中。
(3)、按需求接入职务
(4)、理清楚岗位所属的部门、职务,然后接入数据。
(5)、理清楚人员所属分部、部门、职务、岗位,以及对应业务需求必要的人员数据。在接入数据时,如存在人员系统表中没有的字段也要接入数据,接入到人员自定义表中。
3、实现方式
(1)、如果传参格式没有固定要求,使用系统标准的webservice接口。
(2)、针对特殊的需求,需要自定义开发。
3.2.修改密码
思路:
1、如果ecology自己使用,可以把/api/hrm/password/changePassword 这个请求直接封装调用。
2、如果提供外部系统使用存在特殊的权限控制,则可以提取出加密的代码,封装到自定义的接口中。
接口发布方法:
https://e-cloudstore.com/doc.html?appId=84e77d7890a14c439590b37707251859#1、Jersey接口发布
3.3.修改人员弹出卡片显示信息
1、思路:
在数据渲染前拦截人力卡片弹框的数据接口,获取渲染的数据。遍历数据,按需求修改。
2、代码

ecodeSDK.rewriteApiDataQueueSet({
  fn: (url, params, data) => {
    // 拦截点开人力资源按钮组件弹出的人员卡片调用的后台接口地址
    if (!url.startsWith('/api/hrm/simpleinfo/getHrmSimpleInfo')) return data;

    if (data) {
      let fieldInfo = data.fieldInfo;
      if (fieldInfo) {
        for (let i = 0; i < fieldInfo.length; i++) {
          // 移除岗位
          if (fieldInfo[i].fieldlabel === '岗位') {
            fieldInfo.splice(i, 1);
            continue;
          }
        }
      }
    }

    return data;
  }
});
posted @ 2024-05-11 09:25  LL爱吃香菜  阅读(17)  评论(0编辑  收藏  举报