999
zhangc
2025-04-18 b095bc486863e7fb15f7f798595b8a365b1cd26e
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())));
@@ -1063,7 +1070,7 @@
                return false;
            }
            if (!staProtocol.isOutEnable()) {
            if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
                News.info("{}任务,{}站点,没有可出信号", wrkMast.getWrkNo(), staProtocol.getSiteId());
                return false;
            }
@@ -2098,4 +2105,41 @@
    }
    /**
     * 入出库模式切换函数
     */
    public synchronized void ioConvert() {
        try {
            // 根据输送线plc遍历
            FyDevpThread devpThread = (FyDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            for (DevpSlave.Sta inSta : devp.getInSta()) {
                WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getBackSta());
                switch (inSta.getBackSta()) {
                    case 116:
                        if (pakout != null) {
                            if (devpThread.ioModeOf1F1 != IoModeType.PAKOUT_MODE) {
                                // 出库切换中
                                devpThread.ioModeOf1F1 = IoModeType.PAKOUT_BOOTING;
                                WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
                                if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                        && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                        && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
                                    // 出库模式
                                    devpThread.ioModeOf1F1 = IoModeType.PAKOUT_MODE;
                                }
                            }
                        } else {
                            // 入库模式
                            devpThread.ioModeOf1F1 = IoModeType.PAKIN_MODE;
                        }
                        break;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}