From aa6e59a8ebf9dc24fb956652bfd46d41d159efd6 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 29 一月 2026 10:46:19 +0800
Subject: [PATCH] 1

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
index b717ce4..46f1a98 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -769,9 +769,9 @@
                 Task task = taskService.getById(segment.getTaskId());
                 TaskPosDto.PosType posType = Objects.requireNonNull(TaskPosDto.queryPosType(segment.getPosType()));
                 // 鐩爣鏄惁涓虹珯鐐�
-                boolean isStation = posType == TaskPosDto.PosType.ORI_STA || posType == TaskPosDto.PosType.DEST_STA;
+                boolean isStation = posType == TaskPosDto.PosType.ORI_STA || posType == TaskPosDto.PosType.DEST_STA || posType == TaskPosDto.PosType.MOVE;
                 // 鐩爣鏄惁涓哄簱浣�
-                boolean isLoc = posType == TaskPosDto.PosType.ORI_LOC || posType == TaskPosDto.PosType.DEST_LOC;
+                boolean isLoc = posType == TaskPosDto.PosType.ORI_LOC || posType == TaskPosDto.PosType.DEST_LOC || posType == TaskPosDto.PosType.MOVE ;
                 // 绔欑偣鍦扮爜
                 List<String> turnCodes = Arrays.asList("00000050", "00000051", "00000052", "00000053", "00000054");
                 // 搴撲綅鍦扮爜
@@ -889,7 +889,7 @@
                                             ActionTypeType.TurnCorner.desc,    // 鍚嶇О
                                             mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D,    // 灞炴�у��
                                             lastCode.getData(),    // 鍦伴潰鐮�
-                                            String.valueOf(180),   // 鍔ㄤ綔鍙傛暟
+                                            String.valueOf(nextCode.getData().equals("00000051") ? 180 : 0 ),   // 鍔ㄤ綔鍙傛暟
                                             ActionTypeType.TurnCorner.val(),    // 鍔ㄤ綔绫诲瀷
                                             actionPrepareSts,    // 鍔ㄤ綔杩涘害
                                             agvId,    // AGV
@@ -934,6 +934,19 @@
                             lastDirection = nextDirection;
                         }
 
+                        // 濡傛灉褰撳墠鍦扮爜鍜屼笅涓�涓湴鐮侀兘鍦ㄧ珯鐐瑰湴鐮侀泦鍚堝唴锛屽垯鏍规嵁鍦ㄩ泦鍚堜腑鐨勯『搴忓喅瀹氳杩涙柟鍚戝拰鏄惁鍊掗��
+                        if (turnCodes.contains(lastCode.getData()) && turnCodes.contains(nextCode.getData())) {
+                            int lastIndex = turnCodes.indexOf(lastCode.getData());
+                            int nextIndex = turnCodes.indexOf(nextCode.getData());
+                            if (nextIndex > lastIndex) {
+                                nextDirection = 180D;
+                                reverse = false;
+                            } else if (nextIndex < lastIndex) {
+                                nextDirection = 0D;
+                                reverse = true;
+                            }
+                        }
+
                         // run
                         ActionTypeType actionType = ActionTypeType.StraightAheadTurnable;
                         if (reverse) {

--
Gitblit v1.9.1