From 7abe872c6bcfb5daafb0d1cef7581600661b9726 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 23 十月 2023 19:55:51 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/utils/NyLiftUtils.java | 21 ++++++++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 45 ++++++++++------------
2 files changed, 42 insertions(+), 24 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 42333be..be2cce5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2692,6 +2692,23 @@
return false;
}
+ //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�***************
+ List<NavigateNode> targetNodes = NyLiftUtils.getLiftStaNodes(wrkMast.getStaNo());
+ if (targetNodes == null) {
+ return false;//鏈幏鍙栧埌鑺傜偣
+ }
+ boolean checkPathIsAvailable = NavigateUtils.checkPathIsAvailable(targetNodes, shuttleProtocol.getShuttleNo().intValue(), Utils.getLev(wrkMast.getLocNo()), null);
+ if (!checkPathIsAvailable) {
+ return false;//妫�娴嬬洰鏍囩珯鐐硅矾寰勬槸鍚︽湭琚崰鐢�
+ }
+ NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(wrkMast.getLocNo()));
+ //灏濊瘯閿佸畾鐩爣绔欒矾寰�
+ boolean result2 = navigateMapData.writeNavigateNodeToRedisMap(targetNodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢�
+ if (!result2) {
+ return false;//璺緞閿佸畾澶辫触
+ }
+ //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�***************
+
//鑾峰彇婧愯緭閫佺珯
LiftStaProtocol liftSta = NyLiftUtils.getLiftStaByStaNo(wrkMast.getSourceStaNo());
if (liftSta == null) {
@@ -2856,27 +2873,6 @@
if (!shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
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());
@@ -3082,10 +3078,11 @@
}
//*************灏濊瘯瑙i攣鐩爣绔欒矾寰�***************
- NavigateNode targetNode = NavigatePositionConvert.locNoToNode(liftSta.getLocNo());//鐩爣鑺傜偣
NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(wrkMast.getLocNo()));
- List<NavigateNode> targetNodes = new ArrayList<>();
- targetNodes.add(targetNode);
+ List<NavigateNode> targetNodes = NyLiftUtils.getLiftStaNodes(liftSta.getStaNo());
+ if (targetNodes == null) {
+ return false;//鏈幏鍙栧埌鑺傜偣
+ }
//灏濊瘯瑙i攣鐩爣绔欒矾寰�
boolean result = navigateMapData.writeNavigateNodeToRedisMap(targetNodes, false);//鎵�浣跨敤鐨勮矾寰勮繘琛岃В閿�
if (!result) {
diff --git a/src/main/java/com/zy/common/utils/NyLiftUtils.java b/src/main/java/com/zy/common/utils/NyLiftUtils.java
index cee6584..b5baaaa 100644
--- a/src/main/java/com/zy/common/utils/NyLiftUtils.java
+++ b/src/main/java/com/zy/common/utils/NyLiftUtils.java
@@ -1,6 +1,8 @@
package com.zy.common.utils;
import com.core.common.SpringUtils;
+import com.zy.asrs.utils.Utils;
+import com.zy.common.model.NavigateNode;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.LiftSlave;
@@ -10,6 +12,8 @@
import com.zy.core.thread.LiftThread;
import javax.swing.*;
+import java.util.ArrayList;
+import java.util.List;
/**
* 鐗涚溂鎻愬崌鏈哄伐鍏风被
@@ -93,4 +97,21 @@
return null;
}
+ //鑾峰彇鎻愬崌鏈鸿緭閫佺珯鍙婂叾鍓嶄竴绔欒妭鐐�
+ public static List<NavigateNode> getLiftStaNodes(Integer staNo) {
+ List<NavigateNode> targetNodes = new ArrayList<>();
+ //鑾峰彇鐩爣绔�
+ LiftStaProtocol targetLiftSta = NyLiftUtils.getLiftStaByStaNo(staNo);
+ if (targetLiftSta == null) {
+ return null;//鎵句笉鍒扮珯鐐�
+ }
+ NavigateNode targetNode = NavigatePositionConvert.locNoToNode(targetLiftSta.getLocNo());//鐩爣鑺傜偣
+ String targetLastLocNo = Utils.getLocNo(Utils.getRow(targetLiftSta.getLocNo()) - 1, Utils.getBay(targetLiftSta.getLocNo()), Utils.getLev(targetLiftSta.getLocNo()));//鐩爣鑺傜偣鍓嶄竴绔�
+ NavigateNode targetLastNode = NavigatePositionConvert.locNoToNode(targetLastLocNo);//鐩爣鑺傜偣鍓嶄竴绔�
+ targetNodes.add(targetNode);
+ targetNodes.add(targetLastNode);
+
+ return targetNodes;
+ }
+
}
--
Gitblit v1.9.1