From 8ca385d65454fb8e993970a768ed3ad5c3a095ab Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 18 一月 2025 13:44:44 +0800
Subject: [PATCH] 优化库位检索逻辑,修复代码并添加新功能
---
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 376531f..3ee5b12 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -11,6 +11,7 @@
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.*;
+import com.zy.asrs.utils.OrderUtils;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.LocDto;
import com.zy.common.model.OrderDto;
@@ -31,6 +32,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
/**
* Created by vincent on 2020/6/11
@@ -507,6 +509,9 @@
case 30:
br = 3;
break;
+ case 31:
+ br = 6;
+ break;
case 40:
br = 5;
break;
@@ -517,6 +522,7 @@
if (agvBasDevp.getLocType1() != br) {
throw new CoolException("绔欑偣绫诲瀷鍜岃揣鏋剁被鍨嬩笉绗︼紒");
}
+ AtomicReference<String> factory = new AtomicReference<>();
if (containerType == 40) {
locType = 5;
} else if (containerType == 21 && agvBasDevp.getFloor() == 3) {
@@ -525,6 +531,8 @@
locType = 2;
} else if (containerType == 30) {
locType = 3;
+ } else if (containerType == 31) {
+ locType = 6;
} else {
locType = agvBasDevp.getLocType1();
}
@@ -553,6 +561,7 @@
if (!Cools.isEmpty(agvWaitPakinList)) {
AtomicBoolean isCurrLev = new AtomicBoolean(false);
agvWaitPakinList.forEach(agvWaitPakin -> {
+ factory.set(OrderUtils.getFactory(agvWaitPakin.getThreeCode()));
if (!Cools.isEmpty(agvWaitPakin.getProcessSts())) {
if (agvWaitPakin.getProcessSts() == 1) {
isCurrLev.set(true);
@@ -623,6 +632,9 @@
// 绔欑偣妫�娴�
AgvBasDevp agvBasDevp = agvBasDevpService.selectById(station);
+ if (Cools.isEmpty(agvBasDevp)) {
+ throw new CoolException("绔欑偣淇℃伅涓嶅瓨鍦�");
+ }
if (!agvBasDevp.getLocSts().equals("O")) {
throw new CoolException("褰撳墠宸ヤ綔浣嶇姸鎬佷负" + agvBasDevp.getLocSts() + ",鏃犳硶杩涜绌烘澘鍑哄簱");
}
@@ -1242,6 +1254,9 @@
throw new CoolException(matnr + "鍟嗗搧缁存姢澶辫触");
}
OrderDetl orderDetl = orderDetlService.selectItem(orderNo, mat.getMatnr(), batch, csocode);
+ if (orderDetl == null) {
+ throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
AgvWrkDetl wrkDetl = new AgvWrkDetl();
wrkDetl.sync(mat);
if (orderDetl != null) {
@@ -1324,6 +1339,10 @@
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
wrkMast.setModiTime(now);
+ if (!Cools.isEmpty(locNo) && Cools.isEmpty(pltType)) {
+ AgvLocMast agvLocMast = agvLocMastService.selectById(locNo);
+ pltType = agvLocMast.getPltType();
+ }
wrkMast.setPltType(pltType);
wrkMast.setLogErrMemo("createWaitPainWrkMastStart");
--
Gitblit v1.9.1