| | |
| | | , (task, agvNo, sta) -> { |
| | | Long agvId = agvService.getAgvId(agvNo); |
| | | |
| | | // List<Travel> travelList = travelService.list(new LambdaQueryWrapper<Travel>() |
| | | // .eq(Travel::getAgvId, agvId) |
| | | // .eq(Travel::getState, TravelStateType.RUNNING.toString()) |
| | | // .orderByDesc(Travel::getCreateTime)); |
| | | // if (Cools.isEmpty(travelList)) { |
| | | // throw new BusinessException("[Agv: " + agvNo + "]allocate inbound failed to find travel"); |
| | | Travel travel = travelService.findRunningTravel(agvId); |
| | | if (null == travel) { |
| | | throw new CoolException("[Agv:" + agvNo + "] allocate inbound failed: no roller waiting travel"); |
| | | } |
| | | |
| | | // curr segment |
| | | Segment currSeg = segmentService.getCurrWaitingSeg(travel.getId(), agvId); |
| | | // if (null == currSeg) { |
| | | // currSeg = segmentService.getCurrRunningSeg(travel.getId(), agvId, null); |
| | | // } |
| | | // Travel travel = travelList.get(0); |
| | | // |
| | | // List<Segment> currSegments = segmentService.list(new LambdaQueryWrapper<Segment>() |
| | | // .eq(Segment::getAgvId, agvId) |
| | | // .eq(Segment::getTravelId, travel.getId()) |
| | | // ); |
| | | // load segment |
| | | Segment currSeg = segmentService.getRollerWaiting(agvId, sta.getCode(), TaskPosDto.PosType.ORI_STA); |
| | | if (null == currSeg) { |
| | | throw new BusinessException("[Agv:" + agvNo + "] allocate inbound failed: no roller waiting segment"); |
| | | throw new CoolException("[Agv:" + agvNo + "] allocate inbound failed: no waiting segment"); |
| | | } |
| | | |
| | | // get backpack lev |
| | |
| | | |
| | | // DEST-only sort |
| | | destPosList.sort((a, b) -> { |
| | | |
| | | // 主轴 |
| | | double aFirst = a.getFirstWeight(sameGroupXy); |
| | | double bFirst = b.getFirstWeight(sameGroupXy); |
| | |
| | | |
| | | // get placeSeg serial |
| | | int placeSegSerial; |
| | | // query placeSeg idx |
| | | int idx = -1; |
| | | for (int i = 0; i < destPosList.size(); i++) { |
| | | if (Objects.equals(destPosList.get(i).getCodeId(), newDto.getCodeId()) |
| | | && Objects.equals(destPosList.get(i).getTaskId(), newDto.getTaskId())) { |
| | | if (Objects.equals(destPosList.get(i).getTaskId(), newDto.getTaskId()) |
| | | && Objects.equals(destPosList.get(i).getCodeId(), newDto.getCodeId())) { |
| | | idx = i; |
| | | break; |
| | | } |
| | |
| | | Code code = codeService.getCacheByData(agv_06_up.getQrCode()); |
| | | |
| | | // query current segment |
| | | Segment currSeg = segmentService.getCurrRunningSeg(agv.getId(), code.getId()); |
| | | Segment currSeg = segmentService.getCurrRunningSeg(null, agv.getId(), code.getId()); |
| | | if (null == currSeg) { |
| | | log.error("failed to find curr segment [{}]", agv.getUuid()); |
| | | } else { |