From 1c9a59636a1d43827046d86c1564f0980b88ce2d Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 27 Mar 2026 17:13:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E8=B0=83?= =?UTF-8?q?=E6=8B=A8=E5=8D=95=E6=98=8E=E7=BB=86=E5=8F=96=E6=B6=88=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=B9=B6=E4=BC=98=E5=8C=96=E5=AD=97=E6=AE=B5=E6=98=A0?= =?UTF-8?q?=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在IWmsTransferOrderItemService中新增cancelTransfer方法 - 修改WmsTransferOrderItem实体类将itemId字段重命名为orderItemId - 在WmsTransferOrderItemBo和WmsTransferOrderItemVo中同步字段名称变更 - 为WmsTransferOrderBo的transferTime字段添加日期格式化注解 - 在WmsTransferOrderItemController中添加cancel接口支持取消操作 - 实现WmsTransferOrderItemServiceImpl的cancelTransfer业务逻辑 - 移除未使用的工具类依赖和冗余的coilService注入 - 修复confirmTransfer方法中的字段赋值错误 --- .../WmsTransferOrderItemController.java | 9 +++++ .../com/klp/domain/WmsTransferOrderItem.java | 4 +- .../com/klp/domain/bo/WmsTransferOrderBo.java | 3 ++ .../klp/domain/bo/WmsTransferOrderItemBo.java | 2 +- .../klp/domain/vo/WmsTransferOrderItemVo.java | 2 +- .../service/IWmsTransferOrderItemService.java | 5 +++ .../impl/WmsTransferOrderItemServiceImpl.java | 38 ++++++++++++++++--- 7 files changed, 54 insertions(+), 9 deletions(-) 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 9e2221e9..a4c84c6d 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderItemController.java @@ -126,4 +126,13 @@ public class WmsTransferOrderItemController extends BaseController { public R confirm(@Validated(AddGroup.class) @RequestBody WmsTransferOrderItemBo bo) { return toAjax(iWmsTransferOrderItemService.confirmTransfer(bo)); } + + /** + * 取消调拨 + */ + @Log(title = "调拨单明细", businessType = BusinessType.DELETE) + @PostMapping("/cancel") + public R cancel(@NotNull(message = "明细id不能为空") Long orderItemId) { + return toAjax(iWmsTransferOrderItemService.cancelTransfer(orderItemId)); + } } diff --git a/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java b/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java index 8caab575..8ab78dce 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java @@ -22,8 +22,8 @@ public class WmsTransferOrderItem extends BaseEntity { /** * 调拨明细主键ID */ - @TableId(value = "item_id") - private Long itemId; + @TableId(value = "order_item_id") + private Long orderItemId; /** * 关联调拨单ID */ diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderBo.java index 6acac4a1..f722badb 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsTransferOrderBo.java @@ -7,6 +7,7 @@ import javax.validation.constraints.*; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; /** * 调拨单主业务对象 wms_transfer_order @@ -42,6 +43,8 @@ public class WmsTransferOrderBo extends BaseEntity { /** * 实际调拨时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date transferTime; /** 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 867ad4d0..e770929e 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 @@ -22,7 +22,7 @@ public class WmsTransferOrderItemBo extends BaseEntity { /** * 调拨明细主键ID */ - private Long itemId; + private Long orderItemId; /** * 关联调拨单ID diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsTransferOrderItemVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsTransferOrderItemVo.java index 68dbde67..344c66ea 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsTransferOrderItemVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsTransferOrderItemVo.java @@ -23,7 +23,7 @@ public class WmsTransferOrderItemVo { * 调拨明细主键ID */ @ExcelProperty(value = "调拨明细主键ID") - private Long itemId; + private Long orderItemId; /** * 关联调拨单ID 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 92e52b25..0560051d 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsTransferOrderItemService.java @@ -62,4 +62,9 @@ public interface IWmsTransferOrderItemService { * 确认调拨 */ Boolean confirmTransfer(WmsTransferOrderItemBo bo); + + /** + * 取消调拨 + */ + Boolean cancelTransfer(Long orderItemId); } 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 b33fc8a4..d96bb7be 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 @@ -20,6 +20,7 @@ import com.klp.mapper.WmsProductMapper; import com.klp.mapper.WmsMaterialCoilMapper; import com.klp.service.IWmsTransferOrderItemService; import com.klp.service.IWmsMaterialCoilService; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; @@ -27,9 +28,6 @@ import java.util.Collection; import java.util.Objects; import java.util.ArrayList; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.klp.common.utils.StringUtils; /** * 调拨单明细Service业务层处理 @@ -45,7 +43,6 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer private final WmsRawMaterialMapper rawMaterialMapper; private final WmsProductMapper productMapper; private final WmsMaterialCoilMapper coilMapper; - private final IWmsMaterialCoilService coilService; /** * 查询调拨单明细 @@ -97,7 +94,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer validEntityBeforeSave(add); boolean flag = baseMapper.insert(add) > 0; if (flag) { - bo.setItemId(add.getItemId()); + bo.setOrderItemId(add.getOrderItemId()); } return flag; } @@ -135,6 +132,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer * itemType: raw_material-原料, product-成品 */ @Override + @Transactional(rollbackFor = Exception.class) public Long matchOrCreateMaterial(Long itemId, String itemType) { if (Objects.equals(itemType, "raw_material")) { return matchOrCreateFromRawMaterial(itemId); @@ -212,6 +210,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer * 批量新增调拨单明细 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean batchInsert(WmsTransferOrderItemBo bo) { Long transferId = bo.getTransferId(); List coilIds = bo.getCoilIds(); @@ -247,6 +246,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer * 确认调拨 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean confirmTransfer(WmsTransferOrderItemBo bo) { Long coilId = bo.getCoilId(); Long itemId = bo.getItemIdAfter(); @@ -279,4 +279,32 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer return true; } + + /** + * 取消调拨 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean cancelTransfer(Long orderItemId) { + WmsTransferOrderItem item = baseMapper.selectById(orderItemId); + if (item == null) { + throw new IllegalArgumentException("明细记录不存在"); + } + + Long coilId = item.getCoilId(); + Long originalItemId = item.getItemIdBefore(); + Long originalMaterialType = item.getMaterialTypeBefore(); + Long originalWarehouseId = item.getWarehouseIdBefore(); + + WmsMaterialCoil coil = coilMapper.selectById(coilId); + if (coil != null) { + coil.setItemId(originalItemId); + coil.setItemType(originalMaterialType == 1 ? "raw_material" : "product"); + coil.setWarehouseId(originalWarehouseId); + coilMapper.updateById(coil); + } + + baseMapper.deleteById(orderItemId); + return true; + } }