feat(delivery): 新增钢卷绑定信息查询功能并优化发货单明细校验

- 在 WmsDeliveryWaybillDetailMapper 中新增按钢卷ID批量查询和单个查询绑定来源信息的方法
- 在 Mapper XML 文件中新增 WmsCoilBindInfoResult 结果映射和两个查询SQL
- 在 WmsDeliveryWaybillDetailServiceImpl 的数据校验方法中实现钢卷重复绑定检查
- 新增 WmsCoilBindInfoVo 类用于封装钢卷绑定信息
- 在 WmsMaterialCoilBo 中新增 excludeBound 和 includeBindInfo 参数控制绑定逻辑
- 在 WmsMaterialCoilServiceImpl 中实现钢卷列表的绑定信息查询和排除逻辑
- 在 WmsMaterialCoilVo 中新增绑定相关字段用于前端显示
- 优化发货单明细保存前的数据校验,防止钢卷重复绑定并提供详细的绑定来源提示
This commit is contained in:
2026-01-27 14:47:31 +08:00
parent 0fb7aebf67
commit ad74b9df01
7 changed files with 198 additions and 1 deletions

View File

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

View File

@@ -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;
}

View File

@@ -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;
}