From a8f0e2617ec8f0451b5258eb882c6a9b7be1dd7e Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 04 七月 2023 09:36:41 +0800 Subject: [PATCH] 中段码 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 23 +++++++++++++++++++---- 1 files changed, 19 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 27a9864..42df8f9 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1049,17 +1049,32 @@ for (ArrayList<NavigateNode> nodes : data2) { //寮�濮嬭矾寰� NavigateNode startPath = nodes.get(0); + //涓棿璺緞 - NavigateNode middlePath = nodes.get(nodes.size() - 2); + NavigateNode middlePath = null; + //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮� + Short middleCodeNum = null; + 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);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� + } 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);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� + } + //鐩爣璺緞 NavigateNode endPath = nodes.get(nodes.size() - 1); Integer allDistance = NavigateUtils.getCurrentPathAllDistance(nodes);//璁$畻褰撳墠璺緞琛岃蛋鎬昏窛绂� - Integer middleToDistDistance = NavigateUtils.getMiddleToDistDistance(nodes);//璁$畻涓棿鐐瑰埌鐩爣鐐硅璧拌窛绂� //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮� Short startCodeNum = NavigatePositionConvert.xyToPosition(startPath.getX(), startPath.getY(), startPath.getZ()); - //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮� - Short middleCodeNum = NavigatePositionConvert.xyToPosition(middlePath.getX(), middlePath.getY(), middlePath.getZ()); //閫氳繃xy鍧愭爣灏忚溅浜岀淮鐮� Short distCodeNum = NavigatePositionConvert.xyToPosition(endPath.getX(), endPath.getY(), endPath.getZ()); ShuttleCommand moveCommand = shuttleThread.getMoveCommand(startCodeNum, distCodeNum, allDistance, ShuttleRunDirection.get(startPath.getDirection()).id, middleCodeNum, middleToDistDistance, runSpeed); -- Gitblit v1.9.1