zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1467,6 +1467,10 @@ log.info("Agv [{}] 取放货请求包 ===>> {}", protocol.getAgvNo(), JSON.toJSONString(agv_06_up)); // query current segment Segment currSeg = segmentService.getCurrRunningSeg(agv.getId(), agv_06_up.getQrCode()); // todo:vincent 校验是否可以取放货 AGV_06_DOWN agv_06_down = new AGV_06_DOWN(); zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -264,8 +264,11 @@ interrupt = true; } else { if (nextStep.getEndNode() == endNode) { // remove sta action seg if (!nextStep.getPosType().equals(TaskPosDto.PosType.ORI_STA.toString()) && !nextStep.getPosType().equals(TaskPosDto.PosType.DEST_STA.toString())) { segmentList.add(nextStep); } } else { interrupt = true; } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/SegmentService.java
@@ -26,4 +26,6 @@ Boolean cancel(Long segmentId, Long userId); Segment getCurrRunningSeg(Long agvId, String qrCode); } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/SegmentServiceImpl.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zy.acs.framework.exception.CoolException; import com.zy.acs.manager.manager.entity.Code; import com.zy.acs.manager.manager.entity.Segment; import com.zy.acs.manager.manager.entity.Task; import com.zy.acs.manager.manager.enums.ActionStsType; @@ -33,6 +34,8 @@ private TaskService taskService; @Autowired private ActionService actionService; @Autowired private CodeService codeService; @Override public void processNext(List<Segment> segmentList) { @@ -146,4 +149,19 @@ return Boolean.TRUE; } @Override public Segment getCurrRunningSeg(Long agvId, String qrCode) { Code codeId = codeService.getCacheByData(qrCode); List<Segment> segments = this.list(new LambdaQueryWrapper<Segment>() .eq(Segment::getAgvId, agvId) .eq(Segment::getState, SegmentStateType.RUNNING.toString()) .eq(Segment::getEndNode, codeId) ); if (Cools.isEmpty(segments)) { } return segments.stream().findFirst().orElse(null); } }