liding
2026-03-20 d5b6dcdeb9980b7b4cdafdc6324efc7b791c3357
src/main/resources/mapper/consumables/ConsumablesInventoryMapper.xml
@@ -85,7 +85,7 @@
        select
        product_model_id,
        sum(net_weight) as total_net_weight
        from Consumables_in_record
        from consumables_in_record
        group by product_model_id
        ) sir on si.product_model_id = sir.product_model_id
        -- 出库净重
@@ -93,7 +93,7 @@
        select
        product_model_id,
        sum(net_weight) as total_net_weight
        from Consumables_out_record
        from consumables_out_record
        group by product_model_id
        ) sor on si.product_model_id = sor.product_model_id
@@ -110,6 +110,8 @@
    <select id="listConsumablesInventoryExportData" resultType="com.ruoyi.consumables.execl.ConsumablesInventoryExportData">
        select si.qualitity,
        -- 当前净重 = 入库净重 - 出库净重
        (COALESCE(sir.total_net_weight,0) - COALESCE(sor.total_net_weight,0)) as net_weight,
        pm.model,
        pm.unit,
        p.product_name,
@@ -120,6 +122,21 @@
        from consumables_inventory si
        left join product_model pm on si.product_model_id = pm.id
        left join product p on pm.product_id = p.id
        left join (
        select
        product_model_id,
        sum(net_weight) as total_net_weight
        from consumables_in_record
        group by product_model_id
        ) sir on si.product_model_id = sir.product_model_id
        -- 出库净重
        left join (
        select
        product_model_id,
        sum(net_weight) as total_net_weight
        from consumables_out_record
        group by product_model_id
        ) sor on si.product_model_id = sor.product_model_id
        where 1 = 1
        <if test="ew.productName != null and ew.productName !=''">
            and p.product_name like concat('%',#{ew.productName},'%')
@@ -129,7 +146,7 @@
    <select id="consumablesInventoryPage" resultType="com.ruoyi.consumables.dto.ConsumablesInRecordDto">
        select
        sir.*,
        si.qualitity as current_consumables,
        si.qualitity as current_stock,
        pm.model,
        pm.unit,
        p.product_name,
@@ -138,7 +155,7 @@
        -- 当前净重 = 入库净重 - 出库净重
        IFNULL(inWeight.total_in_weight,0) - IFNULL(outWeight.total_out_weight,0) as current_weight
        from Consumables_in_record sir
        from consumables_in_record sir
        left join consumables_inventory si
        on sir.product_model_id = si.product_model_id
@@ -157,7 +174,7 @@
        select
        product_model_id,
        sum(net_weight) as total_in_weight
        from Consumables_in_record
        from consumables_in_record
        group by product_model_id
        ) inWeight
        on sir.product_model_id = inWeight.product_model_id
@@ -167,7 +184,7 @@
        select
        product_model_id,
        sum(net_weight) as total_out_weight
        from Consumables_out_record
        from consumables_out_record
        group by product_model_id
        ) outWeight
        on sir.product_model_id = outWeight.product_model_id
@@ -191,9 +208,10 @@
        pm.model,
        pm.unit,
        p.product_name,
        MAX(current_inventory) as current_consumables,
        SUM(CASE WHEN record_type = 'in' THEN amount ELSE 0 END) as total_Consumables_in,
        SUM(CASE WHEN record_type = 'out' THEN amount ELSE 0 END) as total_Consumables_out
        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,
        (COALESCE(in_weight.total_net_weight, 0) - COALESCE(out_weight.total_net_weight, 0)) AS current_weight
        FROM (
        SELECT
        product_model_id,
@@ -208,16 +226,16 @@
        SELECT
        product_model_id,
        0 as current_inventory,
        SUM(Consumables_in_num) as amount,
        SUM(stock_in_num) as amount,
        'in' as record_type
        FROM Consumables_in_record
        FROM consumables_in_record
        <where>
            type = 0
            <if test="ew.startMonth != null">
                and Consumables_in_record.create_time &gt;= #{ew.startMonth}
                and consumables_in_record.create_time &gt;= #{ew.startMonth}
            </if>
            <if test="ew.endMonth != null">
                and Consumables_in_record.create_time &lt;= #{ew.endMonth}
                and consumables_in_record.create_time &lt;= #{ew.endMonth}
            </if>
        </where>
        GROUP BY product_model_id
@@ -227,20 +245,54 @@
        SELECT
        product_model_id,
        0 as current_inventory,
        SUM(Consumables_out_num) as amount,
        SUM(stock_out_num) as amount,
        'out' as record_type
        FROM Consumables_out_record
        FROM consumables_out_record
        <where>
            type = 0
            <if test="ew.startMonth != null">
                and Consumables_out_record.create_time &gt;= #{ew.startMonth}
                and consumables_out_record.create_time &gt;= #{ew.startMonth}
            </if>
            <if test="ew.endMonth != null">
                and Consumables_out_record.create_time &lt;= #{ew.endMonth}
                and consumables_out_record.create_time &lt;= #{ew.endMonth}
            </if>
        </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>
@@ -283,7 +335,7 @@
    <select id="selectDailyConsumablesInCounts" resultType="java.util.Map">
        SELECT DATE(sir.create_time) AS date,
               SUM(sir.Consumables_in_num) AS count
               SUM(sir.stock_in_num) AS count
        FROM consumables_in_record sir
                 JOIN product_model pm ON sir.product_model_id = pm.id
                 JOIN product p ON pm.product_id = p.id
@@ -296,7 +348,7 @@
    <select id="selectDailyConsumablesOutCounts" resultType="java.util.Map">
        SELECT DATE(sor.create_time)  AS date,
               SUM(sor.Consumables_out_num) AS count
               SUM(sor.stock_out_num) AS count
        FROM consumables_out_record sor
                 JOIN product_model pm ON sor.product_model_id = pm.id
                 JOIN product p ON pm.product_id = p.id