自动化立体仓库 - WCS系统
Junjie
2023-11-30 f8c14df2d6ceb57d1e8a389b62d6996d90a073fd
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1287,6 +1287,28 @@
                return false;//站点不可入
            }
            Integer barcodeId = Utils.getBarcodeIdByStaNo(wrkMast.getSourceStaNo());
            if (barcodeId == null) {
                News.info("{}任务,{}源站,找不到可用条码器ID", wrkMast.getWrkNo(), sourceBasDevp.getDevNo());
                return false;//站点不可入
            }
            BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
            if (barcodeThread == null) {
                News.info("{}任务,{}源站,条码器{}线程为空", wrkMast.getWrkNo(), sourceBasDevp.getDevNo(), barcodeId);
                return false;//站点不可入
            }
            String barcode = barcodeThread.getBarcode();
            if(!Cools.isEmpty(barcode)) {
                if(!("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode))) {
                    //存在条码值,判断是否和当前工作档一致
                    if (!barcode.equals(wrkMast.getBarcode())) {
                        News.info("{}任务,条码器{}值{}与工作档条码值不一致,系统跳过执行", wrkMast.getWrkNo(), sourceBasDevp.getDevNo(), barcodeId, barcode);
                        return false;//站点不可入
                    }
                }
            }
            //判断提升机整个三楼是否都处于入库模式
            Integer outInModel1 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 1);
            Integer outInModel2 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 5);