From c780b377576f39c0a15e7d58e25fdacb0a379f18 Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期三, 30 六月 2021 18:10:46 +0800
Subject: [PATCH] Merge branch 'test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into test

---
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java                        |    1 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/PopulationApi.java                        |    5 ++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java |   97 +++++++++++++++++++++++++++++++++---------------
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationService.java          |    2 +
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java                  |    2 
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseDAO.java             |    2 
 6 files changed, 76 insertions(+), 33 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java
index 0ec4042..81d462d 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/listen/ComMngPopulationServeExcelListen.java
@@ -382,6 +382,7 @@
                 }
             }
         } catch (NumberFormatException e) {
+            e.printStackTrace();
             List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>();
             ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
             importErrorVO.setErrorPosition("第" + index + "行");
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/PopulationApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/PopulationApi.java
index fa4d280..05b4fb4 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/PopulationApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/PopulationApi.java
@@ -54,5 +54,8 @@
         return comMngPopulationService.getPopulationDetailApp(populationId);
     }
 
-
+    @GetMapping("/binding")
+    public R binding() {
+        return comMngPopulationService.binding();
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java
index 393817a..43cb68f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java
@@ -982,7 +982,7 @@
             "   cmp.card_no as idCard, " +
             "   cmp.label, " +
             "   cmp.sex, " +
-            "   cmp.phone, " +
+            "   IFNULL( cmp.phone, '暂无' ) as phone, " +
             "   cmp.address, " +
             "   cmp.political_outlook " +
             "  FROM " +
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseDAO.java
index 068598f..5f7fcc0 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseDAO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseDAO.java
@@ -221,7 +221,7 @@
             " cmphu.id as housePopulationId, " +
             " cmp.sex, " +
             " cmp.`name`, " +
-            " cmp.phone, " +
+            " IFNULL( cmp.phone, '暂无' ) as phone, " +
             " cmp.card_no, " +
             " cmp.label, " +
             " cmp.address, " +
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationService.java
index 7d75782..7cb19a0 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComMngPopulationService.java
@@ -225,4 +225,6 @@
     R getBuildingHousePopulationList(PageComMngPopulationDTO populationDTO);
 
 
+
+    R binding();
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
index 9a9786c..5c2e972 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -16,7 +17,6 @@
 import com.panzhihua.common.exceptions.ServiceException;
 import com.panzhihua.common.model.dtos.community.*;
 import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDetailDTO;
-import com.panzhihua.common.model.dtos.grid.AddComMngHousePopulationDTO;
 import com.panzhihua.common.model.dtos.grid.PageComMngPopulationDTO;
 import com.panzhihua.common.model.dtos.grid.PagePopulationListDTO;
 import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO;
@@ -51,6 +51,7 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
@@ -337,8 +338,19 @@
         areaPath.append(areaAddressVO.getProvince()).append(">").append(areaAddressVO.getCity()).append(">").append(areaAddressVO.getDistrict()).append(">");
         //处理实有人口信息
         for (ComMngPopulationServeExcelVO vo : list) {
-            String address = "";
-            //查询街路巷是否存在
+            if (vo.getDoorNo().contains("号")) {
+                vo.setDoorNo(vo.getDoorNo().replace("号",""));
+            }
+            if(vo.getFloor().contains("栋")){
+                vo.setFloor(vo.getFloor().replace("栋",""));
+            }
+            if(vo.getUnitNo().contains("单元")){
+                vo.setUnitNo(vo.getUnitNo().replace("单元",""));
+            }
+            if(vo.getHouseNo().contains("号")){
+                vo.setHouseNo(vo.getHouseNo().replace("号",""));
+            }
+            //查询小区街路巷是否存在
             ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper<ComMngVillageDO>().eq("alley", vo.getRoad()).eq("house_num", vo.getDoorNo()).eq("community_id", communityId));
             if (comMngVillageDO == null) {
                 ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
@@ -349,14 +361,12 @@
                 continue;
             }
 
-            if (!comMngVillageDO.getHouseNum().contains("号")) {
-                comMngVillageDO.setHouseNum(comMngVillageDO.getHouseNum() + "号");
-            }
+            StringBuilder address = new StringBuilder();
+            address.append(areaAddressVO.getProvince()).append(areaAddressVO.getCity()).append(areaAddressVO.getDistrict())
+                    .append(streetName).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
+                    .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
 
-            address = areaAddressVO.getProvince() + areaAddressVO.getCity()
-                    + areaAddressVO.getDistrict() + streetName + comMngVillageDO.getAlley() + comMngVillageDO.getHouseNum()
-                    + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo();
-            vo.setAddress(address);
+            vo.setAddress(address.toString());
 
             //todo 后期优化改为批量
             //先判断房屋是否存在
@@ -366,7 +376,7 @@
                     .eq(ComMngPopulationHouseDO::getHouseNo, vo.getHouseNo()));
             if (populationHouseDO == null) {
                 //房屋信息不存在建立房屋信息
-                populationHouseDO = savePopulationHouse(vo, comMngVillageDO, communityId, address, areaPath, comActDO.getName());
+                populationHouseDO = savePopulationHouse(vo, comMngVillageDO, communityId, areaPath, comActDO.getName());
                 vo.setHouseId(populationHouseDO.getId());
             }
 
