#
zc
2025-05-01 1503a5ccffbf2448d15ac662ad949521a189a2c7
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -182,19 +182,27 @@
                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                    String errMsg = "";
                    if (!back && staProtocol.isBackErr()) {
                        errMsg = "超宽异常";
                        errMsg = "后超限";
                        back = true;
                    }
                    if (!back && staProtocol.isHighErr()) {
                        errMsg = "超高异常";
                        back = true;
                    }
                    if (!back && staProtocol.isRightErr()) {
                        errMsg = "超长异常";
                    if (!back && staProtocol.isWeightErr()) {
                        errMsg = "超重异常";
                        back = true;
                    }
                    if (!back && staProtocol.isWeightErr()) {
                        errMsg = "超重";
                    if (!back && staProtocol.isRightErr()) {
                        errMsg = "右超限";
                        back = true;
                    }
                    if (!back && staProtocol.isLeftErr()) {
                        errMsg = "左超限";
                        back = true;
                    }
                    if (!back && staProtocol.isBarcodeErr()) {
                        errMsg = "扫码异常";
                        back = true;
                    }
                    // 退回
@@ -283,6 +291,9 @@
                                        .setJson(JSON.toJSONString(hashMap))
                                        .build()
                                        .doPost();
//                                if (!Cools.isEmpty(msg)&&"请先组托".equalsIgnoreCase(msg)){
//                                    ledThread.error(msg);
//                                }
                                News.error("入库申请失败,任务数据={},请求响应={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
                            }
                        } catch (Exception e) {
@@ -302,19 +313,27 @@
                    String errMsg = "";
                    boolean back = false;
                    if (!back && staProtocol.isBackErr()) {
                        errMsg = "超宽异常";
                        errMsg = "后超限";
                        back = true;
                    }
                    if (!back && staProtocol.isHighErr()) {
                        errMsg = "超高异常";
                        back = true;
                    }
                    if (!back && staProtocol.isRightErr()) {
                        errMsg = "超长异常";
                    if (!back && staProtocol.isWeightErr()) {
                        errMsg = "超重异常";
                        back = true;
                    }
                    if (!back && staProtocol.isWeightErr()) {
                        errMsg = "超重";
                    if (!back && staProtocol.isRightErr()) {
                        errMsg = "右超限";
                        back = true;
                    }
                    if (!back && staProtocol.isLeftErr()) {
                        errMsg = "左超限";
                        back = true;
                    }
                    if (!back && staProtocol.isBarcodeErr()) {
                        errMsg = "扫码异常";
                        back = true;
                    }
                    // 退回
@@ -359,6 +378,9 @@
                                            .setJson(JSON.toJSONString(hashMap))
                                            .build()
                                            .doPost();
//                                    if (!Cools.isEmpty(msg)&&"请先组托".equalsIgnoreCase(msg)){
//                                        ledThread.error(msg);
//                                    }
                                    News.error("入库申请失败,任务数据={},请求响应={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
                                }
                            } catch (Exception e) {
@@ -405,6 +427,29 @@
                if (wrkMast.getStaNo() == 1026) {
                    locNo = "1200305";
                }
                //获取提升机信息
                LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, 1);
                if (liftThread == null) {
                    continue;
                }
                LiftProtocol liftProtocol = liftThread.getStatus();
                if (liftProtocol == null) {
                    continue;
                }
                if (!liftThread.isIdle()) {
                    continue;
                }
                //判断提升机内是否有托盘
                if (liftProtocol.getHasTray()) {
                    News.info("{}任务,{}号提升机,提升机内无托盘,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
                    continue;
                }
                boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_DEVP");
                if (!dispatchShuttle) {
                    News.info("{}任务,调度小车失败", wrkMast.getWrkNo());
@@ -454,15 +499,19 @@
            if (wrkMast.getStaNo() == 1024) {
                locNo = "1200305";
            }
            boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP");
            if (!dispatchShuttle) {
                News.info("{}任务,调度小车失败", wrkMast.getWrkNo());
                continue;
            }
            WrkMast wrkMast2 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo());
            wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts);
            wrkMast.setSystemMsg("");//清空消息
            wrkMast.setModiTime(now);
            if (wrkMast2 != null) {
                wrkMast.setShuttleNo(wrkMast2.getShuttleNo());
            }
            if (!wrkMastService.updateById(wrkMast)) {
                News.info("{}任务,更新工作档失败", wrkMast.getWrkNo());
            } else {
@@ -903,17 +952,17 @@
            for (WrkMast wrkMast : wrkMasts) {
                boolean step0 = this.liftInExecuteStep0(wrkMast);//设备上走
                if (!step0) {
                    return;
                    continue;
                }
                boolean step1 = this.liftInExecuteStep1(wrkMast);//提升机搬运
                if (!step1) {
                    return;
                    continue;
                }
                boolean step2 = this.liftInExecuteStep2(wrkMast);//触发搬运任务
                if (!step2) {
                    return;
                    continue;
                }
            }
        } catch (Exception e) {
@@ -944,19 +993,27 @@
            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led);
            String errMsg = "";
            if (!back && staProtocol.isBackErr()) {
                errMsg = "超宽异常";
                errMsg = "后超限";
                back = true;
            }
            if (!back && staProtocol.isHighErr()) {
                errMsg = "超高异常";
                back = true;
            }
            if (!back && staProtocol.isRightErr()) {
                errMsg = "超长异常";
            if (!back && staProtocol.isWeightErr()) {
                errMsg = "超重异常";
                back = true;
            }
            if (!back && staProtocol.isWeightErr()) {
                errMsg = "超重";
            if (!back && staProtocol.isRightErr()) {
                errMsg = "右超限";
                back = true;
            }
            if (!back && staProtocol.isLeftErr()) {
                errMsg = "左超限";
                back = true;
            }
            if (!back && staProtocol.isBarcodeErr()) {
                errMsg = "扫码异常";
                back = true;
            }
            // 退回
@@ -968,7 +1025,6 @@
                }
            }
            String barcode = staProtocol.getBarcode();
            if (!staProtocol.isLoading()) {
@@ -1214,12 +1270,12 @@
            for (WrkMast wrkMast : wrkMasts) {
                boolean step1 = this.liftOutExecuteStep1(wrkMast);//触发搬运任务
                if (!step1) {
                    return;
                    continue;
                }
                boolean step2 = this.liftOutExecuteStep2(wrkMast);//提升机搬运
                if (!step2) {
                    return;
                    continue;
                }
            }
        } catch (Exception e) {
@@ -1479,6 +1535,11 @@
                            notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知
                        } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_12.sts) {
                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_13.sts);
                            WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
                            if (wrkMast1 != null) {
                                wrkMast1.setShuttleNo(wrkMast.getShuttleNo());
                                log.info("对主工作档进行绑定小车,为了小车进行移车,{},{}", wrkMast1.getWrkNo(), wrkMast.getShuttleNo());
                            }
                            shuttleThread.setSyncTaskNo(0);
                            notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知
                        } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_10.sts) {
@@ -1800,6 +1861,14 @@
        try {
            this.recShuttleErr();
            this.recLiftErr();
            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 1);
            ledThread.errorReset();
            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 2);
            ledThread.errorReset();
            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 3);
            ledThread.errorReset();
            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 4);
            ledThread.errorReset();
        } catch (Exception e) {
            News.error("recErr fail", e);
        }