dev-tmp1
luotaiqian 2026-08-19 09:42:34 +08:00
parent 155049e659
commit f47700a51e
1 changed files with 18 additions and 13 deletions

View File

@ -10,6 +10,7 @@ import com.jjb.saas.system.client.user.request.RoleDeptAddCmd;
import com.jjb.saas.system.client.user.request.UserAddCmd; import com.jjb.saas.system.client.user.request.UserAddCmd;
import com.zcloud.gbscommon.utils.MD5; import com.zcloud.gbscommon.utils.MD5;
import com.zcloud.gbscommon.utils.Sm2Util; import com.zcloud.gbscommon.utils.Sm2Util;
import org.jetbrains.annotations.UnknownNullability;
import org.qinan.safetyeval.client.co.OrgPersonnelImportErrorCO; import org.qinan.safetyeval.client.co.OrgPersonnelImportErrorCO;
import org.qinan.safetyeval.client.co.OrgPersonnelImportResultCO; import org.qinan.safetyeval.client.co.OrgPersonnelImportResultCO;
import org.qinan.safetyeval.domain.constant.CertTypeCodeEnum; import org.qinan.safetyeval.domain.constant.CertTypeCodeEnum;
@ -286,7 +287,7 @@ public class OrgPersonnelExcelImporter {
OrgPersonnelImportRow row = new OrgPersonnelImportRow(); OrgPersonnelImportRow row = new OrgPersonnelImportRow();
basic.setRowIndex(i + 2); basic.setRowIndex(i + 2);
row.setBasic(basic); row.setBasic(basic);
boolean validate = matchCapability(basic, capabilityMap, errors); boolean validate = matchCapability(row, capabilityMap, errors);
// 能力信息未匹配或存在多条,已记录异常,剔除该行 // 能力信息未匹配或存在多条,已记录异常,剔除该行
if (!validate) { if (!validate) {
continue; continue;
@ -339,17 +340,17 @@ public class OrgPersonnelExcelImporter {
* null * null
* </p> * </p>
*/ */
private Boolean matchCapability(OrgPersonnelImportRow.BasicRow basic private Boolean matchCapability(@UnknownNullability OrgPersonnelImportRow row
, Map<String, List<OrgPersonnelImportRow.CapabilityRow>> capabilityMap, List<OrgPersonnelImportErrorCO> errors) { , Map<String, List<OrgPersonnelImportRow.CapabilityRow>> capabilityMap, List<OrgPersonnelImportErrorCO> errors) {
List<OrgPersonnelImportRow.CapabilityRow> capabilityList = capabilityMap.get(trim(basic.getIdCardNo())); List<OrgPersonnelImportRow.CapabilityRow> capabilityList = capabilityMap.get(trim(row.getBasic().getIdCardNo()));
if (CollectionUtils.isEmpty(capabilityList)) { if (CollectionUtils.isEmpty(capabilityList)) {
return true; return true;
} }
if (capabilityList.size() > 1) { if (capabilityList.size() > 1) {
errors.add(new OrgPersonnelImportErrorCO(basic.getRowIndex(), trim(basic.getAccount()), trim(basic.getUserName()), errors.add(new OrgPersonnelImportErrorCO(row.getBasic().getRowIndex(), row.getBasic().getAccount()
"专职人员能力信息中查询到多条数据")); , row.getBasic().getUserName(), "专职人员能力信息中查询到多条数据"));
return false; return false;
} }
OrgPersonnelImportRow.CapabilityRow capabilityRow = capabilityList.get(0); OrgPersonnelImportRow.CapabilityRow capabilityRow = capabilityList.get(0);
@ -370,30 +371,31 @@ public class OrgPersonnelExcelImporter {
} }
// 能力认证一/二:认证行业、专业能力、来源 有值时校验枚举并回填,不通过记录异常 // 能力认证一/二:认证行业、专业能力、来源 有值时校验枚举并回填,不通过记录异常
if (!validateAndFillCertEnums(basic, capabilityRow, errors)) { if (!validateAndFillCertEnums(row.getBasic(), capabilityRow, errors)) {
return false; return false;
} }
// 是否注册安全工程师:为[是]时 注安专业类别/注安等级/证书编号/执业证书编号 必填并校验枚举,通过后写入证书实体 // 是否注册安全工程师:为[是]时 注安专业类别/注安等级/证书编号/执业证书编号 必填并校验枚举,通过后写入证书实体
if (!validateAndFillRegisterEngineerCert(basic, capabilityRow, errors)) { if (!validateAndFillRegisterEngineerCert(row.getBasic(), capabilityRow, errors)) {
return false; return false;
} }
// 是否评价师:为[是]时 评价师等级/证书编号 必填并校验枚举,通过后写入证书实体 // 是否评价师:为[是]时 评价师等级/证书编号 必填并校验枚举,通过后写入证书实体
if (!validateAndFillEvaluatorCert(basic, capabilityRow, errors)) { if (!validateAndFillEvaluatorCert(row.getBasic(), capabilityRow, errors)) {
return false; return false;
} }
// 职称:有值时校验枚举并回填,查询不到记录异常 // 职称:有值时校验枚举并回填,查询不到记录异常
if (!validateAndFillTitle(basic, capabilityRow, errors)) { if (!validateAndFillTitle(row.getBasic(), capabilityRow, errors)) {
return false; return false;
} }
// 学历类型、毕业院校、学历层次、所学专业 回填到基础信息行(@ExcelIgnore 字段Excel原始值忽略 // 学历类型、毕业院校、学历层次、所学专业 回填到基础信息行(@ExcelIgnore 字段Excel原始值忽略
basic.setEducationType(capabilityRow.getEducationType()); row.getBasic().setEducationType(capabilityRow.getEducationType());
basic.setGraduateSchool(capabilityRow.getGraduateSchool()); row.getBasic().setGraduateSchool(capabilityRow.getGraduateSchool());
basic.setEducationLevel(capabilityRow.getEducationLevel()); row.getBasic().setEducationLevel(capabilityRow.getEducationLevel());
basic.setMajor(capabilityRow.getMajor()); row.getBasic().setMajor(capabilityRow.getMajor());
row.setCapability(capabilityRow);
return true; return true;
} }
@ -994,6 +996,9 @@ public class OrgPersonnelExcelImporter {
// 逐行校验:字段为空跳过;对照表中不存在的记录异常并标记;校验通过则回填 // 逐行校验:字段为空跳过;对照表中不存在的记录异常并标记;校验通过则回填
for (OrgPersonnelImportRow row : rows) { for (OrgPersonnelImportRow row : rows) {
OrgPersonnelImportRow.CapabilityRow capability = row.getCapability(); OrgPersonnelImportRow.CapabilityRow capability = row.getCapability();
if (capability == null) {
continue;
}
// 所学专业:查询不到记录异常;查询到回填 basicDisciplineMajorId、bdmMajor // 所学专业:查询不到记录异常;查询到回填 basicDisciplineMajorId、bdmMajor
String majorName = trim(capability.getMajor()); String majorName = trim(capability.getMajor());