From 6e23e932da129f7a93816638abd06e9ca7a06f2b Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 28 Mar 2026 11:47:33 +0800 Subject: [PATCH] =?UTF-8?q?refactor(transfer):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=BD=AC=E5=BA=93=E8=AE=A2=E5=8D=95=E9=A1=B9=E7=9B=AE=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 WmsTransferOrderItemBo 中的 itemType 字段 - 将 itemType 替换为 materialTypeAfter 的转换逻辑 - 添加对 itemId、itemType 和 warehouseId 的空值检查 - 实现字段选择性更新机制 - 修复查询条件添加 transferId 筛选 - 完善默认值回退逻辑 --- .../klp/domain/bo/WmsTransferOrderItemBo.java | 5 ---- .../impl/WmsTransferOrderItemServiceImpl.java | 30 ++++++++++++++----- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderItemBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderItemBo.java index e770929e..fd4ed141 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderItemBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderItemBo.java @@ -74,9 +74,4 @@ public class WmsTransferOrderItemBo extends BaseEntity { */ private String remark; - /** - * 物料类型 - */ - private String itemType; - } 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 1fee41c4..18940445 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 @@ -375,9 +375,10 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer @Override @Transactional(rollbackFor = Exception.class) public Boolean confirmTransfer(WmsTransferOrderItemBo bo) { + Long transferId = bo.getTransferId(); Long coilId = bo.getCoilId(); Long itemId = bo.getItemIdAfter(); - String itemType = bo.getItemType(); + String itemType = bo.getMaterialTypeAfter() != null ? (bo.getMaterialTypeAfter() == 1 ? "raw_material" : "product") : null; Long warehouseId = bo.getWarehouseIdAfter(); if (coilId == null) { @@ -389,18 +390,33 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer throw new IllegalArgumentException("钢卷不存在"); } - coil.setItemId(itemId); - coil.setItemType(itemType); - coil.setWarehouseId(warehouseId); + // 如果传了才修改钢卷 + if (itemId != null) { + coil.setItemId(itemId); + } + if (itemType != null) { + coil.setItemType(itemType); + } + if (warehouseId != null) { + coil.setWarehouseId(warehouseId); + } coilMapper.updateById(coil); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(WmsTransferOrderItem::getCoilId, coilId); + wrapper.eq(WmsTransferOrderItem::getTransferId, transferId); WmsTransferOrderItem item = baseMapper.selectOne(wrapper); if (item != null) { - item.setItemIdAfter(itemId); - item.setMaterialTypeAfter(Objects.equals(itemType, "raw_material") ? 1L : 2L); - item.setWarehouseIdAfter(warehouseId); + // 如果没传itemIdAfter则用itemIdBefore的值 + item.setItemIdAfter(itemId != null ? itemId : item.getItemIdBefore()); + // 如果没传materialTypeAfter则用materialTypeBefore的值 + if (bo.getMaterialTypeAfter() != null) { + item.setMaterialTypeAfter(bo.getMaterialTypeAfter()); + } else { + item.setMaterialTypeAfter(item.getMaterialTypeBefore()); + } + // 如果没传warehouseIdAfter则用warehouseIdBefore的值 + item.setWarehouseIdAfter(warehouseId != null ? warehouseId : item.getWarehouseIdBefore()); baseMapper.updateById(item); }