From 4ed693f48d1435de7a6333df17c2b34154731429 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期三, 05 七月 2023 22:26:27 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerRoomSMOImpl.java |   79 ++++++++++++++++++++++++++-------------
 1 files changed, 53 insertions(+), 26 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerRoomSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerRoomSMOImpl.java
index c908213..f42aa51 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerRoomSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportOwnerRoomSMOImpl.java
@@ -4,12 +4,12 @@
 import com.java110.api.smo.assetImport.IImportOwnerRoomSMO;
 import com.java110.core.context.IPageData;
 import com.java110.core.log.LoggerFactory;
+import com.java110.dto.room.RoomDto;
 import com.java110.dto.owner.OwnerDto;
-import com.java110.entity.assetImport.ImportOwnerRoomDto;
-import com.java110.entity.component.ComponentValidateResult;
+import com.java110.dto.importData.ImportOwnerRoomDto;
+import com.java110.dto.system.ComponentValidateResult;
 import com.java110.intf.community.IImportOwnerRoomInnerServiceSMO;
 import com.java110.utils.util.Assert;
-import com.java110.utils.util.CommonUtil;
 import com.java110.utils.util.ImportExcelUtils;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
@@ -72,6 +72,14 @@
         return false;
     }
 
+    private boolean hasRoomSpecialCharacters(String str) {
+        if ( str.contains("#") || str.contains("?") || str.contains("&")) {
+            return true;
+        }
+
+        return false;
+    }
+
     /**
      * 鏁版嵁鏍煎紡鏍¢獙
      *
@@ -90,13 +98,13 @@
             if (hasSpecialCharacters(importOwnerRoomDto.getUnitNum())) {
                 throw new IllegalArgumentException((roomIndex + 1) + "琛屽崟鍏冧腑鍖呭惈鐗规畩绗﹀彿  -  #  锛� & 璇峰垹闄わ紒");
             }
-            if (hasSpecialCharacters(importOwnerRoomDto.getRoomNum())) {
+            if (hasRoomSpecialCharacters(importOwnerRoomDto.getRoomNum())) {
                 throw new IllegalArgumentException((roomIndex + 1) + "琛屽崟鍏冧腑鍖呭惈鐗规畩绗﹀彿  -  #  锛� & 璇峰垹闄わ紒");
             }
 
-            if (!StringUtil.isNumber(importOwnerRoomDto.getLayer())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屾ゼ灞備笉鏄湁鏁堟暟瀛�");
-            }
+//            if (!StringUtil.isNumber(importOwnerRoomDto.getLayer())) {
+//                throw new IllegalArgumentException((roomIndex + 1) + "琛屾ゼ灞備笉鏄湁鏁堟暟瀛�");
+//            }
 
             if (!StringUtil.isNumber(importOwnerRoomDto.getLayerCount())) {
                 throw new IllegalArgumentException((roomIndex + 1) + "琛屾�绘ゼ灞備笉鏄湁鏁堟暟瀛�");
@@ -128,25 +136,38 @@
                 throw new IllegalArgumentException((roomIndex + 1) + "琛屾�у埆涓嶈兘涓虹┖");
             }
 
-            if (StringUtil.isEmpty(importOwnerRoomDto.getAge())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屽勾榫勪笉鑳戒负绌�");
-            }
+//            if (StringUtil.isEmpty(importOwnerRoomDto.getAge())) {
+//                throw new IllegalArgumentException((roomIndex + 1) + "琛屽勾榫勪笉鑳戒负绌�");
+//            }
             //绯荤粺鐩墠 鍦ㄩ娓彴婀� 浠ュ強鏂板姞鍧$瓑鍦伴兘鏈夊晢鐢� 鎵�浠� 骞朵笉鏄腑鍥藉ぇ闄嗘墜鏈哄彿瑙勫垯 鎵�浠ヤ笉鍋氫弗鏍兼牎楠�
             //鐑﹁涓撲笟娴嬭瘯鍥㈤槦鍕垮柗
             if (StringUtil.isEmpty(importOwnerRoomDto.getTel())) {
                 throw new IllegalArgumentException((roomIndex + 1) + "琛屾墜鏈哄彿涓嶈兘涓虹┖");
             }
 
-            if (StringUtil.isEmpty(importOwnerRoomDto.getIdCard())) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛岃韩浠借瘉鍙蜂笉鑳戒负绌�");
+            if (importOwnerRoomDto.getTel().length() > 11) {
+                throw new IllegalArgumentException((roomIndex + 1) + "琛屾墜鏈哄彿瓒呰繃11浣�,璇锋牳瀹�");
             }
 
-            if (importOwnerRoomDto.getIdCard().length() > 18) {
+//            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浣�,璇锋牳瀹�");
             }
             if (!StringUtil.isNumber(importOwnerRoomDto.getOwnerTypeCd())) {
                 throw new IllegalArgumentException((roomIndex + 1) + "琛屼笟涓荤被鍨嬩笉鑳戒负绌�");
             }
+
+            if(RoomDto.STATE_FREE.equals(importOwnerRoomDto.getRoomState()) && !StringUtil.isEmpty(importOwnerRoomDto.getOwnerName())){
+                throw new IllegalArgumentException((roomIndex + 1) + "琛屾埧灞嬬姸鎬佷负鏈攢鍞姸鎬侊紝涓嶈兘鍖呭惈涓氫富淇℃伅");
+            }
+
+            if(!RoomDto.STATE_FREE.equals(importOwnerRoomDto.getRoomState()) && StringUtil.isEmpty(importOwnerRoomDto.getOwnerName())){
+                throw new IllegalArgumentException((roomIndex + 1) + "琛屾埧灞嬬姸鎬佷笉鏄湭閿�鍞姸鎬侊紝蹇呴』鍖呭惈涓氫富淇℃伅");
+            }
+
             // 濡傛灉鏄笟涓� 璺宠繃
             if (OwnerDto.OWNER_TYPE_CD_OWNER.equals(importOwnerRoomDto.getOwnerTypeCd())) {
                 continue;
@@ -154,18 +175,19 @@
             // 鏍¢獙鎴愬憳涔嬪墠鏄惁瀛樺湪 涓氫富瑙掕壊
             hasOwnerType = false;
             for (int preRoomIndex = 0; preRoomIndex < roomIndex; preRoomIndex++) {
-                tmpImportOwnerRoomDto = ownerRooms.get(roomIndex);
+                tmpImportOwnerRoomDto = ownerRooms.get(preRoomIndex);
 
                 if (tmpImportOwnerRoomDto.getFloorNum().equals(importOwnerRoomDto.getFloorNum())
                         && tmpImportOwnerRoomDto.getUnitNum().equals(importOwnerRoomDto.getUnitNum())
                         && tmpImportOwnerRoomDto.getRoomNum().equals(importOwnerRoomDto.getRoomNum())
                         && OwnerDto.OWNER_TYPE_CD_OWNER.equals(tmpImportOwnerRoomDto.getOwnerTypeCd())) {
                     hasOwnerType = true;
+                    break;
                 }
             }
 
             if (!hasOwnerType) {
-                throw new IllegalArgumentException((roomIndex + 1) + "琛屼竴涓埧灞嬪繀椤昏鏈変笟涓诲瓨鍦� 鎵嶈兘 鍐欏搴垚鍛樺拰鎴垮眿绉熷 鍜屼复鏃朵汉鍛橈紝骞朵笖涓氫富瑕佸啓鍦� 鍏朵粬涔嬪墠");
+                throw new IllegalArgumentException((roomIndex + 1) + "琛屼竴涓埧灞嬪繀椤昏鏈変笟涓诲瓨鍦� 鎵嶈兘hasSpecialCharacters 鍐欏搴垚鍛樺拰鎴垮眿绉熷 鍜屼复鏃朵汉鍛橈紝骞朵笖涓氫富瑕佸啓鍦� 鍏朵粬涔嬪墠");
             }
         }
     }
@@ -202,12 +224,13 @@
             Assert.hasValue(os[8], (osIndex + 1) + "琛屽缓绛戦潰绉笉鑳戒负绌�");
             Assert.hasValue(os[9], (osIndex + 1) + "琛屽鍐呴潰绉笉鑳戒负绌�");
             Assert.hasValue(os[10], (osIndex + 1) + "琛岀閲戜笉鑳戒负绌�");
-            if (os.length > 11) {
-                Assert.hasValue(os[11], (osIndex + 1) + "琛屼笟涓诲悕绉颁笉鑳戒负绌�");
-                Assert.hasValue(os[12], (osIndex + 1) + "琛屾�у埆涓嶈兘涓虹┖");
-                Assert.hasValue(os[13], (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[14], (osIndex + 1) + "琛屽勾榫勪笉鑳戒负绌�");
                 Assert.hasValue(os[14], (osIndex + 1) + "琛屾墜鏈哄彿涓嶈兘涓虹┖");
-                Assert.hasValue(os[15], (osIndex + 1) + "琛岃韩浠借瘉涓嶈兘涓虹┖");
+                //Assert.hasValue(os[15], (osIndex + 1) + "琛岃韩浠借瘉涓嶈兘涓虹┖");
                 Assert.hasValue(os[16], (osIndex + 1) + "琛屼笟涓荤被鍨嬩笉鑳戒负绌�");
             }
 
@@ -226,16 +249,20 @@
             importOwnerRoomDto.setBuiltUpArea(os[8].toString().trim());
             importOwnerRoomDto.setRoomArea(os[9].toString().trim());
             importOwnerRoomDto.setRoomRent(os[10].toString().trim());
-            if (os.length > 11) {
-                importOwnerRoomDto.setOwnerName(os[11].toString().trim());
-                importOwnerRoomDto.setSex("鐢�".equals(os[12].toString().trim()) ? "0" : "1");
-                String age = StringUtil.isNullOrNone(os[13]) ? CommonUtil.getAgeByCertId(os[15].toString().trim()) : os[13].toString().trim();
-                importOwnerRoomDto.setAge(age);
+            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");
+                // 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());
-                importOwnerRoomDto.setIdCard(os[15].toString().trim());
+                String idCard = StringUtil.isNullOrNone(os[15])?"": os[15].toString().trim();
+                importOwnerRoomDto.setIdCard(idCard);
                 importOwnerRoomDto.setOwnerTypeCd(os[16].toString().trim());
             }
 
+
+
             ownerRoomDtos.add(importOwnerRoomDto);
 
         }

--
Gitblit v1.8.0