From e80188bc55e4a01af9490c70846a13833e3301a3 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 11 三月 2026 13:29:08 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java | 25 ++++++++++++++++++++-----
1 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
index dfca02b..1f65871 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
@@ -7,6 +7,7 @@
import com.zy.acs.manager.core.constant.MapDataConstant;
import com.zy.acs.manager.core.domain.DirectionDto;
import com.zy.acs.manager.core.domain.LaneDto;
+import com.zy.acs.manager.core.domain.PathDto;
import com.zy.acs.manager.core.domain.SortCodeDto;
import com.zy.acs.manager.core.domain.UnlockPathTask;
import com.zy.acs.manager.core.domain.VehicleFootprint;
@@ -135,12 +136,15 @@
return null;
}
angle = (angle + 360) % 360;
+
+ double result;
double remainder = angle % 45;
if (remainder < 22.5) {
- return angle - remainder;
+ result = angle - remainder;
} else {
- return angle + (45 - remainder);
+ result = angle + (45 - remainder);
}
+ return (result + 360) % 360;
}
// 瑙掑害璁$畻
@@ -205,9 +209,20 @@
return Math.sqrt(deltaX * deltaX + deltaY * deltaY);
}
- public void lockPath(Integer lev, List<String> pathList, String agvNo) {
- List<int[]> codeMatrixIdxList = mapDataDispatcher.getCodeMatrixIdxList(lev, pathList);
- mapDataDispatcher.modifyDynamicMatrix(lev, codeMatrixIdxList, agvNo);
+ public void lockPath(Integer lev, List<PathDto> pathList, String agvNo) {
+ if (Cools.isEmpty(agvNo, pathList)) {
+ return;
+ }
+ List<PathDto> normalized = pathList.stream()
+ .filter(Objects::nonNull)
+ .filter(dto -> !Cools.isEmpty(dto.getCode()))
+ .collect(Collectors.toList());
+ if (Cools.isEmpty(normalized)) {
+ return;
+ }
+ List<String> codeList = normalized.stream().map(PathDto::getCode).collect(Collectors.toList());
+ List<int[]> codeMatrixIdxList = mapDataDispatcher.getCodeMatrixIdxList(lev, codeList);
+ mapDataDispatcher.modifyDynamicMatrix(lev, codeMatrixIdxList, agvNo, normalized);
}
public void unlockPath(String agvNo, String codeData) {
--
Gitblit v1.9.1