#
zc
2025-05-05 b0aca4f6dc0d314c6ef336d915740e017b6fccee
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -36,13 +36,11 @@
import com.zy.core.thread.impl.FyDevpThread;
import com.zy.core.thread.impl.NormalLedThread;
import com.zy.system.service.ConfigService;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.*;
/**
@@ -182,15 +180,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.isWeightErr()) {
                        errMsg = "超重异常";
                        back = true;
                    }
                    if (!back && staProtocol.isRightErr()) {
                        errMsg = "超宽异常";
                        errMsg = "右超限";
                        back = true;
                    }
                    if (!back && staProtocol.isLeftErr()) {
                        errMsg = "左超限";
                        back = true;
                    }
                    if (!back && staProtocol.isBarcodeErr()) {
                        errMsg = "扫码异常";
                        back = true;
                    }
                    // 退回
@@ -279,6 +289,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) {
@@ -298,19 +311,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;
                    }
                    // 退回
@@ -355,6 +376,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) {
@@ -460,13 +484,22 @@
            if (staProtocol == null) {
                continue;
            }
            List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", WrkStsType.OUTBOUND_SHUTTLE_RUN.sts, WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts).in("sta_no", 1013, 1024));
            if (wrkMastList != null && wrkMastList.size() >= 2) {
                News.taskInfo(wrkMast.getWrkNo(), "{}任务,跳过,存在2条工作档", wrkMast.getWrkNo());
                continue;
            }
            if (!staProtocol.isAutoing()) {
                News.info("{}任务,{}站点,不在自动状态", wrkMast.getWrkNo(), staProtocol.getSiteId());
                News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}站点,不在自动状态", wrkMast.getWrkNo(), staProtocol.getSiteId());
                continue;
            }
            if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
                News.info("{}任务,{}站点,没有可出信号", wrkMast.getWrkNo(), staProtocol.getSiteId());
                News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}站点,没有可出信号", wrkMast.getWrkNo(), staProtocol.getSiteId());
                continue;
            }
            StaProtocol staProtocol2 = station.get(wrkMast.getStaNo() + 2);
            if (staProtocol2.isLoading()) {
                News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号输送线有物222", wrkMast.getWrkNo(), wrkMast.getStaNo() + 2);
                continue;
            }
            String locNo = "1200301";
@@ -476,7 +509,7 @@
            boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP");
            if (!dispatchShuttle) {
                News.info("{}任务,调度小车失败", wrkMast.getWrkNo());
                News.taskInfo(wrkMast.getWrkNo(), "{}任务,调度小车失败", wrkMast.getWrkNo());
                continue;
            }
            WrkMast wrkMast2 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo());
@@ -926,17 +959,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) {
@@ -967,19 +1000,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;
            }
            // 退回
@@ -1236,12 +1277,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) {
@@ -1437,6 +1478,7 @@
                                continue;//小车未到达目标层
                            }
                            wrkMast.setWrkSts(WrkStsType.MOVE_OUT_LIFT_COMPLETE.sts);
                            wrkMast.setLiftNo(null);
                            shuttleThread.setSyncTaskNo(0);
                        } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_SHUTTLE.sts) {
                            //310.小车移动中 ==> 311.小车移动完成
@@ -1501,6 +1543,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) {