From 85ecc4d9a9af134cdf447a2c27e65f1a75f265db Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期二, 18 三月 2025 13:30:43 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java |   12 +++++++++---
 1 files changed, 9 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 efc79ab..7cf12fb 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
@@ -696,27 +696,33 @@
                         Code nextCode = codeService.getCacheByData(next);
                         Double nextDirection = mapService.calculateDirection(lastCode, nextCode, angleOffsetVal);
 
-                        // 濡傛灉鍘讳笅涓妭鐐圭殑鏂瑰悜涓庡綋鍓嶆柟鍚戝樊180搴︼紝鍒欎笉闇�瑕佹棆杞紝鏀逛负鍙嶆柟鍚戣璧帮紝nextDirection缁х画璧嬪�兼槸涓轰簡閬垮厤 鈥樼涓�涓姩浣滀竴瀹氭槸 turn鈥� 鐨勫垽鏂�
+                        // 绗竴姝ワ細濡傛灉涓嬩竴涓柟鍚戞濂芥槸浣滀笟鏂瑰悜鐨勭浉鍙嶆柟鍚戯紝鍒欓噸缃笅涓�涓柟鍚戜负浣滀笟鏂瑰悜锛屾爣璁皉everse
                         boolean reverse = false;
                         if (nextDirection.equals((workDirection + 180) % 360)) {
                             nextDirection = workDirection;
                             reverse = true;
                         }
 
+                        // 绗簩姝ワ細鍒ゆ柇褰撳墠鑺傜偣鏄惁鍙互鏃嬭浆
                         if (!lastCode.getCornerBool()) {
+                            // 濡傛灉鏄綔涓氭柟鍚戯紝浣嗘槸灏忚溅鍦ㄥ贩閬撳唴鏂瑰悜閿欒锛屽垯鍋滄
+                            if (reverse && !lastDirection.equals(nextDirection)) {
+                                throw new CoolException(agvNo + "鍙峰皬杞︽柟鍚戦敊璇紝璇锋帹鑷宠浆寮偣鎵嬪姩璋冩暣");
+                            }
+                            // 濡傛灉涓嶆槸浣滀笟鏂瑰悜锛屽垽鏂槸鍚︾浉鍙嶆柟鍚戯紝濡傛灉鍙嶆柟鍚戝垯鍊掗��琛岃蛋
                             if (nextDirection.equals((lastDirection + 180) % 360)) {
                                 nextDirection = lastDirection;
                                 reverse = true;
                             }
                         } else {
                             if (!lastDirection.equals(nextDirection)) {
-                                if (lastDirection.equals((nextDirection + 180) % 360)) {
+                                if (nextDirection.equals((lastDirection + 180) % 360)) {
                                     nextDirection = lastDirection;
                                     reverse = true;
                                 } else {
                                     // turn
                                     actionList.add(new Action(
-                                            null,    // 缂栧彿
+                                            null,    // 缂栧彿s
                                             task.getBusId(),    // 鎬荤嚎
                                             task.getId(),    // 浠诲姟
                                             null,    // 鍔ㄤ綔鍙�

--
Gitblit v1.9.1