薪酬
升级内容 1:工资单支持手写签名确认
业务场景&问题:
当前确认工资单时目前仅支持按确认按钮,无法签名确认
解决方案:
1、HR 在设置工资单时,可以设置员工是否需要确认,若需要确认是「点击确认按钮」或「手写签名确认」,如下图:
2、若设置为需要「手写签名确认」,则确认工资单时需要手写签名方可完成确认,如下图:
3、若员工是手写签名确认,则 HR 在后台也可以看到该签名图片,如下图:
升级内容 2:批量导入临时计薪人员
业务场景&问题:
客户每月存在需要临时计薪的人员,如员工离职后,还需要发季度奖金。目前系统只能挨个选择,效率低,希望能批量导入临时计薪人员。
解决方案:
在「薪酬核算-数据准备-核对计薪人员」页面,点击“添加临时计薪人员”,支持选择手动添加和导入。
假勤
升级内容 1:支持加班记录写入接口
解决方案:
1、加班记录写入接口
【接口形式】
由客户主动推送加班数据过来,请求方式POST
【接口授权】
【接口说明】:通过此接口,可以新增/更新员工加班记录信息(加班时间、加班时长等),可写入最近半年的加班记录。
【接口参数】
参数名称 | 类型 | 是否必填 | 备注 |
thirdPartApplyId | String | 是 | 外部审批单唯一标识ID,最大32 |
employeeUniqueIdentifier | String | 是 | 员工的唯一标识,由uniqueIdentifierType指定,目前支持六种,六选一 |
uniqueIdentifierType | int | 是 | 枚举类型 0:员工id 1 :公司邮箱 2 :员工工号 3 :钉钉userid 4 :飞书userid(user_id) 5 :企业微信userid(明文) |
unit | int | 是 | 加班单位,如:天、小时 1:天 2:小时 |
startDate | String | 是 | 加班日期,yyyy-mm-dd |
startTime | String | 是 | 加班开始时间,如09:00/AM/PM |
endTime | String | 是 | 加班结束时间,如18:00/AM/PM |
flowStatus | int | 是 | 流程状态: 1:审批中 2:通过 |
compensation | String? | 是 | 补偿方式,调休假、加班费 |
settleDuration | String | 否 | 结算时长,如果写入结算时长,则以写入的数据为准;不写入结算时长则根据加班规则进行计算; 需要为数字 单位为天:需要≤1天 单位为小时:需要≤24小时 单位为分钟:需要≤1440分钟 |
reason | String | 是 | 加班原因,最长8000 |
【接口验证内容】
错误校验 | 校验内容 | 提示信息 |
必填校验 | 必填字段是否校验,若为撤销时仅校验审批id | 请求失败,XXX必填字段内容缺失 |
员工 | 是否存在 | 请求失败,员工不存在 |
加班单位 | 加班单位不符 | {日历类型}的加班规则的加班单位为%s,请联系管理员确认 |
加班日期 |
|
|
加班日期+时间 |
|
|
补偿方式 | 加班日的补偿方式错误 | xxxx-xx-xx为工作日/公休日/节假日,补偿方式为 调休假/加班费 |
加班原因 | 必填项校验 | 需要填写加班原因 |
【数据落地】
需生成加班记录,状态一致
加班记录来源需标记为【接口同步】的加班记录
审批通过或撤销的加班记录需触发员工期间内考勤核算、加班结算和月报核算
2、加班记录更新接口
【接口形式】
由客户主动推送加班数据过来,请求方式POST
【接口授权】
统一走标准授权认证:OPEN API
【接口说明】:通过此接口,可以更新员工加班记录信息(加班时间、加班时长等),可更新最近半年的加班记录。
【接口参数】
参数名称 | 类型 | 是否必填 | 备注 |
thirdPartApplyId | String | 是 | 外部审批单唯一标识ID,最大32 |
employeeUniqueIdentifier | String | 是 | 员工的唯一标识,由uniqueIdentifierType指定,目前支持六种,六选一 |
uniqueIdentifierType | int | 是 | 枚举类型 0:员工id 1 :公司邮箱 2 :员工工号 3 :钉钉userid 4 :飞书userid(user_id) 5 :企业微信userid(明文) |
unit | int | 是 | 加班单位,如:天、小时 1:天 2:小时 |
startDate | String | 是 | 加班日期,yyyy-mm-dd |
startTime | String | 是 | 加班开始时间,如09:00/AM/PM |
endTime | String | 是 | 加班结束时间,如18:00/AM/PM |
flowStatus | int | 是 | 流程状态: 1:审批中 2:通过 3:撤回 |
compensation | String? | 是 | 补偿方式,调休假、加班费 |
settleDuration | String | 否 | 结算时长,如果写入结算时长,则以写入的数据为准;不写入结算时长则根据加班规则进行计算; 需要为数字 单位为天:需要≤1天 单位为小时:需要≤24小时 单位为分钟:需要≤1440分钟 |
reason | String | 是 | 加班原因,最长8000 |
【接口验证内容】
错误校验 | 校验内容 | 提示信息 |
必填校验 | 必填字段是否校验,若为撤销时仅校验审批id | 请求失败,XXX必填字段内容缺失 |
员工 | 是否存在 | 请求失败,员工不存在 |
加班单位 | 加班单位不符 | {日历类型}的加班规则的加班单位为%s,请联系管理员确认 |
加班日期 |
|
|
加班日期+时间 |
|
|
补偿方式 | 加班日的补偿方式错误 | xxxx-xx-xx为工作日/公休日/节假日,补偿方式为 调休假/加班费 |
加班原因 | 必填项校验 | 需要填写加班原因 |
【数据落地】
将更新加班记录,状态一致
审批通过或撤销的加班记录需触发员工期间内考勤核算、加班结算和月报核算
3、加班记录撤回接口
【接口形式】
由客户主动推送加班数据过来,请求方式POST
【接口授权】
统一走标准授权认证:OPEN API
【接口说明】:通过此接口,可以撤回员工加班记录信息(加班时间、加班时长等),可撤回最近半年的加班记录。
【接口参数】
参数名称 | 类型 | 是否必填 | 备注 |
thirdPartApplyId | String | 是 | 外部审批单唯一标识ID,最大32 |
【数据落地】
将撤销加班记录
审批通过或撤销的加班记录会触发员工期间内考勤核算、加班结算和月报核算
人事
升级内容 1:入职人员列表增加字段&筛选条件
业务场景&问题:
入职列表不支持「入职地点/入职计划/法人公司/职级」筛选
解决方案:
入职人员列表增加「入职地点/入职计划/法人公司/职级」字段和筛选项
升级内容 2:工号生成规则支持扩展部门、法人公司、工作地点、员工类型
业务场景&问题:
工号生成规则仅支持员工类型,不支持更多维度,导致不可用
解决方案:
工号规则支持部门、工作地点、法人公司、员工类型,支持多选
工号规则增加优先级,适用范围重复时会基于优先级进行判断
升级内容 3:员工合同接口支持写入
业务场景&问题:
不支持通过接口新增、 更新、删除员工合同数据
解决方案:
新增员工合同数据接口
【入参】
请求参数(以下内容是接口规范主要应用于鉴权,无需业务开发):
字段 | 字段类型 | 是否必填 | 请求方式 | 说明 |
entCode | string | 是 | url中拼接param | 租户编码 |
apiCode | string | 是 | url中拼接param | 接口编码 |
sign | string | 是 | url中拼接param | 电子签名 |
timestamp | long | 是 | url中拼接param | 时间戳,单位:毫秒 |
nonce | string | 是 | url中拼接param | 随机数 |
请求body(业务接口查询参数,需要开发)
字段 | 字段类型 | 是否必填 | 说明 |
└data | Json | 是 | 员工合同数据详情 |
└└employeeNo | string | 否 | 工号 |
└└employeeId | string | 否 | 员工id |
└└corporationId | string | 是 | 法人公司id |
└└contractTypeId | string | 是 | 合同类型id 1:劳动合同 2:实习协议 3:派遣协议 4:兼职协议 5:返聘协议 6:培训协议 7:保密协议 |
└└signContractTypeId | string | 是 | 合同签订类型 1:新签 2:换签 3:续签 |
└└signTimesId | string | 是 | 签订次数 枚举值: 1:首次签约 2:第2次 3:第3次 4:第4次 |
└└contractNo | string | 否 | 合同编号 |
└└contractStartDate | string | 是 | 合同开始日期 |
└└realityEndDate | string | 否 | 实际终止日期 |
└└estimateEndDate | string | 否 | 预计终止日期 |
└└signDate | string | 否 | 合同签订日期 |
└└others | Json | 否 | 自定义字段 |
└└contractLimitId | string | 否 | 合同期限id 1:1个月 2:2个月 3:3个月 4:6个月 5:1年 6:2年 7:3年 8:5年 9:无固定期限 |
└└contractStatusId | string | 是 | 合同状态id 0:审批中 1:未生效 2:生效中 3:已终止 4:作废 默认查询状态1、2、3 |
└└└field_name | string | 否 | DF_随机字符串 |
└└└field_value | string | 否 | 其他字段的值 电话类型字段为电话号码 地址类型字段为详细地址 |
└└└field_telephone_country_code | string | 否 | 电话类型字段为区号 |
└└└field_contact_address_province_code | string | 否 | 地址类型字段为省编码 |
└└└field_contact_address_city_code | string | 否 | 地址类型字段为市编码 |
└└└field_contact_address_county_code | string | 否 | 地址类型字段为区编码 |
【查写入逻辑】
支持一次性添加多个员工合同数据,按data 数组中的顺序执行,成功的落库并记录合同id至返回记录中,失败的记录到返回记录中
员工支持员工id或者工号识别,Id有值时按Id查询,否则使用工号
支持写入附件类型字段
添加后触发合同数据相关事件
合同签订人员为合同所属员工id
数据落地:
添加操作记录(来源为:外部接口,操作人为:系统管理员)
【参与校验】
错误校验逻辑 | 错误编码 | 错误提示 |
employeeNo未填写且employeeId未填写 | 400 | employeeId员工id或者employeeNo工号至少填写一个 |
employeeId有值时,是否存在 | 400 | employeeId员工id不存在 |
employeeId无值时,employeeNo是否已存在 | 400 | employeeNo工号不存在 |
corporationId是否填写 | 400 | corporationId法人公司未填写 |
corporationId填写,是否存在 | 400 | corporationId法人公司不存在 |
contractTypeId是否填写 | 400 | contractTypeId合同类型未填写 |
contractTypeId是否存在 | 400 | contractTypeId合同类型不存在 |
signContractTypeId是否填写 | 400 | signContractTypeId合同签订类型未填写 |
signContractTypeId是否存在 | 400 | signContractTypeId合同签订类型不存在 |
signTimesId是否存在 | 400 | signTimesId签订次数不存在 |
contractNo填写,判断是否重复 | 400 | contractNo合同编号已存在 |
contractStartDate是否填写 | 400 | contractStartDate合同开始日期未填写 |
realityEndDate填写,判断是否早于合同开始日期 | 400 | realityEndDate实际结束日期不能早于合同开始日期 |
estimateEndDate填写,判断是否早于合同开始日期 | 400 | estimateEndDate预计终止日期不能早于合同开始日期 |
contractLimitId是否填写 | 400 | contractLimitId合同期限未填写 |
contractLimitId填写,是否存在 | 400 | contractLimitId合同期限不存在 |
contractStatusId是否存在 | 400 | contractStatusId合同状态不存在 |
field_name填写,判断是否存在 | 400 | field_name字段不存在 |
field_name是单行文本/多行文本时,field_value是否超出长度 | 400 | 【field_name】的field_value选项值超出长度,如:离职原因(field_name)的field_value值超出长度 |
field_name是选项类型/是非类型时,field_value是否存在 | 400 | 【field_name】的field_value选项值不存在,如:性别(field_name)的field_value选项值不存在 |
field_name是数字类型/日期类型时,field_value格式是否正常 | 400 | 【field_name】的field_value字段格式不正确,如:首次参加工作时间的field_value字段格式不存在 |
field_name是电话类型时,field_telephone_country_code是否填写 | 400 | 【field_name】的field_telephone_country_code区号未填写,如:家人电话(field_name)的field_telephone_country_code区号未填写 |
field_name是电话类型时,field_telephone_country_code填写,是否存在 | 400 | 【field_name】的field_telephone_country_code区号不存在,如:家人电话(field_name)的field_telephone_country_code区号不存 |
field_name是地址类型时,field_contact_address_province_code填写,是否存在 | 400 | 【field_name】的field_contact_address_province_code省编码不存在,如:家庭住址(field_name)的field_contact_address_province_code省编码不存在 |
field_name是地址类型时,field_contact_address_city_code填写,是否存在(在省编码下) | 400 | 【field_name】的field_contact_address_city_code市编码不存在,如:家庭住址(field_name)的field_contact_address_city_code市编码不存在 |
field_name是地址类型时,field_contact_address_county_code填写,是否存在(在市编码下) | 400 | 【field_name】的field_contact_address_county_code区编码不存在,如:家庭住址(field_name)的field_contact_address_county_code区编码不存在 |
【出参】
字段名称 | 字段类型 | 描述 | 备注 |
data | object |
|
|
└code | String | 返回结果的状态码 |
|
└msg | String | 返回结果的状态信息 |
|
└index | int | 元素的下标,对应入参的顺序(从0开始) |
|
└contractId | Long | 本次新增的合同id |
|
更新员工合同数据接口
【入参】
请求参数(以下内容是接口规范主要应用于鉴权,无需业务开发):
字段 | 字段类型 | 是否必填 | 请求方式 | 说明 |
entCode | string | 是 | url中拼接param | 租户编码 |
apiCode | string | 是 | url中拼接param | 接口编码 |
sign | string | 是 | url中拼接param | 电子签名 |
timestamp | long | 是 | url中拼接param | 时间戳,单位:毫秒 |
nonce | string | 是 | url中拼接param | 随机数 |
请求body(业务接口查询参数,需要开发)
字段 | 字段类型 | 是否必填 | 说明 |
└data | Json | 是 | 员工合同数据详情 |
└└contractId | Long | 是 | 合同id |
└└corporationId | string | 否 | 法人公司id |
└└contractTypeId | string | 否 | 合同类型id 1:劳动合同 2:实习协议 3:派遣协议 4:兼职协议 5:返聘协议 6:培训协议 7:保密协议 |
└└signContractTypeId | string | 否 | 合同签订类型 1:新签 2:换签 3:续签 |
└└signTimesId | string | 否 | 签订次数 枚举值: 1:首次签约 2:第2次 3:第3次 4:第4次 |
└└contractNo | string | 否 | 合同编号 |
└└contractStartDate | string | 否 | 合同开始日期 |
└└realityEndDate | string | 否 | 实际终止日期 |
└└estimateEndDate | string | 否 | 预计终止日期 |
└└signDate | string | 否 | 合同签订日期 |
└└contractLimitId | string | 否 | 合同期限id 1:1个月 2:2个月 3:3个月 4:6个月 5:1年 6:2年 7:3年 8:5年 9:无固定期限 |
└└contractStatusId | string | 否 | 合同状态id 0:审批中 1:未生效 2:生效中 3:已终止 4:作废 默认查询状态1、2、3 |
└└others | Json | 否 | 自定义字段 |
└└└field_name | string | 否 | DF_随机字符串 |
└└└field_value | string | 否 | 其他字段的值 电话类型字段为电话号码 地址类型字段为详细地址 |
└└└field_telephone_country_code | string | 否 | 电话类型字段为区号 |
└└└field_contact_address_province_code | string | 否 | 地址类型字段为省编码 |
└└└field_contact_address_city_code | string | 否 | 地址类型字段为市编码 |
└└└field_contact_address_county_code | string | 否 | 地址类型字段为区编码 |
【查写入逻辑】
支持一次性更新多个合同数据,按data 数组中的顺序执行,成功的落库并记录合同ID至返回记录中,失败的记录到返回记录中
支持写入附件类型字段
更新后触发合同变更相关事件
数据落地:
添加操作记录(来源为:外部接口,操作人为:系统管理员)
【参与校验】
错误校验逻辑 | 错误编码 | 错误提示 |
contractId未填写 | 400 | contractId合同id未填写 |
contractId填写,判断是否存在 | 400 | contractId合同id不存在 |
corporationId填写,是否存在 | 400 | corporationId法人公司不存在 |
contractTypeId是否存在 | 400 | contractTypeId合同类型不存在 |
signContractTypeId是否存在 | 400 | signContractTypeId合同签订类型不存在 |
signTimesId是否存在 | 400 | signTimesId签订次数不存在 |
contractNo填写,判断是否重复 | 400 | contractNo合同编号已存在 |
realityEndDate填写,判断是否早于合同开始日期 | 400 | realityEndDate实际结束日期不能早于合同开始日期 |
estimateEndDate填写,判断是否早于合同开始日期 | 400 | estimateEndDate预计终止日期不能早于合同开始日期 |
contractLimitId填写,是否存在 | 400 | contractLimitId合同期限不存在 |
contractStatusId是否存在 | 400 | contractStatusId合同状态不存在 |
field_name填写,判断是否存在 | 400 | field_name字段不存在 |
field_name是单行文本/多行文本时,field_value是否超出长度 | 400 | 【field_name】的field_value选项值超出长度,如:离职原因(field_name)的field_value值超出长度 |
field_name是选项类型/是非类型时,field_value是否存在 | 400 | 【field_name】的field_value选项值不存在,如:性别(field_name)的field_value选项值不存在 |
field_name是数字类型/日期类型时,field_value格式是否正常 | 400 | 【field_name】的field_value字段格式不正确,如:首次参加工作时间的field_value字段格式不存在 |
field_name是电话类型时,field_telephone_country_code是否填写 | 400 | 【field_name】的field_telephone_country_code区号未填写,如:家人电话(field_name)的field_telephone_country_code区号未填写 |
field_name是电话类型时,field_telephone_country_code填写,是否存在 | 400 | 【field_name】的field_telephone_country_code区号不存在,如:家人电话(field_name)的field_telephone_country_code区号不存 |
field_name是地址类型时,field_contact_address_province_code填写,是否存在 | 400 | 【field_name】的field_contact_address_province_code省编码不存在,如:家庭住址(field_name)的field_contact_address_province_code省编码不存在 |
field_name是地址类型时,field_contact_address_city_code填写,是否存在(在省编码下) | 400 | 【field_name】的field_contact_address_city_code市编码不存在,如:家庭住址(field_name)的field_contact_address_city_code市编码不存在 |
field_name是地址类型时,field_contact_address_county_code填写,是否存在(在市编码下) | 400 | 【field_name】的field_contact_address_county_code区编码不存在,如:家庭住址(field_name)的field_contact_address_county_code区编码不存在 |
【出参】
字段名称 | 字段类型 | 描述 | 备注 |
data | object |
|
|
└code | String | 返回结果的状态码 |
|
└msg | String | 返回结果的状态信息 |
|
└index | int | 元素的下标,对应入参的顺序(从0开始) |
|
└contractId | Long | 本次更新的合同id |
|
删除员工合同数据接口
【入参】
请求参数(以下内容是接口规范主要应用于鉴权,无需业务开发):
字段 | 字段类型 | 是否必填 | 请求方式 | 说明 |
entCode | string | 是 | url中拼接param | 租户编码 |
apiCode | string | 是 | url中拼接param | 接口编码 |
sign | string | 是 | url中拼接param | 电子签名 |
timestamp | long | 是 | url中拼接param | 时间戳,单位:毫秒 |
nonce | string | 是 | url中拼接param | 随机数 |
请求body(业务接口查询参数,需要开发)
字段 | 字段类型 | 是否必填 | 说明 |
└data | Json | 是 | 待入职员工详情 |
└└contractId | string | 是 | 合同id |
【查写入逻辑】
支持一次性删除多个员工合同数据,按data 数组中的顺序执行,成功的落库并记录待入职员工ID至返回记录中,失败的记录到返回记录中
触发删除合同的相关通知以及其他事件
数据落地:
添加操作记录(来源为:外部接口,操作人为:系统管理员)
【参与校验】
错误校验逻辑 | 错误编码 | 错误提示 |
contractId未填写 | 400 | contractId合同id未填写 |
contractId填写,判断是否存在 | 400 | contractId合同id不存在 |
【出参】
字段名称 | 字段类型 | 描述 | 备注 |
data | object |
|
|
└code | String | 返回结果的状态码 |
|
└msg | String | 返回结果的状态信息 |
|
└index | int | 元素的下标,对应入参的顺序(从0开始) |
|
└contractId | Long | 本次删除的合同id |
|
升级内容 4:培训新建支持接口查询、新增、更新、删除
业务场景&问题:
缺少培训相关接口
解决方案:
查询
请求参数
参数名称 | 是否必填 | 参数类型 | 参数描述 | 示例 | 最大值 | 最小值 | 备注 |
employeeIdList | 否 | Long[] | 员工id集合 | [1,2,3] |
|
|
|
employeeNoList | 否 | string[] | 员工工号集合 | ["Moka001","Moka002"] |
|
|
|
employeeStatus | 否 | Integer | 员工状态 | 员工状态 1:在职 2离职,不传,默认为在职 |
|
|
|
pageNum | 否 | Integer | pageNum最小限制为1 | 1 |
|
|
|
pageSize | 否 | Integer | 每页大小 | 200 | 200 |
| 如果不传默认200 |
响应参数
参数名称 | 参数类型 | 参数描述 | 示例 |
code | Integer | 请求响应错误码 |
|
msg | String | 请求响应信息 |
|
data | - | - |
|
Integer | 总共条数 | 10000 | |
data.list[] | - | - |
|
data.list[].employeeId | Long | 员工id | 1001 |
data.list[].group | Array | 培训信息分组 |
|
data.list[].group.id | string | 分组id 学习项目、课程、考试、自定义分组 |
|
string | 分组名称,学习项目、课程、考试、自定义分组 |
| |
data.list[].group.detail | Array | 分组明细 |
|
data.list[].group.detail.fields | Array | 明细字段 |
|
data.list[].group.detail.fields.fieldName | string | 字段名称 |
|
data.list[].group.detail.fields.fieldValue | string | 字段值 |
|
新增
【入参】
请求参数(以下内容是接口规范主要应用于鉴权,无需业务开发):
字段 | 字段类型 | 是否必填 | 请求方式 | 说明 |
entCode | string | 是 | url中拼接param | 租户编码 |
apiCode | string | 是 | url中拼接param | 接口编码 |
sign | string | 是 | url中拼接param | 电子签名 |
timestamp | long | 是 | url中拼接param | 时间戳,单位:毫秒 |
nonce | string | 是 | url中拼接param | 随机数 |
请求body(业务接口查询参数,需要开发)
字段 | 字段类型 | 是否必填 | 说明 |
└data | json | 是 | 员工培训信息详情 |
└└employee_uid | long | 否 | 员工ID |
└└employee_no | string | 否 | 工号 |
└└group_name | string | 是 | 分组名称,学习项目、课程、考试、自定义分组 |
└└detail | Json | 是 | 培训详情 |
└└└detail_fields | Json | 是 | 详细字段 |
└└└└field_name | string | 否 | DF_随机字符串 |
└└└└field_value | string | 否 | 其他字段的值 |
【查写入逻辑】
支持一次性添加多个员工的多个培训,按data 数组中的顺序执行,成功的落库并记录培训详情ID至返回记录中,失败的记录到返回记录中
离职员工也支持添加培训信息
支持写入附件类型字段
数据落地:生成培训信息、操作记录(来源为:外部接口,操作人为:系统管理员)
【参与校验】
错误校验逻辑 | 错误编码 | 错误提示 |
employee_uid未填写且employee_no未填写 | 400 | employee_uid员工ID或者工号至少填写一个 |
employee_uid有值时,判断是否存在 | 400 | employee_uid员工不存在 |
employee_uid无值时,employee_no有值时,判断是否存在 | 400 | employee_no员工不存在 |
group_name是否填写 | 400 | group_name分组未填写 |
group_name填写,判断是否存在 | 400 | group_name分组不存在 |
field_name填写,判断是否存在 | 400 | field_name字段不存在 |
field_name必填字段是否填写 | 400 | field_nameXXX字段(必填字段field_name)未填写 |
field_name是单行文本/多行文本时,field_value是否超出长度 | 400 | 【field_name】的field_value选项值超出长度,如:离职原因(field_name)的field_value值超出长度 |
field_name是选项类型/是非类型时,field_value是否存在 | 400 | 【field_name】的field_value选项值不存在,如:性别(field_name)的field_value选项值不存在 |
field_name是数字类型/日期类型时,field_value格式是否正常 | 400 | 【field_name】的field_value字段格式不正确,如:首次参加工作时间的field_value字段格式不存在 |
【出参】
字段名称 | 字段类型 | 描述 | 备注 |
data | object |
|
|
└index | String | 入参的顺序 |
|
└code | String | 返回结果的状态码 |
|
└msg | String | 返回结果的状态信息 |
|
└detail_id | Long | 本次新增的培训详情id |
|
更新
【入参】
请求参数(以下内容是接口规范主要应用于鉴权,无需业务开发):
字段 | 字段类型 | 是否必填 | 请求方式 | 说明 |
entCode | string | 是 | url中拼接param | 租户编码 |
apiCode | string | 是 | url中拼接param | 接口编码 |
sign | string | 是 | url中拼接param | 电子签名 |
timestamp | long | 是 | url中拼接param | 时间戳,单位:毫秒 |
nonce | string | 是 | url中拼接param | 随机数 |
请求body(业务接口查询参数,需要开发)
字段 | 字段类型 | 是否必填 | 说明 |
└data | Json | 是 | 培训详情 |
└└detail_id | Long | 是 | 数据的行ID |
└└detail_fields | Json | 否 | 其他信息 |
└└└field_name | string | 否 | DF_随机字符串 |
└└└field_value | string | 否 | 其他字段的值 |
【查写入逻辑】
支持一次性更新多个员工的多个培训信息,按data 数组中的顺序执行,成功的落库并记录培训详情ID至返回记录中,失败的记录到返回记录中
数据落地:
更新培训信息
添加操作记录(来源为:外部接口,操作人为:系统管理员)
【参与校验】
错误校验逻辑 | 错误编码 | 错误提示 |
detail_id是否填写 | 400 | detail_id未填写 |
detail_id填写,判断是否存在 | 400 | detail_id不存在 |
field_name填写,判断是否存在 | 400 | field_name字段不存在 |
field_name是单行文本/多行文本时,field_value是否超出长度 | 400 | 【field_name】的field_value选项值超出长度,如:离职原因(field_name)的field_value值超出长度 |
field_name是选项类型/是非类型时,field_value是否存在 | 400 | 【field_name】的field_value选项值不存在,如:性别(field_name)的field_value选项值不存在 |
field_name是数字类型/日期类型时,field_value格式是否正常 | 400 | 【field_name】的field_value字段格式不正确,如:首次参加工作时间的field_value字段格式不存在 |
【出参】
字段名称 | 字段类型 | 描述 | 备注 |
data | object |
|
|
└code | String | 返回结果的状态码 |
|
└msg | String | 返回结果的状态信息 |
|
└detail_id | Long | 培训详情id |
|
删除
【入参】
请求参数(以下内容是接口规范主要应用于鉴权,无需业务开发):
字段 | 字段类型 | 是否必填 | 请求方式 | 说明 |
entCode | string | 是 | url中拼接param | 租户编码 |
apiCode | string | 是 | url中拼接param | 接口编码 |
sign | string | 是 | url中拼接param | 电子签名 |
timestamp | long | 是 | url中拼接param | 时间戳,单位:毫秒 |
nonce | string | 是 | url中拼接param | 随机数 |
请求body(业务接口查询参数,需要开发)
字段 | 字段类型 | 是否必填 | 说明 |
└data | Json | 是 | 培训信息 |
└└detail_id | string | 是 | 数据的行ID |
【查写入逻辑】
支持一次性删除多个员工的多个培训信息,按data 数组中的顺序执行,成功的落库并记录培训详情ID至返回记录中,失败的记录到返回记录中
数据落地:
更新培训信息
添加操作记录(来源为:外部接口,操作人为:系统管理员)
【参与校验】
错误校验逻辑 | 错误编码 | 错误提示 |
detail_id是否填写 | 400 | detail_id未填写 |
detail_id填写,判断是否存在 | 400 | detail_id不存在 |
出参】
字段名称 | 字段类型 | 描述 | 备注 |
data | object |
|
|
└code | String | 返回结果的状态码 |
|
└msg | String | 返回结果的状态信息 |
|
└detail_id | Long | 培训详情id |
|