diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java index b985cb2..13b6f27 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicUserInfoServiceImpl.java @@ -24,8 +24,6 @@ import com.elink.esua.epdc.dto.house.SysPopulationSimpleDictDTO; import com.elink.esua.epdc.dto.house.form.SysPopulationSimpleDictFormDTO; import com.elink.esua.epdc.dto.house.result.EpdcPopulationErrorResultDTO; import com.elink.esua.epdc.dto.personroom.EpidemicUnitOwnerDTO; -import com.elink.esua.epdc.dto.personroom.result.EpidemicPlotBuildingResultDTO; -import com.elink.esua.epdc.dto.personroom.result.EpidemicUnitInfoResultDTO; import com.elink.esua.epdc.vaccine.constant.ImageConstant; import com.elink.esua.epdc.vaccine.epidemic.dao.EpidemicUserInfoDao; import com.elink.esua.epdc.vaccine.epidemic.dto.*; @@ -41,8 +39,6 @@ import com.elink.esua.epdc.vaccine.epidemic.service.EpidemicUserInfoService; import com.elink.esua.epdc.vaccine.epidemic.service.EpidemicUserInoutRecordService; import com.elink.esua.epdc.vaccine.feign.VimAdminFeignClient; import com.elink.esua.epdc.vaccine.house.excel.BaseResidentInformationUpdateExcel; -import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicBuildingUnitEntity; -import com.elink.esua.epdc.vaccine.personroom.entity.EpidemicUnitOwnerEntity; import com.elink.esua.epdc.vaccine.personroom.service.EpidemicBuildingUnitService; import com.elink.esua.epdc.vaccine.personroom.service.EpidemicPlotBuildingService; import com.elink.esua.epdc.vaccine.personroom.service.EpidemicUnitOwnerService; @@ -731,7 +727,7 @@ public class EpidemicUserInfoServiceImpl extends CrudServiceImplitem.setSelfIdentityNo(item.getSelfIdentityNo().toUpperCase())); + excelData.forEach(item -> item.setSelfIdentityNo(item.getSelfIdentityNo().toUpperCase())); excelDataError = ExcelImportUtil.importExcel(f, BaseResidentInformationUpdateExcel.class, importParams); // 校验数据 errorData = this.checkResidentsExcel(excelData, excelDataError, sysPopulationSimpleDictDTOS, addList, addErrorList); diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java index faa3cfc..a385403 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/personroom/service/impl/EpidemicBuildingUnitServiceImpl.java @@ -31,8 +31,6 @@ import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.StreamUtils; import com.elink.esua.epdc.dto.CompleteDeptDTO; -import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; -import com.elink.esua.epdc.dto.house.SysPopulationSimpleDictDTO; import com.elink.esua.epdc.dto.house.result.EpdcPopulationErrorResultDTO; import com.elink.esua.epdc.dto.personroom.EpidemicBuildingUnitDTO; import com.elink.esua.epdc.dto.personroom.EpidemicUnitOwnerDTO; @@ -231,9 +229,9 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl parentAndAllDept = adminVimFeignClient.getParentAndAllDept(gridId); + Result parentAndAllDept = adminVimFeignClient.getCompleteDept(parentAndAllDeptDTO.getGridId().toString()); if (!parentAndAllDept.success() || parentAndAllDept.getData() == null) { return new Result().error("获取归属部门信息失败"); } @@ -260,12 +258,15 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl buildingList = epidemicPlotBuildingService.listAllBuildingInfo(); + // 校验数据 - errorInfo = this.checkResidentsExcel(excelData, excelErrorData, null, addList, addErrorList); + errorInfo = this.checkResidentsExcel(excelData, excelErrorData, buildingList, addList, addErrorList, gridId); // 保存居住人信息 if (addList.size() > 0) { - saveResidentList(addList, parentAndAllDeptDTO, populationIdNoAndIdMap); + saveResidentList(addList, buildingList, parentAndAllDeptDTO); } // 批量插入错误数据 List insertErrorList = ConvertUtils.sourceToTarget(addErrorList, EpidemicUserErrorEntity.class); @@ -315,9 +316,9 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl checkResidentsExcel(List excelData, List excelErrorData, - List sysPopulationSimpleDictDTOS, + List buildingList, List addList, - List addErrorList) { + List addErrorList, String gridId) { // 不匹配信息 List errorLineInfoList = new ArrayList<>(); EpdcPopulationErrorResultDTO errorLineInfoDto; @@ -347,6 +348,11 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl buildingOptional = buildingList.stream().filter(build -> build.getPlotName().equals(plot) && build.getBuildingName().equals(buildingNo) && build.getGridId().equals(gridId)).findFirst(); + if (!buildingOptional.isPresent()) { + errorInfo += "网格内无楼栋信息;"; + } } //如果有错误信息 @@ -375,12 +381,10 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl excelData, ParentAndAllDeptDTO parentAndAllDeptDTO, Map populationIdNoAndIdMap) { + private void saveResidentList(List excelData, List buildingList, CompleteDeptDTO parentAndAllDeptDTO) { List addList = new ArrayList<>(); List updateList = new ArrayList<>(); - Result allDeptInfo = adminVimFeignClient.getCompleteDept(parentAndAllDeptDTO.getGridId().toString()); - CompleteDeptDTO completeDept = allDeptInfo.getData(); List checkList = epidemicUserInfoService.listByIdCards(excelData.stream().map(BaseResidentInformationUpdateExcel::getSelfIdentityNo).collect(Collectors.toList())); @@ -413,14 +417,13 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl buildingList = epidemicPlotBuildingService.listAllBuildingInfo(); int roomCode = getMaxCode(); List unitList = listAllUnitInfo(); List addOwner = new ArrayList<>(); for (EpidemicUserInfoEntity item : addList) { // 只有信息完整的才进行匹配 if (StringUtils.isNotBlank(item.getPlot()) && StringUtils.isNotBlank(item.getBuildingNo()) && StringUtils.isNotBlank(item.getUnit())) { - Optional unitOptional = unitList.stream().filter(unit -> unit.getPlotName().equals(item.getPlot()) && unit.getBuildingName().equals(item.getBuildingNo()) && unit.getUnit().equals(item.getUnit())).findFirst(); + Optional unitOptional = unitList.stream().filter(unit -> unit.getPlotName().equals(item.getPlot()) && unit.getBuildingName().equals(item.getBuildingNo()) && unit.getUnit().equals(item.getUnit()) && unit.getRoomNo().equals(item.getRoomNo()) && unit.getGridId().equals(parentAndAllDeptDTO.getGrid())).findFirst(); if (unitOptional.isPresent()) { EpidemicUnitOwnerEntity entity = new EpidemicUnitOwnerEntity(); entity.setIdCard(item.getIdCard()); @@ -429,7 +432,7 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl buildingOptional = buildingList.stream().filter(build -> build.getPlotName().equals(item.getPlot()) && build.getBuildingName().equals(item.getBuildingNo())).findFirst(); + Optional buildingOptional = buildingList.stream().filter(build -> build.getPlotName().equals(item.getPlot()) && build.getBuildingName().equals(item.getBuildingNo()) && build.getGridId().equals(parentAndAllDeptDTO.getGrid())).findFirst(); if (buildingOptional.isPresent()) { EpidemicBuildingUnitEntity unitEntity = new EpidemicBuildingUnitEntity(); unitEntity.setBuildingId(buildingOptional.get().getId()); @@ -442,12 +445,12 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl unitOptional = unitList.stream().filter(unit -> unit.getPlotName().equals(item.getPlot()) && unit.getBuildingName().equals(item.getBuildingNo()) && unit.getUnit().equals(item.getUnit())&& unit.getRoomNo().equals(item.getRoomNo())).findFirst(); + Optional unitOptional = unitList.stream().filter(unit -> unit.getPlotName().equals(item.getPlot()) && unit.getBuildingName().equals(item.getBuildingNo()) && unit.getUnit().equals(item.getUnit()) && unit.getRoomNo().equals(item.getRoomNo()) && unit.getGridId().equals(parentAndAllDeptDTO.getGrid())).findFirst(); if (unitOptional.isPresent()) { EpidemicUnitOwnerEntity entity = new EpidemicUnitOwnerEntity(); entity.setIdCard(item.getIdCard()); @@ -473,7 +476,7 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl buildingOptional = buildingList.stream().filter(build -> build.getPlotName().equals(item.getPlot()) && build.getBuildingName().equals(item.getBuildingNo())).findFirst(); + Optional buildingOptional = buildingList.stream().filter(build -> build.getPlotName().equals(item.getPlot()) && build.getBuildingName().equals(item.getBuildingNo()) && build.getGridId().equals(parentAndAllDeptDTO.getGrid())).findFirst(); if (buildingOptional.isPresent()) { EpidemicBuildingUnitEntity unitEntity = new EpidemicBuildingUnitEntity(); unitEntity.setBuildingId(buildingOptional.get().getId()); @@ -486,12 +489,12 @@ public class EpidemicBuildingUnitServiceImpl extends CrudServiceImpl