feat(delivery): 新增钢卷绑定信息查询功能并优化发货单明细校验
- 在 WmsDeliveryWaybillDetailMapper 中新增按钢卷ID批量查询和单个查询绑定来源信息的方法 - 在 Mapper XML 文件中新增 WmsCoilBindInfoResult 结果映射和两个查询SQL - 在 WmsDeliveryWaybillDetailServiceImpl 的数据校验方法中实现钢卷重复绑定检查 - 新增 WmsCoilBindInfoVo 类用于封装钢卷绑定信息 - 在 WmsMaterialCoilBo 中新增 excludeBound 和 includeBindInfo 参数控制绑定逻辑 - 在 WmsMaterialCoilServiceImpl 中实现钢卷列表的绑定信息查询和排除逻辑 - 在 WmsMaterialCoilVo 中新增绑定相关字段用于前端显示 - 优化发货单明细保存前的数据校验,防止钢卷重复绑定并提供详细的绑定来源提示
This commit is contained in:
@@ -189,6 +189,17 @@ public class WmsMaterialCoilBo extends BaseEntity {
|
||||
|
||||
private Boolean onlyUnshippedAndUnplanned;
|
||||
|
||||
/**
|
||||
* 是否排除已被发货单明细绑定的钢卷(true=列表不返回已绑定钢卷)
|
||||
*/
|
||||
private Boolean excludeBound;
|
||||
|
||||
/**
|
||||
* 是否在列表中返回“发货单明细绑定信息”(true=返回 bound + 绑定来源信息)
|
||||
* 默认不返回,避免不需要的场景变慢。
|
||||
*/
|
||||
private Boolean includeBindInfo;
|
||||
|
||||
//销售id
|
||||
private Long saleId;
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.klp.domain.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 钢卷绑定信息(发货单明细 -> 发货单 -> 发货计划)
|
||||
* 用于快速标记钢卷是否已被发货单明细占用,并返回占用来源信息。
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class WmsCoilBindInfoVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long coilId;
|
||||
|
||||
private Long detailId;
|
||||
|
||||
private Long waybillId;
|
||||
private String waybillNo;
|
||||
private String waybillName;
|
||||
|
||||
private Long planId;
|
||||
private String planName;
|
||||
private Date planDate;
|
||||
}
|
||||
|
||||
@@ -333,5 +333,24 @@ public class WmsMaterialCoilVo extends BaseEntity {
|
||||
* 独占状态(0=未独占,1=特殊分卷中)
|
||||
*/
|
||||
private Integer exclusiveStatus;
|
||||
|
||||
// ========== 发货绑定信息(由发货单明细占用) ==========
|
||||
|
||||
/**
|
||||
* 是否已被发货单明细绑定(true=不可再次绑定)
|
||||
*/
|
||||
private Boolean bound;
|
||||
|
||||
private Long bindDetailId;
|
||||
|
||||
private Long bindWaybillId;
|
||||
private String bindWaybillNo;
|
||||
private String bindWaybillName;
|
||||
|
||||
private Long bindPlanId;
|
||||
private String bindPlanName;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date bindPlanDate;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user