From ea3092eec19e10072aeed5569a464e0ea45fe52f Mon Sep 17 00:00:00 2001
From: yanghb <yangbhwork@163.com>
Date: 星期五, 04 七月 2025 15:34:01 +0800
Subject: [PATCH] feat: 购房表房主身份证 + 带安置家庭成员名称,这两个条件 满足 购房表 则修改为安置状态

---
 cz-bussiness/src/main/java/com/ruoyi/bussiness/service/impl/PlacementBatchServiceImpl.java |   41 ++++++++++++++++++++++++++++-------------
 1 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/cz-bussiness/src/main/java/com/ruoyi/bussiness/service/impl/PlacementBatchServiceImpl.java b/cz-bussiness/src/main/java/com/ruoyi/bussiness/service/impl/PlacementBatchServiceImpl.java
index b4ecf84..becbeab 100644
--- a/cz-bussiness/src/main/java/com/ruoyi/bussiness/service/impl/PlacementBatchServiceImpl.java
+++ b/cz-bussiness/src/main/java/com/ruoyi/bussiness/service/impl/PlacementBatchServiceImpl.java
@@ -3,6 +3,7 @@
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcelFactory;
 import com.alibaba.excel.write.builder.ExcelWriterBuilder;
@@ -388,6 +389,12 @@
                 } else {
                     record.setHouseholdHeadWarn(0);
                 }
+                //身份证重复
+                if(placementBatchAssetService.existsIdCard(record.getIdCard())){
+                    record.setIdCardRepeatWarn(1);
+                }else{
+                    record.setIdCardRepeatWarn(0);
+                }
                 //赔偿金额(判断新购房还是二手房,这两个只能存在一个)
                 if (ObjUtil.isNotEmpty(record.getPriceNewAmount())
                         && ObjUtil.isNotEmpty(record.getPriceOldAmount())) {
@@ -681,25 +688,33 @@
             placementApplyRecordLambdaQueryWrapper.eq(PlacementBatchHousehold::getPlacementBatchId, placementBatch.getId());
             //家庭成员
             List<PlacementBatchHousehold> households = placementBatchHouseholdService.list(placementApplyRecordLambdaQueryWrapper);
-            //户主
-            List<String> houseHead = households.stream().map(PlacementBatchHousehold::getHouseholdHead).collect(Collectors.toList());
-            if (ObjUtil.isNotEmpty(households)) {
-                List<String> familyNames = households.stream().map(PlacementBatchHousehold::getWaitFamilyNames).collect(Collectors.toList());
-                List<String> allFamilyNames = new ArrayList<>();
-                for(String familyName : familyNames) {
-                    List<String> names = Arrays.asList(familyName.split("、"));
-                    allFamilyNames.addAll(names);
-                }
-                LambdaUpdateWrapper<Placement> placementLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
-                placementLambdaUpdateWrapper.set(Placement::getStatus, 1);
-                placementLambdaUpdateWrapper.and(query -> query.in(Placement::getFamilyName, allFamilyNames));
-                placementService.update(placementLambdaUpdateWrapper);
 
+            if(ObjectUtil.isEmpty(households)){
+                return;
+            }
+            //修改户主安置状态
+            List<String> houseHead = households.stream().map(PlacementBatchHousehold::getHouseholdHead).collect(Collectors.toList());
+            if (ObjUtil.isNotEmpty(houseHead)) {
                 LambdaUpdateWrapper<Placement> placementHouseHeadUpdateWrapper = new LambdaUpdateWrapper<>();
                 placementHouseHeadUpdateWrapper.set(Placement::getStatus, 1);
                 placementHouseHeadUpdateWrapper.and(query -> query.in(Placement::getHouseholdHead, houseHead));
                 placementService.update(placementHouseHeadUpdateWrapper);
             }
+            //修改家庭成员安置状态
+            for(PlacementBatchHousehold household : households){
+                if(ObjUtil.isEmpty(household.getWaitFamilyNames())){
+                    continue;
+                }
+                //购房表家庭成员姓名
+                List<String> names = Arrays.asList(household.getWaitFamilyNames().split("、"));
+                //购房表户主身份证
+                String headIdCard = household.getIdCard();
+                LambdaUpdateWrapper<Placement> placementLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+                placementLambdaUpdateWrapper.set(Placement::getStatus, 1);
+                placementLambdaUpdateWrapper.eq(Placement::getIdCard,headIdCard);
+                placementLambdaUpdateWrapper.and(query -> query.in(Placement::getFamilyName, names));
+                placementService.update(placementLambdaUpdateWrapper);
+            }
         }
 
         //同步待处理消息

--
Gitblit v1.7.1