| | |
| | | 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)); |
| | | // System.out.println("checkoutPath: " + (System.currentTimeMillis() - startTime)); |
| | | if (Cools.isEmpty(pathList)) { |
| | | return; |
| | | } |
| | |
| | | |
| | | 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); |
| | |
| | | * 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; |
| | | } |
| | |
| | | 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) { |
| | |
| | | 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()); |
| | |
| | | |
| | | } else { |
| | | |
| | | return mainLockWrapService.buildMinorTask(agv, TaskTypeType.MOVE, endCodeData, jam); |
| | | return mainLockWrapService.buildMinorTask(agvId, TaskTypeType.MOVE, endCodeData, jam); |
| | | } |
| | | |
| | | return true; |