From bdd072164b38edc65d80d865cefc1c20a6c8b232 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期五, 03 四月 2026 15:30:54 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/hik/HikOrderPublishService.java |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/hik/HikOrderPublishService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/hik/HikOrderPublishService.java
index 5d5bc5a..7c9dec5 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/hik/HikOrderPublishService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/hik/HikOrderPublishService.java
@@ -17,9 +17,11 @@
 import com.zy.acs.manager.common.config.HikOrderProperties;
 import com.zy.acs.manager.core.constant.HikAngleConstant;
 import com.zy.acs.manager.manager.entity.Action;
+import com.zy.acs.manager.manager.entity.AgvDetail;
 import com.zy.acs.manager.manager.entity.AgvModel;
 import com.zy.acs.manager.manager.entity.Code;
 import com.zy.acs.manager.manager.enums.ActionTypeType;
+import com.zy.acs.manager.manager.service.AgvDetailService;
 import com.zy.acs.manager.manager.service.CodeService;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -43,6 +45,8 @@
     private SnowflakeIdWorker snowflakeIdWorker;
     @Autowired
     private CodeService codeService;
+    @Autowired
+    private AgvDetailService agvDetailService;
 
     private final RedisSupport redis = RedisSupport.defaultRedisSupport;
 
@@ -117,8 +121,14 @@
 
             switch (actionType) {
                 case TurnCorner:
-                    currentTheta = parseThetaRadians(action.getParams());
-                    currentNode.node.getNodePosition().setTheta(currentTheta);
+                    if (i == 0) {
+                        AgvDetail agvDetail = agvDetailService.selectMajorByAgvId(firstAction.getAgvId());
+                        currentTheta = parseThetaRadians(String.valueOf(agvDetail.getAgvAngle()));
+                        currentNode.node.getNodePosition().setTheta(currentTheta);
+                    } else {
+                        currentTheta = parseThetaRadians(action.getParams());
+                        currentNode.node.getNodePosition().setTheta(currentTheta);
+                    }
                     break;
                 case StraightAheadTurnable:
                 case StraightAheadUnturnable:
@@ -173,14 +183,15 @@
         }
 
         HkOrderNode node = new HkOrderNode();
-        node.setNodeId(buildId(actionGroupId, "N", nodeIndex, code));
+//        node.setNodeId(buildId(actionGroupId, "N", nodeIndex, code));
+        node.setNodeId(code);
         node.setSequenceId(sequenceId);
-        node.setNodeDescription(code);
+//        node.setNodeDescription(code);
         node.setReleased(Boolean.TRUE);
         node.setAllowedDeviationXY(hikOrderProperties.getDefaultAllowedDeviationXY());
         node.setAllowedDeviationTheta(hikOrderProperties.getDefaultAllowedDeviationTheta());
         node.setMapId(hikOrderProperties.getMapId());
-        node.setMapDescription(hikOrderProperties.getMapDescription());
+//        node.setMapDescription(hikOrderProperties.getMapDescription());
         node.setActions(new ArrayList<>());
         node.setNodePosition(buildNodePosition(codeEntity));
         return new NodeCursor(code, node);
@@ -203,15 +214,20 @@
                                    Action action,
                                    AgvModel agvModel) {
         HkOrderEdge edge = new HkOrderEdge();
-        edge.setEdgeId(buildId(actionGroupId, "E", edgeIndex, startNode.code + "_" + endCode));
+//        edge.setEdgeId(buildId(actionGroupId, "E", edgeIndex, startNode.code + "_" + endCode));
+        edge.setEdgeId(startNode.code + "_" + endCode);
         edge.setSequenceId(sequenceId);
-        edge.setEdgeDescription(startNode.code + "->" + endCode);
+//        edge.setEdgeDescription(startNode.code + "->" + endCode);
         edge.setReleased(Boolean.TRUE);
         edge.setStartNodeId(startNode.node.getNodeId());
-        edge.setEndNodeId(buildId(actionGroupId, "N", edgeIndex + 1, endCode));
+//        edge.setEndNodeId(buildId(actionGroupId, "N", edgeIndex + 1, endCode));
+        edge.setEndNodeId(endCode);
         edge.setMaxSpeed(resolveMaxSpeed(action, agvModel));
-        edge.setOrientation(edgeTheta);
-        edge.setOrientationType("GLOBAL");
+        // GLOBAL
+        // TANGENTIAL
+        edge.setOrientationType("TANGENTIAL");
+        edge.setOrientation(0.0);
+//        edge.setOrientation(edgeTheta);
         edge.setRotationAllowed(Boolean.FALSE);
         edge.setActions(new ArrayList<>());
         return edge;

--
Gitblit v1.9.1