Commit 8a96d60f60a06bcde2e11361cd4d755df24e1f59

Authored by dadiyang
1 parent 8e43004c

fix(hrm):候选人转员工(convert)携带 candidateId 时豁免 channelId 的隐藏字段校验——服务端回填的招聘渠道不再撞「员工字段…

…未显示」互斥(1050100034)(A41)
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
106 106 public void validateEmployeeCreateFields(HrmEmployeeSaveReqVO reqVO, Integer entryStatus) {
107 107 for (HrmEmployeeFieldConfigRespVO field : getEmployeeCreateFieldConfigList(entryStatus)) {
108 108 if (Boolean.TRUE.equals(field.getVisible())
109   - || HrmEmployeeCreateFieldEnum.CANDIDATE_ID.getName().equals(field.getName())) {
  109 + || HrmEmployeeCreateFieldEnum.CANDIDATE_ID.getName().equals(field.getName())
  110 + // 候选人转员工(convert 来源,请求携带 candidateId):channelId 由服务端从候选人记录回填,
  111 + // 与 candidateId 同属服务端赋值字段,默认隐藏时同样放行(渠道存在性仍由 createEmployee 校验兜底)
  112 + || (reqVO.getCandidateId() != null
  113 + && HrmEmployeeCreateFieldEnum.CHANNEL_ID.getName().equals(field.getName()))) {
110 114 continue;
111 115 }
112 116 if (ObjectUtil.isNotEmpty(BeanUtil.getFieldValue(reqVO, field.getName()))) {
... ...