From cc69250f7766581dbfd38f500021d03b29f0a4e0 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期二, 07 四月 2026 13:00:11 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/hik/HikOrderPublishService.java | 24 +++++-------------------
1 files changed, 5 insertions(+), 19 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 4a27274..da4886e 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
@@ -15,8 +15,8 @@
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.framework.exception.CoolException;
import com.zy.acs.manager.common.config.HikOrderProperties;
-import com.zy.acs.manager.core.constant.HikAngleConstant;
import com.zy.acs.manager.core.service.MapService;
+import com.zy.acs.manager.core.utils.AgvAngleUtils;
import com.zy.acs.manager.manager.entity.Action;
import com.zy.acs.manager.manager.entity.AgvDetail;
import com.zy.acs.manager.manager.entity.AgvModel;
@@ -24,7 +24,6 @@
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 com.zy.acs.manager.system.service.ConfigService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -49,8 +48,6 @@
private CodeService codeService;
@Autowired
private AgvDetailService agvDetailService;
- @Autowired
- private ConfigService configService;
private final RedisSupport redis = RedisSupport.defaultRedisSupport;
@@ -134,7 +131,7 @@
case StraightBackTurnable:
case StraightBackUnturnable:
String endCode = findNextMoveEndCode(actionList, i, currentNode.code);
- Double travelDirection = calculateTravelDirection(currentNode.code, endCode);
+ Double travelDirection = calculateTravelDirection(currentNode.code, endCode, agvModel);
Double moveDirection = resolveMoveDirection(currentDirection, travelDirection, actionType, actionGroupId, currentNode.code, endCode);
Double edgeOrientation = resolveEdgeOrientation(moveDirection, travelDirection);
HkOrderEdge edge = createEdge(actionGroupId, edgeIndex++, sequenceId++, currentNode, endCode, edgeOrientation, action, agvModel);
@@ -379,10 +376,7 @@
}
private Double toHikThetaRadians(Double thetaDegrees) {
- if (thetaDegrees == null) {
- return null;
- }
- return HikAngleConstant.toHikAngleRadians(Math.toRadians(thetaDegrees));
+ return AgvAngleUtils.toRadians(thetaDegrees);
}
private void applyNodeTheta(HkOrderNode node, Double directionDegrees) {
@@ -392,21 +386,13 @@
node.getNodePosition().setTheta(toHikThetaRadians(directionDegrees));
}
- private Double calculateTravelDirection(String startCode, String endCode) {
+ private Double calculateTravelDirection(String startCode, String endCode, AgvModel agvModel) {
Code start = codeService.getCacheByData(startCode);
Code end = codeService.getCacheByData(endCode);
if (start == null || end == null) {
throw new CoolException("hik order adaptation failed: code position missing");
}
- Integer angleOffsetVal = configService.getVal("mapAngleOffsetVal", Integer.class);
- if (angleOffsetVal == null) {
- angleOffsetVal = 0;
- }
- double deltaX = end.getX() - start.getX();
- double deltaY = end.getY() - start.getY();
- double angle = Math.atan2(deltaX, deltaY);
- angle = Math.toDegrees(angle) + angleOffsetVal;
- return normalizeDegrees(angle);
+ return AgvAngleUtils.calculateDirection(start, end, agvModel);
}
private Double resolveMoveDirection(Double currentDirection,
--
Gitblit v1.9.1