#
Junjie
2025-05-02 22a4f862b33a02ed7baccf0da690ce2c52b756fe
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -23,6 +23,10 @@
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.*;
import com.zy.core.enums.DevpType.DevpRequestType;
import com.zy.core.enums.DevpType.DevpStateType;
import com.zy.core.enums.DevpType.DevpTrayType;
import com.zy.core.enums.DevpType.DevpWorkType;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
@@ -146,10 +150,12 @@
                        errMsg = "扫码失败";
                        back = true;
                    }
                    // 判断是否满足入库条件
                    if (staProtocol.isAutoing() && staProtocol.isLoading()
                            && staProtocol.isInEnable()
                            && !staProtocol.isEmptyMk() && workNo >= 9790
                    if (staProtocol.stateType == DevpStateType.AUTO
                            && staProtocol.workType == DevpWorkType.BUSY
                            && staProtocol.requestType == DevpRequestType.IN
                            && staProtocol.trayType == DevpTrayType.FULL
                            && staProtocol.isPakMk()) {
                        // 获取条码扫描仪信息
                        BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
@@ -322,7 +328,11 @@
                        } else {
                            staProtocol = staProtocol.clone();
                        }
                        if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
                        if (staProtocol.stateType == DevpStateType.AUTO
                                && staProtocol.workType == DevpWorkType.BUSY
                                && staProtocol.requestType == DevpRequestType.OUT
                                && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
                            // 查询工作档
                            TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), staDesc.getStnNo().toString());
                            if (taskWrk == null) {
@@ -431,8 +441,8 @@
                    log.error("入库 ===>> 堆垛机站点在数据库不存在, 站点编号={}", crnStn.getStaNo());
                    continue;
                }
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
                        && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
                if (staProtocol.stateType == DevpStateType.AUTO && staProtocol.workType == DevpWorkType.BUSY && staProtocol.getWorkNo() > 0) {
                    flag = true;
                }
                if (!flag) {
@@ -554,8 +564,10 @@
                    }
                    // 判断堆垛机出库站状态
                    if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
                            && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
                    if (staProtocol.stateType == DevpStateType.AUTO
                            && staProtocol.workType == DevpWorkType.IDLE
                            && staProtocol.requestType == DevpRequestType.OUT
                            && staProtocol.getWorkNo() == 0) {
                        // 命令下发区 --------------------------------------------------------------------------
                        // 堆垛机控制过滤