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/TrafficService.java | 39 ++++++++++++++++----------------------- 1 files changed, 16 insertions(+), 23 deletions(-) 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 0d5d835..8dc6dbe 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 @@ -133,11 +133,11 @@ } // checkout path - Code startCode = codeService.getById(agvDetail.getRecentCode()); - Code endCode = codeService.getById(endNode); + Code startCode = codeService.getCacheById(agvDetail.getRecentCode()); + Code endCode = codeService.getCacheById(endNode); long startTime = System.currentTimeMillis(); List<String> pathList = this.checkoutPath(agv, startCode, endCode, segment); - System.out.println("checkoutPath: " + (System.currentTimeMillis() - startTime)); +// System.out.println("checkoutPath: " + (System.currentTimeMillis() - startTime)); if (Cools.isEmpty(pathList)) { return; } @@ -204,7 +204,7 @@ startTime = System.currentTimeMillis(); mainService.generateAction(segment.getAgvId(), segmentList, pathList, now); - System.out.println("generateAction: " + (System.currentTimeMillis() - startTime)); +// System.out.println("generateAction: " + (System.currentTimeMillis() - startTime)); } catch (Exception e) { log.error("TrafficService.trigger", e); @@ -309,7 +309,7 @@ // block vehicle info Long blockAgvId = agvService.getAgvId(blockAgvNo); - String blockAgvCode = codeService.getById(agvDetailService.selectByAgvId(blockAgvId).getRecentCode()).getData(); + String blockAgvCode = codeService.getCacheById(agvDetailService.selectMajorByAgvId(blockAgvId).getRecentCode()).getData(); // create new jam if already notify the avoid vehicle if (!Cools.isEmpty(jam.getAvoAgv(), jam.getAvoSeg()) && !blockAgvId.equals(jam.getAvoAgv())) { @@ -433,12 +433,13 @@ private List<BlockVehicleDto> slicePathAndReturnBlockVehicleList(Integer lev, List<String> fullPathList, String agvNo, List<String> pathList) { List<BlockVehicleDto> blockVehicleList = new ArrayList<>(); -// DynamicNode[][] dynamicMatrix = mapDataDispatcher.getDynamicMatrix(lev); String[][] waveMatrix = mapDataDispatcher.getWaveMatrix(lev); - for (String code : fullPathList) { - int[] node = mapDataDispatcher.getCodeMatrixIdx(lev, code); + List<int[]> codeMatrixIdxList = mapDataDispatcher.getCodeMatrixIdxList(lev, fullPathList); + for (int i = 0; i < fullPathList.size(); i++) { + String codeData = fullPathList.get(i); + int[] codeMatrixIdx = codeMatrixIdxList.get(i); - String waveNode = waveMatrix[node[0]][node[1]]; + String waveNode = waveMatrix[codeMatrixIdx[0]][codeMatrixIdx[1]]; assert !waveNode.equals(WaveNodeType.DISABLE.val); if (!waveNode.equals(WaveNodeType.ENABLE.val)) { List<String> waveNodeList = MapDataUtils.parseWaveNode(waveNode); @@ -455,15 +456,7 @@ } } -// DynamicNode dynamicNode = dynamicMatrix[node[0]][node[1]]; -// String vehicle = dynamicNode.getVehicle(); -// assert !vehicle.equals(DynamicNodeType.BLOCK.val); -// if (!vehicle.equals(DynamicNodeType.ACCESS.val) && !vehicle.equals(agvNo)) { -// blockVehicleList.add(vehicle); -// break; -// } - - pathList.add(code); + pathList.add(codeData); } if (pathList.size() <= 1) { @@ -477,8 +470,8 @@ * avoidPathList include wave node and dynamic node */ private boolean notifyVehicleAvoid(String agvNo, String agvPosCode, List<String> avoidPathList, String sponsor, Jam jam) { - Agv agv = agvService.selectByUuid(agvNo); - if (!Cools.isEmpty(segmentService.getByAgvAndState(agv.getId(), SegmentStateType.RUNNING.toString()))) { + Long agvId = agvService.getAgvId(agvNo); + if (!Cools.isEmpty(segmentService.getByAgvAndState(agvId, SegmentStateType.RUNNING.toString()))) { log.warn("{}鍙疯溅杈嗛伩璁╁け璐ワ紝瀛樺湪杩涜涓换鍔★紒锛侊紒", agvNo); return false; } @@ -496,7 +489,7 @@ String endCodeData = finalNode.getCodeData(); Code endCode = codeService.getCacheByData(endCodeData); - List<Segment> waitingSegList = segmentService.getByAgvAndState(agv.getId(), SegmentStateType.WAITING.toString()); + List<Segment> waitingSegList = segmentService.getByAgvAndState(agvId, SegmentStateType.WAITING.toString()); if (!Cools.isEmpty(waitingSegList)) { if (waitingSegList.size() > 1) { @@ -517,7 +510,7 @@ Segment insertSeg = new Segment(); insertSeg.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3)); insertSeg.setTravelId(segment.getTravelId()); - insertSeg.setAgvId(agv.getId()); + insertSeg.setAgvId(agvId); insertSeg.setTaskId(segment.getTaskId()); insertSeg.setSerial(segment.getSerial() - 1); insertSeg.setEndNode(endCode.getId()); @@ -533,7 +526,7 @@ } else { - return mainLockWrapService.buildMinorTask(agv, TaskTypeType.MOVE, endCodeData, jam); + return mainLockWrapService.buildMinorTask(agvId, TaskTypeType.MOVE, endCodeData, jam); } return true; -- Gitblit v1.9.1