zhangchao
2024-09-02 7225bce9f6e79f4c6ac4ea592b644a6447f81c2e
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -189,9 +189,8 @@
                if (!staProtocol.isLoading()) {
                    continue;
                }
                System.out.println(staProtocol);
                if (staProtocol.isAutoing() && staProtocol.isInEnable()
                        && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() > 0 && staProtocol.getWorkNo() < 6001)
                        && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990)
                        && staProtocol.isPakMk() && staProtocol.getStamp() >= 2 && staProtocol.getStamp() != 3) {// && !Cools.isEmpty(barcode)) {
                    News.warn("" + mark + " - 0" + " - 开始执行");
@@ -636,10 +635,17 @@
                        // 移动中
                        continue;
                    }
                    CrnStatusType statusType = crnProtocol.getStatusType();
                    CrnStatusType statusTypeTwo = crnProtocol.getStatusTypeTwo();
                    Boolean wait = false;
                    if (statusType == CrnStatusType.WAITING_ONE || statusTypeTwo == CrnStatusType.WAITING_TWO || (statusType == CrnStatusType.WAITING_All && statusTypeTwo == CrnStatusType.WAITING_All)) {
                        wait = true;
                    }
                    //  判断堆垛机状态等待确认
                    if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())
                            && crnProtocol.statusType == CrnStatusType.WAITING
                            && wait
                            && crnProtocol.forkPosType == CrnForkPosType.HOME) {
                        News.warnNoLog("" + mark + " - 0" + " - 开始执行");
                        // 命令下发区 --------------------------------------------------------------------------
@@ -650,18 +656,16 @@
                        if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
                            continue;
                        }
                        // 更新工作档状态为14失败
                        wrkMast.setWrkSts(14L);
                        wrkMast.setCrnEndTime(new Date());
                        if (wrkMastMapper.updateById(wrkMast) != 0) {
                            // 复位堆垛机
                            Short mode = crnProtocol.getMode();
                            if (mode == 1) {
                            if (statusType == CrnStatusType.WAITING_ONE) {
                                crnThread.setResetFlag(true);
                            } else if (mode == 2) {
                            } else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
                                crnThread.setResetFlagTwo(true);
                            } else if (mode == 3) {
                            } else {
                                crnThread.setResetFlag(true);
                                crnThread.setResetFlagTwo(true);
                            }
@@ -673,7 +677,7 @@
                        News.errorNoLog("" + mark + " - 6" + " - 堆垛机信息不符合入库条件!!!"
                                + " 堆垛机状态:" + crnProtocol.modeType + "==自动AUTO:" + CrnModeType.AUTO
                                + "、堆垛机任务号:" + crnProtocol.getTaskNo() + "==工作档任务号:" + wrkMast.getWrkNo().shortValue()
                                + "、状态枚举:" + crnProtocol.statusType + "==WAITING:90 //任务完成等待WCS确认):" + CrnStatusType.WAITING
                                + "、状态枚举:" + crnProtocol.statusType + "==WAITING:90 //任务完成等待WCS确认):" + CrnStatusType.WAITING_ONE
                                + "、货叉位置:" + crnProtocol.forkPosType + "==HOME:0  // 货叉原位:" + CrnForkPosType.HOME);
                    }
@@ -1353,17 +1357,22 @@
            if (crnProtocol == null) {
                continue;
            }
            CrnStatusType statusType = crnProtocol.getStatusType();
            CrnStatusType statusTypeTwo = crnProtocol.getStatusTypeTwo();
            boolean wait = false;
            if (statusType == CrnStatusType.WAITING_ONE || statusTypeTwo == CrnStatusType.WAITING_TWO || (statusType == CrnStatusType.WAITING_All && statusTypeTwo == CrnStatusType.WAITING_All)) {
                wait = true;
            }
            //  状态:等待确认 并且  任务完成位 = 1
            if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
            if (wait && crnProtocol.getTaskNo() != 0) {
                News.warn("" + mark + " - 0" + " - 开始执行对工作档的完成操作");
                if (crnProtocol.getTaskNo() == 9999) {
                    // 堆垛机复位
                    Short mode = crnProtocol.getMode();
                    if (mode == 1) {
                    if (statusType == CrnStatusType.WAITING_ONE) {
                        crnThread.setResetFlag(true);
                    } else if (mode == 2) {
                    } else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
                        crnThread.setResetFlagTwo(true);
                    } else if (mode == 3) {
                    } else {
                        crnThread.setResetFlag(true);
                        crnThread.setResetFlagTwo(true);
                    }