From 1864f916e0359d0814416cf94feda3a3662ed193 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期五, 05 九月 2025 16:39:29 +0800
Subject: [PATCH] 1
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java | 45 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 36 insertions(+), 9 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java
index 04be5ac..b1323c5 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java
@@ -15,13 +15,17 @@
import com.zy.acs.manager.manager.service.CodeService;
import com.zy.acs.manager.manager.service.RouteService;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import javax.annotation.PostConstruct;
import java.util.*;
/**
* Created by vincent on 6/6/2024
*/
@Slf4j
+@Service
public class MapDataDispatcher {
public static final Integer MAP_DEFAULT_LEV = 1;
@@ -41,13 +45,22 @@
public Map<String, Boolean> routeCdaMap = new HashMap<>();
- private final CodeService codeService;
+ @Autowired
+ private CodeService codeService;
- private final RouteService routeService;
+ @Autowired
+ private RouteService routeService;
- public MapDataDispatcher(CodeService codeService, RouteService routeService) {
- this.codeService = codeService;
- this.routeService = routeService;
+ @PostConstruct
+ public void init() {
+ String[][] codeMatrix = this.getCodeMatrix(null);
+ this.initRouteMap(null);
+ if (codeMatrix.length > 0) {
+ this.getMapMatrix(null, null);
+ this.getTurnMatrix(null);
+ this.getCdaMatrix(null);
+ this.getDynamicMatrix(null);
+ }
}
public String[][] getWaveMatrix(Integer lev) {
@@ -219,6 +232,9 @@
lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV);
String[][] codeMatrix = getCodeMatrix(lev);
+ if (null == codeMatrix || codeMatrix.length == 0) {
+ return new DynamicNode[0][0];
+ }
DynamicNode[][] dynamicMatrix = new DynamicNode[codeMatrix.length][codeMatrix[0].length];
for (int i = 0; i < codeMatrix.length; i++) {
@@ -291,11 +307,20 @@
turnMatrix[i][j] = TurnNodeType.STRAIGHT.val;
break;
case 2:
- String firstCode = neighborCodeList.get(0); assert !Cools.isEmpty(firstCode);
- String secondCode = neighborCodeList.get(1); assert !Cools.isEmpty(secondCode);
+ String firstCode = neighborCodeList.get(0);
+ assert !Cools.isEmpty(firstCode);
+ String secondCode = neighborCodeList.get(1);
+ assert !Cools.isEmpty(secondCode);
int[] firstIdx = this.getCodeMatrixIdx(lev, firstCode);
int[] secondIdx = this.getCodeMatrixIdx(lev, secondCode);
+
+ if (firstIdx == null) {
+ throw new CoolException("涓嶅瓨鍦ㄧ偣浣�:" + firstCode);
+ }
+ if (secondIdx == null) {
+ throw new CoolException("涓嶅瓨鍦ㄧ偣浣�:" + secondCode);
+ }
if (firstIdx[0] != secondIdx[0] && firstIdx[1] != secondIdx[1]) {
turnMatrix[i][j] = TurnNodeType.TURN.val;
@@ -317,7 +342,7 @@
return turnMatrix;
}
-
+
public synchronized int[][] initMapMatrix(Integer lev) {
log.info("There is initializing Map Matrix......");
@@ -400,7 +425,9 @@
for (Code code : codeList) {
Double x = code.getX();
Double y = code.getY();
- if (null == x || null == y) { continue; }
+ if (null == x || null == y) {
+ continue;
+ }
if (!xIdxList.contains(x)) {
xIdxList.add(x);
}
--
Gitblit v1.9.1