From bceb4ec708bb800f43d7827c99dade24a550666a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 22 十月 2023 17:29:01 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 46 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 c54ab87..42333be 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1328,6 +1328,8 @@
if (wrkMast.getMk() == null || !wrkMast.getMk().equals("Y")) {
//涓嶉渶瑕佺敤鍒版満姊拌噦锛岀洿鎺ヨ浆29.鍑哄簱瀹屾垚
wrkMast.setWrkSts(29L);
+ wrkMast.setShuttleNo(null);//閲婃斁灏忚溅
+ wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
}
}
@@ -2065,6 +2067,7 @@
//瑕嗙洊宸ヤ綔妗g洰鏍囩珯
wrkMast.setStaNo(targetSta.intValue());
wrkMast.setShuttleNo(null);//閲婃斁灏忚溅
+ wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
if (wrkMastMapper.updateById(wrkMast) > 0) {
//鍚�300绔欏啓鍏ョ洰鏍囩珯
staProtocol = staProtocol.clone();
@@ -2086,6 +2089,7 @@
// //瑕嗙洊宸ヤ綔妗g洰鏍囩珯
// wrkMast.setStaNo(targetSta.intValue());
// wrkMast.setShuttleNo(null);//閲婃斁灏忚溅
+// wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
// if (wrkMastMapper.updateById(wrkMast) > 0) {
// //鍚�300绔欏啓鍏ョ洰鏍囩珯
// staProtocol = staProtocol.clone();
@@ -2157,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;
}
@@ -2167,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;
}
@@ -2178,6 +2185,7 @@
if(!Cools.isEmpty(barcode)) {
//閫氱煡AGV鍙栬揣
agvRestockCall("CS-302-001-01@3", barcode);
+ log.info("閫氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode);
}
}
}
@@ -2849,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());
@@ -3051,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