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