From 8ecad328df8465b3d81c15e37943f6e9d3adf86b Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 23 十月 2023 16:32:33 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 44 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 443f207..42333be 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2067,6 +2067,7 @@
                                 //瑕嗙洊宸ヤ綔妗g洰鏍囩珯
                                 wrkMast.setStaNo(targetSta.intValue());
                                 wrkMast.setShuttleNo(null);//閲婃斁灏忚溅
+                                wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
                                 if (wrkMastMapper.updateById(wrkMast) > 0) {
                                     //鍚�300绔欏啓鍏ョ洰鏍囩珯
                                     staProtocol = staProtocol.clone();
@@ -2088,6 +2089,7 @@
 //                        //瑕嗙洊宸ヤ綔妗g洰鏍囩珯
 //                        wrkMast.setStaNo(targetSta.intValue());
 //                        wrkMast.setShuttleNo(null);//閲婃斁灏忚溅
+//                        wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
 //                        if (wrkMastMapper.updateById(wrkMast) > 0) {
 //                            //鍚�300绔欏啓鍏ョ洰鏍囩珯
 //                            staProtocol = staProtocol.clone();
@@ -2159,9 +2161,9 @@
                 continue;
             }
 
-            if (staProtocol309.isAutoing() && staProtocol309.isLoading()) {
+            if (staProtocol309.isAutoing() && staProtocol309.isLoading() && staProtocol309.isInEnable()) {
                 // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 11);//308绔欐潯鐮佸櫒
+                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 9);//308绔欐潯鐮佸櫒
                 if (barcodeThread == null) {
                     continue;
                 }
@@ -2169,10 +2171,13 @@
                 if(!Cools.isEmpty(barcode)) {
                     //閫氱煡AGV鍙栬揣
                     agvRestockCall("CS-301-001-01@3", barcode);
+                    log.info("閫氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode);
                 }
-            } else if (staProtocol312.isAutoing() && staProtocol312.isLoading()) {
+            }
+
+            if (staProtocol312.isAutoing() && staProtocol312.isLoading() && staProtocol312.isInEnable()) {
                 // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 12);//311绔欐潯鐮佸櫒
+                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 10);//311绔欐潯鐮佸櫒
                 if (barcodeThread == null) {
                     continue;
                 }
@@ -2180,6 +2185,7 @@
                 if(!Cools.isEmpty(barcode)) {
                     //閫氱煡AGV鍙栬揣
                     agvRestockCall("CS-302-001-01@3", barcode);
+                    log.info("閫氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode);
                 }
             }
         }
@@ -2851,6 +2857,27 @@
                 return false;
             }
 
+            //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�***************
+            //鑾峰彇鐩爣绔�
+            LiftStaProtocol targetLiftSta = NyLiftUtils.getLiftStaByStaNo(wrkMast.getStaNo());
+            if (targetLiftSta == null) {
+                return false;//鎵句笉鍒扮珯鐐�
+            }
+            NavigateNode targetNode = NavigatePositionConvert.locNoToNode(targetLiftSta.getLocNo());//鐩爣鑺傜偣
+            NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(wrkMast.getLocNo()));
+            List<NavigateNode> targetNodes = new ArrayList<>();
+            targetNodes.add(targetNode);
+            boolean checkPathIsAvailable = NavigateUtils.checkPathIsAvailable(targetNodes, shuttleProtocol.getShuttleNo().intValue(), Utils.getLev(wrkMast.getLocNo()), null);
+            if (!checkPathIsAvailable) {
+                return false;//妫�娴嬬洰鏍囩珯鐐硅矾寰勬槸鍚︽湭琚崰鐢�
+            }
+            //灏濊瘯閿佸畾鐩爣绔欒矾寰�
+            boolean result = navigateMapData.writeNavigateNodeToRedisMap(targetNodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢�
+            if (!result) {
+                return false;//璺緞閿佸畾澶辫触
+            }
+            //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�***************
+
             //绔欑偣鑺傜偣
             NavigateNode staNode = NavigatePositionConvert.locNoToNode(sourceLiftSta.getLocNo());
 
@@ -3053,6 +3080,19 @@
             if (basLift.getPoint() == null) {
                 return false;//娌℃湁璁剧疆鎻愬崌鏈虹偣浣嶅潗鏍�
             }
+
+            //*************灏濊瘯瑙i攣鐩爣绔欒矾寰�***************
+            NavigateNode targetNode = NavigatePositionConvert.locNoToNode(liftSta.getLocNo());//鐩爣鑺傜偣
+            NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(wrkMast.getLocNo()));
+            List<NavigateNode> targetNodes = new ArrayList<>();
+            targetNodes.add(targetNode);
+            //灏濊瘯瑙i攣鐩爣绔欒矾寰�
+            boolean result = navigateMapData.writeNavigateNodeToRedisMap(targetNodes, false);//鎵�浣跨敤鐨勮矾寰勮繘琛岃В閿�
+            if (!result) {
+                return false;//璺緞瑙i攣澶辫触
+            }
+            //*************灏濊瘯瑙i攣鐩爣绔欒矾寰�***************
+
             NavigateNode liftNode = new NavigateNode(basLift.getPoint$().getX(), basLift.getPoint$().getY());
             liftNode.setZ(liftSta.getLev());
 

--
Gitblit v1.9.1