From b9eef68cc85d30b892a1cd50829341d3dae743b9 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 06 一月 2025 13:00:47 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | 31 +++++++++++++++++-------------- 1 files changed, 17 insertions(+), 14 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 c612dfe..e556498 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 @@ -77,6 +77,12 @@ try { Date now = new Date(); + // deprecate jam + if (this.isExpiredJamByAvo(segment.getId())) { + mainService.settleSegmentList(Utils.singletonList(segment), null); + return; + } + // temporary ----------------- Integer algoExtensionTime = configService.getVal("algoExtensionTime", Integer.class); if (null != algoExtensionTime && algoExtensionTime > 0) { @@ -117,17 +123,14 @@ return; } - // deprecate jam - if (this.isExpiredJamByAvo(segment.getId())) { - mainService.settleSegmentList(Utils.singletonList(segment), null); - return; - } - // execute ----------------------------------------------- // ArrayList<List<TaskPosDto>> list = JSON.parseObject(travel.getTaskContent(), new TypeReference<ArrayList<List<TaskPosDto>>>() {}); - // get path list - avoidWaveCalculator.calcWaveScope(); // * sync wave scope + // * sync wave scope + if (!avoidWaveCalculator.calcWaveScope()) { + log.error("failed to calculate avoid wave matrix ..."); + return; + } // checkout path Code startCode = codeService.getById(agvDetail.getRecentCode()); @@ -301,25 +304,25 @@ } else { // block vehicle info - Agv blockAgv = agvService.selectByUuid(blockAgvNo); - String blockAgvCode = codeService.getById(agvDetailService.selectByAgvId(blockAgv.getId()).getRecentCode()).getData(); + Long blockAgvId = agvService.getAgvId(blockAgvNo); + String blockAgvCode = codeService.getById(agvDetailService.selectByAgvId(blockAgvId).getRecentCode()).getData(); // create new jam if already notify the avoid vehicle - if (!Cools.isEmpty(jam.getAvoAgv(), jam.getAvoSeg()) && !blockAgv.getId().equals(jam.getAvoAgv())) { + if (!Cools.isEmpty(jam.getAvoAgv(), jam.getAvoSeg()) && !blockAgvId.equals(jam.getAvoAgv())) { jam = this.setupNewJam(jam, agv, startCode, segment, draftPath); } do { // 闃诲杞﹁締姝e湪鍘熷湴浣滀笟锛岀瓑寰� ===>> 瓒呰繃绛夊緟鏃堕棿锛岀粫璺� - List<Segment> runningSegList = segmentService.getByAgvAndState(blockAgv.getId(), SegmentStateType.RUNNING.toString()); + List<Segment> runningSegList = segmentService.getByAgvAndState(blockAgvId, SegmentStateType.RUNNING.toString()); if (!Cools.isEmpty(runningSegList)) { maxJamTimeoutFactor = 1; break; } // 鍒ゆ柇涓嬩釜浠诲姟鏄惁涓哄師鍦颁换鍔★紝濡傛灉鏄垯绛夊緟 ===>> 瓒呰繃绛夊緟鏃堕棿锛岀粫璺紱濡傛灉涓嶆槸锛岃闃诲杞﹁締閬胯 - List<Segment> waitingSegList = segmentService.getJustWaitingSeg(blockAgv.getId()); + List<Segment> waitingSegList = segmentService.getJustWaitingSeg(blockAgvId); if (null != waitingSegList && waitingSegList.stream().anyMatch( waitingSeg -> waitingSeg.getEndNode().equals(codeService.selectByData(blockAgvCode).getId()) @@ -333,7 +336,7 @@ if (jam.getCycleAvo() == 1) { jam.setCycleCode(endCode.getId()); } - jam.setAvoAgv(blockAgv.getId()); + jam.setAvoAgv(blockAgvId); jam.setNotifyTime(new Date()); if (!jamService.updateById(jam)) { throw new CoolException(jam.getUuid() + "-jam failed to update锛侊紒锛�"); -- Gitblit v1.9.1