pang.jiabao
2024-06-23 4f64a5b70500e1ec7b0b350eb66749180ed2634a
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -117,12 +117,16 @@
                    staProtocol = staProtocol.clone();
                }
                /*
                  无条码
                  没有可入信号
                  有空板信号
                  不是满托盘
                  是2号输送线9995拣料任务
                 */
                String barcode = barcodeThread.getBarcode();
                if (Cools.isEmpty(barcode)) {
                    continue;
                }
                if(!staProtocol.isInEnable()) {
                if (Cools.isEmpty(barcode) || !staProtocol.isInEnable() || staProtocol.isEmptyMk()
                || !staProtocol.isFullPlt() || (staProtocol.getWorkNo() == 9995 && devp.getId() == 2)) {
                    continue;
                }
@@ -169,11 +173,6 @@
                    }
                }
                //拣料、盘点任务,不进入新板入库方法,直接跳出
                if(staProtocol.getWorkNo() == 9995){
                    continue;
                }
                // 退回
                if (back) {
//                    News.warn("扫码入库失败,{}入库站因{}异常,托盘已被退回", inSta.getStaNo(), errMsg);
@@ -195,59 +194,9 @@
                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg));
                }
//                String barcode11 = barcodeThread.getBarcode();
//                if (Cools.isEmpty(barcode)){
//                    if (staProtocol.isAutoing()&& !staProtocol.isEmptyMk() && staProtocol.isPakMk() && staProtocol.getStamp()>=2){
//                        staProtocol.setStamp(0);
//                        News.info(""+mark+" - 7"+" - 扫码失败2 ===>> {}号条码扫描器检测条码信息:{},站点:{}", inSta.getBarcode(), barcode11, inSta.getStaNo());
//                        staProtocol.setWorkNo((short) 9989);
//                        staProtocol.setStaNo(inSta.getBackSta().shortValue());
//                        devpThread.setPakMk(staProtocol.getSiteId(), false);
//                        MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
//                        // led 异常显示
//                        if (ledThread != null) {
//                            String errorMsg = "扫码失败,请重试";
//                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
//                        }
//                        continue;
//                    }
//                }
                if (staProtocol.isAutoing() && staProtocol.isInEnable()
                        && !staProtocol.isEmptyMk() && staProtocol.getWorkNo() > 9000
                        && staProtocol.isPakMk() && !back) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) {
                    News.warnNoLog(""+mark+" - 0"+" - 开始执行");
//                    if(!Cools.isEmpty(barcode) ) {
////                        News.info(""+mark+" - 1"+" - {}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode);
//
//                        if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)) {
//                            staProtocol.setWorkNo((short) 9999);
//                            staProtocol.setStaNo(inSta.getBackSta().shortValue());
//                            devpThread.setPakMk(staProtocol.getSiteId(), false);
//                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
//
//                            News.info(""+mark+" - 2"+" - 扫码失败1 ===>> {}号条码扫描器检测条码信息:{},站点:{}", inSta.getBarcode(), barcode, inSta.getStaNo());
//                            // led 异常显示
//                            if (ledThread != null) {
//                                String errorMsg = "扫码失败,请重试";
//                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
//                            }
//                            continue;
//                        }
//                    } else {
//                        staProtocol.setWorkNo((short) 9999);
//                        staProtocol.setStaNo(inSta.getBackSta().shortValue());
//                        devpThread.setPakMk(staProtocol.getSiteId(), false);
//                        MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
//
//                        News.info(""+mark+" - 3"+" - 扫码失败2 ===>> {}号条码扫描器检测条码信息:{},站点:{}", inSta.getBarcode(), barcode, inSta.getStaNo());
//                        // led 异常显示
//                        if (ledThread != null) {
//                            String errorMsg = "扫码失败,请重试";
//                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
//                        }
//                        continue;
//                    }
                        && staProtocol.isPakMk() &&!Cools.isEmpty(barcode) && !back) {
                    // 判断重复工作档
                    WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
                    //过滤判断,防止拣料再入库货物,经过入库站再入库时,被退回到退库站
@@ -495,7 +444,7 @@
                    StaDesc staDesc = staDescService.selectOne(wrapper);
                    if (Cools.isEmpty(staDesc)) {
                        News.error(""+mark+" - 2"+" - 入库路径不存在!type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
                        staProtocol.setWorkNo((short) 9989);
                        staProtocol.setWorkNo((short) 9999);
                        staProtocol.setStaNo(pickSta.getBackSta().shortValue());
                        devpThread.setPakMk(staProtocol.getSiteId(), false);
                        MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -875,7 +824,7 @@
                    continue;
                }
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() <= 9000 && staProtocol.isInEnable()
                        && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
                    flag = true;
                }
@@ -1337,6 +1286,7 @@
        crnCommand.setDestinationPosX(sta.getRow1().shortValue());     // 目标库位排
        crnCommand.setDestinationPosY(sta.getBay1().shortValue());     // 目标库位列
        crnCommand.setDestinationPosZ(sta.getLev1().shortValue());     // 目标库位层
        crnCommand.setCommand((short) 1);
        if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
            News.error(""+mark+" - 3"+" - 4"+" - 堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
        } else {
@@ -1373,7 +1323,6 @@
                    crnThread.setResetFlag(true);
                } else {
                    // 获取入库待确认工作档
                    System.out.println("任务号"+crnProtocol.getTaskNo());
                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(Integer.valueOf(crnProtocol.getTaskNo()));
                    if (wrkMast == null) {
                        News.error(""+mark+" - 1"+" - 堆垛机处于等待确认且任务完成状态,但未找到工作档。堆垛机号={},工作号={}", crn.getId(), crnProtocol.getTaskNo());
@@ -1548,15 +1497,13 @@
                    ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, emptyInSta.getLed());
                }
                if (!staProtocol.isLoading()){
                    continue;
                }
                // 站点条件判断
                if (staProtocol.isAutoing()
                        && staProtocol.isInEnable()
                        && staProtocol.isEmptyMk()
                        && (staProtocol.getWorkNo() >= 9990 && staProtocol.getWorkNo() <= 9999)
                        && staProtocol.getWorkNo() > 9000
                        && staProtocol.isPakMk()
                        && staProtocol.isLoading()
                ) {
                    News.warnNoLog(""+mark+" - 0"+" - 开始执行:空栈板初始化入库,叉车入库站放货");