liding
2026-03-20 d5b6dcdeb9980b7b4cdafdc6324efc7b791c3357
fix:耗材库存报表查询字段优化
已修改2个文件
40 ■■■■■ 文件已修改
src/main/java/com/ruoyi/consumables/dto/ConsumablesInventoryDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/consumables/ConsumablesInventoryMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/consumables/dto/ConsumablesInventoryDto.java
@@ -68,4 +68,7 @@
    @ApiModelProperty("磅单文件路径")
    private String weighbridgeDocPath;
    @ApiModelProperty("现净重(吨)")
    private BigDecimal currentWeight;
}
src/main/resources/mapper/consumables/ConsumablesInventoryMapper.xml
@@ -210,7 +210,8 @@
        p.product_name,
        MAX(current_inventory) as current_stock,
        SUM(CASE WHEN record_type = 'in' THEN amount ELSE 0 END) as total_stock_in,
        SUM(CASE WHEN record_type = 'out' THEN amount ELSE 0 END) as total_stock_out
        SUM(CASE WHEN record_type = 'out' THEN amount ELSE 0 END) as total_stock_out,
        (COALESCE(in_weight.total_net_weight, 0) - COALESCE(out_weight.total_net_weight, 0)) AS current_weight
        FROM (
        SELECT
        product_model_id,
@@ -258,6 +259,40 @@
        </where>
        GROUP BY product_model_id
        ) combined_data
        -- 左连接入库净重合计
        LEFT JOIN (
        SELECT
        product_model_id,
        SUM(net_weight) AS total_net_weight
        FROM consumables_in_record
        <where>
            type = 0
            <if test="ew.startMonth != null">
                and create_time &gt;= #{ew.startMonth}
            </if>
            <if test="ew.endMonth != null">
                and create_time &lt;= #{ew.endMonth}
            </if>
        </where>
        GROUP BY product_model_id
        ) in_weight ON combined_data.product_model_id = in_weight.product_model_id
        -- 左连接出库净重合计
        LEFT JOIN (
        SELECT
        product_model_id,
        SUM(net_weight) AS total_net_weight
        FROM consumables_out_record
        <where>
            type = 0
            <if test="ew.startMonth != null">
                and create_time &gt;= #{ew.startMonth}
            </if>
            <if test="ew.endMonth != null">
                and create_time &lt;= #{ew.endMonth}
            </if>
        </where>
        GROUP BY product_model_id
        ) out_weight ON combined_data.product_model_id = out_weight.product_model_id
        LEFT JOIN product_model pm ON pm.id = combined_data.product_model_id
        LEFT JOIN product p ON p.id = pm.product_id
        <where>