From 02b49844456ea3e650edcf03d8d6a5bad6ba9aed Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 08 一月 2025 14:15:05 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java |   41 --------------------
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java   |    9 +---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java           |    4 +-
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java     |    6 +-
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java               |   41 ++++++++++++++++++++
 5 files changed, 48 insertions(+), 53 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java
index 5b5f82b..9d502e1 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MapDataWsScheduler.java
@@ -5,7 +5,7 @@
 import com.zy.acs.manager.core.domain.BackpackDto;
 import com.zy.acs.manager.core.domain.MapWsAgvVo;
 import com.zy.acs.manager.core.domain.MapWsVo;
-import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
+import com.zy.acs.manager.core.service.MapService;
 import com.zy.acs.manager.manager.entity.Agv;
 import com.zy.acs.manager.manager.entity.AgvDetail;
 import com.zy.acs.manager.manager.entity.AgvModel;
@@ -46,7 +46,7 @@
     @Autowired
     private CodeService codeService;
     @Autowired
-    private MapDataDispatcher mapDataDispatcher;
+    private MapService mapService;
 
     @PostConstruct
     public void init() {
@@ -90,7 +90,7 @@
             vo.setBattery(agvDetail.getSoc());
             vo.setError(agvDetail.realError());
 
-            vo.setDynamicRoute(mapDataDispatcher.queryCodeListFromDynamicNode(null, agv.getUuid()));
+            vo.setDynamicRoute(mapService.queryCodeListFromDynamicNode(null, agv.getUuid()));
 
             agvVos.add(vo);
         }
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 976c8e0..cb34cda 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
@@ -5,9 +5,11 @@
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.manager.common.utils.MapDataUtils;
 import com.zy.acs.manager.core.constant.MapDataConstant;
+import com.zy.acs.manager.core.domain.SortCodeDto;
 import com.zy.acs.manager.core.domain.UnlockPathTask;
 import com.zy.acs.manager.core.service.astart.*;
 import com.zy.acs.manager.core.service.astart.domain.AStarNavigateNode;
+import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
 import com.zy.acs.manager.core.service.floyd.FloydNavigateService;
 import com.zy.acs.manager.manager.entity.Code;
 import com.zy.acs.manager.manager.entity.Loc;
@@ -21,9 +23,11 @@
 import org.springframework.stereotype.Component;
 
 import java.util.*;
