From cc717a7a9817179d6c18a0f085271992f5635ddf Mon Sep 17 00:00:00 2001
From: chengf <2156125618@qq.com>
Date: 星期三, 16 七月 2025 18:15:14 +0800
Subject: [PATCH] 导入房产添加字段、代码优化2025/07/16

---
 service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomOwnerDataCleaningAdapt.java |  146 ++++++++++++++++++++++++++++++------------------
 1 files changed, 92 insertions(+), 54 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomOwnerDataCleaningAdapt.java b/service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomOwnerDataCleaningAdapt.java
index 6586c94..29b71c4 100644
--- a/service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomOwnerDataCleaningAdapt.java
+++ b/service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomOwnerDataCleaningAdapt.java
@@ -1,6 +1,8 @@
 package com.java110.api.importData.adapt;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.api.importData.DefaultImportDataAdapt;
+import com.java110.api.importData.IImportDataCleaningAdapt;
 import com.java110.dto.importData.ImportOwnerRoomDto;
 import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.room.RoomDto;
@@ -8,8 +10,6 @@
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.ImportExcelUtils;
 import com.java110.utils.util.StringUtil;
-import com.java110.api.importData.DefaultImportDataAdapt;
-import com.java110.api.importData.IImportDataCleaningAdapt;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.stereotype.Service;
@@ -18,6 +18,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * 鎴夸骇鏁版嵁瀵煎叆澶勭悊绫�
+ *
+ * 瀵煎叆璇锋眰鍙傛暟涓繀椤诲寘鍚�
+ * param.append('importAdapt', "importRoomOwner");
+ */
 @Service("importRoomOwnerDataCleaning")
 public class ImportRoomOwnerDataCleaningAdapt extends DefaultImportDataAdapt implements IImportDataCleaningAdapt {
     @Override
@@ -57,22 +63,31 @@
             Assert.hasValue(os[0], (osIndex + 1) + "琛屾ゼ鍙蜂笉鑳戒负绌�");
             Assert.hasValue(os[1], (osIndex + 1) + "琛屽崟鍏冧笉鑳戒负绌�");
             Assert.hasValue(os[2], (osIndex + 1) + "琛屾埧灞嬩笉鑳戒负绌�");
-            Assert.hasValue(os[3], (osIndex + 1) + "琛屾ゼ灞備笉鑳戒负绌�");
-            Assert.hasValue(os[4], (osIndex + 1) + "琛屾�绘ゼ灞備笉鑳戒负绌�");
-            Assert.hasValue(os[5], (osIndex + 1) + "琛屾槸鍚︽湁鐢垫涓嶈兘涓虹┖");
-            Assert.hasValue(os[6], (osIndex + 1) + "琛屾埧灞嬬被鍨嬩笉鑳戒负绌�");
-            Assert.hasValue(os[7], (osIndex + 1) + "琛屾埧灞嬫埛鍨嬩笉鑳戒负绌�");
-            Assert.hasValue(os[8], (osIndex + 1) + "琛屽缓绛戦潰绉笉鑳戒负绌�");
-            Assert.hasValue(os[9], (osIndex + 1) + "琛屽鍐呴潰绉笉鑳戒负绌�");
-            Assert.hasValue(os[10], (osIndex + 1) + "琛岀閲戜笉鑳戒负绌�");
-            Assert.hasValue(os[11], (osIndex + 1) + "琛屾埧灞嬬姸鎬佷笉鑳戒负绌�");
-            if (os.length > 12 && !StringUtil.isNullOrNone(os[12])) {
-                Assert.hasValue(os[12], (osIndex + 1) + "琛屼笟涓诲悕绉颁笉鑳戒负绌�");
-                Assert.hasValue(os[13], (osIndex + 1) + "琛屾�у埆涓嶈兘涓虹┖");
+
+            Assert.hasValue(os[3], (osIndex + 1) + "闂ㄥ鍙蜂笉鑳戒负绌�");
+
+            Assert.hasValue(os[4], (osIndex + 1) + "琛屾ゼ灞備笉鑳戒负绌�");
+            Assert.hasValue(os[5], (osIndex + 1) + "琛屾�绘ゼ灞備笉鑳戒负绌�");
+
+            Assert.hasValue(os[6], (osIndex + 1) + "鐗╀笟绫诲瀷涓嶈兘涓虹┖");
+            Assert.hasValue(os[7], (osIndex + 1) + "浜ц瘉鍦板潃涓嶈兘涓虹┖");
+
+            Assert.hasValue(os[9], (osIndex + 1) + "琛屾槸鍚︽湁鐢垫涓嶈兘涓虹┖");
+            Assert.hasValue(os[10], (osIndex + 1) + "琛屾埧灞嬬被鍨嬩笉鑳戒负绌�");
+            Assert.hasValue(os[11], (osIndex + 1) + "琛屾埧灞嬫埛鍨嬩笉鑳戒负绌�");
+            Assert.hasValue(os[12], (osIndex + 1) + "琛屽缓绛戦潰绉笉鑳戒负绌�");
+            Assert.hasValue(os[13], (osIndex + 1) + "琛屽鍐呴潰绉笉鑳戒负绌�");
+            Assert.hasValue(os[14], (osIndex + 1) + "琛岀閲戜笉鑳戒负绌�");
+            Assert.hasValue(os[15], (osIndex + 1) + "琛屾埧灞嬬姸鎬佷笉鑳戒负绌�");
+            if (os.length > 16 && !StringUtil.isNullOrNone(os[16])) {
+                Assert.hasValue(os[16], (osIndex + 1) + "琛屼笟涓诲悕绉颁笉鑳戒负绌�");
                 // Assert.hasValue(os[14], (osIndex + 1) + "琛屽勾榫勪笉鑳戒负绌�");
-                Assert.hasValue(os[14], (osIndex + 1) + "琛屾墜鏈哄彿涓嶈兘涓虹┖");
+//                Assert.hasValue(os[18], (osIndex + 1) + "琛屾墜鏈哄彿涓嶈兘涓虹┖");
                 //Assert.hasValue(os[15], (osIndex + 1) + "琛岃韩浠借瘉涓嶈兘涓虹┖");
-                Assert.hasValue(os[16], (osIndex + 1) + "琛屼笟涓荤被鍨嬩笉鑳戒负绌�");
+                Assert.hasValue(os[20], (osIndex + 1) + "琛屼笟涓荤被鍨嬩笉鑳戒负绌�");
+                Assert.hasValue(os[21], (osIndex + 1) + "琛屼汉鍛樼被鍨嬩笉鑳戒负绌�");
+                Assert.hasValue(os[22], (osIndex + 1) + "琛屼汉鍛樿鑹蹭笉鑳戒负绌�");
+                Assert.hasValue(os[23], (osIndex + 1) + "琛岃仈绯讳汉涓嶈兘涓虹┖");
             }
 
             importOwnerRoomDto = new ImportOwnerRoomDto();
@@ -81,25 +96,39 @@
             importOwnerRoomDto.setFloorNum(os[0].toString().trim());
             importOwnerRoomDto.setUnitNum(os[1].toString().trim());
             importOwnerRoomDto.setRoomNum(os[2].toString().trim());
-            importOwnerRoomDto.setLayer(os[3].toString().trim());
-            importOwnerRoomDto.setLayerCount(os[4].toString().trim());
+
+            importOwnerRoomDto.setDoorRoomNum(os[3].toString().trim());
+
+            importOwnerRoomDto.setLayer(os[4].toString().trim());
+            importOwnerRoomDto.setLayerCount(os[5].toString().trim());
+
+            importOwnerRoomDto.setPropertyType(os[6].toString().trim());
+            importOwnerRoomDto.setPropertyAddress(os[7].toString().trim());
+            importOwnerRoomDto.setHouseCertificateNo(os[8] == null ? "" : os[8].toString().trim());
+
             //importOwnerRoomDto.setLift(os[5].toString().trim());
-            importOwnerRoomDto.setLift("鏈�".equals(os[5].toString().trim()) ? "1010" : "2020");
-            importOwnerRoomDto.setRoomSubType(os[6].toString().trim());
-            importOwnerRoomDto.setSection(os[7].toString().trim());
-            importOwnerRoomDto.setBuiltUpArea(os[8].toString().trim());
-            importOwnerRoomDto.setRoomArea(os[9].toString().trim());
-            importOwnerRoomDto.setRoomRent(os[10].toString().trim());
-            importOwnerRoomDto.setRoomState(os[11].toString().trim());
-            if (os.length > 12 && !StringUtil.isNullOrNone(os[12])) {
-                importOwnerRoomDto.setOwnerName(os[12].toString().trim());
-                importOwnerRoomDto.setSex("鐢�".equals(os[13].toString().trim()) ? "0" : "1");
+            importOwnerRoomDto.setLift("鏈�".equals(os[9].toString().trim()) ? "1010" : "2020");
+            importOwnerRoomDto.setRoomSubType(os[10].toString().trim());
+            importOwnerRoomDto.setSection(os[11].toString().trim());
+            importOwnerRoomDto.setBuiltUpArea(os[12].toString().trim());
+            importOwnerRoomDto.setRoomArea(os[13].toString().trim());
+            importOwnerRoomDto.setRoomRent(os[14].toString().trim());
+            importOwnerRoomDto.setRoomState(os[15].toString().trim());
+            if (os.length > 16 && !StringUtil.isNullOrNone(os[16])) {
+                importOwnerRoomDto.setOwnerName(os[16].toString().trim());
+                importOwnerRoomDto.setSex(os[17] == null ? null : "鐢�".equals(os[17].toString().trim()) ? "0" : "1");
                 // String age = StringUtil.isNullOrNone(os[14]) ? CommonUtil.getAgeByCertId(os[16].toString().trim()) : os[14].toString().trim();
                 importOwnerRoomDto.setAge("1");
-                importOwnerRoomDto.setTel(os[14].toString().trim());
-                String idCard = StringUtil.isNullOrNone(os[15]) ? "" : os[15].toString().trim();
+                importOwnerRoomDto.setTel(os[18] == null?"":os[18].toString().trim());
+                String idCard = StringUtil.isNullOrNone(os[19]) ? "" : os[19].toString().trim();
                 importOwnerRoomDto.setIdCard(idCard);
-                importOwnerRoomDto.setOwnerTypeCd(os[16].toString().trim());
+                importOwnerRoomDto.setOwnerTypeCd(os[20].toString().trim());
+                importOwnerRoomDto.setPersonType(os[21].toString().trim());
+                importOwnerRoomDto.setPersonRole(os[22].toString().trim());
+                importOwnerRoomDto.setConcactPerson(os[23].toString().trim());
+            }
+            if (os.length > 24 && !StringUtil.isNullOrNone(os[24])) {
+                importOwnerRoomDto.setConcactLink(os[24].toString().trim());
             }
 
 
@@ -122,13 +151,13 @@
             importOwnerRoomDto = ownerRooms.get(roomIndex);
             // 1銆佹ゼ鏍嬪崟鍏冩埧灞� 涓笉鏀寔 -  #  锛� & 绛夌壒娈婄鍙�
             if (hasSpecialCharacters(importOwnerRoomDto.getFloorNum())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾ゼ鏍嬩腑鍖呭惈鐗规畩绗﹀彿  -  #  锛� & 璇峰垹闄わ紒");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屾ゼ鏍嬩腑鍖呭惈鐗规畩绗﹀彿  -  #  锛� & 璇峰垹闄わ紒");
             }
             if (hasSpecialCharacters(importOwnerRoomDto.getUnitNum())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屽崟鍏冧腑鍖呭惈鐗规畩绗﹀彿  -  #  锛� & 璇峰垹闄わ紒");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屽崟鍏冧腑鍖呭惈鐗规畩绗﹀彿  -  #  锛� & 璇峰垹闄わ紒");
             }
             if (hasRoomSpecialCharacters(importOwnerRoomDto.getRoomNum())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屽崟鍏冧腑鍖呭惈鐗规畩绗﹀彿  -  #  锛� & 璇峰垹闄わ紒");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屽崟鍏冧腑鍖呭惈鐗规畩绗﹀彿  -  #  锛� & 璇峰垹闄わ紒");
             }
 
 //            if (!StringUtil.isNumber(importOwnerRoomDto.getLayer())) {
@@ -136,25 +165,25 @@
 //            }
 
             if (!StringUtil.isNumber(importOwnerRoomDto.getLayerCount())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾�绘ゼ灞備笉鏄湁鏁堟暟瀛�");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屾�绘ゼ灞備笉鏄湁鏁堟暟瀛�");
             }
             if (!StringUtil.isNumber(importOwnerRoomDto.getRoomSubType())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾埧灞嬬被鍨嬩笉鏄湁鏁堟暟瀛�");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屾埧灞嬬被鍨嬩笉鏄湁鏁堟暟瀛�");
             }
 
             if (StringUtil.isEmpty(importOwnerRoomDto.getSection())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾埧灞嬫埛鍨嬩笉鑳戒负绌�");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屾埧灞嬫埛鍨嬩笉鑳戒负绌�");
             }
 
             if (StringUtil.isEmpty(importOwnerRoomDto.getBuiltUpArea())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屽缓绛戦潰绉笉鑳戒负绌�");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屽缓绛戦潰绉笉鑳戒负绌�");
             }
 
             if (StringUtil.isEmpty(importOwnerRoomDto.getRoomArea())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屽鍐呴潰绉笉鑳戒负绌�");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屽鍐呴潰绉笉鑳戒负绌�");
             }
             if (StringUtil.isEmpty(importOwnerRoomDto.getRoomRent())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛岀閲戜笉鑳戒负绌�");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛岀閲戜笉鑳戒负绌�");
             }
             // 濡傛灉涓虹┖璇存槑 鎴垮眿鐩墠鏄┖闂叉病鏈変笟涓�
             if (StringUtil.isEmpty(importOwnerRoomDto.getOwnerName())) {
@@ -162,7 +191,8 @@
             }
 
             if (StringUtil.isEmpty(importOwnerRoomDto.getSex())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾�у埆涓嶈兘涓虹┖");
+                importOwnerRoomDto.setSex("");
+//                throw new IllegalArgumentException((roomIndex + 2) + "琛屾�у埆涓嶈兘涓虹┖");
             }
 
 //            if (StringUtil.isEmpty(importOwnerRoomDto.getAge())) {
