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