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 | 15 +++++++++++++++ 1 files changed, 15 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 eecfc9d..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) { -- Gitblit v1.9.1