1
3 小时以前 1aebdca4fee83fc0153efcdfe72db6fee606e6ba
lsh#
2个文件已修改
49 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/InBoundServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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) {
rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java
@@ -17,6 +17,7 @@
import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.List;
@Component
@@ -110,6 +111,22 @@
    }
    //获取站点对应的库类型
    public static List<Long> getAreaTypeList(String sourceStaNo) {
        List<Long> deviceBindIdList = new ArrayList<>();
        DeviceBindService rowLastnoService = SpringUtils.getBean(DeviceBindService.class);
        List<DeviceBind> deviceBinds = rowLastnoService.list(new LambdaQueryWrapper<DeviceBind>());
        for (DeviceBind deviceBind : deviceBinds) {
            String[] staNoList = deviceBind.getStaList().split(";");
            for (String staNo : staNoList) {
                if (staNo.equals(sourceStaNo)) {
                    deviceBindIdList.add(deviceBind.getId());
                }
            }
        }
        return deviceBindIdList;
    }
    //获取站点对应的库类型
    public static Long getAreaType(String sourceStaNo) {
        DeviceBindService rowLastnoService = SpringUtils.getBean(DeviceBindService.class);
        List<DeviceBind> deviceBinds = rowLastnoService.list(new LambdaQueryWrapper<DeviceBind>());