From 24b238104698c7ccd90783e2f8688f0c91fb96cf Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Thu, 4 Dec 2025 15:26:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E5=BC=82=E5=B8=B8=E6=95=B0=E9=87=8F=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在WmsMaterialCoilBo中添加minAbnormalCount字段用于筛选异常数量 - 修改SQL查询逻辑,关联wms_coil_abnormal表统计异常数量 - 在WmsMaterialCoilServiceImpl中实现基于异常数量的筛选条件 - 更新mapper文件以支持异常数量字段的查询和展示 --- .../main/java/com/klp/domain/bo/WmsMaterialCoilBo.java | 5 +++++ .../klp/service/impl/WmsMaterialCoilServiceImpl.java | 4 ++++ .../resources/mapper/klp/WmsMaterialCoilMapper.xml | 10 +++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) 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 bf07be34..25488627 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 @@ -155,5 +155,10 @@ public class WmsMaterialCoilBo extends BaseEntity { */ private String packagingRequirement; + /** + * 最小异常数量(用于筛选异常数量 >= 此值的钢卷) + */ + private Integer minAbnormalCount; + } 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 12e30dd9..c6877ecf 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 @@ -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; diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml index 76f88577..09214962 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -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}