|  |  | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 // 判断是否满足入库条件 | 
 |  |  |                 if (staProtocol.isAutoing() && staProtocol.isLoading() | 
 |  |  |                 if (staProtocol.isAutoing() | 
 |  |  |                         && staProtocol.isLoading() | 
 |  |  |                         && staProtocol.isInEnable() | 
 |  |  |                         && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990) | 
 |  |  |                         && staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) { | 
 |  |  |                         && !staProtocol.isEmptyMk() | 
 |  |  |                         && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990) | 
 |  |  |                         && staProtocol.isPakMk()) { | 
 |  |  |  | 
 |  |  | //                    if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) { | 
 |  |  | //                        log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode); | 
 |  |  | //                        //条码为空或者不符合,退库到172站点 | 
 |  |  | //                        staProtocol.setWorkNo((short)9999); | 
 |  |  | //                        staProtocol.setStaNo((short)172); | 
 |  |  | //                        devpThread.setPakMk(staProtocol.getSiteId(), false); | 
 |  |  | //                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
 |  |  | //                        if (!result) { | 
 |  |  | //                            throw new CoolException("更新plc站点信息失败"); | 
 |  |  | //                        } | 
 |  |  | //                        continue; | 
 |  |  | //                    } | 
 |  |  |                     if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) { | 
 |  |  |                         log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode); | 
 |  |  |                         //条码为空或者不符合,退库到 | 
 |  |  |                         LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); | 
 |  |  |                         if (ledThread != null) { | 
 |  |  |                             String errorMsg = "扫码失败,请重试"; | 
 |  |  |                             MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); | 
 |  |  |                         } | 
 |  |  |                         staProtocol.setWorkNo((short)9999); | 
 |  |  |                         staProtocol.setStaNo((short)(staProtocol.getStaNo()-1)); | 
 |  |  |                         devpThread.setPakMk(staProtocol.getSiteId(), false); | 
 |  |  |                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
 |  |  |                         if (!result) { | 
 |  |  |                             throw new CoolException("更新plc站点信息失败"); | 
 |  |  |                         } | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     // 判断重复工作档 | 
 |  |  |                     WrkMast wrkMast = new WrkMast(); | 
 |  |  | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  | //                    // 获取入库通知档 | 
 |  |  | //                    List<WaitPakin> waitPakins = waitPakinMapper.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N")); | 
 |  |  | //                    if (waitPakins.isEmpty()) { | 
 |  |  | //                        log.error("无此入库条码数据。条码号={}", barcode); | 
 |  |  | //                        continue; | 
 |  |  | //                    } | 
 |  |  |  | 
 |  |  |                     try { | 
 |  |  |  | 
 |  |  |                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol); | 
 |  |  |  | 
 |  |  |                         SearchLocParam param = new SearchLocParam(); | 
 |  |  |                         param.setBarcode(barcode); | 
 |  |  |                         param.setIoType(1); | 
 |  |  | 
 |  |  |                                 .doPost(); | 
 |  |  |                         JSONObject jsonObject = JSON.parseObject(response); | 
 |  |  |                         LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); | 
 |  |  | //                        Integer code = jsonObject.getInteger("code"); | 
 |  |  |                         if (jsonObject.getInteger("code").equals(200)) { | 
 |  |  |                             StartupDto dto = jsonObject.getObject("data", StartupDto.class); | 
 |  |  |  | 
 |  |  | 
 |  |  |                         } else { | 
 |  |  |                             log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); | 
 |  |  |                         } | 
 |  |  | //                        if (jsonObject.getInteger("code").equals(200)) { | 
 |  |  | //                            StartupDto dto = jsonObject.getObject("data", StartupDto.class); | 
 |  |  | // | 
 |  |  | //                            barcodeThread.setBarcode(""); | 
 |  |  | //                            staProtocol.setWorkNo(dto.getWorkNo().shortValue()); | 
 |  |  | //                            staProtocol.setStaNo(dto.getStaNo().shortValue()); | 
 |  |  | //                            devpThread.setPakMk(staProtocol.getSiteId(), false); | 
 |  |  | // | 
 |  |  | //                            ledThread.errorReset(); | 
 |  |  | // | 
 |  |  | //                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
 |  |  | //                            if (!result) { | 
 |  |  | //                                throw new CoolException("更新plc站点信息失败"); | 
 |  |  | //                            } | 
 |  |  | //                        } else if(code == 500){ | 
 |  |  | //                            if (ledThread != null) { | 
 |  |  | //                                String errorMsg = jsonObject.getString("msg"); | 
 |  |  | //                                if (!Cools.isEmpty(errorMsg)) { | 
 |  |  | //                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); | 
 |  |  | //                                } | 
 |  |  | //                            } | 
 |  |  | //                            log.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); | 
 |  |  | //                        } else if (code == 700) { | 
 |  |  | //                            staProtocol.setWorkNo((short) 9995); | 
 |  |  | //                            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 = barcode + "托盘识别异常,请先进行组托!"; | 
 |  |  | //                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg)); | 
 |  |  | //                            } | 
 |  |  | //                        } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | //                        // 检索库位 | 
 |  |  | 
 |  |  |             for (DevpSlave.Sta pickSta : devp.getPickSta()) { | 
 |  |  |                 // 获取条码扫描仪信息 | 
 |  |  |                 BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode()); | 
 |  |  |  | 
 |  |  |                 if (barcodeThread == null) { | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 String barcode = barcodeThread.getBarcode(); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 if (!Cools.isEmpty(barcode)) { | 
 |  |  |                     log.info("{}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode); | 
 |  |  |                 } else { | 
 |  |  |                     continue; | 
 |  |  |                     if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 // 获取拣料入库站信息 | 
 |  |  | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) { | 
 |  |  |                 if (staProtocol.isAutoing() | 
 |  |  |                         && staProtocol.isLoading() | 
 |  |  |                         && staProtocol.isInEnable() | 
 |  |  |                         && staProtocol.isPakMk() | 
 |  |  |                         && staProtocol.getWorkNo() == 9991) { | 
 |  |  | //                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); | 
 |  |  |                     WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); | 
 |  |  |                     LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); | 
 |  |  |                     if (barcode.equals("") || barcode.equals("99999999")) { | 
 |  |  |                         Integer led = pickSta.getLed(); | 
 |  |  |                         if (ledThread != null) { | 
 |  |  |                             String errorMsg = "扫码异常,请重新入库!"; | 
 |  |  |                             MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg)); | 
 |  |  |                         } | 
 |  |  | //                        // 更新站点信息 且 下发plc命令 | 
 |  |  |                         staProtocol.setWorkNo((short)9999); | 
 |  |  |                         staProtocol.setStaNo((short)(staProtocol.getStaNo()-1)); | 
 |  |  |                         devpThread.setPakMk(staProtocol.getSiteId(), false); | 
 |  |  |                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
 |  |  |                         if (!result) { | 
 |  |  |                             log.error("发布命令至输送线队列失败!!! [plc编号:{}]", devp.getId()); | 
 |  |  |                         } | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); | 
 |  |  |                     ledThread.errorReset(); | 
 |  |  |                     if (wrkMast == null) { | 
 |  |  |                         wrkMast = wrkMastMapper.selectPickStep(barcode); | 
 |  |  | 
 |  |  |                             MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg)); | 
 |  |  |                         } | 
 |  |  | //                        // 更新站点信息 且 下发plc命令 | 
 |  |  | //                        devpThread.ioModeOf1F1 = IoModeType.PAKOUT_BOOTING; | 
 |  |  | //                        staProtocol.setWorkNo((short)9999); | 
 |  |  | //                        staProtocol.setStaNo((short)(staProtocol.getStaNo()-1)); | 
 |  |  | //                        devpThread.setPakMk(staProtocol.getSiteId(), false); | 
 |  |  | //                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
 |  |  | //                        if (!result) { | 
 |  |  | //                            log.error("发布命令至输送线队列失败!!! [plc编号:{}]", devp.getId()); | 
 |  |  | //                        } | 
 |  |  |                         staProtocol.setWorkNo((short)9999); | 
 |  |  |                         staProtocol.setStaNo((short)(staProtocol.getStaNo()-1)); | 
 |  |  |                         devpThread.setPakMk(staProtocol.getSiteId(), false); | 
 |  |  |                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
 |  |  |                         if (!result) { | 
 |  |  |                             log.error("发布命令至输送线队列失败!!! [plc编号:{}]", devp.getId()); | 
 |  |  |                         } | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |                     if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) |