From e7ba29233031f8f101c73a9c63e4718ba78e3eb4 Mon Sep 17 00:00:00 2001
From: yy <yy123>
Date: 星期一, 02 三月 2026 15:16:08 +0800
Subject: [PATCH] 111

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 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..fe36656 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");
                 // 搴撲綅鍦扮爜
@@ -833,7 +833,7 @@
                                                 ActionTypeType.TurnCorner.desc,    // 鍚嶇О
                                                 mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D,    // 灞炴�у��
                                                 lastCode.getData(),    // 鍦伴潰鐮�
-                                                String.valueOf(180),   // 鍔ㄤ綔鍙傛暟
+                                                String.valueOf(nextDirection),   // 鍔ㄤ綔鍙傛暟
                                                 ActionTypeType.TurnCorner.val(),    // 鍔ㄤ綔绫诲瀷
                                                 actionPrepareSts,    // 鍔ㄤ綔杩涘害
                                                 agvId,    // AGV
@@ -889,7 +889,7 @@
                                             ActionTypeType.TurnCorner.desc,    // 鍚嶇О
                                             mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D,    // 灞炴�у��
                                             lastCode.getData(),    // 鍦伴潰鐮�
-                                            String.valueOf(180),   // 鍔ㄤ綔鍙傛暟
+                                            String.valueOf((nextCode.getData().equals("00000051")||nextCode.getData().equals("00000081") )? 180 : (nextCode.getData().equals("00000025")?270:(nextCode.getData().equals("00000055")?90: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