From fd6d26f8ffe6a37533e741337f3eca9134d934c7 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 15 一月 2025 10:42:59 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
index cbfedb2..2b6a8f1 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
@@ -39,6 +39,8 @@
 
     private final Map<String, List<int[]>> laneCodeIdxMap = new HashMap<>();
 
+    private final Map<String, Lane> codeLaneMap = new HashMap<>();
+
     private boolean initialized = Boolean.FALSE;
 
     @Autowired
@@ -62,12 +64,14 @@
         if (Cools.isEmpty(codeData) || !this.initialized) {
             return null;
         }
-        for (Lane lane : this.lanes) {
-            if (lane.getCodes().contains(codeData)) {
-                return lane;
-            }
-        }
-        return null;
+//        if (result == null) {
+//            for (Lane lane : this.lanes) {
+//                if (lane.getCodes().contains(codeData)) {
+//                    return lane;
+//                }
+//            }
+//        }
+        return this.codeLaneMap.get(codeData);
     }
 
     public List<int[]> getLaneCodeIdxList(String codeData) {
@@ -131,7 +135,7 @@
         for (Code code : codeList) {
             List<Long> adjacencyNode = routeService.getAdjacencyNode(code.getId());
             this.adjacencyCodeMap.put(code.getData(), adjacencyNode.stream().map(node -> (
-                    codeService.getById(node).getData()
+                    codeService.getCacheById(node).getData()
             )).collect(Collectors.toList()));
         }
     }
@@ -227,9 +231,9 @@
             return true;
         }
 
-        Code parentCode = codeService.selectByData(parent);
-        Code currentCode = codeService.selectByData(current);
-        Code neighborCode = codeService.selectByData(neighbor);
+        Code parentCode = codeService.getCacheByData(parent);
+        Code currentCode = codeService.getCacheByData(current);
+        Code neighborCode = codeService.getCacheByData(neighbor);
 
         double direction1 = this.calculateDirection(parentCode, currentCode);
         double direction2 = this.calculateDirection(currentCode, neighborCode);
@@ -348,7 +352,6 @@
 
     public void generateLaneCodeIdx(Integer lev) {
         log.info("There is initializing Lane CodeIdxMap......");
-        long l = System.currentTimeMillis();
         if (Cools.isEmpty(this.lanes)) {
             return;
         }
@@ -358,6 +361,7 @@
                 int[] codeMatrixIdx = mapDataDispatcher.getCodeMatrixIdx(lev, code);
                 codeIdxList.add(codeMatrixIdx);
                 this.laneCodeIdxMap.put(code, codeIdxList);
+                this.codeLaneMap.put(code, lane);
             }
         }
     }

--
Gitblit v1.9.1