diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java index b66d8e12..6d8725e6 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/HousingInformationServiceImpl.java @@ -26,7 +26,10 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.utils.*; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.IdentityNoUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.config.StreamUtils; import com.elink.esua.epdc.constant.HouseUseConstant; import com.elink.esua.epdc.constant.PopulationDictConstant; @@ -51,7 +54,6 @@ import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.math.BigDecimal; import java.util.*; -import java.util.concurrent.ConcurrentHashMap; /** * 房屋信息表 @@ -140,14 +142,16 @@ public class HousingInformationServiceImpl extends BaseServiceImpl0){ - populationIdNoAndIdMap = savePopulationList(basePopulationInformationExcels, parentAndAllDeptDTO); + populationIdNoAndIdMap = savePopulationListEnd(basePopulationInformationExcels, parentAndAllDeptDTO); } if(baseResidentInformationExcels!=null && baseResidentInformationExcels.size()>0){ saveResidentList(baseResidentInformationExcels,populationIdNoAndIdMap); @@ -420,14 +427,69 @@ public class HousingInformationServiceImpl extends BaseServiceImpl savePopulationListEnd(List basePopulationInformationExcels,ParentAndAllDeptDTO parentAndAllDeptDTO) { + Map populationIdNoAndIdMap = new HashMap<>(); + for (BasePopulationInformationExcel basePopulationInformationExcel : basePopulationInformationExcels) { + //插入房屋信息 + HousingInformationEntity housingInformationEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel,HousingInformationEntity.class); + if(basePopulationInformationExcel.getBuyingTime()!=null){ + housingInformationEntity.setBuyingTime(DateUtil.parse(basePopulationInformationExcel.getBuyingTime())); + } + housingInformationEntity.setGridId(parentAndAllDeptDTO.getGridId()); + housingInformationEntity.setAllDeptNames(parentAndAllDeptDTO.getAllDeptNames()); + housingInformationEntity.setAllDeptIds(parentAndAllDeptDTO.getAllDeptIds()); + housingInformationEntity.setParentDeptNames(parentAndAllDeptDTO.getParentDeptNames()); + housingInformationEntity.setParentDeptIds(parentAndAllDeptDTO.getParentDeptIds()); + baseDao.insert(housingInformationEntity); + if(HouseUseConstant.RENT.equals(housingInformationEntity.getHouseUse())){ + //房屋租赁信息 + HouseRentInfoEntity houseRentInfoEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel,HouseRentInfoEntity.class); + houseRentInfoEntity.setHouseId(housingInformationEntity.getId()); + houseRentInfoService.insert(houseRentInfoEntity); + }else if(HouseUseConstant.BUSINESS.equals(housingInformationEntity.getHouseUse())){ + //房屋经营信息 + HouseBusinessInfoEntity houseBusinessInfoEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel,HouseBusinessInfoEntity.class); + houseBusinessInfoEntity.setHouseId(housingInformationEntity.getId()); + houseBusinessInfoService.insert(houseBusinessInfoEntity); + } + //插入户主信息 + PopulationInformationEntity populationInformationEntity = ConvertUtils.sourceToTarget(basePopulationInformationExcel,PopulationInformationEntity.class); + PopulationInformationEntity oldPopulationInformationEntity= populationInformationService.getInfoByIdentityNo(populationInformationEntity.getResidentsIdentityNo()); + //校验户主信息 + validateHouseHeadInfo(populationInformationEntity,basePopulationInformationExcel); + if(oldPopulationInformationEntity!=null){ + //身份证在列表已存在,则更新户主信息 + populationInformationEntity.setId(oldPopulationInformationEntity.getId()); + populationInformationService.updateById(populationInformationEntity); + }else { + //校验户主信息 + populationInformationService.insert(populationInformationEntity); + } + //插入房屋人员关联关系表 + HouseResidentEntity houseResidentEntity = new HouseResidentEntity(); + houseResidentEntity.setHouseId(housingInformationEntity.getId()); + houseResidentEntity.setResidentId(populationInformationEntity.getId()); + houseResidentEntity.setIsHouseHead("1"); + houseResidentDao.insert(houseResidentEntity); + populationIdNoAndIdMap.put(basePopulationInformationExcel.getResidentsIdentityNo(),populationInformationEntity.getId()); + } + return populationIdNoAndIdMap; + } + /** + * @return void + * @Description 校验完成后新增人口信息 - 因为不填写产权证而废弃 * @Author songyunpeng * @Date 2020/8/31 * @Param [basePopulationInformationExcels] **/ + @Deprecated private Map savePopulationList(List basePopulationInformationExcels, ParentAndAllDeptDTO parentAndAllDeptDTO) { //插入房屋信息 List housingInformationEntityList = new ArrayList<>(); @@ -556,6 +618,8 @@ public class HousingInformationServiceImpl extends BaseServiceImpl checkPopulationExcel(List basePopulationInformationExcels, List sysPopulationSimpleDictDTOS) { - List housingInformationDTOS = list(new HashMap<>()); // 不匹配信息 List errorLineInfoList = new ArrayList<>(); EpdcPopulationErrorResultDTO errorLineInfoDto; - Map isPropertyOwnerCard = new ConcurrentHashMap<>(); for (int i = 0; i < basePopulationInformationExcels.size(); i++) { BasePopulationInformationExcel basePopulationInformationExcel = basePopulationInformationExcels.get(i); String houseAddress = basePopulationInformationExcel.getHouseAddress()==null?null:basePopulationInformationExcel.getHouseAddress().trim(); @@ -745,7 +807,6 @@ public class HousingInformationServiceImpl extends BaseServiceImpl 0 && StringUtils.isBlank(motorVehicleCategory)) { - errorLineInfoDto = new EpdcPopulationErrorResultDTO(); - errorLineInfoDto.setErrorLine((i + 2) + ""); - errorLineInfoDto.setErrorInfo("机动车类型为空"); - errorLineInfoDto.setSheetName("房屋信息和户主信息"); - errorLineInfoList.add(errorLineInfoDto); - } else if (StringUtils.isNotBlank(motorVehicleCategory)) { + if (StringUtils.isNotBlank(motorVehicleCategory)) { //处理多选类型 String[] motorVehicleCategoryStrings = motorVehicleCategory.split(","); Integer matchNum = 0; @@ -1443,13 +1314,7 @@ public class HousingInformationServiceImpl extends BaseServiceImpl