From c4a333b83ba54bcadf2a6a2b34fe66ab88a6ba9d Mon Sep 17 00:00:00 2001
From: chengf <2156125618@qq.com>
Date: 星期二, 05 八月 2025 18:51:11 +0800
Subject: [PATCH] 车辆导入去除校验2025/08/05

---
 service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java |   52 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 31 insertions(+), 21 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java b/service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java
index 95c7899..d81d546 100755
--- a/service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java
+++ b/service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java
@@ -6,10 +6,12 @@
 import com.java110.po.car.CarInoutPo;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.DAOException;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import org.activiti.engine.impl.util.CollectionUtil;
 import org.slf4j.Logger;
 import com.java110.core.log.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -135,6 +137,9 @@
     }
 
 
+    @Autowired
+    private CarInoutServiceDaoImpl carInoutServiceDaoImpl;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int[] batchSaveCarInout(List<CarInoutPo> successRecords) {
@@ -143,33 +148,38 @@
         }
 
         int totalSize = successRecords.size();
-        int[] result = new int[totalSize]; // 瀛樺偍姣忔潯璁板綍鐨勬彃鍏ョ粨鏋滐紙榛樿 0 琛ㄧず澶辫触锛�
-        int batchSize = 500; // 姣忔壒鎻掑叆 500 鏉�
-        int batchCount = 0;  // 璁板綍褰撳墠澶勭悊鍒扮鍑犳壒
+        int[] result = new int[totalSize]; // 瀛樺偍姣忔潯璁板綍鐨勬彃鍏ョ粨鏋滐紙0琛ㄧず澶辫触锛�1琛ㄧず鎴愬姛锛�
 
-        for (int i = 0; i < totalSize; i += batchSize) {
-            // 鎴彇褰撳墠鎵规鏁版嵁
-            List<CarInoutPo> batchList = successRecords.subList(i, Math.min(i + batchSize, totalSize));
+        for (int i = 0; i < totalSize; i++) {
+            CarInoutPo record = successRecords.get(i);
+            try {
 
-            // 鎵ц鎵归噺鎻掑叆锛岃繑鍥炲綋鍓嶆壒娆℃�诲奖鍝嶈鏁�
-            int batchAffectedRows = sqlSessionTemplate.insert(
-                    "carInoutServiceDaoImpl.batchInsert",
-                    batchList
-            );
+                int existCount = carInoutServiceDaoImpl.queryCarInoutsCount(BeanConvertUtil.beanCovertMap(record));
 
-            // 鏍囪褰撳墠鎵规璁板綍涓烘垚鍔燂紙绠�鍗曞鐞嗭細鍋囪瑕佷箞鍏ㄦ垚鍔燂紝瑕佷箞鍏ㄥけ璐ワ級
-            if (batchAffectedRows == batchList.size()) {
-                for (int j = i; j < i + batchSize && j < totalSize; j++) {
-                    result[j] = 1; // 1 琛ㄧず鎻掑叆鎴愬姛
+                if (existCount > 0) {
+                    // 3. 璁板綍宸插瓨鍦紝鏍囪涓哄幓閲嶏紙鍙敤2琛ㄧず鍘婚噸锛屼笌0/1鍖哄垎锛�
+                    record.setErrorTest("閲嶅鐨勫唴瀹�");
+                    continue;
                 }
-            } else {
-                // 鎵规鎻掑叆澶辫触锛堝涓婚敭鍐茬獊銆佸瓧娈甸敊璇級锛屾爣璁颁负 0
-                for (int j = i; j < i + batchSize && j < totalSize; j++) {
-                    result[j] = 0; // 0 琛ㄧず鎻掑叆澶辫触
+
+                // 閫愭潯鎻掑叆
+                int affectedRows = sqlSessionTemplate.insert(
+                        "carInoutServiceDaoImpl.batchInsert", // 娉ㄦ剰杩欓噷闇�瑕佹敼涓哄崟鏉℃彃鍏ョ殑statement ID
+                        BeanConvertUtil.beanCovertMap(record)
+                );
+
+                // 鍗曟潯鎻掑叆鎴愬姛
+                if (affectedRows > 0) {
+                    result[i] = 1;
+                } else {
+                    result[i] = 0;
                 }
+            } catch (Exception e) {
+                // 鎹曡幏SQL寮傚父锛屾爣璁颁负澶辫触
+                result[i] = 0;
+                // 鍙互鏍规嵁闇�瑕佽褰曢敊璇棩蹇�
+                 record.setErrorTest("鎻掑叆CarInoutPo澶辫触锛岃褰�: "+e);
             }
-
-            batchCount++;
         }
 
         return result;

--
Gitblit v1.8.0