feat(coil): 添加钢卷查询排除已受理功能
- 在 WmsMaterialCoilBo 中新增 excludeAccepted 字段用于控制是否排除已受理钢卷 - 在 WmsMaterialCoilServiceImpl 中实现排除已受理钢卷的查询逻辑 - 防止多个受理单重复绑定同一钢卷的问题 - 通过 NOT EXISTS 子查询优化钢卷查询性能
This commit is contained in:
@@ -421,5 +421,11 @@ public class WmsMaterialCoilBo extends BaseEntity {
|
||||
// 异常报表导出格式
|
||||
@TableField(exist = false)
|
||||
private Integer abnormalExportCount;
|
||||
|
||||
/**
|
||||
* 是否排除已受理的钢卷(true=列表不返回已受理钢卷)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Boolean excludeAccepted;
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user