#
luxiaotao1123
2022-03-12 51e4d62209c3f194d6c424f634f4edb784509d09
#
3个文件已修改
27 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -469,7 +469,7 @@
            // 获取工作状态为 2,3,4,5,6 的入库工作档
            WrkMast wrkMast = wrkMastMapper.selectPakInStep23456(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo());
            if(null == wrkMast) {
//                log.error("查询无待入库数据--wrk_sts=2, 工作号={}", staProtocol.getWorkNo());
                log.error("{}站点查询无待入库数据 工作号={}", crnStn.getStaNo(), staProtocol.getWorkNo());
                continue;
            }
            // 获取库位信息
@@ -499,6 +499,11 @@
                    }
                // 没有小车
                } else {
                    // 当前入库库位组没有小车 堆垛机则去站点取货入库
                    // case 1:从始至终库位组都没有小车,没有迁出小车动作,所以工作状态 = 2
                    // case 2:堆垛机已经搬出小车,有迁出小车动作,所以工作状态 = 6
                    if (wrkMast.getWrkSts() == 2L || wrkMast.getWrkSts() == 6L) {
                    // 已经存在吊车执行任务时,则过滤
                    if (wrkMastMapper.selectWorking(slave.getId()) != null) {
@@ -530,6 +535,8 @@
                        }
                        return true;
                    }
                    }
                }
            // 目标库位 ===>> 非最外层库位
@@ -612,7 +619,7 @@
            SteProtocol steProtocol = steThread.getSteProtocol();
            if (steProtocol == null) { continue; }
            if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
                if (Utils.getGroupRow(locNo) == Utils.getRow(locNo) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
                if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
                    return steProtocol.getSteNo().intValue();
                }
            }
@@ -750,7 +757,7 @@
                crnCommand.setSourcePosX(steProtocol.getRow());     // 源库位排
                crnCommand.setSourcePosY(steProtocol.getBay());     // 源库位列
                crnCommand.setSourcePosZ(steProtocol.getLev());     // 源库位层
                crnCommand.setDestinationPosX((short) Utils.getRow(idleLocNo));     // 目标库位排
                crnCommand.setDestinationPosX(Utils.getGroupRow(idleLocNo).shortValue());     // 目标库位排
                crnCommand.setDestinationPosY((short) Utils.getBay(idleLocNo));     // 目标库位列
                crnCommand.setDestinationPosZ((short) Utils.getLev(idleLocNo));     // 目标库位层
                if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
@@ -957,8 +964,8 @@
                    log.error("堆垛机处于等待确认且任务完成状态,但未找到工作档。堆垛机号={},工作号={}", crn.getId(), crnProtocol.getTaskNo());
                    continue;
                }
                // 入库 + 库位转移
                if (wrkMast.getWrkSts() == 7 || (wrkMast.getWrkSts() == 15 && wrkMast.getIoType() == 11)){
                // 入库 ==>> 货物搬入库
                if (wrkMast.getWrkSts() == 7){
                    // 判断是否需要小车入库
                    if (locMastService.isOutMost(wrkMast.getLocNo())) {
                        // ==> 9.入库完成
src/main/java/com/zy/asrs/utils/Utils.java
@@ -36,9 +36,7 @@
        }
    }
    public static Integer getGroupRow(String locNo){
        int row = getRow(locNo);
    public static Integer getGroupRow(Integer row) {
        switch (row) {
            case 1:
            case 2:
@@ -73,6 +71,12 @@
    }
    public static Integer getGroupRow(String locNo){
        int row = getRow(locNo);
        return getGroupRow(row);
    }
src/main/resources/mapper/WrkMastMapper.xml