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 @@
+