From 37f55514ad2f02397fd75c7d98cea25e371243c7 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期一, 20 一月 2025 16:54:29 +0800 Subject: [PATCH] 添加库位规则查找,优化自动移动逻辑 --- src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 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 70c1b84..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 @@ -520,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) { @@ -528,9 +531,9 @@ locType = 2; } else if (containerType == 30) { locType = 3; - } else if (containerType == 31) { + } else if (containerType == 31) { locType = 6; - }else { + } else { locType = agvBasDevp.getLocType1(); } @@ -558,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); @@ -628,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() + ",鏃犳硶杩涜绌烘澘鍑哄簱"); } -- Gitblit v1.9.1