From b88a288f4f787b509463678e3cd9ccfa3f37014b Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期三, 11 三月 2026 12:01:05 +0800
Subject: [PATCH] 导入测试

---
 service-api/src/main/java/com/java110/api/importData/adapt/ImportCarInoutDataCleaningAdapt.java |   99 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 72 insertions(+), 27 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/importData/adapt/ImportCarInoutDataCleaningAdapt.java b/service-api/src/main/java/com/java110/api/importData/adapt/ImportCarInoutDataCleaningAdapt.java
index 31d03c1..17952c0 100644
--- a/service-api/src/main/java/com/java110/api/importData/adapt/ImportCarInoutDataCleaningAdapt.java
+++ b/service-api/src/main/java/com/java110/api/importData/adapt/ImportCarInoutDataCleaningAdapt.java
@@ -1,14 +1,20 @@
 package com.java110.api.importData.adapt;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.api.components.ValueUtil;
 import com.java110.api.importData.DefaultImportDataAdapt;
 import com.java110.api.importData.IImportDataCleaningAdapt;
+import com.java110.dto.community.CommunityDto;
+import com.java110.dto.importData.Vtil;
 import com.java110.dto.system.ComponentValidateResult;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
 import com.java110.intf.community.IVisitInnerServiceSMO;
 import com.java110.intf.user.IOwnerV1InnerServiceSMO;
 import com.java110.po.car.CarInoutPo;
+import com.java110.po.meter.MeterWaterPo;
 import com.java110.po.owner.VisitPo;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.ImportExcelUtils;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -18,6 +24,7 @@
 import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 @Service("importCarInoutDataCleaning")
 public class ImportCarInoutDataCleaningAdapt extends DefaultImportDataAdapt implements IImportDataCleaningAdapt {
@@ -25,6 +32,8 @@
     @Autowired
     private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
 
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
     @Autowired
     private IVisitInnerServiceSMO  visitInnerServiceSMOImpl;
     @Override
@@ -42,47 +51,83 @@
      */
     private void getCarInouts(Workbook workbook, List<CarInoutPo> carInoutPos, ComponentValidateResult result) throws ParseException {
         Sheet sheet = null;
-        sheet = ImportExcelUtils.getSheet(workbook, "涓存椂鍋滆溅璐� 瀵煎叆妯℃澘");
+        sheet = ImportExcelUtils.getSheet(workbook, "涓存椂鍋滆溅璐规ā鏉�");
         List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
+        List<Map<String, Object>> maps = BeanConvertUtil.beanCovertMapListC(communityInnerServiceSMOImpl.queryCommunitys(new CommunityDto()));
         for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
             Object[] os = oList.get(osIndex);
-            if (osIndex <= 2) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
+            if (osIndex <= 1) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
                 continue;
             }
-            Assert.hasValue(os[1], (osIndex + 1) + "琛屽皬鍖虹紪鐮佷笉鑳戒负绌�");
-            if (defaultValue(os[3]).equals("")) {
+            if (Vtil.defaultValue(os[0], null) == null) {
+                continue;
+            }
+            if (Vtil.defaultValue(os[3], null) == null) {
                 os[3] = "A888888";
             }
-            Assert.hasValue(os[6], (osIndex + 1) + "琛屽埌璁挎棩鏈熶笉鑳戒负绌�");
+//            Assert.hasValue(os[6], (osIndex + 1) + "琛屽埌璁挎棩鏈熶笉鑳戒负绌�");
             Assert.hasValue(os[11], (osIndex + 1) + "琛岃繘鍦烘椂闂翠笉鑳戒负绌�");
 
             CarInoutPo carInoutPo = new CarInoutPo();
-            carInoutPo.setCommunityCode(defaultValue(os[1]));
-            carInoutPo.setCarNum(defaultValue(os[3]));
-            carInoutPo.setVehicleType(defaultValue(os[5]));
-            VisitPo visitPo = new VisitPo();
-            visitPo.setVisitTime(defaultValue(os[6]));
-            visitPo.setvName(defaultValue(os[7]));
-            visitPo.setPhoneNumber(defaultValue(os[8]));
-            visitPo.setCarNum(defaultValue(os[3]));
-            visitPo.setVisitCase(defaultValue(os[10]));
-            carInoutPo.setVisitPo(visitPo);
-            carInoutPo.setInTime(defaultValue(os[11]));
-            carInoutPo.setInAddress(defaultValue(os[12]));
-            carInoutPo.setOutTime(defaultValue(os[13]));
-            carInoutPo.setOutAddress(defaultValue(os[14]));
-            carInoutPo.setParkingDuration(defaultValue(os[15]));
-            carInoutPo.setPayDate(defaultValue(os[16]));
-            carInoutPo.setPaymentAmount(defaultValue(os[17]));
-            carInoutPo.setMerchantId(defaultValue(os[18]));
-            carInoutPo.setPayer(defaultValue(os[19]));
-            carInoutPo.setBankDepositDate(defaultValue(os[20]));
-            carInoutPo.setBankDepositor(defaultValue(os[21]));
+            try {
+                carInoutPo.setCommunityCode(defaultValue(os[1]));
+                carInoutPo.setCommunityName(defaultValue(os[2]));
+                setCommunityId(carInoutPo, os, maps);
+                carInoutPo.setCarNum(defaultValue(os[3]));
+                carInoutPo.setVehicleType(defaultValue(os[5]));
+                VisitPo visitPo = new VisitPo();
+                visitPo.setVisitTime(Vtil.defaultValueToDate(defaultValue(os[6])));
+                visitPo.setvName(defaultValue(os[7]));
+                visitPo.setPhoneNumber(defaultValue(os[8]));
+                visitPo.setCarNum(defaultValue(os[3]));
+                visitPo.setVisitCase(defaultValue(os[10]));
+                carInoutPo.setVisitPo(visitPo);
+                carInoutPo.setInTime(Vtil.defaultValueToDate(os[11]));
+                carInoutPo.setInAddress(defaultValue(os[12]));
+                carInoutPo.setOutTime(Vtil.defaultValueToDate(os[13]));
+                carInoutPo.setOutAddress(defaultValue(os[14]));
+                carInoutPo.setParkingDuration(defaultValue(os[15]));
+                carInoutPo.setPayDate(Vtil.defaultValueToDate(os[16]));
+                carInoutPo.setPaymentAmount(defaultValue(os[17]));
+                carInoutPo.setMerchantId(defaultValue(os[18]));
+                carInoutPo.setPayer(defaultValue(os[19]));
+                carInoutPo.setBankDepositDate(Vtil.defaultValueToDate(os[20]));
+                carInoutPo.setBankDepositor(defaultValue(os[21]));
+            } catch (ArrayIndexOutOfBoundsException e) {
+
+            } catch (Exception e) {
+                throw new IllegalArgumentException("鏈煡閿欒锛�" + e);
+            }
             carInoutPos.add(carInoutPo);
         }
     }
 
