From 3f8eb23785b48a8ca35a77e99f4d4fab98f76d54 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: Fri, 5 Dec 2025 17:42:16 +0800 Subject: [PATCH] 1 --- .../service/impl/AgvTaskServiceImpl.java | 24 +++++++----- .../service/impl/AutoTaskServiceImpl.java | 5 ++- .../service/impl/PalletCancelServiceImpl.java | 5 ++- .../impl/WcsIntegrationServiceImpl.java | 39 +++++++++++-------- .../impl/ShipmentIssueServiceImpl.java | 15 ++++--- .../service/impl/NewIssureServiceImpl.java | 18 +++++---- 6 files changed, 61 insertions(+), 45 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 8913fa5c..a98b8666 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 @@ -230,12 +230,13 @@ public class AgvTaskServiceImpl implements AgvTaskService { if(validValues.contains(checkTask.getToLocation())){ PalletType palletType = wcsIntegrationMapper.getPalletTypeInfoByPallet(checkTask.getSite(),checkTask.getPalletId()); UpdateStationToWcs updateStationToWcs = new UpdateStationToWcs(); - updateStationToWcs.setPalletizingPosition(checkTask.getToLocation()); - updateStationToWcs.setPalletCode(checkTask.getPalletId()); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + updateStationToWcs.setPalletizingPosition(checkTask.getToLocation() != null ? checkTask.getToLocation().trim() : null); + updateStationToWcs.setPalletCode(checkTask.getPalletId() != null ? checkTask.getPalletId().trim() : null); updateStationToWcs.setOperationType(1); updateStationToWcs.setPalletType(palletType.getWcsPalletType()); updateStationToWcs.setBasePalletType(palletType.getWcsBasePalletType()); - updateStationToWcs.setWcsTaskId(checkTask.getWcsTaskId()!=null?checkTask.getWcsTaskId():"0"); + updateStationToWcs.setWcsTaskId(checkTask.getWcsTaskId() != null ? checkTask.getWcsTaskId().trim() : "0"); wcsApiService.updateStationToWcs(updateStationToWcs); } } @@ -247,12 +248,13 @@ public class AgvTaskServiceImpl implements AgvTaskService { if(validValues.contains(checkTask.getFromLocation())){ PalletType palletType = wcsIntegrationMapper.getPalletTypeInfoByPallet(checkTask.getSite(),checkTask.getPalletId()); UpdateStationToWcs updateStationToWcs = new UpdateStationToWcs(); - updateStationToWcs.setPalletizingPosition(checkTask.getFromLocation()); - updateStationToWcs.setPalletCode(checkTask.getPalletId()); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + updateStationToWcs.setPalletizingPosition(checkTask.getFromLocation() != null ? checkTask.getFromLocation().trim() : null); + updateStationToWcs.setPalletCode(checkTask.getPalletId() != null ? checkTask.getPalletId().trim() : null); updateStationToWcs.setOperationType(2); updateStationToWcs.setPalletType(palletType.getWcsPalletType()); updateStationToWcs.setBasePalletType(palletType.getWcsBasePalletType()); - updateStationToWcs.setWcsTaskId(checkTask.getWcsTaskId()!=null?checkTask.getWcsTaskId():"0"); + updateStationToWcs.setWcsTaskId(checkTask.getWcsTaskId() != null ? checkTask.getWcsTaskId().trim() : "0"); wcsApiService.updateStationToWcs(updateStationToWcs); } } @@ -350,9 +352,10 @@ public class AgvTaskServiceImpl implements AgvTaskService { // 2. 询问立库PLC分配实际可用的放货点 - rqrq // 立库PLC根据实际状态返回D1或D2 - rqrq WarehouseAskStation askStation = new WarehouseAskStation(); - askStation.setTaskNo(checkTask.getTaskNo()); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + askStation.setTaskNo(checkTask.getTaskNo() != null ? checkTask.getTaskNo().trim() : null); askStation.setItemNo(checkTask.getItemNo()); - askStation.setPalletNo(checkTask.getPalletId()); + askStation.setPalletNo(checkTask.getPalletId() != null ? checkTask.getPalletId().trim() : null); askStation.setType(1); station = wcsApiService.warehouseAskStation(askStation); //RQNEED @@ -650,8 +653,9 @@ public class AgvTaskServiceImpl implements AgvTaskService { //如果是到入库口的任务被取消 如果有栈板号 那么执行下取消组盘 try { SpecialPalletTask pushData = new SpecialPalletTask(); - pushData.setPalletBarcode(task.getPalletId()); - pushData.setSite(site); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + pushData.setPalletBarcode(task.getPalletId() != null ? task.getPalletId().trim() : null); + pushData.setSite(site != null ? site.trim() : null); pushData.setOperationType(1); wcsIntegrationMapper.updateAllPalletDetailWcsFlagToOne(site, task.getPalletId()); wcsApiService.SpecialPalletTask(pushData); diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AutoTaskServiceImpl.java b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AutoTaskServiceImpl.java index 91cc025a..0dd5f855 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AutoTaskServiceImpl.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AutoTaskServiceImpl.java @@ -731,7 +731,8 @@ public class AutoTaskServiceImpl implements AutoTaskService { // 构建WCS请求参数 - rqrq CallPalletRequest request = new CallPalletRequest(); - request.setTaskNo(wmsTransportTask.getTaskNo()); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + request.setTaskNo(wmsTransportTask.getTaskNo() != null ? wmsTransportTask.getTaskNo().trim() : null); request.setItemNo(wmsTransportTask.getItemNo()); // 获取托盘类型配置 - rqrq @@ -748,7 +749,7 @@ public class AutoTaskServiceImpl implements AutoTaskService { // 获取目标站点信息 - rqrq AgvStation targetStation = wcsIntegrationMapper.getStationDataByCode(wmsTransportTask.getToLocation()); if(targetStation != null){ - request.setTargetPosition(targetStation.getStationId()); + request.setTargetPosition(targetStation.getStationId() != null ? targetStation.getStationId().trim() : null); } // 调用WCS接口获取托盘 - rqrq diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/PalletCancelServiceImpl.java b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/PalletCancelServiceImpl.java index f0f3d726..1979c31e 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/PalletCancelServiceImpl.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/PalletCancelServiceImpl.java @@ -100,8 +100,9 @@ public class PalletCancelServiceImpl implements PalletCancelService { // 3. 调用WCS API通知取消组盘 - rqrq SpecialPalletTask pushData = new SpecialPalletTask(); - pushData.setPalletBarcode(palletId); - pushData.setSite(site); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + pushData.setPalletBarcode(palletId != null ? palletId.trim() : null); + pushData.setSite(site != null ? site.trim() : null); pushData.setOperationType(1); wcsApiService.SpecialPalletTask(pushData); diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsIntegrationServiceImpl.java b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsIntegrationServiceImpl.java index dee56b4b..3d69e125 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsIntegrationServiceImpl.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsIntegrationServiceImpl.java @@ -248,9 +248,10 @@ public class WcsIntegrationServiceImpl implements WcsIntegrationService { // 3. 构建WmsOrderTask对象 - rqrq WmsOrderTask task = new WmsOrderTask(); - task.setSite(item.getSite()); - task.setPalletId(palletId); - task.setTaskNo(transData.getNewTransNo()); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + task.setSite(item.getSite() != null ? item.getSite().trim() : null); + task.setPalletId(palletId != null ? palletId.trim() : null); + task.setTaskNo(transData.getNewTransNo() != null ? transData.getNewTransNo().trim() : null); task.setItemNo(1); if(item.getAgvFlag()!=null&&item.getAgvFlag().equals("Y")){ task.setSourceType("立库取货"); @@ -259,10 +260,10 @@ public class WcsIntegrationServiceImpl implements WcsIntegrationService { } task.setSourceBillNo(""); task.setSourceLineId(0L); - task.setPartNo(item.getPartNo()); + task.setPartNo(item.getPartNo() != null ? item.getPartNo().trim() : null); task.setQty(item.getQty()); - task.setBatchNo(item.getBatchNo()); - task.setSerialNo(item.getSerialNo()); + task.setBatchNo(item.getBatchNo() != null ? item.getBatchNo().trim() : null); + task.setSerialNo(item.getSerialNo() != null ? item.getSerialNo().trim() : null); task.setFromLocation(""); task.setToLocation(""); task.setPriority(0); @@ -1086,16 +1087,17 @@ public class WcsIntegrationServiceImpl implements WcsIntegrationService { }else{ inData.setPartType(PartTypeEnum.fromCode(3)); } - inData.setSite(site); - inData.setTaskNo(taskNo); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + inData.setSite(site != null ? site.trim() : null); + inData.setTaskNo(taskNo != null ? taskNo.trim() : null); inData.setItemNo(itemNo); - inData.setPalletBarcode(palletId); + inData.setPalletBarcode(palletId != null ? palletId.trim() : null); inData.setPalletType(wcsPalletType); inData.setBasePalletType(wcsBasePalletType); inData.setCommonUsed(hasCommonlyUsed); inData.setAutoSort(isAutoSort); inData.setSoreType(soreType); - inData.setAssemblyPosition(locationCode); + inData.setAssemblyPosition(locationCode != null ? locationCode.trim() : null); inData.setEndFlag(boFlag); //明细根据点位拆分 Map> groupedHUs = newDetail.stream() @@ -1145,7 +1147,8 @@ public class WcsIntegrationServiceImpl implements WcsIntegrationService { //每个点位多个物料 for (int i = 0; i 70 ? partDesc.substring(0, 70) : partDesc) @@ -2195,16 +2198,17 @@ public class WcsIntegrationServiceImpl implements WcsIntegrationService { inData.setPartType(PartTypeEnum.fromCode(3)); } inData.setCount(count); - inData.setSite(site); - inData.setTaskNo(taskNo); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + inData.setSite(site != null ? site.trim() : null); + inData.setTaskNo(taskNo != null ? taskNo.trim() : null); inData.setItemNo(itemNo); - inData.setPalletBarcode(palletId); + inData.setPalletBarcode(palletId != null ? palletId.trim() : null); inData.setPalletType(wcsPalletType); inData.setBasePalletType(wcsBasePalletType); inData.setCommonUsed(false); // 空托盘没有常用料标记 - rqrq inData.setAutoSort(isAutoSort); inData.setSoreType(soreType); - inData.setAssemblyPosition(locationCode); + inData.setAssemblyPosition(locationCode != null ? locationCode.trim() : null); inData.setEndFlag(true); // 空托盘直接结束组盘 - rqrq inData.setCargoInfos(new ArrayList<>()); // 空托盘没有货物信息,传null - rqrq @@ -2315,8 +2319,9 @@ public class WcsIntegrationServiceImpl implements WcsIntegrationService { System.out.println("已更新栈板calling_flag为N - rqrq"); SpecialPalletTask pushData= new SpecialPalletTask(); - pushData.setPalletBarcode(palletId); - pushData.setSite(site); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + pushData.setPalletBarcode(palletId != null ? palletId.trim() : null); + pushData.setSite(site != null ? site.trim() : null); pushData.setOperationType(1); wcsApiService.SpecialPalletTask(pushData); System.out.println("取消WCS组盘完成 - rqrq"); diff --git a/src/main/java/com/gaotao/modules/customer/service/impl/ShipmentIssueServiceImpl.java b/src/main/java/com/gaotao/modules/customer/service/impl/ShipmentIssueServiceImpl.java index 3aaab566..a7e3ec19 100644 --- a/src/main/java/com/gaotao/modules/customer/service/impl/ShipmentIssueServiceImpl.java +++ b/src/main/java/com/gaotao/modules/customer/service/impl/ShipmentIssueServiceImpl.java @@ -610,10 +610,11 @@ public class ShipmentIssueServiceImpl implements ShipmentIssueService { // 7.7 构建WCS数据 - rqrq NotifyDataToWcs wcsData = new NotifyDataToWcs(); - wcsData.setNotifyNo(notifyNo); - wcsData.setSite(site); - wcsData.setTaskNo(taskNo); - wcsData.setOrderNo(productionOrderNo); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + wcsData.setNotifyNo(notifyNo != null ? notifyNo.trim() : null); + wcsData.setSite(site != null ? site.trim() : null); + wcsData.setTaskNo(taskNo != null ? taskNo.trim() : null); + wcsData.setOrderNo(productionOrderNo != null ? productionOrderNo.trim() : null); wcsData.setItemNo(orderTask.getItemNo()); wcsData.setOrderPartNo(""); @@ -649,7 +650,8 @@ public class ShipmentIssueServiceImpl implements ShipmentIssueService { // 构建NotifyDataToWcsPalletList - rqrq NotifyDataToWcsPalletList palletData = new NotifyDataToWcsPalletList(); - palletData.setPalletCode(palletId); + // rqrq - 字符串字段trim去除空格 + palletData.setPalletCode(palletId != null ? palletId.trim() : null); List subDetailList = new ArrayList<>(); for (Map.Entry>> posEntry : groupedByPositionLayer.entrySet()) { @@ -661,7 +663,8 @@ public class ShipmentIssueServiceImpl implements ShipmentIssueService { NotifyDataToWcsPalletSubDetail subDetail = new NotifyDataToWcsPalletSubDetail(); subDetail.setPosition(Integer.parseInt(position)); subDetail.setLayer(layer); - subDetail.setRfidBarcodes(serialNos); + // rqrq - 所有rfidBarcodes都trim去除空格 + subDetail.setRfidBarcodes(serialNos.stream().map(s -> s != null ? s.trim() : null).collect(java.util.stream.Collectors.toList())); subDetailList.add(subDetail); } diff --git a/src/main/java/com/gaotao/modules/notify/service/impl/NewIssureServiceImpl.java b/src/main/java/com/gaotao/modules/notify/service/impl/NewIssureServiceImpl.java index 208f4415..fa20e958 100644 --- a/src/main/java/com/gaotao/modules/notify/service/impl/NewIssureServiceImpl.java +++ b/src/main/java/com/gaotao/modules/notify/service/impl/NewIssureServiceImpl.java @@ -957,13 +957,13 @@ public class NewIssureServiceImpl implements NewIssureService { // 6.7 构建WCS数据 - rqrq NotifyDataToWcs wcsData = new NotifyDataToWcs(); - - wcsData.setSite(site); - wcsData.setNotifyNo(notifyNo); - wcsData.setTaskNo(taskNo); - wcsData.setOrderNo(productionOrderNo); + // rqrq - 所有字符串字段赋值时trim去除空格,防止WCS接口识别失败 + wcsData.setSite(site != null ? site.trim() : null); + wcsData.setNotifyNo(notifyNo != null ? notifyNo.trim() : null); + wcsData.setTaskNo(taskNo != null ? taskNo.trim() : null); + wcsData.setOrderNo(productionOrderNo != null ? productionOrderNo.trim() : null); wcsData.setItemNo(orderTask.getItemNo()); - wcsData.setOrderPartNo(fgPartNo); + wcsData.setOrderPartNo(fgPartNo != null ? fgPartNo.trim() : null); // 根据订单类型设置orderType - rqrq if ("shoporder".equals(orderTypeFromDb)) { @@ -996,7 +996,8 @@ public class NewIssureServiceImpl implements NewIssureService { // 构建NotifyDataToWcsPalletList - rqrq NotifyDataToWcsPalletList palletData = new NotifyDataToWcsPalletList(); - palletData.setPalletCode(palletId); + // rqrq - 字符串字段trim去除空格 + palletData.setPalletCode(palletId != null ? palletId.trim() : null); List subDetailList = new ArrayList<>(); for (Map.Entry>> posEntry : groupedByPositionLayer.entrySet()) { @@ -1008,7 +1009,8 @@ public class NewIssureServiceImpl implements NewIssureService { NotifyDataToWcsPalletSubDetail subDetail = new NotifyDataToWcsPalletSubDetail(); subDetail.setPosition(Integer.parseInt(position)); subDetail.setLayer(layer); - subDetail.setRfidBarcodes(serialNos); + // rqrq - 所有rfidBarcodes都trim去除空格 + subDetail.setRfidBarcodes(serialNos.stream().map(s -> s != null ? s.trim() : null).collect(java.util.stream.Collectors.toList())); subDetailList.add(subDetail); }