+import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
+import java.util.stream.IntStream;
 
 /**
  * Created by vincent on 2023/6/14
@@ -364,4 +368,41 @@
         return turnMatrixNode == TurnNodeType.TURN.val;
     }
 
+    public List<String> queryCodeListFromDynamicNode(Integer lev, String nodeType) {
+        if (Cools.isEmpty(nodeType)) {
+            return new ArrayList<>();
+        }
+        lev = Optional.ofNullable(lev).orElse(MapDataDispatcher.MAP_DEFAULT_LEV);
+
+        DynamicNode[][] dynamicMatrix = mapDataDispatcher.getDynamicMatrix(lev);
+        String[][] codeMatrix = mapDataDispatcher.getCodeMatrix(lev);
+
+        // concurrent
+        ConcurrentLinkedQueue<SortCodeDto> codeList = new ConcurrentLinkedQueue<>();
+        IntStream.range(0, codeMatrix.length).parallel().forEach(i -> {
+            for (int j = 0; j < codeMatrix[i].length; j++) {
+                DynamicNode dynamicNode = dynamicMatrix[i][j];
+                if (nodeType.equals(dynamicNode.getVehicle())) {
+                    codeList.add(new SortCodeDto(codeMatrix[i][j], dynamicNode.getSerial()));
+                }
+            }
+        });
+
+        // synchronize
+//        List<SortCodeDto> codeList = new ArrayList<>();
+//        for (int i = 0; i < codeMatrix.length; i++) {
+//            for (int j = 0; j < codeMatrix[i].length; j++) {
+//                DynamicNode dynamicNode = dynamicMatrix[i][j];
+//                if (nodeType.equals(dynamicNode.getVehicle())) {
+//                    codeList.add(new SortCodeDto(codeMatrix[i][j], dynamicNode.getSerial()));
+//                }
+//            }
+//        }
+
+        return codeList.stream()
+                .sorted(Comparator.comparingInt(SortCodeDto::getSerial))
+                .map(SortCodeDto::getCode)
+                .collect(Collectors.toList());
+    }
+
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java
index 7e9cbc3..1b6d1d4 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/RetreatNavigateService.java
@@ -1,19 +1,16 @@
 package com.zy.acs.manager.core.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zy.acs.common.constant.RedisConstant;
 import com.zy.acs.common.utils.RedisSupport;
 import com.zy.acs.common.utils.Utils;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.manager.common.utils.MapDataUtils;
 import com.zy.acs.manager.core.constant.MapDataConstant;
-import com.zy.acs.manager.core.domain.Lane;
 import com.zy.acs.manager.core.service.astart.*;
 import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
 import com.zy.acs.manager.core.utils.RouteGenerator;
 import com.zy.acs.manager.manager.entity.Code;
 import com.zy.acs.manager.manager.entity.Jam;
-import com.zy.acs.manager.manager.entity.Route;
 import com.zy.acs.manager.manager.entity.Segment;
 import com.zy.acs.manager.manager.enums.JamStateType;
 import com.zy.acs.manager.manager.service.*;
@@ -39,8 +36,6 @@
 
     @Autowired
     private CodeService codeService;
-    @Autowired
-    private RouteService routeService;
     @Autowired
     private MapDataDispatcher mapDataDispatcher;
     @Autowired
@@ -113,7 +108,7 @@
                         if (!Cools.isEmpty(blackList) && blackList.contains(otherWave)) {
                             continue label;
                         }
-                        if (1 < mapDataDispatcher.queryCodeListFromDynamicNode(lev, otherWave).size()) {
+                        if (1 < mapService.queryCodeListFromDynamicNode(lev, otherWave).size()) {
                             phaseSecond = false;    // there is a running way
                             continue label;
                         } else {
@@ -269,7 +264,7 @@
                             if (!Cools.isEmpty(blackList) && blackList.contains(otherWave)) {
                                 continue;
                             }
-                            if (1 < mapDataDispatcher.queryCodeListFromDynamicNode(lev, otherWave).size()) {
+                            if (1 < mapService.queryCodeListFromDynamicNode(lev, otherWave).size()) {
 
                                 if (null != availablePointOfTurn && actualLanesOfTurn > 0) {
                                     actualLanesOfTurn --;
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
index 86e42f5..31fa21a 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -441,7 +441,7 @@
                 List<String> otherWaveList = MapDataUtils.hasOtherWave(waveNodeList, agvNo);
                 if (!Cools.isEmpty(otherWaveList)) {
                     for (String otherWave : otherWaveList) {
-                        if (1 < mapDataDispatcher.queryCodeListFromDynamicNode(lev, otherWave).size()) {
+                        if (1 < mapService.queryCodeListFromDynamicNode(lev, otherWave).size()) {
                             blockVehicleList.add(new BlockVehicleDto(otherWave, false));
                         } else {
                             blockVehicleList.add(new BlockVehicleDto(otherWave, true));
@@ -585,7 +585,7 @@
                     List<String> list = GsonUtils.fromJsonToList(jam.getJamPath(), String.class);
 
                     Agv jamAgv = agvService.getById(jam.getJamAgv());
-                    List<String> jamDynamicNodes = mapDataDispatcher.queryCodeListFromDynamicNode(lev, jamAgv.getUuid());
+                    List<String> jamDynamicNodes = mapService.queryCodeListFromDynamicNode(lev, jamAgv.getUuid());
                     // jamDynamicNodes has sorted
                     String firstCodeNode = jamDynamicNodes.stream().findFirst().orElse(null);
 
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 7d90822..f8a319b 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
@@ -6,7 +6,6 @@
 import com.zy.acs.common.utils.RedisSupport;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.exception.CoolException;
-import com.zy.acs.manager.core.domain.SortCodeDto;
 import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
 import com.zy.acs.manager.core.utils.RouteGenerator;
 import com.zy.acs.manager.manager.entity.Code;
@@ -17,9 +16,6 @@
 import lombok.extern.slf4j.Slf4j;
 
 import java.util.*;
-import java.util.concurrent.ConcurrentLinkedQueue;
-import java.util.stream.Collectors;
-import java.util.stream.IntStream;
 
 /**
  * Created by vincent on 6/6/2024
@@ -481,43 +477,6 @@
             }
         }
         return codeMatrixIdxList;
-    }
-
-    public List<String> queryCodeListFromDynamicNode(Integer lev, String nodeType) {
-        if (Cools.isEmpty(nodeType)) {
-            return new ArrayList<>();
-        }
-        lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV);
-
-        DynamicNode[][] dynamicMatrix = getDynamicMatrix(lev);
-        String[][] codeMatrix = this.getCodeMatrix(lev);
-
-        // concurrent
-        ConcurrentLinkedQueue<SortCodeDto> codeList = new ConcurrentLinkedQueue<>();
-        IntStream.range(0, codeMatrix.length).parallel().forEach(i -> {
-            for (int j = 0; j < codeMatrix[i].length; j++) {
-                DynamicNode dynamicNode = dynamicMatrix[i][j];
-                if (nodeType.equals(dynamicNode.getVehicle())) {
-                    codeList.add(new SortCodeDto(codeMatrix[i][j], dynamicNode.getSerial()));
-                }
-            }
-        });
-
-        // synchronize
-//        List<SortCodeDto> codeList = new ArrayList<>();
-//        for (int i = 0; i < codeMatrix.length; i++) {
-//            for (int j = 0; j < codeMatrix[i].length; j++) {
-//                DynamicNode dynamicNode = dynamicMatrix[i][j];
-//                if (nodeType.equals(dynamicNode.getVehicle())) {
-//                    codeList.add(new SortCodeDto(codeMatrix[i][j], dynamicNode.getSerial()));
-//                }
-//            }
-//        }
-
-        return codeList.stream()
-                .sorted(Comparator.comparingInt(SortCodeDto::getSerial))
-                .map(SortCodeDto::getCode)
-                .collect(Collectors.toList());
     }
 
     public void modifyDynamicMatrix(Integer lev, List<int[]> codeIdxList, String vehicle) {

--
Gitblit v1.9.1