1
20 小时以前 1aebdca4fee83fc0153efcdfe72db6fee606e6ba
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/InBoundServiceImpl.java
@@ -176,16 +176,28 @@
//        }
        BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                .eq(BasStation::getStationName, param.getTransferStationNo()));
        if (Objects.isNull(station) || !station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
            throw new CoolException("站点不存在或站点不处于空库状态!!");
        if (Objects.isNull(station) || (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type) && !station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_D.type)) ) {
            throw new CoolException("站点不存在或站点不处于空库、空板状态!!");
        }
        DeviceBind deviceBind = deviceBindService.getById(LocUtils.getAreaType(station.getStationName()));
        StringBuilder errorBuilder = new StringBuilder();
        List<Long> areaTypeList = LocUtils.getAreaTypeList(station.getStationName());
        for (Long areaType : areaTypeList) {
            if (errorBuilder.length() > 0) {
                errorBuilder.append(",");
            }
            errorBuilder.append("路径ID:");
            errorBuilder.append(areaType);
            DeviceBind deviceBind = deviceBindService.getById(areaType);
        if (Cools.isEmpty(deviceBind)) {
            throw new CoolException("库位规则未知");
                errorBuilder.append("库位规则未知");
                continue;
//                throw new CoolException("库位规则未知");
        }
        WarehouseAreas warehouseArea = warehouseAreasService.getById(deviceBind.getTypeId());
        if (Cools.isEmpty(warehouseArea)) {
            throw new CoolException("未找到所属库区信息");
                errorBuilder.append("未找到所属库区信息");
                continue;
//                throw new CoolException("未找到所属库区信息");
        }
        DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
@@ -193,7 +205,9 @@
                .eq(DeviceSite::getAreaIdEnd, warehouseArea.getId())
                .eq(DeviceSite::getType, TaskType.TASK_TYPE_EMPITY_IN.type).last("limit 1"));
        if (Cools.isEmpty(deviceSite)) {
            throw new CoolException("无可用路径!!");
                errorBuilder.append("无可用路径");
                continue;
//                throw new CoolException("无可用路径!!");
        }
//        BasContainer container = basContainerService.getOne(new LambdaUpdateWrapper<BasContainer>()
@@ -206,7 +220,9 @@
        /**获取库位*/
        String targetLoc = LocManageUtil.getTargetLoc(warehouseArea.getId(), null);
        if (Cools.isEmpty(targetLoc)) {
            throw new CoolException("该站点对应库区未找到库位");
                errorBuilder.append("该站点对应库区未找到库位");
                continue;
//                throw new CoolException("该站点对应库区未找到库位");
        }
        String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_TASK_CODE, null);
@@ -238,6 +254,8 @@
        }
        return R.ok("任务生成完毕!");
    }
        return R.error(errorBuilder.toString()).add(errorBuilder.toString());
    }
    @Override
    public R checkAgvStation(PdaGeneralParam param, Long loginUserId) {