From 89c7f6e5bcc21b0e8f83a2bc6d680e2ffe431e6f Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期一, 13 一月 2025 09:38:29 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | 26 +++++++++++++++----------- 1 files changed, 15 insertions(+), 11 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 e556498..9f990f3 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 @@ -135,7 +135,9 @@ // checkout path Code startCode = codeService.getById(agvDetail.getRecentCode()); Code endCode = codeService.getById(endNode); + long startTime = System.currentTimeMillis(); List<String> pathList = this.checkoutPath(agv, startCode, endCode, segment); +// System.out.println("checkoutPath: " + (System.currentTimeMillis() - startTime)); if (Cools.isEmpty(pathList)) { return; } @@ -146,7 +148,7 @@ String lastCodeData = pathList.get(pathList.size() - 1); if (!endCode.getData().equals(lastCodeData)) { // slice - Code lastCode = codeService.selectByData(lastCodeData); + Code lastCode = codeService.getCacheByData(lastCodeData); // if (pathList.size() <= MIN_SLICE_PATH_LENGTH) { // return; @@ -200,7 +202,9 @@ mapService.lockPath(null, pathList, agv.getUuid()); + startTime = System.currentTimeMillis(); mainService.generateAction(segment.getAgvId(), segmentList, pathList, now); +// System.out.println("generateAction: " + (System.currentTimeMillis() - startTime)); } catch (Exception e) { log.error("TrafficService.trigger", e); @@ -325,7 +329,7 @@ List<Segment> waitingSegList = segmentService.getJustWaitingSeg(blockAgvId); if (null != waitingSegList && waitingSegList.stream().anyMatch( - waitingSeg -> waitingSeg.getEndNode().equals(codeService.selectByData(blockAgvCode).getId()) + waitingSeg -> waitingSeg.getEndNode().equals(codeService.getCacheByData(blockAgvCode).getId()) )) { maxJamTimeoutFactor = 1; break; @@ -355,7 +359,7 @@ // handle jam timeout if (null != maxJamTimeoutFactor) { - if (System.currentTimeMillis() - jam.getStartTime().getTime() > MapDataConstant.MAX_JAM_TIMEOUT * maxJamTimeoutFactor) { + if (System.currentTimeMillis() - jam.getStartTime().getTime() > (long) MapDataConstant.MAX_JAM_TIMEOUT * maxJamTimeoutFactor) { if (!Cools.isEmpty(lockPathList)) { @@ -441,7 +445,7 @@ List<String> otherWaveList = MapDataUtils.hasOtherWave(waveNodeList, agvNo); if (!Cools.isEmpty(otherWaveList)) { for (String otherWave : otherWaveList) { - if (1 < mapDataDispatcher.queryCodeListFromDynamicNode(lev, otherWave).size()) { + if (mapService.isWalkingByVehicle(lev, otherWave)) { blockVehicleList.add(new BlockVehicleDto(otherWave, false)); } else { blockVehicleList.add(new BlockVehicleDto(otherWave, true)); @@ -473,8 +477,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; } @@ -490,9 +494,9 @@ } String endCodeData = finalNode.getCodeData(); - Code endCode = codeService.selectByData(endCodeData); + 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) { @@ -513,7 +517,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()); @@ -529,7 +533,7 @@ } else { - return mainLockWrapService.buildMinorTask(agv, TaskTypeType.MOVE, endCodeData, jam); + return mainLockWrapService.buildMinorTask(agvId, TaskTypeType.MOVE, endCodeData, jam); } return true; @@ -585,7 +589,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); -- Gitblit v1.9.1