From 00939dae2f56de252c6d448505f4c28065c78fe1 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 28 Mar 2026 13:35:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor(wms):=20=E4=BC=98=E5=8C=96=E8=B0=83?= =?UTF-8?q?=E6=8B=A8=E5=8D=95=E9=A1=B9=E7=9B=AE=E7=89=A9=E6=96=99=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=A1=AB=E5=85=85=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将通用的fillMaterialInfo方法拆分为fillMaterialInfoBefore和fillMaterialInfoAfter两个专用方法 - 修复了物料信息填充时字段映射错误问题,确保Before和After字段正确设置 - 增强了代码可读性和维护性,明确区分前后物料信息处理逻辑 - 保持了原有的业务逻辑不变,仅优化方法结构和字段赋值准确性 --- .../impl/WmsTransferOrderItemServiceImpl.java | 45 +++++++++++++++---- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderItemServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderItemServiceImpl.java index 18940445..fed05833 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderItemServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderItemServiceImpl.java @@ -130,10 +130,10 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer private void fillDetailInfo(WmsTransferOrderItemVo vo) { // 填充改之前物料信息 - fillMaterialInfo(vo, vo.getItemIdBefore(), vo.getMaterialTypeBefore(), "Before"); + fillMaterialInfoBefore(vo, vo.getItemIdBefore(), vo.getMaterialTypeBefore(), "Before"); // 填充改之后物料信息 - fillMaterialInfo(vo, vo.getItemIdAfter(), vo.getMaterialTypeAfter(), "After"); + fillMaterialInfoAfter(vo, vo.getItemIdAfter(), vo.getMaterialTypeAfter(), "After"); // 填充库区名称 if (vo.getWarehouseIdBefore() != null) { @@ -156,7 +156,34 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer vo.setMaterialTypeAfterName(vo.getMaterialTypeAfter() != null ? (vo.getMaterialTypeAfter() == 1 ? "原料" : "成品") : null); } - private void fillMaterialInfo(WmsTransferOrderItemVo vo, Long itemId, Long materialType, String suffix) { + private void fillMaterialInfoAfter(WmsTransferOrderItemVo vo, Long itemIdAfter, Long materialTypeAfter, String after) { + if (itemIdAfter == null || materialTypeAfter == null) { + return; + } + if (materialTypeAfter == 1) { + WmsRawMaterial raw = rawMaterialMapper.selectById(itemIdAfter); + if (raw != null) { + vo.setMaterialNameAfter(raw.getRawMaterialName()); + vo.setSpecificationAfter(raw.getSpecification()); + vo.setMaterialAfter(raw.getMaterial()); + vo.setSurfaceTreatmentAfter(raw.getSurfaceTreatmentDesc()); + vo.setManufacturerAfter(raw.getManufacturer()); + vo.setZincLayerAfter(raw.getZincLayer()); + } + } else if (materialTypeAfter == 2) { + WmsProduct product = productMapper.selectById(itemIdAfter); + if (product != null) { + vo.setMaterialNameAfter(product.getProductName()); + vo.setSpecificationAfter(product.getSpecification()); + vo.setMaterialAfter(product.getMaterial()); + vo.setSurfaceTreatmentAfter(product.getSurfaceTreatmentDesc()); + vo.setManufacturerAfter(product.getManufacturer()); + vo.setZincLayerAfter(product.getZincLayer()); + } + } + } + + private void fillMaterialInfoBefore(WmsTransferOrderItemVo vo, Long itemId, Long materialType, String suffix) { if (itemId == null || materialType == null) { return; } @@ -174,12 +201,12 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer } else if (materialType == 2) { WmsProduct product = productMapper.selectById(itemId); if (product != null) { - vo.setMaterialNameAfter(product.getProductName()); - vo.setSpecificationAfter(product.getSpecification()); - vo.setMaterialAfter(product.getMaterial()); - vo.setSurfaceTreatmentAfter(product.getSurfaceTreatmentDesc()); - vo.setManufacturerAfter(product.getManufacturer()); - vo.setZincLayerAfter(product.getZincLayer()); + vo.setMaterialNameBefore(product.getProductName()); + vo.setSpecificationBefore(product.getSpecification()); + vo.setMaterialBefore(product.getMaterial()); + vo.setSurfaceTreatmentBefore(product.getSurfaceTreatmentDesc()); + vo.setManufacturerBefore(product.getManufacturer()); + vo.setZincLayerBefore(product.getZincLayer()); } } }