From c323ef7a52b2e5e436d791cf0722911ab68ca594 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 10 Apr 2026 10:25:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E8=B0=83?= =?UTF-8?q?=E6=8B=A8=E8=AE=A2=E5=8D=95=E9=A1=B9=E7=9B=AE=E8=B0=83=E6=8B=A8?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsTransferOrderItem 实体中新增 isTransferred 字段用于标识是否已调拨 - 在 WmsTransferOrderItemBo 和 WmsTransferOrderItemVo 中同步添加调拨状态字段 - 在 MyBatis 映射文件中配置 isTransferred 字段映射关系 - 在查询条件中增加调拨状态过滤功能 - 添加调拨单审批状态校验逻辑确保只有审批通过才能调拨 - 在调拨操作完成后设置项目为已调拨状态(isTransferred=1) --- .../java/com/klp/domain/WmsTransferOrderItem.java | 4 ++++ .../com/klp/domain/bo/WmsTransferOrderItemBo.java | 5 +++++ .../com/klp/domain/vo/WmsTransferOrderItemVo.java | 5 +++++ .../impl/WmsTransferOrderItemServiceImpl.java | 14 ++++++++++++++ .../mapper/klp/WmsTransferOrderItemMapper.xml | 1 + 5 files changed, 29 insertions(+) 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 8ab78dce..552fc786 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsTransferOrderItem.java @@ -60,6 +60,10 @@ public class WmsTransferOrderItem extends BaseEntity { * 备注 */ private String remark; + /** + * 是否已经调拨 0-未调拨 1-已调拨 + */ + private Integer isTransferred; /** * 删除标记(0正常 1删除) */ 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 fd4ed141..65da5305 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,4 +74,9 @@ public class WmsTransferOrderItemBo extends BaseEntity { */ private String remark; + /** + * 是否已经调拨 0-未调拨 1-已调拨 + */ + private Integer isTransferred; + } 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 fde333c1..cc4f2ae7 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 @@ -79,6 +79,11 @@ public class WmsTransferOrderItemVo { @ExcelProperty(value = "备注") private String remark; + /** + * 是否已经调拨 0-未调拨 1-已调拨 + */ + private Integer isTransferred; + // ========== 改之前物料信息 ========== /** * 改之前物料类型名称 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 749b95c3..06a25d3a 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 @@ -327,6 +327,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer lqw.eq(bo.getMaterialTypeAfter() != null, WmsTransferOrderItem::getMaterialTypeAfter, bo.getMaterialTypeAfter()); lqw.eq(bo.getWarehouseIdBefore() != null, WmsTransferOrderItem::getWarehouseIdBefore, bo.getWarehouseIdBefore()); lqw.eq(bo.getWarehouseIdAfter() != null, WmsTransferOrderItem::getWarehouseIdAfter, bo.getWarehouseIdAfter()); + lqw.eq(bo.getIsTransferred() != null, WmsTransferOrderItem::getIsTransferred, bo.getIsTransferred()); return lqw; } @@ -533,6 +534,18 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer throw new IllegalArgumentException("调拨明细不存在"); } + // 校验调拨单审批状态 + if (item.getTransferId() != null) { + WmsTransferOrder wmsTransferOrder = wmsTransferOrderMapper.selectById(item.getTransferId()); + if (wmsTransferOrder == null) { + throw new IllegalArgumentException("调拨单不存在"); + } + // 审批状态: 0-待审批 1-已通过 2-已驳回 + if (wmsTransferOrder.getApproveStatus() == null || wmsTransferOrder.getApproveStatus() != 1) { + throw new IllegalArgumentException("审批未通过,不能调拨"); + } + } + // 确定最终值:如果没传则使用改之前的值 Long finalItemId = itemId != null ? itemId : item.getItemIdBefore(); Long finalMaterialType = bo.getMaterialTypeAfter() != null ? bo.getMaterialTypeAfter() : item.getMaterialTypeBefore(); @@ -558,6 +571,7 @@ public class WmsTransferOrderItemServiceImpl implements IWmsTransferOrderItemSer item.setItemIdAfter(finalItemId); item.setMaterialTypeAfter(finalMaterialType); item.setWarehouseIdAfter(finalWarehouseId); + item.setIsTransferred(1); // 标记为已调拨 baseMapper.updateById(item); // 更新钢卷信息 diff --git a/klp-wms/src/main/resources/mapper/klp/WmsTransferOrderItemMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsTransferOrderItemMapper.xml index a4389c2c..e6944a34 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsTransferOrderItemMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsTransferOrderItemMapper.xml @@ -15,6 +15,7 @@ +