@@ -171,36 +201,33 @@
             //绯荤粺鐩墠 鍦ㄩ娓彴婀� 浠ュ強鏂板姞鍧$瓑鍦伴兘鏈夊晢鐢� 鎵�浠� 骞朵笉鏄腑鍥藉ぇ闄嗘墜鏈哄彿瑙勫垯 鎵�浠ヤ笉鍋氫弗鏍兼牎楠�
             //鐑﹁涓撲笟娴嬭瘯鍥㈤槦鍕垮柗
             if (StringUtil.isEmpty(importOwnerRoomDto.getTel())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾墜鏈哄彿涓嶈兘涓虹┖");
+                importOwnerRoomDto.setTel("");
+//                throw new IllegalArgumentException((roomIndex + 2) + "琛屾墜鏈哄彿涓嶈兘涓虹┖");/**/
             }
 
-            if (importOwnerRoomDto.getTel().length() > 11) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾墜鏈哄彿瓒呰繃11浣�,璇锋牳瀹�");
-            }
+//            if (importOwnerRoomDto.getTel().length() > 11) {
+//                throw new IllegalArgumentException((roomIndex + 2) + "琛屾墜鏈哄彿瓒呰繃11浣�,璇锋牳瀹�");
+//            }
 
 //            if (StringUtil.isEmpty(importOwnerRoomDto.getIdCard())) {
 //                throw new IllegalArgumentException((roomIndex + 1) + "琛岃韩浠借瘉鍙蜂笉鑳戒负绌�");
 //            }
 
             if (!StringUtil.isEmpty(importOwnerRoomDto.getIdCard()) && importOwnerRoomDto.getIdCard().length() > 18) {
-                throw new IllegalArgumentException((roomIndex + 1) + " 鐨勮韩浠借瘉瓒呰繃18浣�,璇锋牳瀹�");
+                throw new IllegalArgumentException((roomIndex + 2) + " 鐨勮韩浠借瘉瓒呰繃18浣�,璇锋牳瀹�");
             }
             if (!StringUtil.isNumber(importOwnerRoomDto.getOwnerTypeCd())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屼笟涓荤被鍨嬩笉鑳戒负绌�");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屼笟涓荤被鍨嬩笉鑳戒负绌�");
             }
 
             if (RoomDto.STATE_FREE.equals(importOwnerRoomDto.getRoomState()) && !StringUtil.isEmpty(importOwnerRoomDto.getOwnerName())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾埧灞嬬姸鎬佷负鏈攢鍞姸鎬侊紝涓嶈兘鍖呭惈涓氫富淇℃伅");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屾埧灞嬬姸鎬佷负鏈攢鍞姸鎬侊紝涓嶈兘鍖呭惈涓氫富淇℃伅");
             }
 
             if (!RoomDto.STATE_FREE.equals(importOwnerRoomDto.getRoomState()) && StringUtil.isEmpty(importOwnerRoomDto.getOwnerName())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾埧灞嬬姸鎬佷笉鏄湭閿�鍞姸鎬侊紝蹇呴』鍖呭惈涓氫富淇℃伅");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屾埧灞嬬姸鎬佷笉鏄湭閿�鍞姸鎬侊紝蹇呴』鍖呭惈涓氫富淇℃伅");
             }
 
