999
zhangc
2025-04-18 8d862cadd05ae0404ed995f3ad1fdbd98371105c
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -339,7 +339,7 @@
                News.info("{}任务,{}站点,不在自动状态", wrkMast.getWrkNo(), staProtocol.getSiteId());
                continue;
            }
            if (!staProtocol.isOutEnable()) {
            if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
                News.info("{}任务,{}站点,没有可出信号", wrkMast.getWrkNo(), staProtocol.getSiteId());
                continue;
            }
@@ -352,7 +352,13 @@
                News.info("{}任务,调度小车失败", wrkMast.getWrkNo());
                continue;
            } else {
                News.info("{}任务,无提升机处调度小车成功", wrkMast.getWrkNo());
                WrkMast wrkMast1 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo());
                if (wrkMast1 == null) {
                    News.info("{}任务,调度小车失败,终于发现了", wrkMast.getWrkNo());
                    continue;
                } else {
                    News.info("{}任务,无提升机处调度小车成功", wrkMast.getWrkNo());
                }
            }
            wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts);
@@ -399,22 +405,23 @@
                        }
                        String sourceLocNo = "1200305";
                        String locNo = "1100105";
                        String locNo = "1300105";
                        if (wrkMast.getStaNo() == 1013) {
                            sourceLocNo = "1200301";
                            locNo = "1100101";
                            locNo = "1300101";
                            if (loc.contains(locNo)) {
                                locNo = "1000101";
                                locNo = "1100101";
                            }
                        } else {
                            if (loc.contains(locNo)) {
                                locNo = "1000105";
                                locNo = "1100105";
                            }
                        }
                        boolean dispatchShuttle = shuttleDispatchUtils.shuttleMoveGenerate(wrkMast.getWrkNo(), sourceLocNo, locNo, wrkMast.getShuttleNo(), null, false);
                        if (!dispatchShuttle) {
                            News.taskInfo(wrkMast.getWrkNo(), "{}小车,挪车调度至取货点失败", wrkMast.getShuttleNo());
                            continue;
                        }
                        staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo())));
@@ -824,6 +831,8 @@
            short staNo = 1012;
            if (wrkMast.getSourceStaNo() == 1022) {
                staNo = 1023;
            } else if (wrkMast.getSourceStaNo() == 1031 || wrkMast.getSourceStaNo() == 1032) {
                staNo = 1032;
            }
            staProtocol = staProtocol.clone();
@@ -929,6 +938,8 @@
            String locNo = "0200305";
            if (wrkMast.getSourceStaNo() == 1012) {
                locNo = "0200301";
            } else if (wrkMast.getSourceStaNo() == 1032 || wrkMast.getSourceStaNo() == 1031) {
                locNo = "0200308";
            }
            boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT");
            if (!dispatchShuttle) {
@@ -936,9 +947,13 @@
                return false;
            }
            int lev = 105;
            if (wrkMast.getSourceStaNo() == 1012) {
                lev = 101;
            int lev = 101;
            if (wrkMast.getSourceStaNo() == 1021) {
                //TODO
                // lev = 105;
                lev = 1021;
            } else if (wrkMast.getSourceStaNo() == 1032 || wrkMast.getSourceStaNo() == 1031) {
                lev = 1031;
            }
            //获取提升机命令
            List<LiftCommand> liftCommands = liftThread.getPalletInCommand(wrkMast.getWrkNo(), sourceStaNo, lev);
@@ -1063,7 +1078,7 @@
                return false;
            }
            if (!staProtocol.isOutEnable()) {
            if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
                News.info("{}任务,{}站点,没有可出信号", wrkMast.getWrkNo(), staProtocol.getSiteId());
                return false;
            }
@@ -1071,6 +1086,8 @@
            String locNo = "0200305";
            if (wrkMast.getStaNo() == 1011) {
                locNo = "0200301";
            } else if (wrkMast.getStaNo() == 1032) {
                locNo = "0200308";
            }
            boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_LIFT");
            if (!dispatchShuttle) {
@@ -2098,4 +2115,31 @@
    }
    /**
     * 入出库模式切换函数
     */
    public synchronized void ioConvert() {
        try {
            // 根据输送线plc遍历
            FyDevpThread devpThread = (FyDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
            WrkMast pakout = wrkMastService.selectWorkingPakout(1032);
            if (pakout != null) {
                if (devpThread.ioModeOf2_5 != IoModeType.PAKOUT_MODE) {
                    // 出库切换中
                    WrkMast pakin = wrkMastService.selectWorkingPakin(1032);
                    if (pakin == null && !devpThread.getStation().get(1031).isLoading()
                            && !devpThread.getStation().get(1032).isLoading()) {
                        // 出库模式
                        devpThread.ioModeOf2_5 = IoModeType.PAKOUT_MODE;
                    }
                }
            } else {
                // 入库模式
                devpThread.ioModeOf2_5 = IoModeType.PAKIN_MODE;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}