fix: 调整身份证号验证顺序,避免空指针风险

- 将身份证号存在性检查移到基本数据验证之后
- 此时 personId 已确保不为空且格式正确
- 错误信息更准确,包含操作建议
This commit is contained in:
wkc
2026-02-11 15:09:47 +08:00
parent 497e040c81
commit af7ec6f43d

View File

@@ -96,13 +96,6 @@ public class CcdiStaffEnterpriseRelationImportServiceImpl implements ICcdiStaffE
CcdiStaffEnterpriseRelationExcel excel = excelList.get(i);
try {
// 身份证号存在性检查
if (!existingPersonIds.contains(excel.getPersonId())) {
throw new RuntimeException(String.format(
"第%d行: 身份证号[%s]不存在于员工信息表中",
i + 1, excel.getPersonId()));
}
// 转换为AddDTO进行验证
CcdiStaffEnterpriseRelationAddDTO addDTO = new CcdiStaffEnterpriseRelationAddDTO();
BeanUtils.copyProperties(excel, addDTO);
@@ -110,6 +103,13 @@ public class CcdiStaffEnterpriseRelationImportServiceImpl implements ICcdiStaffE
// 验证数据
validateRelationData(addDTO);
// 身份证号存在性检查(在基本验证之后)
if (!existingPersonIds.contains(excel.getPersonId())) {
throw new RuntimeException(String.format(
"第%d行: 身份证号[%s]不存在于员工信息表中,请先添加员工信息",
i + 1, excel.getPersonId()));
}
String combination = excel.getPersonId() + "|" + excel.getSocialCreditCode();
CcdiStaffEnterpriseRelation relation = new CcdiStaffEnterpriseRelation();