From b842f267ccd93806ce9db458e6a4c8fb6df445bd Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 27 Mar 2026 16:59:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(transfer):=20=E6=96=B0=E5=A2=9E=E8=B0=83?= =?UTF-8?q?=E6=8B=A8=E5=8D=95=E6=98=8E=E7=BB=86=E7=A1=AE=E8=AE=A4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在IWmsTransferOrderItemService接口中添加confirmTransfer方法 - 在WmsTransferOrderItemBo中增加itemType字段用于物料类型标识 - 创建WmsTransferOrderItemController的confirm端点处理确认请求 - 实现WmsTransferOrderItemServiceImpl中的confirmTransfer业务逻辑 - 集成IWmsMaterialCoilService服务更新钢卷相关状态信息 - 完成调拨单明细数据同步更新确保数据一致性 --- .../WmsTransferOrderItemController.java | 10 +++++ .../klp/domain/bo/WmsTransferOrderItemBo.java | 4 ++ .../service/IWmsTransferOrderItemService.java | 5 +++ .../impl/WmsTransferOrderItemServiceImpl.java | 39 +++++++++++++++++++ 4 files changed, 58 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java b/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java index 735a7caf..9e2221e9 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java @@ -116,4 +116,14 @@ public class WmsTransferOrderItemController extends BaseController { public R batchAdd(@Validated(AddGroup.class) @RequestBody WmsTransferOrderItemBo bo) { return toAjax(iWmsTransferOrderItemService.batchInsert(bo)); } + + /** + * 确认调拨 + */ + @Log(title = "调拨单明细", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PostMapping("/confirm") + public R confirm(@Validated(AddGroup.class) @RequestBody WmsTransferOrderItemBo bo) { + return toAjax(iWmsTransferOrderItemService.confirmTransfer(bo)); + } } 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 05bbbfb8..867ad4d0 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,5 +74,9 @@ public class WmsTransferOrderItemBo extends BaseEntity { */ private String remark; + /** + * 物料类型 + */ + private String itemType; } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java b/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java index 929eaccb..92e52b25 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java @@ -57,4 +57,9 @@ public interface IWmsTransferOrderItemService { * 批量新增调拨单明细 */ Boolean batchInsert(WmsTransferOrderItemBo bo); + + /** + * 确认调拨 + */ + Boolean confirmTransfer(WmsTransferOrderItemBo bo); } 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 a111991c..b33fc8a4 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 @@ -19,6 +19,7 @@ import com.klp.mapper.WmsRawMaterialMapper; import com.klp.mapper.WmsProductMapper; import com.klp.mapper.WmsMaterialCoilMapper; import com.klp.service.IWmsTransferOrderItemService; +import com.klp.service.IWmsMaterialCoilService; import java.util.List; import java.util.Map; @@ -44,6 +45,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer private final WmsRawMaterialMapper rawMaterialMapper; private final WmsProductMapper productMapper; private final WmsMaterialCoilMapper coilMapper; + private final IWmsMaterialCoilService coilService; /** * 查询调拨单明细 @@ -240,4 +242,41 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer return baseMapper.insertBatch(items); } + + /** + * 确认调拨 + */ + @Override + public Boolean confirmTransfer(WmsTransferOrderItemBo bo) { + Long coilId = bo.getCoilId(); + Long itemId = bo.getItemIdAfter(); + String itemType = bo.getItemType(); + Long warehouseId = bo.getWarehouseIdAfter(); + + if (coilId == null) { + throw new IllegalArgumentException("coilId不能为空"); + } + + WmsMaterialCoil coil = coilMapper.selectById(coilId); + if (coil == null) { + throw new IllegalArgumentException("钢卷不存在"); + } + + coil.setItemId(itemId); + coil.setItemType(itemType); + coil.setWarehouseId(warehouseId); + coilMapper.updateById(coil); + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(WmsTransferOrderItem::getCoilId, coilId); + WmsTransferOrderItem item = baseMapper.selectOne(wrapper); + if (item != null) { + item.setItemIdAfter(itemId); + item.setMaterialTypeAfter(Objects.equals(itemType, "raw_material") ? 1L : 2L); + item.setWarehouseIdAfter(warehouseId); + baseMapper.updateById(item); + } + + return true; + } }