+    public void setCommunityId(CarInoutPo po, Object[] os, List<Map<String, Object>> maps) {
+        for (Map<String, Object> map : maps) {
+            if (ValueUtil.defaultValue(os[1]).isEmpty() && ValueUtil.defaultValue(os[2]).isEmpty()){
+                throw new IllegalArgumentException("灏忓尯鍚嶇О鍜屽皬鍖虹紪鍙峰潎涓虹┖");
+            }
+            if (ValueUtil.defaultValue(os[1]).isEmpty()) {
+                if (Vtil.defaultValue(map.get("name")).contains(ValueUtil.defaultValue(os[2]))) {
+                    po.setCommunityId(map.get("communityId").toString());
+                    return;
+                }
+            } else if (ValueUtil.defaultValue(os[2]).isEmpty()){
+                if (Vtil.defaultValue(map.get("communityCode")).equals(ValueUtil.defaultValue(os[1]))) {
+                    po.setCommunityId(map.get("communityId").toString());
+                    return;
+                }
+            } else {
+                if (Vtil.defaultValue(map.get("communityCode")).equals(ValueUtil.defaultValue(os[1])) && Vtil.defaultValue(map.get("name")).contains(ValueUtil.defaultValue(os[2]))) {
+                    po.setCommunityId(map.get("communityId").toString());
+                    return;
+                }
+            }
+        }
+        throw new IllegalArgumentException("鏈煡璇㈠埌灏忓尯锛�" + Vtil.appendHyphenToRight(ValueUtil.defaultValue(os[1])) + ValueUtil.defaultValue(os[2]));
+    }
+
     public String defaultValue(Object o) {
-        return o == null ? "" : o.toString();
+        return o == null ? null : o.toString();
     }
 }

--
Gitblit v1.8.0