From 56a19be6c03e729b112bf8197960d7cc4d9d498e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 24 七月 2023 09:06:04 +0800
Subject: [PATCH] 行走距离
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 42 +++++++++++++++++++++---------------------
src/main/java/com/zy/core/thread/ShuttleThread.java | 8 ++++----
src/main/java/com/zy/common/utils/NavigateUtils.java | 4 +---
3 files changed, 26 insertions(+), 28 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 8a750bd..cc5cfa6 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -935,16 +935,16 @@
Integer middleToDistDistance = null;//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
if (nodes.size() > 10) {//涓鐮佷紶鍊掓暟绗笁涓�
//涓棿璺緞
- middlePath = nodes.get(nodes.size() - 3);
- //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
- middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 3);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
- } else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
- //涓棿璺緞
middlePath = nodes.get(nodes.size() - 2);
//閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ } else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
+ //涓棿璺緞
+ middlePath = nodes.get(nodes.size() - 1);
+ //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
+ middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
}
//鐩爣璺緞
@@ -1005,16 +1005,16 @@
Integer middleToDistDistance = null;//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
if (nodes.size() > 10) {//涓鐮佷紶鍊掓暟绗笁涓�
//涓棿璺緞
- middlePath = nodes.get(nodes.size() - 3);
- //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
- middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 3);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
- } else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
- //涓棿璺緞
middlePath = nodes.get(nodes.size() - 2);
//閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ } else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
+ //涓棿璺緞
+ middlePath = nodes.get(nodes.size() - 1);
+ //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
+ middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
}
//鐩爣璺緞
@@ -1057,16 +1057,16 @@
Integer middleToDistDistance = null;//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
if (nodes.size() > 10) {//涓鐮佷紶鍊掓暟绗笁涓�
//涓棿璺緞
- middlePath = nodes.get(nodes.size() - 3);
- //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
- middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 3);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
- } else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
- //涓棿璺緞
middlePath = nodes.get(nodes.size() - 2);
//閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
- middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ } else if (nodes.size() > 5) {//涓鐮佷紶鍊掓暟绗簩涓�
+ //涓棿璺緞
+ middlePath = nodes.get(nodes.size() - 1);
+ //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮�
+ middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());
+ middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
}
//鐩爣璺緞
diff --git a/src/main/java/com/zy/common/utils/NavigateUtils.java b/src/main/java/com/zy/common/utils/NavigateUtils.java
index 846f8b4..16be082 100644
--- a/src/main/java/com/zy/common/utils/NavigateUtils.java
+++ b/src/main/java/com/zy/common/utils/NavigateUtils.java
@@ -222,9 +222,7 @@
/**
* 鑾峰彇涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
*/
- public static Integer getMiddleToDistDistance(List<NavigateNode> path, Integer distance) {
- //涓棿璺緞
- NavigateNode middlePath = path.get(path.size() - distance);
+ public static Integer getMiddleToDistDistance(List<NavigateNode> path, NavigateNode middlePath) {
//鎬昏窛绂�
int allDistance = 0;
boolean flag = false;
diff --git a/src/main/java/com/zy/core/thread/ShuttleThread.java b/src/main/java/com/zy/core/thread/ShuttleThread.java
index cf4a821..6171b4d 100644
--- a/src/main/java/com/zy/core/thread/ShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/ShuttleThread.java
@@ -445,7 +445,7 @@
//鐩爣璺緞
NavigateNode endPath = nodes.get(nodes.size() - 1);
Integer allDistance = NavigateUtils.getCurrentPathAllDistance(nodes);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂�
- Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
//姝e父绉诲姩鍛戒护
Short startCode = NavigatePositionConvert.xyToPosition(startPath.getX(), startPath.getY(), startPath.getZ());//寮�濮嬩簩缁寸爜
@@ -481,7 +481,7 @@
//鐩爣璺緞
NavigateNode endPath = nodes.get(nodes.size() - 1);
Integer allDistance = NavigateUtils.getCurrentPathAllDistance(nodes);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂�
- Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
//姝e父绉诲姩鍛戒护
Short startCode = NavigatePositionConvert.xyToPosition(startPath.getX(), startPath.getY(), startPath.getZ());//寮�濮嬩簩缁寸爜
@@ -570,7 +570,7 @@
//鐩爣璺緞
NavigateNode endPath = nodes.get(nodes.size() - 1);
Integer allDistance = NavigateUtils.getCurrentPathAllDistance(nodes);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂�
- Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
Short startCode = NavigatePositionConvert.xyToPosition(startPath.getX(), startPath.getY(), startPath.getZ());//寮�濮嬩簩缁寸爜
Short middleCode = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());//涓棿浜岀淮鐮�
Short distCode = NavigatePositionConvert.xyToPosition(endPath.getX(), endPath.getY(), endPath.getZ());//鐩爣浜岀淮鐮�
@@ -607,7 +607,7 @@
//鐩爣璺緞
NavigateNode endPath = nodes.get(nodes.size() - 1);
Integer allDistance = NavigateUtils.getCurrentPathAllDistance(nodes);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂�
- Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, 2);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
+ Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes, middlePath);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂�
Short startCode = NavigatePositionConvert.xyToPosition(startPath.getX(), startPath.getY(), startPath.getZ());//寮�濮嬩簩缁寸爜
Short middleCode = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ());//涓棿浜岀淮鐮�
Short distCode = NavigatePositionConvert.xyToPosition(endPath.getX(), endPath.getY(), endPath.getZ());//鐩爣浜岀淮鐮�
--
Gitblit v1.9.1