From 8a96d60f60a06bcde2e11361cd4d755df24e1f59 Mon Sep 17 00:00:00 2001 From: dadiyang Date: Tue, 22 Sep 2026 01:54:47 +0800 Subject: [PATCH] fix(hrm):候选人转员工(convert)携带 candidateId 时豁免 channelId 的隐藏字段校验——服务端回填的招聘渠道不再撞「员工字段未显示」互斥(1050100034)(A41) --- yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/config/HrmEmployeeFieldConfigServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/config/HrmEmployeeFieldConfigServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/config/HrmEmployeeFieldConfigServiceImpl.java index e394ebf..647ace4 100644 --- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/config/HrmEmployeeFieldConfigServiceImpl.java +++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/config/HrmEmployeeFieldConfigServiceImpl.java @@ -106,7 +106,11 @@ public class HrmEmployeeFieldConfigServiceImpl implements HrmEmployeeFieldConfig public void validateEmployeeCreateFields(HrmEmployeeSaveReqVO reqVO, Integer entryStatus) { for (HrmEmployeeFieldConfigRespVO field : getEmployeeCreateFieldConfigList(entryStatus)) { if (Boolean.TRUE.equals(field.getVisible()) - || HrmEmployeeCreateFieldEnum.CANDIDATE_ID.getName().equals(field.getName())) { + || HrmEmployeeCreateFieldEnum.CANDIDATE_ID.getName().equals(field.getName()) + // 候选人转员工(convert 来源,请求携带 candidateId):channelId 由服务端从候选人记录回填, + // 与 candidateId 同属服务端赋值字段,默认隐藏时同样放行(渠道存在性仍由 createEmployee 校验兜底) + || (reqVO.getCandidateId() != null + && HrmEmployeeCreateFieldEnum.CHANNEL_ID.getName().equals(field.getName()))) { continue; } if (ObjectUtil.isNotEmpty(BeanUtil.getFieldValue(reqVO, field.getName()))) { -- libgit2 0.21.4