From 68ed198ddc082ef02f85f6d946af4cd7be0d0ed1 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 23 十二月 2024 10:39:03 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java | 29 ++++++++++++++++++++++++++++- 1 files changed, 28 insertions(+), 1 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 62dc062..20fedf8 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 @@ -37,6 +37,8 @@ private String[][] cdaMatrix; + public Map<String, Boolean> routeCdaMap = new HashMap<>(); + private final CodeService codeService; private final RouteService routeService; @@ -330,22 +332,47 @@ return mapMatrix; } + public boolean validRouteCdaKey(String routeCdaKey) { + if (Cools.isEmpty(routeCdaKey)) { + return false; + } + Boolean result = this.routeCdaMap.get(routeCdaKey); + if (null == result) { + return false; + } + return result; + } + public synchronized void initRouteMap(Integer lev) { log.info("There is initializing Route Map......"); lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV); Set<String> routeKeys = redis.getMapKeys(RedisConstant.AGV_MAP_ROUTE_HASH_FLAG); + Set<String> routeCdaKeys = redis.getMapKeys(RedisConstant.AGV_MAP_ROUTE_CDA_HASH_FLAG); + List<Route> routeList = routeService.list(new LambdaQueryWrapper<Route>().eq(Route::getStatus, StatusType.ENABLE.val)); - if (routeKeys.size() == routeList.size()) { + if (routeKeys.size() == routeList.size() && routeKeys.size() == routeCdaKeys.size()) { + for (String routeCdaKey : routeCdaKeys) { + this.routeCdaMap.put(routeCdaKey, Boolean.TRUE); + } return; } for (Route route : routeList) { Code startCode = codeService.getById(route.getStartCode()); + int[] startCodeIdx = getCodeMatrixIdx(lev, startCode.getData()); Code endCode = codeService.getById(route.getEndCode()); + int[] codeMatrixIdx = getCodeMatrixIdx(lev, endCode.getData()); + String routeKey = RouteGenerator.generateRouteKey(startCode.getData(), endCode.getData()); if (Cools.isEmpty(routeKey)) { continue; } redis.setMap(RedisConstant.AGV_MAP_ROUTE_HASH_FLAG, routeKey, Boolean.TRUE); + + String routeCdaKey = RouteGenerator.generateRouteCdaKey(startCodeIdx, codeMatrixIdx); + if (Cools.isEmpty(routeCdaKey)) { + continue; + } + redis.setMap(RedisConstant.AGV_MAP_ROUTE_CDA_HASH_FLAG, routeCdaKey, Boolean.TRUE); } } -- Gitblit v1.9.1