From 591097451ed46651f2cb3aad443f28dca90612ea 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: Sat, 17 Oct 2026 17:00:15 +0800 Subject: [PATCH] =?UTF-8?q?rfid=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HaiAnPdaAutoWarehouseServiceImpl.java | 26 ++++++++++++------- .../HaiAnPhysicalInventoryServiceImpl.java | 3 ++- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java b/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java index 04e267d8..d195bd4f 100644 --- a/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java +++ b/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java @@ -1136,7 +1136,8 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe } String palletType = palletInfo.getPalletType(); List positions = haiAnPdaAutoWarehouseMapper.getPalletTypePositions(site, palletType); - return buildPalletScanResult(palletId, palletType, palletInfo.getLocationCode(), positions); + // 扫码值仅用于去方向后缀后定位托盘,返回数据库真实主键供页面后续组盘提交使用,避免大小写沿入参传播 - rqrq + return buildPalletScanResult(palletInfo.getPalletId(), palletType, palletInfo.getLocationCode(), positions); } @Override @@ -1150,7 +1151,8 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe HaiAnPalletInfoResult palletInfo = loadRequiredPallet(site, palletId); String palletType = palletInfo.getPalletType(); List positions = haiAnPdaAutoWarehouseMapper.getPalletTypePositions(site, palletType); - return buildPalletScanResult(palletId, palletType, palletInfo.getLocationCode(), positions); + // 查看托盘同样回传数据库真实主键,避免页面继续使用去后缀后的扫码原值 - rqrq + return buildPalletScanResult(palletInfo.getPalletId(), palletType, palletInfo.getLocationCode(), positions); } @Override @@ -2178,7 +2180,8 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe if (row == null) { throw new RuntimeException("栈板不存在:" + palletId); } - row.setPalletId(palletId); + // 换站扫描回传主表真实托盘码,扫码入参只承担去方向后缀后的查询作用 - rqrq + row.setPalletId(palletInfo.getPalletId()); // 海安无独立站点主表时,站点ID与站点编码统一回写为location_code,兼容老前端展示 - rqrq if (!StringUtils.hasText(row.getCurrentStationId()) && StringUtils.hasText(row.getCurrentStationCode())) { row.setCurrentStationId(row.getCurrentStationCode()); @@ -2203,7 +2206,8 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe } HaiAnPalletInfoResult palletInfo = loadRequiredPallet(site, palletId); HaiAnCheckPalletResult row = new HaiAnCheckPalletResult(); - row.setPalletId(palletId); + // 人工移动页面使用数据库真实托盘码继续提交,避免大小写差异进入后续操作 - rqrq + row.setPalletId(palletInfo.getPalletId()); row.setCallingFlag(palletInfo.getCallingFlag()); row.setCurrentStationCode(palletInfo.getLocationCode()); row.setCurrentStationId(palletInfo.getLocationCode()); @@ -3048,7 +3052,7 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe if (!"Y".equalsIgnoreCase(result.getIsEmpty())) { throw new RuntimeException("该托盘不是空托盘,无法进行空托盘组盘操作"); } - result.setPalletId(palletId); + // 空托校验查询已返回主表 pallet_id,保留数据库原值供页面后续入库操作使用 - rqrq return result; } @@ -3217,7 +3221,8 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe result.setArea(palletInfo.getArea()); result.setCanOperate(showCancelButton ? "Y" : "N"); result.setIsEmpty(showRemoveAllButton ? "Y" : "N"); - result.setPalletId(palletId); + // 取消组盘页回传主表真实托盘码,避免使用去方向后缀后的扫码原值 - rqrq + result.setPalletId(palletInfo.getPalletId()); return result; } @@ -3368,7 +3373,8 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe HaiAnPalletInfoResult palletInfo = loadRequiredPallet(site, palletId); // 合托扫描阶段先校验组盘权限,来源和目标都按同一规则拦截 - rqrq validatePackAbleForBulkPalletOperation(site, palletInfo); - result.setPalletId(palletId); + // 来源盘和目标盘共用此校验,统一回传数据库真实托盘码供合托页面后续提交 - rqrq + result.setPalletId(palletInfo.getPalletId()); result.setCanOperate("Y"); return result; } @@ -3732,7 +3738,8 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe markRelocateTransferDecision(row); } HaiAnPalletRelocateScanResult result = new HaiAnPalletRelocateScanResult(); - result.setPalletId(palletId); + // 重移库扫码结果使用主表真实托盘码,后续重试请求沿用这一主键 - rqrq + result.setPalletId(palletInfo.getPalletId()); result.setAreaId(areaId); result.setAreaDesc(area.getAreaDesc()); result.setWarehouseId(warehouseId); @@ -3806,7 +3813,8 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe // 栈板必须存在且未删除;失败直接中断,避免页面改到不存在的托盘 - rqrq HaiAnPalletInfoResult pallet = loadRequiredPallet(site, palletId); HaiAnPalletSpecialEditResult result = new HaiAnPalletSpecialEditResult(); - result.setPalletId(palletId); + // 特殊修改扫码结果使用主表真实托盘码,页面保存时沿用数据库主键大小写 - rqrq + result.setPalletId(pallet.getPalletId()); result.setCallingFlag(normalizeCallingFlag(pallet.getCallingFlag())); result.setAreaId(StringUtils.hasText(pallet.getArea()) ? pallet.getArea().trim() : ""); result.setOnShelfFlag(StringUtils.hasText(pallet.getWcsLocation()) ? "Y" : "N"); diff --git a/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPhysicalInventoryServiceImpl.java b/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPhysicalInventoryServiceImpl.java index 57932343..9d1c40f7 100644 --- a/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPhysicalInventoryServiceImpl.java +++ b/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPhysicalInventoryServiceImpl.java @@ -659,7 +659,8 @@ public class HaiAnPhysicalInventoryServiceImpl implements HaiAnPhysicalInventory // 以site+盘点单号+标准托盘号读取原标签字段,查询失败直接阻断后续盘点提交 - rqrq List labelList = physicalInventoryMapper.getCountLabelsByPalletId(site, countNo, cleanPalletId); HaiAnPdaScanPalletResultData resultData = new HaiAnPdaScanPalletResultData(); - resultData.setCleanPalletId(cleanPalletId); + // 方向后缀处理仅用于查询盘点范围,扫码成功回传盘点栈板表的真实托盘码供页面后续提交 - rqrq + resultData.setCleanPalletId(countPallet.getPalletId()); resultData.setCountNo(countNo); resultData.setLabelList(labelList); resultData.setCountPallet(countPallet);