自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-03-10 1ca59775d3d58ae0d9aefd8a42990bab2e8c198c
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -614,8 +614,8 @@
                    if (wrkMast.getWrkSts() == 2L) {
                        this.letCarBeReady(wrkMast, steNo);
                    }
                    // 堆垛机将货放至小车上 3.小车待搬 ===>> 7.吊车入库中
                    if (wrkMast.getWrkSts() == 3L) {
                    // 堆垛机将货放至小车上 3.小车待搬 / 6.小车待入  ===>> 7.吊车入库中
                    if (wrkMast.getWrkSts() == 3L || wrkMast.getWrkSts() == 6L) {
                        // 小车处于空闲
                        SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
                        SteProtocol steProtocol = steThread.getSteProtocol();
@@ -650,6 +650,11 @@
                    }
                // 没有小车
                } else {
                    // 1.寻找最近的小车
                    // 2.让小车等待搬运待续
                    // 3.堆垛机搬运小车
                }
@@ -977,33 +982,6 @@
    }
    /**
     * 穿梭车入库
     */
    public void carGenerateStore() {
        for (SteSlave ste : slaveProperties.getSte()) {
            // 获取堆垛机信息
            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
            SteProtocol steProtocol = steThread.getSteProtocol();
            if (steProtocol == null) { continue; }
            if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
                // 查询是否有待入库的任务
                WrkMast wrkMast = wrkMastMapper.selectPakInStep8(steProtocol.getSteNo().intValue());
                if (wrkMast == null) { continue; }
                // 修改工作档状态 8.小车搬入库 => 9.入库完成
                Date now = new Date();
                wrkMast.setWrkSts(9L);
                wrkMast.setCrnStrTime(now);
                wrkMast.setModiTime(now);
                if (wrkMastMapper.updateById(wrkMast) == 0) {
                    log.error("修改工作档状态 8.小车搬入库 => 9.入库完成 失败!!,工作号={}", wrkMast.getWrkNo());
                } else {
                    steThread.setResetFlag(true);
                }
            }
        }
    }
    /**
     * 堆垛机针对于小车迁移工作的完成
@@ -1113,6 +1091,34 @@
    }
    /**
     * 执行对工作档的完成操作
     */
    public void carGenerateStore() {
        for (SteSlave ste : slaveProperties.getSte()) {
            // 获取堆垛机信息
            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
            SteProtocol steProtocol = steThread.getSteProtocol();
            if (steProtocol == null) { continue; }
            if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
                // 查询是否有待入库的任务
                WrkMast wrkMast = wrkMastMapper.selectPakInStep8(steProtocol.getSteNo().intValue());
                if (wrkMast == null) { continue; }
                // 修改工作档状态 8.小车搬入库 => 9.入库完成
                Date now = new Date();
                wrkMast.setWrkSts(9L);
                wrkMast.setCrnStrTime(now);
                wrkMast.setModiTime(now);
                if (wrkMastMapper.updateById(wrkMast) == 0) {
                    log.error("修改工作档状态 8.小车搬入库 => 9.入库完成 失败!!,工作号={}", wrkMast.getWrkNo());
                } else {
                    steThread.setResetFlag(true);
                }
            }
        }
    }
    /**
     * 堆垛机异常信息记录
     */
    @Async