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 d56334ea..bf74adc7 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 @@ -372,5 +372,11 @@ public class WmsMaterialCoilBo extends BaseEntity { */ @TableField(exist = false) private Boolean exportTimeBy; + + /** + * 是否只查询打包状态为空的钢卷(true=只查询packing_status为NULL或空字符串的钢卷) + */ + @TableField(exist = false) + private Boolean onlyEmptyPackingStatus; } 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 61fa275a..c130a850 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 @@ -858,6 +858,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { qw.in("mc.create_by", createByList); } } + // 只查询打包状态为空的钢卷 + if (Boolean.TRUE.equals(bo.getOnlyEmptyPackingStatus())) { + qw.and(w -> w.isNull("mc.packing_status").or().eq("mc.packing_status", "")); + } //根据异常数量筛选(大于等于指定值) if (bo.getMinAbnormalCount() != null) { qw.apply("COALESCE(ca.abnormal_count, 0) >= {0}", bo.getMinAbnormalCount()); diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml index d15776d8..82fec970 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -1041,6 +1041,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM wms_material_coil mc WHERE mc.del_flag = 0 AND mc.enter_coil_no IS NOT NULL + AND mc.packing_status IS NOT NULL AND mc.enter_coil_no IN ( SELECT DISTINCT mci.enter_coil_no FROM wms_material_coil mci @@ -1049,18 +1050,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND mci.item_id IS NOT NULL AND (mci.item_type = 'raw_material' AND rm.raw_material_name LIKE '%热轧卷板%') ) - AND ( - mc.packing_status IS NULL - OR - EXISTS ( + AND EXISTS ( SELECT 1 FROM wms_material_coil mci2 LEFT JOIN wms_raw_material rm2 ON mci2.item_type = 'raw_material' AND mci2.item_id = rm2.raw_material_id AND rm2.del_flag = 0 WHERE mci2.del_flag = 0 AND mci2.enter_coil_no = mc.enter_coil_no - AND (mci2.item_type = 'raw_material' AND rm2.raw_material_name LIKE '%热轧卷板%' AND (mc.packing_status != rm2.material OR rm2.material IS NULL)) + AND mci2.item_type = 'raw_material' + AND rm2.raw_material_name LIKE '%热轧卷板%' + AND ( + rm2.material IS NULL + OR ( + mc.packing_status NOT LIKE CONCAT(rm2.material, '%') + AND rm2.material NOT LIKE CONCAT(mc.packing_status, '%') + ) + ) ) - )