zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1355,7 +1355,7 @@ } // segment call back trafficService.callback(segmentList); segmentService.processNext(segmentList); log.info("Agv [{}] {}作业完毕 ==========>> ", protocol.getAgvNo(), serialNo); zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -189,28 +189,6 @@ } } public void callback(List<Segment> segmentList) { Date now = new Date(); segmentList.stream().max(Comparator.comparingInt(Segment::getSerial)).ifPresent(segment -> { Segment nextSegment = segmentService.getNextStepOfInit(segment.getTravelId(), segment.getSerial()); if (null != nextSegment) { nextSegment.setState(SegmentStateType.WAITING.toString()); nextSegment.setUpdateTime(now); if (!segmentService.updateById(nextSegment)) { log.error("Segment [{}] 更新失败 !!!", nextSegment.getGroupId() + " - " + nextSegment.getSerial()); } } else { travelService.checkFinish(segment.getTravelId()); } }); } private List<String> checkoutPath(Agv agv, Code startCode, Code endCode, Segment segment) { Integer lev = null; String agvNo = agv.getUuid(); @@ -261,7 +239,6 @@ return pathList; } boolean initJamCache = false; if (null == jam) { jam = new Jam(); jam.setUuid(String.valueOf(snowflakeIdWorker.nextId()).substring(3)); @@ -274,7 +251,11 @@ log.error("{}号车辆在{}定位被阻塞,记录阻塞状态失败!!!", agvNo, startCode.getData()); return pathList; } initJamCache = true; } else { jam.setDuration(System.currentTimeMillis() - jam.getStartTime().getTime()); if (!jamService.updateById(jam)) { log.error("{}编号阻塞记录更新失败!!!", jam.getUuid()); } } long previousTimestamp = jam.getStartTime().getTime(); @@ -388,13 +369,6 @@ } if (!initJamCache) { jam.setDuration(System.currentTimeMillis() - jam.getStartTime().getTime()); if (!jamService.updateById(jam)) { log.error("{}编号阻塞记录更新失败!!!", jam.getUuid()); } } } } @@ -409,7 +383,7 @@ log.error("{}编号阻塞记录完成修改失败!!!", jam.getUuid()); } } // expired jam // deal expired jam for (Jam expiredJam : jamService.list(new LambdaQueryWrapper<Jam>() .eq(Jam::getJamAgv, agv.getId()) .eq(Jam::getState, JamStateType.RUNNING.toString()))) { zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java
@@ -8,6 +8,8 @@ public interface SegmentService extends IService<Segment> { void processNext(List<Segment> segmentList); Segment getNextStepOfInit(Long travelId, Integer serial); Segment getJustWaitingSeg(Long agvId); zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java
@@ -8,10 +8,13 @@ import com.zy.acs.manager.manager.service.AgvService; import com.zy.acs.manager.manager.service.SegmentService; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.manager.service.TravelService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Comparator; import java.util.Date; import java.util.List; @Slf4j @@ -20,6 +23,30 @@ @Autowired private AgvService agvService; @Autowired private TravelService travelService; @Override public void processNext(List<Segment> segmentList) { Date now = new Date(); segmentList.stream().max(Comparator.comparingInt(Segment::getSerial)).ifPresent(segment -> { Segment nextSegment = this.getNextStepOfInit(segment.getTravelId(), segment.getSerial()); if (null != nextSegment) { nextSegment.setState(SegmentStateType.WAITING.toString()); nextSegment.setUpdateTime(now); if (!this.updateById(nextSegment)) { log.error("Segment [{}] failed to update !!!", nextSegment.getGroupId() + " - " + nextSegment.getSerial()); } } else { travelService.checkFinish(segment.getTravelId()); } }); } @Override public Segment getNextStepOfInit(Long travelId, Integer serial) {