From c97e67b2b569bf9845acbe6a088b7a2b0f8d6a11 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 05 八月 2025 09:22:15 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 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 1d08bc7..aadf7ed 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -183,7 +183,7 @@
             //妫�娴嬮殰纰嶇墿杞�
             boolean checkObstacle = shuttleOperaUtils.checkObstacle(wrkMast.getLocNo(), new ArrayList<Integer>() {{
                 add(shuttleProtocol.getShuttleNo());
-            }});
+            }}, new ArrayList<>());
             if (checkObstacle) {
                 News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
                 return false;
@@ -374,7 +374,7 @@
                 //妫�娴嬮殰纰嶇墿杞�
                 boolean checkObstacle = shuttleOperaUtils.checkObstacle(wrkMast.getSourceLocNo(), new ArrayList<Integer>() {{
                     add(shuttleProtocol.getShuttleNo());
-                }});
+                }}, new ArrayList<>());
                 if (checkObstacle) {
                     News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
                     return false;
@@ -498,7 +498,10 @@
                 return false;
             }
 
+            //鍒ゆ柇灏忚溅鏄惁鍒拌揪璐х墿搴撲綅
             if (!shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
+                //灏忚溅鏈埌杈惧彇璐т綅缃�
+                shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getShuttleNo());//璋冨害灏忚溅鍒拌揣鐗╂墍鍦ㄥ簱浣嶈繘琛屽彇璐�
                 News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛屽皬杞︽湭鍒拌揪鍙栬揣浣嶇疆", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                 return false;
             }
@@ -513,7 +516,7 @@
             //妫�娴嬮殰纰嶇墿杞�
             boolean checkObstacle = shuttleOperaUtils.checkObstacle(wrkMast.getLocNo(), new ArrayList<Integer>() {{
                 add(shuttleProtocol.getShuttleNo());
-            }});
+            }}, new ArrayList<>());
             if (checkObstacle) {
                 News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
                 return false;
@@ -1092,6 +1095,16 @@
                     continue;
                 }
 
+                WrkMast wrkMast1 = wrkMastService.selectShuttleWorking(shuttleProtocol.getShuttleNo());
+                if (wrkMast1 != null) {
+                    continue;
+                }
+
+                WrkMast wrkMast2 = wrkMastService.selectShuttleHasMoveWorking(shuttleProtocol.getShuttleNo());
+                if (wrkMast2 != null) {
+                    continue;
+                }
+
                 WrkMast wrkMast = wrkMastService.selectChargeWorking(shuttleProtocol.getShuttleNo());
                 if (wrkMast != null) {//宸叉湁鍏呯數浠诲姟
                     continue;
@@ -1373,7 +1386,7 @@
             //妫�娴嬮殰纰嶇墿杞�
             boolean checkObstacle = shuttleOperaUtils.checkObstacle(basShuttleCharge.getWaitLocNo(), new ArrayList<Integer>() {{
                 add(shuttleProtocol.getShuttleNo());
-            }});
+            }}, new ArrayList<>());
             if (checkObstacle) {
                 News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
                 return false;

--
Gitblit v1.9.1