From ad22371088e209b743011248fcc5e5cf3a935d45 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 04 Jun 2024 19:48:37 +0800
Subject: [PATCH] 住户导入

---
 src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java |   31 +++++++++++++++++++++++--------
 1 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
index 62d4377..6200251 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
@@ -62,6 +62,7 @@
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
 /**
@@ -356,7 +357,7 @@
 			wrapper.eq("house_code", householdEntity.getHouseCode())
 				.eq("is_deleted", 0)
 				.eq("name", householdEntity.getName());
-			HouseholdEntity one = this.getOne(wrapper);
+			List<HouseholdEntity> list = this.list(wrapper);
 			// 与角色关系
 			if (!Strings.isBlank(houseHoldExcel.getRelationship())) {
 				householdEntity.setRelationship(Integer.parseInt(houseHoldExcel.getRelationship()));
@@ -442,7 +443,7 @@
 				householdEntity.setMaritalStatus(Integer.parseInt(houseHoldExcel.getMaritalStatus()));
 			}
 
-			if (one==null){
+			if (list.size()==0){
 				// 新增
 				this.save(householdEntity);
 				importNum++;
@@ -451,13 +452,15 @@
 			}else {
 				updateNum++;
 				if (isCovered){
-					// 覆盖更新
-					householdEntity.setId(one.getId());
-					// 更新
-					updateById(householdEntity);
+					for (HouseholdEntity one : list) {
+						// 覆盖更新
+						householdEntity.setId(one.getId());
+						// 更新
+						updateById(householdEntity);
+						// 处理标签
+						handleLabel(householdEntity,houseHoldExcel);
+					}
 					importNum++;
-					// 处理标签
-					handleLabel(householdEntity,houseHoldExcel);
 				}
 			}
 		}
@@ -811,4 +814,16 @@
 		);
 		return houseTenantExcels;
 	}
+
+	@Override
+	public boolean saveOrUpdateHouseholdBatch(List<HouseholdVO> householdVOList) {
+		if (householdVOList.size() == 0) {
+			return false;
+		}
+		AtomicBoolean restult = new AtomicBoolean(false);
+		householdVOList.forEach(item -> {
+			restult.set(saveOrUpdateHousehold(item));
+		});
+		return restult.get();
+	}
 }

--
Gitblit v1.9.3