自动化立体仓库 - WMS系统
zhangc
2025-02-26 1561a163caf814bd57418604f7f56a212f192243
四期
1个文件已修改
83 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -231,54 +231,51 @@
            agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo());
        }
        agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
        Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "FOUR"));
        if (config != null && config.getStatus() == 1 && config.getValue().equals("1") && processUseTiShengJi(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo())) {
                // TODO 四期
            agvTaskCreateParam.setTaskTyp("F100");
        } else {
            switch (agvWrkMast.getIoType()) {
                case 114:
                case 108:
                case 12:
        switch (agvWrkMast.getIoType()) {
            case 114:
            case 108:
            case 12:
                agvTaskCreateParam.setTaskTyp("F06");
                break;
            case 109:
                if (agvWrkMast.getWrkSts() == 201) {
                    agvTaskCreateParam.setTaskTyp("F06");
                    break;
                case 109:
                    if (agvWrkMast.getWrkSts() == 201) {
                } else {
                    agvTaskCreateParam.setTaskTyp("F01");
                }
                break;
            case 1:
            case 57:
                // 入库任务是只有 接驳位 -- > 库位
                AgvLocMast loc = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvWrkMast.getLocNo()));
                String locSub = loc.getLocNo().substring(loc.getLocNo().length() - 4).substring(0, 2).substring(0, 2);
                AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
                if ("02".equals(locSub)) {
                    if (agvBasDevp.getFloor() == 4) {
                        agvTaskCreateParam.setTaskTyp("F01");
                    } else {
                        agvTaskCreateParam.setTaskTyp("F06");
                    }
                } else {
                    // 目标楼层位1楼 但源库位(接驳位)在吸塑二楼
                    if (agvBasDevp.getFloor() == 4) {
                        agvTaskCreateParam.setTaskTyp("F06");
                    } else {
                        agvTaskCreateParam.setTaskTyp("F01");
                    }
                    break;
                case 1:
                case 57:
                    // 入库任务是只有 接驳位 -- > 库位
                    AgvLocMast loc = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvWrkMast.getLocNo()));
                    String locSub = loc.getLocNo().substring(loc.getLocNo().length() - 4).substring(0, 2).substring(0, 2);
                    AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo());
                    if ("02".equals(locSub)) {
                        if (agvBasDevp.getFloor() == 4) {
                            agvTaskCreateParam.setTaskTyp("F01");
                        } else {
                            agvTaskCreateParam.setTaskTyp("F06");
                        }
                    } else {
                        // 目标楼层位1楼 但源库位(接驳位)在吸塑二楼
                        if (agvBasDevp.getFloor() == 4) {
                            agvTaskCreateParam.setTaskTyp("F06");
                        } else {
                            agvTaskCreateParam.setTaskTyp("F01");
                        }
                    }
                    break;
                default:
                }
                break;
            default:
                if (processUseTiShengJi(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo())) {
                    agvTaskCreateParam.setTaskTyp("F06");
                } else {
                    agvTaskCreateParam.setTaskTyp("F01");
                    break;
            }
                }
                break;
        }
        agvTaskCreateParam.setPositionCodePath(agvTaskParamList);
    }
@@ -287,7 +284,7 @@
    private boolean processUseTiShengJi(String sourceLocNo, String locNo) {
        // 判断是否是提升机
        if (sourceLocNo.startsWith("YZ")) {
            if (sourceLocNo.endsWith("01F2") && !locNo.startsWith("YZ") && locNo.endsWith("F4") ) {
            if (sourceLocNo.endsWith("01F2") && !locNo.startsWith("YZ") && locNo.endsWith("F4")) {
                // 从生产二厂的库位到吸塑二厂的点位上
                return true;
            } else if (sourceLocNo.endsWith("01F2") && locNo.startsWith("YZ") && locNo.endsWith("02F1")) {
@@ -299,6 +296,9 @@
            } else if (sourceLocNo.endsWith("02F1") && !locNo.startsWith("YZ") && locNo.endsWith("F2")) {
                // 吸塑二楼的库位到生产二厂的点位
                return true;
            } else if (sourceLocNo.endsWith("01F1") && !locNo.startsWith("YZ") && locNo.endsWith("F4")) {
                // 从吸塑一楼的库位到吸塑二楼的点位上
                return true;
            }
        } else {
            if (sourceLocNo.endsWith("F4") && locNo.startsWith("YZ") && locNo.endsWith("01F2")) {
@@ -307,6 +307,9 @@
            } else if (sourceLocNo.endsWith("F2") && locNo.startsWith("YZ") && locNo.endsWith("02F1")) {
                // 从生产二厂的点位到吸塑二楼的库位
                return true;
            } else if (sourceLocNo.endsWith("F4") && locNo.startsWith("YZ") && locNo.endsWith("01F1")) {
                // 从吸塑二楼的点位到吸塑一楼的库位
                return true;
            }
        }
        return false;