diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java index 936bc0f8..165952f3 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java @@ -72,17 +72,9 @@ public class WmsStockServiceImpl implements IWmsStockService { private QueryWrapper buildQueryWrapperPlus(WmsStockBo bo) { // 注意:这里改用 QueryWrapper 而非 LambdaQueryWrapper QueryWrapper qw = Wrappers.query(); // 使用普通 QueryWrapper - // 使用 select 添加聚合字段 - qw.select( - "mc.warehouse_id AS warehouseId", - "mc.item_type AS itemType", - "mc.item_id AS itemId", - "w.warehouse_name AS warehouseName", - "CASE WHEN mc.item_type = 'product' THEN p.product_name WHEN mc.item_type = 'raw_material' THEN r.raw_material_name ELSE NULL END AS itemName", - "CASE WHEN mc.item_type = 'product' THEN p.product_code WHEN mc.item_type = 'raw_material' THEN r.raw_material_code ELSE NULL END AS itemCode", - "COUNT(*) AS totalQuantity", - "SUM(CASE WHEN mc.status = 1 THEN 1 ELSE 0 END) AS onTheWay" - ); + // 固定条件:未删除的现存数据 + qw.eq("mc.del_flag", 0); + qw.eq("mc.data_type", 1); // 处理仓库ID查询,支持递归查询子节点 if (bo.getWarehouseId() != null) { diff --git a/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml index 09c33838..21aa46e1 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml @@ -39,13 +39,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN mc.item_type = 'product' THEN p.product_code WHEN mc.item_type = 'raw_material' THEN r.raw_material_code ELSE NULL - END AS itemCode - ${ew.customSqlSegment} + END AS itemCode, + COUNT(*) AS totalQuantity, + SUM(CASE WHEN mc.status = 1 THEN 1 ELSE 0 END) AS onTheWay FROM wms_material_coil mc LEFT JOIN wms_warehouse w ON mc.warehouse_id = w.warehouse_id AND w.del_flag = 0 LEFT JOIN wms_product p ON mc.item_type = 'product' AND mc.item_id = p.product_id AND p.del_flag = 0 LEFT JOIN wms_raw_material r ON mc.item_type = 'raw_material' AND mc.item_id = r.raw_material_id AND r.del_flag = 0 - WHERE mc.del_flag = 0 AND mc.data_type = 1 + ${ew.customSqlSegment}