feat(coil): 添加钢卷查询排除已受理功能

- 在 WmsMaterialCoilBo 中新增 excludeAccepted 字段用于控制是否排除已受理钢卷
- 在 WmsMaterialCoilServiceImpl 中实现排除已受理钢卷的查询逻辑
- 防止多个受理单重复绑定同一钢卷的问题
- 通过 NOT EXISTS 子查询优化钢卷查询性能
This commit is contained in:
2026-06-21 14:23:55 +08:00
parent f068daba0b
commit ca094574f5
2 changed files with 10 additions and 0 deletions

View File

@@ -421,5 +421,11 @@ public class WmsMaterialCoilBo extends BaseEntity {
// 异常报表导出格式
@TableField(exist = false)
private Integer abnormalExportCount;
/**
* 是否排除已受理的钢卷true=列表不返回已受理钢卷)
*/
@TableField(exist = false)
private Boolean excludeAccepted;
}

View File

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