From 3d100caf5453681293eb0c50f8b01e41e74735b1 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期一, 12 一月 2026 18:53:20 +0800
Subject: [PATCH] 缓存库位id优化

---
 src/main/java/com/zy/asrs/service/impl/LocCacheServiceImpl.java |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/LocCacheServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocCacheServiceImpl.java
index f82741d..328e073 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocCacheServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocCacheServiceImpl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
 import com.core.common.R;
+import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.BasAreas;
 import com.zy.asrs.entity.LocCache;
@@ -26,6 +27,9 @@
 
     @Autowired
     private BasAreasService basAreasService;
+    
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
 
     /**
      * @author Ryan
@@ -48,12 +52,13 @@
                         String locNo = areas.getAreaNo() + String.format("%02d", r) + String.format("%03d", b) + String.format("%02d", l);
                         Date now = new Date();
                         LocCache locMast = new LocCache();
+                        // 鎵嬪姩鐢熸垚ID
+                        locMast.setId(snowflakeIdWorker.nextId());
                         locMast.setLocNo(locNo);
                         locMast.setLocSts("O");
                         locMast.setRow1(r); // 鎺�
                         locMast.setBay1(b); // 鍒�
                         locMast.setLev1(l); // 灞�
-                        locMast.setId(null);
                         locMast.setLocType1(!Cools.isEmpty(param.getLocType1()) ? param.getLocType1() : 1);
                         locMast.setLocType2(param.getLocType2());
                         locMast.setLocType3(param.getLocType3());
@@ -73,11 +78,23 @@
                 }
             }
 
-            if (!this.insertBatch(list)) {
-                throw new CoolException("娣诲姞澶辫触锛侊紒");
+            // SQL Server 鎵归噺鎻掑叆鑾峰彇鐢熸垚閿彲鑳藉け璐ワ紝鏀圭敤寰幆鍗曟潯鎻掑叆纭繚鎵�鏈夎褰曢兘鑳芥垚鍔熸彃鍏�
+            int successCount = 0;
+            for (LocCache locCache : list) {
+                if (this.insert(locCache)) {
+                    successCount++;
+                } else {
+                    log.error("鎻掑叆搴撲綅澶辫触: {}", locCache.getLocNo());
+                }
             }
-            return R.ok("鍒濆鍖栨垚鍔�");
+            
+            if (successCount != list.size()) {
+                throw new CoolException(String.format("娣诲姞澶辫触锛佹垚鍔熸彃鍏� %d 鏉★紝搴旀彃鍏� %d 鏉�", successCount, list.size()));
+            }
+            
+            return R.ok("鍒濆鍖栨垚鍔燂紝鍏辨彃鍏� " + successCount + " 鏉¤褰�");
         } catch (Exception e) {
+            log.error("鍒濆鍖栧簱浣嶅け璐�", e);
             return R.error("鍒濆鍖栧け璐�===>" + e.getMessage());
         }
     }

--
Gitblit v1.9.1