From 5317406cff3620bcf5333696eb04637e18f5e0f2 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 19 三月 2026 14:39:26 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java | 30 +++++++++++++++++++++++-------
1 files changed, 23 insertions(+), 7 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..90c948b 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;
@@ -25,6 +26,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
+import com.zy.acs.common.utils.News;
import java.util.*;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -135,12 +137,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 +210,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) {
@@ -252,7 +268,7 @@
// }
} catch (InterruptedException e) {
- log.error("unlockTaskQueue", e);
+ News.error("unlockTaskQueue", e);
}
}
@@ -716,4 +732,4 @@
return result;
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.1