feat(wms): 新增钢卷异常数量筛选功能
- 在WmsMaterialCoilBo中添加minAbnormalCount字段用于筛选异常数量 - 修改SQL查询逻辑,关联wms_coil_abnormal表统计异常数量 - 在WmsMaterialCoilServiceImpl中实现基于异常数量的筛选条件 - 更新mapper文件以支持异常数量字段的查询和展示
This commit is contained in:
@@ -155,5 +155,10 @@ public class WmsMaterialCoilBo extends BaseEntity {
|
||||
*/
|
||||
private String packagingRequirement;
|
||||
|
||||
/**
|
||||
* 最小异常数量(用于筛选异常数量 >= 此值的钢卷)
|
||||
*/
|
||||
private Integer minAbnormalCount;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -329,6 +329,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
//根据开始时间和结束时间筛选修改时间
|
||||
qw.ge(bo.getStartTime() != null, "mc.update_time", bo.getStartTime());
|
||||
qw.le(bo.getEndTime() != null, "mc.update_time", bo.getEndTime());
|
||||
//根据异常数量筛选(大于等于指定值)
|
||||
if (bo.getMinAbnormalCount() != null) {
|
||||
qw.apply("COALESCE(ca.abnormal_count, 0) >= {0}", bo.getMinAbnormalCount());
|
||||
}
|
||||
//根据创建时间倒叙
|
||||
qw.orderByDesc("mc.create_time");
|
||||
return qw;
|
||||
|
||||
@@ -121,12 +121,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
WHEN mc.item_type = 'raw_material' THEN rm.raw_material_code
|
||||
WHEN mc.item_type = 'product' THEN p.product_code
|
||||
ELSE NULL
|
||||
END as itemCode
|
||||
END as itemCode,
|
||||
-- 异常数量统计
|
||||
COALESCE(ca.abnormal_count, 0) AS abnormalCount
|
||||
FROM wms_material_coil mc
|
||||
LEFT JOIN wms_warehouse w ON mc.warehouse_id = w.warehouse_id
|
||||
LEFT JOIN wms_actual_warehouse aw ON mc.actual_warehouse_id = aw.actual_warehouse_id
|
||||
LEFT JOIN wms_raw_material rm ON mc.item_type = 'raw_material' AND mc.item_id = rm.raw_material_id
|
||||
LEFT JOIN wms_product p ON mc.item_type = 'product' AND mc.item_id = p.product_id
|
||||
LEFT JOIN (
|
||||
SELECT coil_id, COUNT(*) AS abnormal_count
|
||||
FROM wms_coil_abnormal
|
||||
WHERE del_flag = 0
|
||||
GROUP BY coil_id
|
||||
) ca ON mc.coil_id = ca.coil_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<!-- 查询不同类型的钢卷在不同库区的分布情况 -->
|
||||
|
||||
Reference in New Issue
Block a user