From fa1d5f09f583d49e888d15066d74d47920663113 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期三, 14 一月 2026 13:07:46 +0800
Subject: [PATCH] 1

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 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 90f5fe9..091f636 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
@@ -965,11 +965,11 @@
 
                         // 宸烽亾寮哄埗杞集锛屼紭鍏堢骇 > workDirection
                         if (null != nextLaneDir) {
-                            nextDirection = nextLaneDir;
+                            final double oppNextLaneDir = (nextLaneDir + 180) % 360;
 
-                            if (!lastDirection.equals(nextDirection)) {
+                            if (!lastDirection.equals(nextLaneDir)) {
                                 if (!lastCode.getCornerBool()) {
-                                    throw new CoolException(agvNo + "鍙峰皬杞﹁繘鍏ュ贩閬撻渶璋冩暣鏂瑰悜涓� " + nextDirection + "掳锛岃鎺ㄨ嚦杞集鐐规墜鍔ㄨ皟鏁�");
+                                    throw new CoolException(agvNo + "鍙峰皬杞﹁繘鍏ュ贩閬撻渶璋冩暣鏂瑰悜涓� " + nextLaneDir + "掳锛岃鎺ㄨ嚦杞集鐐规墜鍔ㄨ皟鏁�");
                                 }
                                 // turn
                                 actionList.add(new Action(
@@ -981,15 +981,30 @@
                                         ActionTypeType.TurnCorner.desc,    // 鍚嶇О
                                         (double) mapService.spinDirection(lastCode).val,     // 灞炴�у��
                                         lastCode.getData(),    // 鍦伴潰鐮�
-                                        String.valueOf(nextDirection),   // 鍔ㄤ綔鍙傛暟
+                                        String.valueOf(nextLaneDir),   // 鍔ㄤ綔鍙傛暟
                                         ActionTypeType.TurnCorner.val(),    // 鍔ㄤ綔绫诲瀷
                                         actionPrepareSts,    // 鍔ㄤ綔杩涘害
                                         agvId,    // AGV
                                         now    // 宸ヤ綔鏃堕棿
                                 ));
-                                lastDirection = nextDirection;
+                                lastDirection = nextLaneDir;
+
+                                if (nextDirection.equals(oppNextLaneDir)) {
+                                    reverse = true;
+                                }
+                            } else {
+                                if (nextDirection.equals(oppNextLaneDir)) {
+                                    nextDirection = nextLaneDir;
+                                    reverse = true;
+                                }
                             }
+
+                            nextDirection = nextLaneDir;
                         } else if (null != lastLaneDir) {
+                            final double oppLastLaneDir = (lastLaneDir + 180) % 360;
+                            if (nextDirection.equals(oppLastLaneDir)) {
+                                reverse = true;
+                            }
                             nextDirection = lastLaneDir;
 
                             if (!lastDirection.equals(nextDirection)) {

--
Gitblit v1.9.1