feat(WmsMaterialCoil): 添加排除已打包钢卷功能
- 在 WmsMaterialCoilBo 中新增 excludePacked 字段用于控制是否排除已打包钢卷 - 在 WmsMaterialCoilServiceImpl 的查询逻辑中添加对已打包钢卷的过滤条件 - 实现通过 excludePacked 参数防止钢卷重复打包的业务需求 - 优化查询性能避免返回不必要的已打包钢卷数据
This commit is contained in:
@@ -214,6 +214,11 @@ public class WmsMaterialCoilBo extends BaseEntity {
|
||||
*/
|
||||
private Boolean excludeBound;
|
||||
|
||||
/**
|
||||
* 是否排除已打包的钢卷(true=列表不返回已打包钢卷)
|
||||
*/
|
||||
private Boolean excludePacked;
|
||||
|
||||
/**
|
||||
* 是否在列表中返回“发货单明细绑定信息”(true=返回 bound + 绑定来源信息)
|
||||
* 默认不返回,避免不需要的场景变慢。
|
||||
|
||||
@@ -533,6 +533,11 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
qw.apply("NOT EXISTS (SELECT 1 FROM wms_delivery_waybill_detail d WHERE d.del_flag = 0 AND d.coil_id = mc.coil_id)");
|
||||
}
|
||||
|
||||
// 排除已打包的钢卷(防止重复打包)
|
||||
if (Boolean.TRUE.equals(bo.getExcludePacked())) {
|
||||
qw.apply("NOT EXISTS (SELECT 1 FROM wms_coil_packing_detail pd WHERE pd.del_flag = 0 AND pd.coil_id = mc.coil_id)");
|
||||
}
|
||||
|
||||
// 组合 item_id 条件:改为使用 EXISTS 子查询,替代预查询 + IN
|
||||
boolean hasSelectType = StringUtils.isNotBlank(bo.getSelectType());
|
||||
boolean hasAnyItemFilter = StringUtils.isNotBlank(bo.getItemMaterial())
|
||||
|
||||
Reference in New Issue
Block a user