diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/impl/CertificateMaintenanceServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/impl/CertificateMaintenanceServiceImpl.java index b65316f9..4b30b14e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/impl/CertificateMaintenanceServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/impl/CertificateMaintenanceServiceImpl.java @@ -1,12 +1,15 @@ package org.springblade.desk.jobtransfer.service.impl; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import jakarta.annotation.Resource; import org.springblade.core.tool.api.R; import org.springblade.desk.jobtransfer.mapper.CertificateTypeMapper; import org.springblade.desk.jobtransfer.mapper.PostHandleMapper; import org.springblade.desk.jobtransfer.pojo.entity.CertificateMaintenanceEntity; +import org.springblade.desk.jobtransfer.pojo.entity.CertificateTypeEntity; import org.springblade.desk.jobtransfer.pojo.entity.PostHandleEntity; +import org.springblade.desk.jobtransfer.pojo.enums.MaintenanceStatusEnum; import org.springblade.desk.jobtransfer.pojo.enums.PostHandleStatusEnum; import org.springblade.desk.jobtransfer.pojo.enums.StaffTypeEnum; import org.springblade.desk.jobtransfer.pojo.excel.CertificateMaintenanceExcel; @@ -72,6 +75,7 @@ public class CertificateMaintenanceServiceImpl extends BaseServiceImpl certificateMaintenanceImports) { //获取全部用户codes,通过code获取用户ID, Set codes = certificateMaintenanceImports.stream().map(CertificateMaintenanceImport::getUserCode) @@ -106,8 +110,30 @@ public class CertificateMaintenanceServiceImpl extends BaseServiceImpl certificateType = certificateMaintenanceImports.stream().map(CertificateMaintenanceImport::getCertificateType) .collect(Collectors.toSet()); - - return null; + LambdaQueryWrapper certificateTypeEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + certificateTypeEntityLambdaQueryWrapper.in(CollectionUtils.isNotEmpty(certificateType), CertificateTypeEntity::getName, certificateType); // [8](@ref) + List certificateTypeEntities = certificateTypeMapper.selectList(certificateTypeEntityLambdaQueryWrapper); + Map certificateTypeNameIds = certificateTypeEntities.stream().collect(Collectors.toMap( + entity -> entity.getName(), + entity -> entity.getId())); + certificateType.removeAll(certificateTypeNameIds.keySet()); + if (certificateType.size() > 0) { + return R.fail("证书:" + String.join(",", certificateType) + "不存在。"); + } + List saves = new ArrayList<>(); + certificateMaintenanceImports.forEach(e -> { + CertificateMaintenanceEntity entity = new CertificateMaintenanceEntity(); + entity.setPhId(codePostHandleIdMap.get(e.getUserCode())); + entity.setCertificateId(certificateTypeNameIds.get(e.getCertificateType())); + entity.setCertificateDate(e.getCertificateDate()); + entity.setAstronautDate(e.getAstronautDate()); + entity.setAirworthinessDate(e.getAirworthinessDate()); + entity.setCertificateCode(e.getCertificateCode()); + entity.setMaintenanceStatus(MaintenanceStatusEnum.NORMAL.getCode().shortValue()); + saves.add(entity); + }); + boolean saved = this.saveBatch(saves); + return R.status(saved); } diff --git a/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/岗位处理导入模板下载.xls b/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/岗位处理导入模板下载.xls index af6fc61b..335e4a9b 100644 Binary files a/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/岗位处理导入模板下载.xls and b/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/岗位处理导入模板下载.xls differ diff --git a/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/证书维护导入模板.xls b/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/证书维护导入模板.xls index 5cd5f217..da162ac7 100644 Binary files a/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/证书维护导入模板.xls and b/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/证书维护导入模板.xls differ