-            // 濡傛灉鏄笟涓� 璺宠繃
-            if (OwnerDto.OWNER_TYPE_CD_OWNER.equals(importOwnerRoomDto.getOwnerTypeCd())) {
-                continue;
-            }
             // 鏍¢獙鎴愬憳涔嬪墠鏄惁瀛樺湪 涓氫富瑙掕壊
             hasOwnerType = false;
             for (int preRoomIndex = 0; preRoomIndex < roomIndex; preRoomIndex++) {
@@ -215,9 +242,20 @@
                 }
             }
 
+            if(hasOwnerType && OwnerDto.OWNER_TYPE_CD_OWNER.equals(importOwnerRoomDto.getOwnerTypeCd())){
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屼竴涓埧灞嬬粦瀹氬涓笟涓�");
+            }
+
+            // 濡傛灉鏄笟涓� 璺宠繃
+            if (OwnerDto.OWNER_TYPE_CD_OWNER.equals(importOwnerRoomDto.getOwnerTypeCd())) {
+                continue;
+            }
+
+
             if (!hasOwnerType) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屼竴涓埧灞嬪繀椤昏鏈変笟涓诲瓨鍦� 鎵嶈兘 鍐欏搴垚鍛樺拰鎴垮眿绉熷 鍜屼复鏃朵汉鍛橈紝骞朵笖涓氫富瑕佸啓鍦� 鍏朵粬涔嬪墠");
+                throw new IllegalArgumentException((roomIndex + 2) + "琛屼竴涓埧灞嬪繀椤昏鏈変笟涓诲瓨鍦� 鎵嶈兘 鍐欏搴垚鍛樺拰鎴垮眿绉熷 鍜屼复鏃朵汉鍛橈紝骞朵笖涓氫富瑕佸啓鍦� 鍏朵粬涔嬪墠");
             }
         }
     }
 }
+

--
Gitblit v1.8.0