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