From cf051cbdb147c854edbb4ac545b82abbf9881d44 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 27 Apr 2022 14:59:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A5=BC=E6=A0=8B=E5=AF=BC=E5=85=A5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/ImportErrorMsgConstants.java | 1 + .../java/com/epmet/dao/IcBuildingDao.java | 8 ++++++ .../model/ImportBuildingInfoListener.java | 12 +++++---- .../com/epmet/service/IcBuildingService.java | 9 +++++++ .../service/impl/IcBuildingServiceImpl.java | 13 ++++++++++ .../impl/IcNeighborHoodServiceImpl.java | 25 ++++++++++++++++--- .../main/resources/mapper/IcBuildingDao.xml | 5 ++++ 7 files changed, 65 insertions(+), 8 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/ImportErrorMsgConstants.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/ImportErrorMsgConstants.java index 2c764b63db..0156f0e042 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/ImportErrorMsgConstants.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/ImportErrorMsgConstants.java @@ -8,6 +8,7 @@ package com.epmet.constant; public interface ImportErrorMsgConstants { String EXIST_ERROR = "数据已存在"; + String UNIT_ERROR = "暂不支持单元数减小"; String DOCUMENT_EXIST_ERROR = "文件中存在重复数据"; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java index 412de5bcba..3fd205a48d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java @@ -188,4 +188,12 @@ public interface IcBuildingDao extends BaseDao { */ void updateBuilding(ImportGeneralDTO info); + /** + * Desc: 查询楼栋下单元数 + * @param buildingId + * @author zxc + * @date 2022/4/27 14:41 + */ + Integer selectUnitCount(@Param("buildingId")String buildingId); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java index cc0bc625ca..6fea4df3ff 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java @@ -165,14 +165,16 @@ public class ImportBuildingInfoListener extends AnalysisEventListener importGeneralDTOS = groupByStatus.get(false); if (!CollectionUtils.isEmpty(importGeneralDTOS)){ List importInfo = neighborHoodService.getImportInfo(formDTO, importGeneralDTOS); - Map> groupByBuildingExistStatus = importInfo.stream().collect(Collectors.groupingBy(ImportGeneralDTO::getBuildingExistStatus)); - List existList = groupByBuildingExistStatus.get(true); - if (!CollectionUtils.isEmpty(existList)){ - existList.forEach(e -> { + /*Map> groupByBuildingExistStatus = importInfo.stream().collect(Collectors.groupingBy(ImportGeneralDTO::getBuildingExistStatus)); + List existList = groupByBuildingExistStatus.get(true);*/ + Map> collect = importInfo.stream().collect(Collectors.groupingBy(ImportGeneralDTO::getBuildingUnitNumStatus)); + List unitNumList = collect.get(true); + if (!CollectionUtils.isEmpty(unitNumList)){ + unitNumList.forEach(e -> { if (!e.getAddStatus()){ nums.add(e.getNum()); BuildingInfoModel buildingInfoModel = ConvertUtils.sourceToTarget(e, BuildingInfoModel.class); - disposeErrorMsg(buildingInfoModel,ImportErrorMsgConstants.EXIST_ERROR); + disposeErrorMsg(buildingInfoModel,ImportErrorMsgConstants.UNIT_ERROR); e.setAddStatus(true); } }); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java index b7279e59ad..0822d4805b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.dto.result.OptionResultDTO; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcBuildingDTO; +import com.epmet.dto.ImportGeneralDTO; import com.epmet.entity.IcBuildingEntity; import java.util.List; @@ -113,4 +114,12 @@ public interface IcBuildingService extends BaseService { * @Date 2022/2/14 15:19 */ IcBuildingDTO getBuildingInfo(String neighborHoodId, String buildingName); + + /** + * Desc: 更新楼栋信息 + * @param info + * @author zxc + * @date 2022/4/27 13:29 + */ + void updateBuilding(ImportGeneralDTO info); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java index 122e9755a0..351fc95306 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.IcBuildingDao; import com.epmet.dto.IcBuildingDTO; +import com.epmet.dto.ImportGeneralDTO; import com.epmet.entity.IcBuildingEntity; import com.epmet.service.IcBuildingService; import lombok.extern.slf4j.Slf4j; @@ -153,4 +154,16 @@ public class IcBuildingServiceImpl extends BaseServiceImpl units = icBuildingUnitService.getUnitOptions(building.getId()); + Map unitMap = units.stream().collect(Collectors.toMap(OptionResultDTO::getCode, OptionResultDTO::getLabel)); + List unitList = new ArrayList<>(); + for (int i = 1; i <= info.getTotalUnitNum(); i++) { + String unitNum = String.valueOf(i); + if (!unitMap.containsKey(unitNum)) { + IcBuildingUnitEntity icBuildingUnit = new IcBuildingUnitEntity(); + icBuildingUnit.setId(IdWorker.getIdStr()); + icBuildingUnit.setBuildingId(building.getId()); + icBuildingUnit.setCustomerId(customerId); + icBuildingUnit.setUnitName(unitNum + "单元"); + icBuildingUnit.setUnitNum(unitNum); + unitList.add(icBuildingUnit); + } + } + icBuildingUnitService.insertBatch(unitList, NumConstant.ONE_HUNDRED); } return building.getId(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml index 8c7f7c78da..7e55db1b9e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml @@ -379,4 +379,9 @@ BUILDING_ID + + +