From c21d491f8cf5818f6aee99ad409cd71926793fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Wed, 24 Jun 2026 11:15:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AgvTaskServiceImpl.java | 52 ++++++++++--------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvTaskServiceImpl.java b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvTaskServiceImpl.java index eb0ee3e..1518fd6 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvTaskServiceImpl.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvTaskServiceImpl.java @@ -303,32 +303,36 @@ public class AgvTaskServiceImpl implements AgvTaskService { // 1. 获取栈板明细数据(包含reserve_order_ref3工单号)- rqrq List palletDetails = wcsIntegrationMapper.getPalletDetailsData( taskDetail.getSite(), checkTask.getPalletId()); - + // 2. 构建RfidTunnelOrderRequest - rqrq + RfidTunnelOrderRequest rfidRequest = new RfidTunnelOrderRequest(); + rfidRequest.setPalletBarcode(checkTask.getPalletId()); if (palletDetails == null || palletDetails.isEmpty()) { - throw new RuntimeException("栈板" + checkTask.getPalletId() + "没有明细数据,无法推送到RFID通道机"); - } - - log.info("栈板{}共有{}条明细数据 - rqrq", checkTask.getPalletId(), palletDetails.size()); - - // 2. 构建RfidTunnelOrderRequest - rqrq - RfidTunnelOrderRequest rfidRequest = new RfidTunnelOrderRequest(); - rfidRequest.setPalletBarcode(checkTask.getPalletId()); - rfidRequest.setProductCount(String.valueOf(palletDetails.size())); - - // 3. 构建ProductList(直接从palletDetails获取所有数据)- rqrq - List productList = new ArrayList<>(); - for (PalletDetailData detail : palletDetails) { - RfidProductInfo productInfo = new RfidProductInfo(); - productInfo.setRfidBarcode(detail.getSerialNo()); - productInfo.setSkuCode(detail.getPartNo()); - // 直接使用detail中的reserveOrderRef3,如果为null则使用空字符串 - rqrq - productInfo.setWorkOrder(detail.getReserveOrderRef3() != null ? detail.getReserveOrderRef3() : ""); - productList.add(productInfo); + rfidRequest.setProductCount("0"); + rfidRequest.setProductList(new ArrayList<>()); + log.info("开始推送订单信息到RFID通道机 - rqrq,托盘={}, 产品数量={}", + checkTask.getPalletId(), 0); + }else { + + log.info("栈板{}共有{}条明细数据 - rqrq", checkTask.getPalletId(), palletDetails.size()); + + + rfidRequest.setProductCount(String.valueOf(palletDetails.size())); + + // 3. 构建ProductList(直接从palletDetails获取所有数据)- rqrq + List productList = new ArrayList<>(); + for (PalletDetailData detail : palletDetails) { + RfidProductInfo productInfo = new RfidProductInfo(); + productInfo.setRfidBarcode(detail.getSerialNo()); + productInfo.setSkuCode(detail.getPartNo()); + // 直接使用detail中的reserveOrderRef3,如果为null则使用空字符串 - rqrq + productInfo.setWorkOrder(detail.getReserveOrderRef3() != null ? detail.getReserveOrderRef3() : ""); + productList.add(productInfo); + } + rfidRequest.setProductList(productList); + log.info("开始推送订单信息到RFID通道机 - rqrq,托盘={}, 产品数量={}", + checkTask.getPalletId(), palletDetails.size()); } - rfidRequest.setProductList(productList); - - log.info("开始推送订单信息到RFID通道机 - rqrq,托盘={}, 产品数量={}", - checkTask.getPalletId(), palletDetails.size()); + // 4. 调用RFID通道机接口(如果报错会抛出RuntimeException,等下次循环再请求)- rqrq rfidMachineApiService.pushCheckToRfid(rfidRequest);