From 862c7880502d372f913f995f7dcaacf7b8609adc Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 12 七月 2023 10:14:08 +0800
Subject: [PATCH] #地图数据更新

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   29 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 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..925db77 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);
@@ -2772,7 +2787,7 @@
                     shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING);
 
                     assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo());
-                    assignCommand.setTaskMode((short) 9);//鍏呯數
+                    assignCommand.setTaskMode(ShuttleTaskModeType.CHARGE.id.shortValue());//鍏呯數
                     assignCommand.setTaskNo(wrkCharge.getWrkNo().shortValue());
                     assignCommand.setCharge(true);//鍏呯數浠诲姟
 
@@ -2816,7 +2831,7 @@
                     //鍒嗛厤鐩爣搴撲綅
                     shuttleProtocol.setLocNo(chargeLocNo);
                     assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo());
-                    assignCommand.setTaskMode((short) 9);//鍏呯數
+                    assignCommand.setTaskMode(ShuttleTaskModeType.CHARGE.id.shortValue());//鍏呯數
                     assignCommand.setTaskNo(wrkCharge.getWrkNo().shortValue());
                     assignCommand.setCharge(true);//鍏呯數浠诲姟
                     //鐩爣搴撲綅
@@ -2907,7 +2922,7 @@
                 shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.CHARGING);
 
                 assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo());
-                assignCommand.setTaskMode((short) 9);//鍏呯數
+                assignCommand.setTaskMode(ShuttleTaskModeType.CHARGE.id.shortValue());//鍏呯數
                 assignCommand.setTaskNo(wrkCharge.getWrkNo().shortValue());
                 assignCommand.setCharge(true);//鍏呯數浠诲姟
 

--
Gitblit v1.9.1