修复库存分布问题
This commit is contained in:
@@ -72,17 +72,9 @@ public class WmsStockServiceImpl implements IWmsStockService {
|
|||||||
private QueryWrapper<WmsStock> buildQueryWrapperPlus(WmsStockBo bo) { // 注意:这里改用 QueryWrapper 而非 LambdaQueryWrapper
|
private QueryWrapper<WmsStock> buildQueryWrapperPlus(WmsStockBo bo) { // 注意:这里改用 QueryWrapper 而非 LambdaQueryWrapper
|
||||||
QueryWrapper<WmsStock> qw = Wrappers.query(); // 使用普通 QueryWrapper
|
QueryWrapper<WmsStock> qw = Wrappers.query(); // 使用普通 QueryWrapper
|
||||||
|
|
||||||
// 使用 select 添加聚合字段
|
// 固定条件:未删除的现存数据
|
||||||
qw.select(
|
qw.eq("mc.del_flag", 0);
|
||||||
"mc.warehouse_id AS warehouseId",
|
qw.eq("mc.data_type", 1);
|
||||||
"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"
|
|
||||||
);
|
|
||||||
|
|
||||||
// 处理仓库ID查询,支持递归查询子节点
|
// 处理仓库ID查询,支持递归查询子节点
|
||||||
if (bo.getWarehouseId() != null) {
|
if (bo.getWarehouseId() != null) {
|
||||||
|
|||||||
@@ -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 = 'product' THEN p.product_code
|
||||||
WHEN mc.item_type = 'raw_material' THEN r.raw_material_code
|
WHEN mc.item_type = 'raw_material' THEN r.raw_material_code
|
||||||
ELSE NULL
|
ELSE NULL
|
||||||
END AS itemCode
|
END AS itemCode,
|
||||||
${ew.customSqlSegment}
|
COUNT(*) AS totalQuantity,
|
||||||
|
SUM(CASE WHEN mc.status = 1 THEN 1 ELSE 0 END) AS onTheWay
|
||||||
FROM wms_material_coil mc
|
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_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_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
|
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}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 按仓库统计库存分布 -->
|
<!-- 按仓库统计库存分布 -->
|
||||||
|
|||||||
Reference in New Issue
Block a user