@@ -418,20 +428,19 @@
     }
 
     private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComMngPopulationDO populationDO) throws Exception {
-        populationDO.setRoad(vo.getRoad());
-        populationDO.setDoorNo(vo.getDoorNo());
-        populationDO.setFloor(vo.getFloor());
-        populationDO.setUnitNo(vo.getUnitNo());
-        populationDO.setHouseNo(vo.getHouseNo());
-        populationDO.setCardNo(vo.getCardNo());
-        populationDO.setCardNoStr(vo.getCardNo());
-        if(vo.getIsResidence().intValue() == 1){
-            populationDO.setHouseId(vo.getHouseId());
-        }
+        UpdateWrapper<ComMngPopulationDO> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("id",populationDO.getId());
+        ComMngPopulationDO update = new ComMngPopulationDO();
+        update.setRoad(vo.getRoad());
+        update.setDoorNo(vo.getDoorNo());
+        update.setFloor(vo.getFloor());
+        update.setUnitNo(vo.getUnitNo());
+        update.setHouseNo(vo.getHouseNo());
+        update.setHouseId(vo.getHouseId());
         if (StringUtils.isNotEmpty(populationDO.getPhone())) {
-            populationDO.setPhone(populationDO.getPhone());
+            update.setPhone(populationDO.getPhone());
         }
-        this.baseMapper.updateById(populationDO);
+        this.baseMapper.update(update,updateWrapper);
         return populationDO;
     }
 
@@ -445,17 +454,21 @@
         populationDO.setStreetId(comActDO.getStreetId());
         populationDO.setLabel(Joiner.on(",").join(userTag));
         populationDO.setVillageName(comMngVillageDO.getGroupAt());
-        populationDO.setCardNo(vo.getCardNo());
         populationDO.setCardNoStr(vo.getCardNo());
         populationDO.setUpdateAt(new Date());
-        if(vo.getIsResidence().intValue() == 1){
-            populationDO.setHouseId(vo.getHouseId());
-        }
+        //新增的时候默认绑定房屋id
+//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
+//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
+//            populationDO.setHouseId(vo.getHouseId());
+//        }else{
+//            populationDO.setHouseId(null);
+//        }
+
         this.baseMapper.insert(populationDO);
         return populationDO;
     }
 
-    private ComMngPopulationHouseDO savePopulationHouse(ComMngPopulationServeExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, String address, StringBuilder areaPath, String actName) {
+    private ComMngPopulationHouseDO savePopulationHouse(ComMngPopulationServeExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId,StringBuilder areaPath, String actName) {
         //查询该房屋未建立,执行建立房屋信息
         ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO();
         populationHouseDO.setId(Snowflake.getId());
@@ -469,11 +482,11 @@
         populationHouseDO.setUnitNo(vo.getUnitNo());
         populationHouseDO.setHouseNo(vo.getHouseNo());
         populationHouseDO.setCode(vo.getHouseNo());
-        populationHouseDO.setAddress(address);
+        populationHouseDO.setAddress(vo.getAddress());
         populationHouseDO.setUpdateAt(new Date());
         populationHouseDO.setConstructPurpose(vo.getBuildPurpose());
         StringBuilder housePath = new StringBuilder();
-        housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">").append(comMngVillageDO.getName()).append(">").append(address);
+        housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">").append(comMngVillageDO.getName()).append(">").append(vo.getAddress());
         populationHouseDO.setPath(areaPath.toString() + housePath.toString());
         try {
             populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea()));
@@ -1539,6 +1552,30 @@
     }
 
     @Override
+    public R binding() {
+        QueryWrapper<ComMngPopulationDO> query = new QueryWrapper<>();
+        query.isNull("house_id");
+        List<ComMngPopulationDO> list = baseMapper.selectList(query);
+        list.forEach(e->{
+            QueryWrapper<ComMngPopulationHouseDO> houseQuery = new QueryWrapper<>();
+            houseQuery.lambda().eq(ComMngPopulationHouseDO::getCommunityId,e.getActId())
+                    .eq(ComMngPopulationHouseDO::getAlley,e.getRoad())
+                    .eq(ComMngPopulationHouseDO::getFloor,e.getFloor())
+                    .eq(ComMngPopulationHouseDO::getUnitNo,e.getUnitNo())
+                    .eq(ComMngPopulationHouseDO::getHouseNo,e.getHouseNo());
+            List<ComMngPopulationHouseDO> houseList = comMngPopulationHouseDAO.selectList(houseQuery);
+            if(!CollectionUtils.isEmpty(houseList)){
+                UpdateWrapper<ComMngPopulationDO> updateWrapper = new UpdateWrapper();
+                updateWrapper.eq("id",e.getId());
+                ComMngPopulationDO populationDO = new ComMngPopulationDO();
+                populationDO.setHouseId(houseList.get(0).getId());
+                baseMapper.update(populationDO,updateWrapper);
+            }
+        });
+        return R.ok();
+    }
+
+    @Override
     public R getBuildingHousePopulationList(PageComMngPopulationDTO populationDTO){
 
         IPage<EventSpecialPopulationVO> populationVOIPage = this.baseMapper.getBuildingHousePopulationList(new Page(populationDTO.getPageNum(),populationDTO.getPageSize()),populationDTO);

--
Gitblit v1.7.1