From ca094574f5c7176e0dc7b1ae73ac6e325c1a44d8 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sun, 21 Jun 2026 14:23:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(coil):=20=E6=B7=BB=E5=8A=A0=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E6=9F=A5=E8=AF=A2=E6=8E=92=E9=99=A4=E5=B7=B2=E5=8F=97?= =?UTF-8?q?=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsMaterialCoilBo 中新增 excludeAccepted 字段用于控制是否排除已受理钢卷 - 在 WmsMaterialCoilServiceImpl 中实现排除已受理钢卷的查询逻辑 - 防止多个受理单重复绑定同一钢卷的问题 - 通过 NOT EXISTS 子查询优化钢卷查询性能 --- .../src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java | 6 ++++++ .../com/klp/service/impl/WmsMaterialCoilServiceImpl.java | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java index 28b94886..479969bb 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsMaterialCoilBo.java @@ -421,5 +421,11 @@ public class WmsMaterialCoilBo extends BaseEntity { // 异常报表导出格式 @TableField(exist = false) private Integer abnormalExportCount; + + /** + * 是否排除已受理的钢卷(true=列表不返回已受理钢卷) + */ + @TableField(exist = false) + private Boolean excludeAccepted; } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 51ea2643..12d88d66 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -1039,6 +1039,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { 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)"); } + // 排除已被受理单绑定的钢卷 防止多个受理单绑定一个钢卷 + if (Boolean.TRUE.equals(bo.getExcludeAccepted())) { + qw.apply("NOT EXISTS (SELECT 1 FROM ts_accept_coil_rel acr WHERE acr.del_flag = 0 AND acr.coil_id = mc.coil_id)"); + } // 组合 item_id 条件:改为使用 EXISTS 子查询,替代预查询 + IN boolean hasSelectType = StringUtils.isNotBlank(bo.getSelectType());