#1
dubin
2025-11-13 f2b2132ded0de6e3e8e2ff65bfbd98d46caa148e
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -139,6 +139,7 @@
                // 尺寸检测异常
                boolean back = false;
                String errMsg = "";
                Integer outCount=wrkMastService.selectOutCount();
                if (staProtocol.isFrontErr()) {
                    errMsg = "前超限";
                    back = true;
@@ -165,6 +166,10 @@
                }
                if (!back && staProtocol.isBarcodeErr()) {
                    errMsg = "扫码失败";
                    back = true;
                }
                if (!back && outCount > 0) {
                    errMsg = "当前为出库时段,入库暂停";
                    back = true;
                }
@@ -252,7 +257,7 @@
                            staProtocol.setStaNo(dto.getStaNo().shortValue());
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                            log.error("输送线下发(全板退回):" + dto.getWorkNo() + "," + dto.getStaNo());
                            log.error("输送线下发(全板):" + dto.getWorkNo() + "," + dto.getStaNo());
                            ledThread.errorReset();
                            log.error("组托请求后LED错误清除");
@@ -270,7 +275,7 @@
                            staProtocol.setStaNo(inSta.getBackSta().shortValue());
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                            log.error("输送线下发(全板):" + staProtocol.getWorkNo() + "," + staProtocol.getStaNo());
                            log.error("输送线下发(全板退回):" + staProtocol.getWorkNo() + "," + staProtocol.getStaNo());
                            String errorMsg = jsonObject.getString("msg");
                            if (!Cools.isEmpty(errorMsg)) {
@@ -414,9 +419,6 @@
                    errMsg = "扫码失败";
                    back = true;
                }
                if(staProtocol.getSiteId() > 400){
                    back = false;
                }
                // 退回
                if (back) {
@@ -442,27 +444,27 @@
                    }
                    continue;
                }
                if(staProtocol.getSiteId() < 400){
                    if (!Cools.isEmpty(barcode)) {
                        News.infoNoLog("" + mark + " - 1" + " - {}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode);
                        if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
                            continue;
                        }
                    } else {
                        continue;
                    }
                    if (!Cools.isEmpty(barcode)) {
                    News.info(""+mark+" - 1"+" - {}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode);
                        if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
                            continue;
                        }
                    } else {
                        continue;
                    }
                }
//                if(staProtocol.getSiteId() < 400){
//                    if (!Cools.isEmpty(barcode)) {
//                        News.infoNoLog("" + mark + " - 1" + " - {}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode);
//                        if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
//                            continue;
//                        }
//                    } else {
//                        continue;
//                    }
//
//
//                    if (!Cools.isEmpty(barcode)) {
//                    News.info(""+mark+" - 1"+" - {}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode);
//                        if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
//                            continue;
//                        }
//                    } else {
//                        continue;
//                    }
//
//                }
                if (staProtocol == null) {
@@ -1179,28 +1181,28 @@
                } else {
                    staProtocol = staProtocol.clone();
                }
                StaProtocol staProtocol1 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 1):devpThread.getStation().get(crnStn.getStaNo() - 1);
//                StaProtocol staProtocol1 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 1):devpThread.getStation().get(crnStn.getStaNo() - 1);
//                StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() - 1);
//                StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() + 1);
                if (staProtocol1 == null) {
                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 堆垛机出库站信息(staProtocol!=null继续执行,否则循环终止):staProtocol=" + staProtocol);
                    break;
                } else {
                    staProtocol1 = staProtocol1.clone();
                }
                StaProtocol staProtocol2 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 2):devpThread.getStation().get(crnStn.getStaNo());
//                if (staProtocol1 == null) {
//                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 堆垛机出库站信息(staProtocol!=null继续执行,否则循环终止):staProtocol=" + staProtocol);
//                    break;
//                } else {
//                    staProtocol1 = staProtocol1.clone();
//                }
//                StaProtocol staProtocol2 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 2):devpThread.getStation().get(crnStn.getStaNo());
//                StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() - 2);
//                StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() + 2);
                if (staProtocol2 == null) {
                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 堆垛机出库站信息(staProtocol!=null继续执行,否则循环终止):staProtocol=" + staProtocol);
                    break;
                } else {
                    staProtocol2 = staProtocol2.clone();
                }
//                if (staProtocol2 == null) {
//                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 堆垛机出库站信息(staProtocol!=null继续执行,否则循环终止):staProtocol=" + staProtocol);
//                    break;
//                } else {
//                    staProtocol2 = staProtocol2.clone();
//                }
                //出入口输送线只允许存在一个托盘
                if(staProtocol.isLoading() || staProtocol1.isLoading() || staProtocol2.isLoading() || staProtocol.getWorkNo() != 0 || staProtocol1.getWorkNo() != 0 || staProtocol2.getWorkNo() != 0) {
                    break;
                }
//                if(staProtocol.isLoading() || staProtocol1.isLoading() || staProtocol2.isLoading() || staProtocol.getWorkNo() != 0 || staProtocol1.getWorkNo() != 0 || staProtocol2.getWorkNo() != 0) {
//                    break;
//                }
//            // 入出库模式判断
//            if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
@@ -2190,7 +2192,7 @@
                    }
                    LocMast sourceLoc = locMastService.queryDemoSourceLoc(crn.getId());
                    LocMast loc = locMastService.queryDemoLoc(crn.getId(),sourceLoc.getBarcode().substring(0,1));
                    LocMast loc = locMastService.queryDemoLoc(crn.getId(),sourceLoc.getLocType2().toString());
                    if (null == sourceLoc || null == loc) {
                        continue;
                    }