1
昨天 9f43ee66e8fa2e0d02945f4bdd40d9c3a53a4bd7
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
@@ -63,6 +63,14 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean AGVBindAndInTaskStart(String barcode, String sta) {
        //验证条码
        checkStaStatus(barcode,sta);
        return true;
    }
    @Override
    public R getStaMsgSelect(Map<String, Object> params) {
        String sta = params.get("sta").toString();
        if (Cools.isEmpty(sta)) {
@@ -102,17 +110,26 @@
        String sta = waitPakinPda.getStaNo();
        String area = waitPakinPda.getArea();
        if (Cools.isEmpty(sta)) {
            throw new CoolException("接驳位条码不能为空");
            throw new CoolException("起点不能为空");
        }
        if (Cools.isEmpty(area)) {
            throw new CoolException("目标库区不能为空");
        }
        DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
                .eq(DeviceSite::getSite, sta)
                .eq(DeviceSite::getAreaIdEnd, Long.parseLong(area))
                .eq(DeviceSite::getType, TaskType.TASK_TYPE_IN.type).last("limit 1"));
        if (Cools.isEmpty(deviceSite)) {
            throw new CoolException("无可用路径!!");
        }
        BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                .eq(BasStation::getStationName, sta)
                .eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type)
        );
        if (Cools.isEmpty(basStation)) {
            throw new CoolException("未找到接驳站点信息,请检查站点状态");
            throw new CoolException("未找到起点站点信息,请检查站点状态");
        }
        if (Cools.isEmpty(basStation.getBarcode())) {
            throw new CoolException("数据错误,接驳站无条码信息");
@@ -125,14 +142,6 @@
            throw new CoolException("未找到组托数据,请检查状态");
        }
        String targetLoc = LocManageUtil.getTargetLoc(Long.parseLong(area));
        DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
                .eq(DeviceSite::getSite, sta)
                .eq(DeviceSite::getAreaIdEnd, Long.parseLong(area))
                .eq(DeviceSite::getType, TaskType.TASK_TYPE_IN.type).last("limit 1"));
        if (Cools.isEmpty(deviceSite)) {
            throw new CoolException("无可用路径!!");
        }
        taskService.generateAGVTasks(waitPakin, targetLoc, sta, deviceSite.getTarget(),loginUserId);
@@ -248,15 +257,9 @@
            throw new CoolException("容器码不能为空");
        }
        if (Cools.isEmpty(sta)) {
            throw new CoolException("接驳位条码不能为空");
            throw new CoolException("站点信息不能为空");
        }
        WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>()
                .eq(WaitPakin::getBarcode, barcode)
                .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val)
        );
        if (Cools.isEmpty(waitPakin)) {
            throw new CoolException("容器码未找到组托信息,请检查组托状态");
        }
        BasStation isBarcodeSta = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                        .eq(BasStation::getBarcode, barcode)
                , false
@@ -269,9 +272,6 @@
        );
        if (Cools.isEmpty(basStation)) {
            throw new CoolException("未找到站点信息");
        }
        if (!basStation.getUseStatus().equals("O")) {
            throw new CoolException("站点状态不为空闲");
        }
        if (!Cools.isEmpty(basStation.getContainerType())) {
            List<Long> longs1 = JSONObject.parseArray(basStation.getContainerType(), Long.class);
@@ -287,9 +287,6 @@
                    break;  // 找到匹配的就退出循环
                }
            }
//            boolean matches = containers.stream()
//                    .map(BasContainer::getCodeType)
//                    .anyMatch(codeType -> barcode.matches(codeType));
            if (!matches) {
                throw new CoolException("条码与站点不匹配");
            }