From e2cbfe96c6dea03c15bbb8ea8c7af320242a5d19 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 23 四月 2025 10:14:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/utils/ShuttleOperaUtils.java    |   10 +++--
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   52 +++++++++++++-------------
 2 files changed, 32 insertions(+), 30 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 c756228..d81f88c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -179,14 +179,14 @@
                 return false;
             }
 
-//            //妫�娴嬮殰纰嶇墿杞�
-//            boolean checkObstacle = shuttleOperaUtils.checkObstacle(wrkMast.getLocNo(), new ArrayList<Integer>() {{
-//                add(shuttleProtocol.getShuttleNo());
-//            }});
-//            if (checkObstacle) {
-//                News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
-//                return false;
-//            }
+            //妫�娴嬮殰纰嶇墿杞�
+            boolean checkObstacle = shuttleOperaUtils.checkObstacle(wrkMast.getLocNo(), new ArrayList<Integer>() {{
+                add(shuttleProtocol.getShuttleNo());
+            }});
+            if (checkObstacle) {
+                News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
+                return false;
+            }
 
             ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
             assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙�
@@ -350,14 +350,14 @@
                 return false;
             }
 
-//            //妫�娴嬮殰纰嶇墿杞�
-//            boolean checkObstacle = shuttleOperaUtils.checkObstacle(liftSta.getLocNo(), new ArrayList<Integer>() {{
-//                add(shuttleProtocol.getShuttleNo());
-//            }});
-//            if (checkObstacle) {
-//                News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
-//                return false;
-//            }
+            //妫�娴嬮殰纰嶇墿杞�
+            boolean checkObstacle = shuttleOperaUtils.checkObstacle(liftSta.getLocNo(), new ArrayList<Integer>() {{
+                add(shuttleProtocol.getShuttleNo());
+            }});
+            if (checkObstacle) {
+                News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
+                return false;
+            }
 
             ShuttleAssignCommand assignCommand = new ShuttleAssignCommand();
             assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙�
@@ -576,8 +576,8 @@
                 return false;
             }
 
-//            commands.add(0, liftCommand.get(0));
-//            commands.add(liftCommand2.get(0));
+            commands.add(0, liftCommand.get(0));
+            commands.add(liftCommand2.get(0));
             assignCommand.setCommands(commands);
 
             wrkMast.setWrkSts(WrkStsType.LOC_MOVE_SHUTTLE_RUN.sts);//灏忚溅鎼繍涓�  501.鐢熸垚绉诲簱浠诲姟 ==> 502.灏忚溅鎼繍涓�
@@ -1384,14 +1384,14 @@
                 return false;
             }
 
-//            //妫�娴嬮殰纰嶇墿杞�
-//            boolean checkObstacle = shuttleOperaUtils.checkObstacle(basShuttleCharge.getWaitLocNo(), new ArrayList<Integer>() {{
-//                add(shuttleProtocol.getShuttleNo());
-//            }});
-//            if (checkObstacle) {
-//                News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
-//                return false;
-//            }
+            //妫�娴嬮殰纰嶇墿杞�
+            boolean checkObstacle = shuttleOperaUtils.checkObstacle(basShuttleCharge.getWaitLocNo(), new ArrayList<Integer>() {{
+                add(shuttleProtocol.getShuttleNo());
+            }});
+            if (checkObstacle) {
+                News.info("{}浠诲姟锛岄伩闅滆寖鍥存湁灏忚溅锛岀瓑寰呴殰纰嶅皬杞﹁皟绂讳腑", wrkMast.getWrkNo());
+                return false;
+            }
 
             //璋冨害灏忚溅鍘诲緟鏈轰綅
             boolean dispatched = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), basShuttleCharge.getWaitLocNo(), wrkMast.getShuttleNo());
diff --git a/src/main/java/com/zy/common/utils/ShuttleOperaUtils.java b/src/main/java/com/zy/common/utils/ShuttleOperaUtils.java
index 4c14010..9b8be6c 100644
--- a/src/main/java/com/zy/common/utils/ShuttleOperaUtils.java
+++ b/src/main/java/com/zy/common/utils/ShuttleOperaUtils.java
@@ -260,13 +260,15 @@
                 continue;
             }
 
-            HashMap<String, Integer> carMap = findCarMap();
-
             String targetLocNo = null;
             for (NavigateNode node : outerNodes) {
                 String dispatchLocNo = NavigatePositionConvert.nodeToLocNo(node);
-                if (carMap.containsKey(dispatchLocNo)) {
-                    continue;
+                //鑾峰彇鍐呭湀鑺傜偣
+                List<NavigateNode> avoidInnerNodes = getInnerNodes(dispatchLocNo, innerCircle, new ArrayList<>());
+                //璁$畻鍐呭湀鏄惁鏈夊皬杞�
+                List<Integer> avoidNodesCar = findNodesCar(avoidInnerNodes);
+                if(!avoidNodesCar.isEmpty()) {
+                   continue;
                 }
                 targetLocNo = dispatchLocNo;
                 break;

--
Gitblit v1.9.1