feat(wms): 添加调拨订单项目调拨状态字段
- 在 WmsTransferOrderItem 实体中新增 isTransferred 字段用于标识是否已调拨 - 在 WmsTransferOrderItemBo 和 WmsTransferOrderItemVo 中同步添加调拨状态字段 - 在 MyBatis 映射文件中配置 isTransferred 字段映射关系 - 在查询条件中增加调拨状态过滤功能 - 添加调拨单审批状态校验逻辑确保只有审批通过才能调拨 - 在调拨操作完成后设置项目为已调拨状态(isTransferred=1)
This commit is contained in:
@@ -60,6 +60,10 @@ public class WmsTransferOrderItem extends BaseEntity {
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 是否已经调拨 0-未调拨 1-已调拨
|
||||
*/
|
||||
private Integer isTransferred;
|
||||
/**
|
||||
* 删除标记(0正常 1删除)
|
||||
*/
|
||||
|
||||
@@ -74,4 +74,9 @@ public class WmsTransferOrderItemBo extends BaseEntity {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 是否已经调拨 0-未调拨 1-已调拨
|
||||
*/
|
||||
private Integer isTransferred;
|
||||
|
||||
}
|
||||
|
||||
@@ -79,6 +79,11 @@ public class WmsTransferOrderItemVo {
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 是否已经调拨 0-未调拨 1-已调拨
|
||||
*/
|
||||
private Integer isTransferred;
|
||||
|
||||
// ========== 改之前物料信息 ==========
|
||||
/**
|
||||
* 改之前物料类型名称
|
||||
|
||||
@@ -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);
|
||||
|
||||
// 更新钢卷信息
|
||||
|
||||
Reference in New Issue
Block a user