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 | 36 ++++++++++++++++++++++++------------
1 files changed, 24 insertions(+), 12 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 a596978..328e073 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocCacheServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocCacheServiceImpl.java
@@ -1,24 +1,20 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+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.BasWhsType;
-import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.LocCache;
import com.zy.asrs.entity.param.LocMastInitParam;
import com.zy.asrs.mapper.LocCacheMapper;
-import com.zy.asrs.entity.LocCache;
import com.zy.asrs.service.BasAreasService;
-import com.zy.asrs.service.BasWhsTypeService;
import com.zy.asrs.service.LocCacheService;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.zy.common.model.Shelves;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
@@ -31,6 +27,9 @@
@Autowired
private BasAreasService basAreasService;
+
+ @Autowired
+ private SnowflakeIdWorker snowflakeIdWorker;
/**
* @author Ryan
@@ -50,15 +49,16 @@
for (int b = param.getStartBay(); b <= param.getEndBay(); b++) {
for (int l = param.getStartLev(); l <= param.getEndLev(); l++) {
// 鑾峰彇搴撲綅鍙�
- String locNo = String.format("CA") + String.format("%02d", r) + String.format("%03d", b) + String.format("%02d", l);
+ 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());
@@ -78,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