diff --git a/bonus-admin/src/main/java/com/bonus/web/service/enterprise/PersonnelService.java b/bonus-admin/src/main/java/com/bonus/web/service/enterprise/PersonnelService.java index 3674973..c7a177a 100644 --- a/bonus-admin/src/main/java/com/bonus/web/service/enterprise/PersonnelService.java +++ b/bonus-admin/src/main/java/com/bonus/web/service/enterprise/PersonnelService.java @@ -200,8 +200,17 @@ public class PersonnelService { sourceFileService.delResourceFile(dto.getDelFiles(), TableConstants.TB_ENTERPRISE_PERSONNEL); } - // 异常信息删除集合 + // 证书相关 + // 查询人员相关证书 + List oldCertificateList = imdCertificateService.getCertificates(dto); List delErrorInfoList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(oldCertificateList)){ + for (PersonnelCertificate item : oldCertificateList) { + // 添加需要删除的异常信息 + ErrorInfo delErrorInfo = setErrorInfo(item); + delErrorInfoList.add(delErrorInfo); + } + } // 处理资质信息和职称信息 if(CollectionUtils.isNotEmpty(dto.getPersonnelCertificateFiles())){ // 查询人员职位是否发生了变化,是否导致证书类型也发生了变化 @@ -214,9 +223,6 @@ public class PersonnelService { // 添加需要删除的资源文件 ResourceFilePo delResourceFilePo = setResourceFile(item,TableConstants.TB_PERSONNEL_CERTIFICATE); delFiles.add(delResourceFilePo); - // 添加需要删除的异常信息 - ErrorInfo delErrorInfo = setErrorInfo(item); - delErrorInfoList.add(delErrorInfo); } // 删除证书资源文件根据业务id、来源表、业务类型 sourceFileService.delResourceFileBybusinessId(delFiles); @@ -228,14 +234,16 @@ public class PersonnelService { List certificateList = new ArrayList<>(); List errorInfos = new ArrayList<>(); for (EnterprisePersonnelDto.PersonnelCertificateDto item : dto.getPersonnelCertificateFiles()) { + // 新建的证书 + if(item.getPersonnelCertificate().getPersonnelCertificateId() == null){ + item.getPersonnelCertificate().setPersonnelId(dto.getPersonnelId()); + imdCertificateService.addSingleCertificateData(item); + } if(Objects.nonNull(item.getResourceFilePo())){ item.getResourceFilePo().setBusinessId(item.getPersonnelCertificate().getPersonnelCertificateId());// 添加证书id item.getResourceFilePo().setSourceTable(TableConstants.TB_PERSONNEL_CERTIFICATE); // 来源表 certificateList.add(item.getResourceFilePo()); } - // 添加需要删除的异常信息 - ErrorInfo delErrorInfo = setErrorInfo(item.getPersonnelCertificate()); - delErrorInfoList.add(delErrorInfo); // 检查证书资源文件是否存在过期 ErrorInfo errorInfo = CertificateUtil.checkCertificateState(item.getPersonnelCertificate().getCertificateValidityPeriod(), item.getPersonnelCertificate().getCertificateType(), @@ -256,7 +264,9 @@ public class PersonnelService { sourceFileService.saveResourceFile(certificateList); } // 删除异常信息数据-根据业务id、业务类型、来源表 - imdErrorInfoService.delErrorInfoByBusinessId(delErrorInfoList); + if(CollectionUtils.isNotEmpty(delErrorInfoList)){ + imdErrorInfoService.delErrorInfoByBusinessId(delErrorInfoList); + } // 存在证书过期异常信息则添加 if(CollectionUtils.isNotEmpty(errorInfos)){ imdErrorInfoService.addErrorInfo(errorInfos); diff --git a/bonus-admin/src/main/java/com/bonus/web/service/enterprise/TechnicalService.java b/bonus-admin/src/main/java/com/bonus/web/service/enterprise/TechnicalService.java index c6dbf2c..e745c8f 100644 --- a/bonus-admin/src/main/java/com/bonus/web/service/enterprise/TechnicalService.java +++ b/bonus-admin/src/main/java/com/bonus/web/service/enterprise/TechnicalService.java @@ -136,7 +136,7 @@ public class TechnicalService { // 1.技术方案库类别是否存在子集 int result = imdTechnicalService.hasChildData(dto); if(result > 0){ - return AjaxResult.error("技术方案库类别子集数据,无法删除"); + return AjaxResult.error("技术方案库类别存在子集数据,无法删除"); } // 2.添加技术方案库类别数据 imdTechnicalService.operTypeData(dto, 3); diff --git a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/mapper/IMDCertificateMapper.java b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/mapper/IMDCertificateMapper.java index 7756796..1c784bd 100644 --- a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/mapper/IMDCertificateMapper.java +++ b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/mapper/IMDCertificateMapper.java @@ -60,4 +60,13 @@ public interface IMDCertificateMapper { * @date 2025/10/24 13:12 */ List getCertificates(EnterprisePersonnelDto dto); + + /** + * 添加单个人员证书 + * @param item + * @return void + * @author cwchen + * @date 2025/11/17 17:07 + */ + void addSingleCertificateData(@Param("item") EnterprisePersonnelDto.PersonnelCertificateDto item); } diff --git a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/IMDCertificateService.java b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/IMDCertificateService.java index dc66199..d41dbe7 100644 --- a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/IMDCertificateService.java +++ b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/IMDCertificateService.java @@ -58,4 +58,13 @@ public interface IMDCertificateService { * @date 2025/10/24 13:11 */ List getCertificates(EnterprisePersonnelDto dto); + + /** + * 单个添加人员证书 + * @param item + * @return void + * @author cwchen + * @date 2025/11/17 17:06 + */ + void addSingleCertificateData(EnterprisePersonnelDto.PersonnelCertificateDto item); } diff --git a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/impl/MDCertificateServiceImpl.java b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/impl/MDCertificateServiceImpl.java index 669c490..bbcdec8 100644 --- a/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/impl/MDCertificateServiceImpl.java +++ b/bonus-mainDatabase/src/main/java/com/bonus/mainDataBase/service/impl/MDCertificateServiceImpl.java @@ -60,4 +60,9 @@ public class MDCertificateServiceImpl implements IMDCertificateService { return null; } } + + @Override + public void addSingleCertificateData(EnterprisePersonnelDto.PersonnelCertificateDto item) { + imdCertificateMapper.addSingleCertificateData(item); + } } diff --git a/bonus-mainDatabase/src/main/resources/mapper/CertificateMapper.xml b/bonus-mainDatabase/src/main/resources/mapper/CertificateMapper.xml index cae2273..90ec474 100644 --- a/bonus-mainDatabase/src/main/resources/mapper/CertificateMapper.xml +++ b/bonus-mainDatabase/src/main/resources/mapper/CertificateMapper.xml @@ -85,4 +85,24 @@ WHERE personnel_id = #{personnelId} AND del_flag = '0' + + + + INSERT INTO tb_personnel_certificate + (personnel_id, certificate_type, professional_type, certificate_code, certificate_level, + certificate_validity_period,use_validity_period,register_professional,title_name,professional_name) + VALUES + ( + #{item.personnelCertificate.personnelId}, + #{item.personnelCertificate.certificateType}, + #{item.personnelCertificate.professionalType}, + #{item.personnelCertificate.certificateCode}, + #{item.personnelCertificate.certificateLevel}, + #{item.personnelCertificate.certificateValidityPeriod}, + #{item.personnelCertificate.useValidityPeriod}, + #{item.personnelCertificate.registerProfessional}, + #{item.personnelCertificate.titleName}, + #{item.personnelCertificate.professionalName} + ) + diff --git a/bonus-mainDatabase/src/main/resources/mapper/EnterpriseMapper.xml b/bonus-mainDatabase/src/main/resources/mapper/EnterpriseMapper.xml index 08a99c9..319733a 100644 --- a/bonus-mainDatabase/src/main/resources/mapper/EnterpriseMapper.xml +++ b/bonus-mainDatabase/src/main/resources/mapper/EnterpriseMapper.xml @@ -42,6 +42,8 @@ SELECT COUNT(*) AS num FROM tb_enterprise_technical_solution_type WHERE enterprise_id = #{enterpriseId} AND del_flag = '0' UNION ALL SELECT COUNT(*) AS num FROM tb_enterprise_tool WHERE enterprise_id = #{enterpriseId} AND del_flag = '0' + UNION ALL + SELECT COUNT(*) AS num FROM tb_enterprise_rejection_item WHERE enterprise_id = #{enterpriseId} AND del_flag = '0' ) A diff --git a/bonus-mainDatabase/src/main/resources/mapper/ToolMapper.xml b/bonus-mainDatabase/src/main/resources/mapper/ToolMapper.xml index f63e05f..41cefd7 100644 --- a/bonus-mainDatabase/src/main/resources/mapper/ToolMapper.xml +++ b/bonus-mainDatabase/src/main/resources/mapper/ToolMapper.xml @@ -104,10 +104,10 @@