From dd301aabdfe6c155f50b75a8044aa8a6b1bee063 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 27 Apr 2022 11:00:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E5=8C=BA=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 --- .../java/com/epmet/dao/IcNeighborHoodDao.java | 18 +++++++ .../model/ImportNeighborHoodInfoListener.java | 53 ++++++++++++++----- .../epmet/service/IcNeighborHoodService.java | 17 ++++++ .../impl/IcNeighborHoodServiceImpl.java | 38 +++++++++++-- .../resources/mapper/IcNeighborHoodDao.xml | 43 +++++++++++++++ 5 files changed, 153 insertions(+), 16 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java index d2adb6c87f..520cd65337 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java @@ -18,6 +18,8 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.ImportGeneralDTO; +import com.epmet.dto.NeighborHoodAndManagementDTO; import com.epmet.dto.form.IcNeighborHoodListFormDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.entity.IcHouseEntity; @@ -59,4 +61,20 @@ public interface IcNeighborHoodDao extends BaseDao { */ List selectNeighborhoodNameByNames(@Param("names")List names,@Param("customerId") String customerId); + /** + * Desc: 更新小区详细地址和备注 + * @param needUpdateList + * @author zxc + * @date 2022/4/27 09:59 + */ + void updateNeighborHood(@Param("list") List needUpdateList); + + /** + * Desc: 更新小区关系表 + * @param updateNeighborHoodAndManagement + * @author zxc + * @date 2022/4/27 10:33 + */ + void neighborHoodPropertyUpdate(@Param("list")List updateNeighborHoodAndManagement); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportNeighborHoodInfoListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportNeighborHoodInfoListener.java index a75f0dc15f..a2581e8c48 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportNeighborHoodInfoListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportNeighborHoodInfoListener.java @@ -51,6 +51,7 @@ public class ImportNeighborHoodInfoListener extends AnalysisEventListener needDisposeList = new ArrayList<>(); List needInsertList = new ArrayList<>(); + List needUpdateList = new ArrayList<>(); String gridName = null; String agencyName = null; @@ -128,7 +129,7 @@ public class ImportNeighborHoodInfoListener extends AnalysisEventListener groupByAllName = needDisposeList.stream().collect(Collectors.groupingBy( @@ -151,8 +152,11 @@ public class ImportNeighborHoodInfoListener extends AnalysisEventListener> groupByStatus = needDisposeList.stream().collect(Collectors.groupingBy(ImportGeneralDTO::getExistStatus)); List importGeneralDTOS = groupByStatus.get(false); - if (!CollectionUtils.isEmpty(importGeneralDTOS)){ - List importInfo = neighborHoodService.getImportInfo(formDTO, importGeneralDTOS); + if (!CollectionUtils.isEmpty(importGeneralDTOS) || !CollectionUtils.isEmpty(needUpdateList)){ + List importInfo = new ArrayList<>(); + if (!CollectionUtils.isEmpty(importGeneralDTOS)){ + importInfo = neighborHoodService.getImportInfo(formDTO, importGeneralDTOS); + } Map> groupByBuildingExistStatus = importInfo.stream().collect(Collectors.groupingBy(ImportGeneralDTO::getNeighborHoodExistStatus)); List existList = groupByBuildingExistStatus.get(true); if (!CollectionUtils.isEmpty(existList)){ @@ -165,7 +169,16 @@ public class ImportNeighborHoodInfoListener extends AnalysisEventListener notExistList = groupByBuildingExistStatus.get(false); + List notExistList = new ArrayList<>(); + List notExistListFalse = groupByBuildingExistStatus.get(false); + if (!CollectionUtils.isEmpty(notExistListFalse)){ + notExistList.addAll(notExistListFalse); + } + if (!CollectionUtils.isEmpty(needUpdateList)){ + notExistList.addAll(needUpdateList); + // 更新详细地址和备注 + neighborHoodService.updateNeighborHood(needUpdateList); + } if (!CollectionUtils.isEmpty(notExistList)){ // 物业表插入 List propertyNames = notExistList.stream().filter(n -> StringUtils.isNotBlank(n.getPropertyName())).map(m -> m.getPropertyName()).distinct().collect(Collectors.toList()); @@ -184,15 +197,26 @@ public class ImportNeighborHoodInfoListener extends AnalysisEventListener neighborHoodAndManagementDTOS = ConvertUtils.sourceToTarget(notExistList, NeighborHoodAndManagementDTO.class); + List neighborHoodAndManagementDTOS = ConvertUtils.sourceToTarget(notExistListFalse, NeighborHoodAndManagementDTO.class); + List updateNeighborHoodAndManagement = ConvertUtils.sourceToTarget(needUpdateList, NeighborHoodAndManagementDTO.class); List propertyManagementInfos = propertyManagementDao.selectIdByName(propertyNames); - neighborHoodAndManagementDTOS.forEach(n -> propertyManagementInfos.stream().filter(p -> p.getName().equals(n.getPropertyName())) - .forEach(p -> { - n.setPropertyId(p.getId()); - n.setNeighborHoodId(n.getNeighborHoodId()); - })); + if (!CollectionUtils.isEmpty(neighborHoodAndManagementDTOS)){ + neighborHoodAndManagementDTOS.forEach(n -> propertyManagementInfos.stream().filter(p -> p.getName().equals(n.getPropertyName())) + .forEach(p -> { + n.setPropertyId(p.getId()); + n.setNeighborHoodId(n.getNeighborHoodId()); + })); + } + if (!CollectionUtils.isEmpty(updateNeighborHoodAndManagement)){ + updateNeighborHoodAndManagement.forEach(n -> propertyManagementInfos.stream().filter(p -> p.getName().equals(n.getPropertyName())) + .forEach(p -> { + n.setPropertyId(p.getId()); + n.setNeighborHoodId(n.getNeighborHoodId()); + })); + } List icNeighborHoodPropertyEntities = ConvertUtils.sourceToTarget(neighborHoodAndManagementDTOS, IcNeighborHoodPropertyEntity.class); neighborHoodService.neighborHoodPropertyInsert(icNeighborHoodPropertyEntities); + neighborHoodService.neighborHoodPropertyUpdate(updateNeighborHoodAndManagement); } } } @@ -200,6 +224,7 @@ public class ImportNeighborHoodInfoListener extends AnalysisEventListener(); needInsertList = new ArrayList<>(); + needUpdateList = new ArrayList<>(); gridName = null; agencyName = null; gridInfos = null; @@ -297,9 +322,13 @@ public class ImportNeighborHoodInfoListener extends AnalysisEventListener * @return */ PageData openPage(IcNeighborHoodAddFormDTO params); + + /** + * Desc: 更新小区 + * @param needUpdateList + * @author zxc + * @date 2022/4/27 09:59 + */ + void updateNeighborHood(List needUpdateList); + + /** + * Desc: 更新小区关系表 + * @param updateNeighborHoodAndManagement + * @author zxc + * @date 2022/4/27 10:33 + */ + void neighborHoodPropertyUpdate(List updateNeighborHoodAndManagement); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java index 67a21aca56..a518630358 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java @@ -496,10 +496,12 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl entities){ - List> partition = ListUtils.partition(entities, NumConstant.ONE_HUNDRED); - partition.forEach(p -> { - neighborHoodPropertyService.insertBatch(p); - }); + if (CollectionUtils.isNotEmpty(entities)){ + List> partition = ListUtils.partition(entities, NumConstant.ONE_HUNDRED); + partition.forEach(p -> { + neighborHoodPropertyService.insertBatch(p); + }); + } } /** @@ -708,4 +710,32 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl needUpdateList) { + if (CollectionUtils.isNotEmpty(needUpdateList)){ + baseDao.updateNeighborHood(needUpdateList); + } + } + + /** + * Desc: 更新小区关系表 + * @param updateNeighborHoodAndManagement + * @author zxc + * @date 2022/4/27 10:33 + */ + @Override + @Transactional + public void neighborHoodPropertyUpdate(List updateNeighborHoodAndManagement) { + if (CollectionUtils.isNotEmpty(updateNeighborHoodAndManagement)){ + baseDao.neighborHoodPropertyUpdate(updateNeighborHoodAndManagement); + } + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml index 2f3d335708..591fec22d0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml @@ -25,6 +25,49 @@ + + + update ic_neighbor_hood + + + + when id = #{l.neighborHoodId} then #{l.address} + + + + + when id = #{l.neighborHoodId} then #{l.remark} + + + UPDATED_TIME = NOW() + + WHERE DEL_FLAG = '0' + AND ID IN ( + + #{l.neighborHoodId} + + ) + + + + + update ic_neighbor_hood_property + + + + when NEIGHBOR_HOOD_ID = #{l.neighborHoodId} then #{l.propertyId} + + + UPDATED_TIME = NOW() + + WHERE DEL_FLAG = '0' + AND NEIGHBOR_HOOD_ID IN ( + + #{l.neighborHoodId} + + ) + +