From 8c211e7534cbe2e30971ce5191b50abac858e638 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期五, 26 九月 2025 13:14:38 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 1a31154..2c1ed7d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -746,14 +746,21 @@
 
                 if (shuttleProtocol.getCurrentLocNo().equals(liftSta.getLocNo())) {
                     //灏忚溅杩樺湪杈撻�佺珯鐐�
-                    //鑾峰彇灏忚溅寰呮満浣�
-                    String standbyLocNo = Utils.getShuttleStandbyLocNo(liftSta.getLocNo());
-                    if (standbyLocNo == null) {
-                        News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛岃幏鍙栧皬杞﹀緟鏈轰綅澶辫触", wrkMast.getWrkNo());
+                    //灏忚溅鍑烘彁鍗囨満杩戠偣璺濈
+                    int shuttleOutLiftLocationDistance = 2;
+                    Config shuttleOutLiftLocationDistanceConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "shuttleOutLiftLocationDistance"));
+                    if (shuttleOutLiftLocationDistanceConfig != null) {
+                        shuttleOutLiftLocationDistance = Integer.parseInt(shuttleOutLiftLocationDistanceConfig.getValue());
+                    }
+
+                    String targetLocNo = navigateUtils.calcFirstLocation(shuttleProtocol.getCurrentLocNo(), wrkMast.getSourceLocNo(), NavigationMapType.getMapTypes(NavigationMapType.NORMAL), null, null, shuttleOutLiftLocationDistance);
+                    if (targetLocNo == null) {//鍑鸿緭閫佺嚎绔欑偣璁$畻澶辫触
+                        News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛屽嚭杈撻�佺嚎绔欑偣璁$畻澶辫触", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
                         return false;
                     }
+
                     //璋冨害灏忚溅鍘诲緟鏈轰綅
-                    boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), standbyLocNo, wrkMast.getShuttleNo());
+                    boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), targetLocNo, wrkMast.getShuttleNo());
                     if (!dispatchShuttle) {
                         News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屽皬杞﹀湪杈撻�佺珯鐐硅皟搴﹀皬杞﹂伩璁╁け璐�", wrkMast.getWrkNo());
                         return false;

--
Gitblit v1.9.1