#
zhou zhou
17 小时以前 9c3ec76e415cd709939da617e020af13e0d98008
#
1个文件已修改
28 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -870,25 +870,29 @@
                if (crnProtocol.getLastIo().equals("I")) {
                    if (basCrnp.getInEnable().equals("Y")) {
                        log.info("进入入库程序,crn:"+crn.getId());
                        this.crnStnToLoc(crn, crnProtocol); //  入库
                        if (this.crnStnToLoc(crn, crnProtocol)){
                        crnProtocol.setLastIo("O");
                        }
                    } else if (basCrnp.getOutEnable().equals("Y")) {
                        log.info("进入出库程序,crn:"+crn.getId());
                        this.locToCrnStn(crn, crnProtocol); //  出库
                        if (this.locToCrnStn(crn, crnProtocol)){
                        crnProtocol.setLastIo("I");
                        }
                    }
                }
                // 如果最近一次是出库模式
                else if (crnProtocol.getLastIo().equals("O")) {
                    if (basCrnp.getOutEnable().equals("Y")) {
                        log.info("进入出库程序,crn:"+crn.getId());
                        this.locToCrnStn(crn, crnProtocol); //  出库
                        if (this.locToCrnStn(crn, crnProtocol)){
                        crnProtocol.setLastIo("I");
                        }
                    } else if (basCrnp.getInEnable().equals("Y")) {
                        log.info("进入入库程序,crn:"+crn.getId());
                        this.crnStnToLoc(crn, crnProtocol); //  入库
                        if (this.crnStnToLoc(crn, crnProtocol)){
                        crnProtocol.setLastIo("O");
                        }
                    }
                }
            }
@@ -959,7 +963,7 @@
    /**
     * 入库  ===>>  堆垛机站到库位
     */
    public synchronized void crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol) {
    public synchronized boolean crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol) {
        for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
            boolean flag = false;
            // 获取堆垛机入库站信息
@@ -1002,12 +1006,12 @@
            // 堆垛机控制过滤
            if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
                continue;
                return false;
            }
            // 已经存在吊车执行任务时,则过滤
            if (wrkMastMapper.selectWorking(slave.getId()) != null) {
                continue;
                return false;
            }
            // 双深库位且浅库位有货,则需先对浅库位进行库位移转
@@ -1088,13 +1092,14 @@
                }
            }
        }
        return true;
    }
    /**
     * 出库  ===>>  库位到堆垛机站
     * 2022-06-09 TQS修改,查询工作档LIST,遍历下发,防止第一个任务堵塞出库
     */
    public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) {
    public synchronized boolean locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) {
        for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
            // 获取工作状态为11(生成出库ID)的出库工作档
//            WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo());
@@ -1144,7 +1149,7 @@
                    // 堆垛机控制过滤
                    if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
//                        continue;
                        break;
                      return false;
                    }
                    // 双深库位且浅库位有货,则需先对浅库位进行库位移转
@@ -1195,7 +1200,7 @@
                    // 已经存在吊车执行任务时,则过滤
                    if (wrkMastMapper.selectWorking(slave.getId()) != null) {
                        break;
                        return false;
//                        return;
                    }
@@ -1228,6 +1233,7 @@
                }
            }
        }
        return true;
    }
//    /**