Junjie
2026-04-16 39b95ef917ac3a01d8e1d315d25b4645b9df9692
src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
@@ -163,7 +163,7 @@
            if (wrkMast.getWrkSts() != null && wrkMast.getWrkSts() == WrkStsType.INBOUND_STATION_RUN_COMPLETE.sts) {
                boolean result = this.crnExecuteInPlanner(currentCrn, crnThread, wrkMast);
                if (result) {
                    crnProtocol.setLastIo("O");
                    crnProtocol.setLastIo("I");
                    return;
                }
                continue;
@@ -172,7 +172,7 @@
            if (wrkMast.getWrkSts() != null && wrkMast.getWrkSts() == WrkStsType.NEW_OUTBOUND.sts) {
                boolean result = this.crnExecuteOutPlanner(currentCrn, crnThread, wrkMast);
                if (result) {
                    crnProtocol.setLastIo("I");
                    crnProtocol.setLastIo("O");
                    return;
                }
                continue;
@@ -388,6 +388,12 @@
        }
        if (!allowBatchOutboundExecute(wrkMast, true)) {
            return false;
        }
        //检查是否为出库模式
        if(!checkOutTargetStationIoMode(wrkMast)) {
            News.taskInfo(wrkMast.getWrkNo(), "堆垛机:{} 任务:{}禁止执行,出库站:{} 不处于出库模式", basCrnp.getCrnNo(), wrkMast.getWrkNo(), wrkMast.getStaNo());
            return false;
        }
@@ -622,6 +628,36 @@
        return false;
    }
    //检查是否为出库模式
    private boolean checkOutTargetStationIoMode(WrkMast wrkMast) {
        if (wrkMast == null || wrkMast.getStaNo() == null) {
            return false;
        }
        BasStation basStation = basStationService.getById(wrkMast.getStaNo());
        if (basStation == null) {
            return false;
        }
        StationThread targetStationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basStation.getDeviceNo());
        if (targetStationThread == null) {
            return false;
        }
        StationProtocol targetStationProtocol = targetStationThread.getStatusMap().get(wrkMast.getStaNo());
        if (targetStationProtocol == null) {
            return false;
        }
        if (targetStationProtocol.getIoMode() == null) {
            return false;
        }
        if (targetStationProtocol.getIoMode() == 2) {
            return true;//出库模式
        }
        return false;
    }
    private int getSystemConfigInt(String code, int defaultValue) {
        Object systemConfigMapObj = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
        if (systemConfigMapObj == null) {