Browse Source

登录

master
常熟吴彦祖 1 month ago
parent
commit
c21d491f8c
  1. 52
      src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AgvTaskServiceImpl.java

52
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 // 1. 获取栈板明细数据包含reserve_order_ref3工单号- rqrq
List<PalletDetailData> palletDetails = wcsIntegrationMapper.getPalletDetailsData( List<PalletDetailData> palletDetails = wcsIntegrationMapper.getPalletDetailsData(
taskDetail.getSite(), checkTask.getPalletId()); taskDetail.getSite(), checkTask.getPalletId());
// 2. 构建RfidTunnelOrderRequest - rqrq
RfidTunnelOrderRequest rfidRequest = new RfidTunnelOrderRequest();
rfidRequest.setPalletBarcode(checkTask.getPalletId());
if (palletDetails == null || palletDetails.isEmpty()) { 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<RfidProductInfo> 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<RfidProductInfo> 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 // 4. 调用RFID通道机接口如果报错会抛出RuntimeException等下次循环再请求- rqrq
rfidMachineApiService.pushCheckToRfid(rfidRequest); rfidMachineApiService.pushCheckToRfid(rfidRequest);

Loading…
Cancel
Save