gongchunyi
6 天以前 235721b4a24fd6cc5037bba78c60723dcf200741
src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -107,6 +107,7 @@
            MAX(warn_num) as warn_num,
            MAX(version) as version,
            model,
            thickness,
            MAX(remark) as remark,
            unit,
            product_name,
@@ -128,6 +129,7 @@
            si.version,
            (si.qualitity - COALESCE(si.locked_quantity, 0)) as un_locked_quantity,
            pm.model,
            pm.thickness,
            si.remark,
            pm.unit,
            p.product_name,
@@ -153,6 +155,7 @@
            su.version,
            (su.qualitity - COALESCE(su.locked_quantity, 0)) as un_locked_quantity,
            pm.model,
            pm.thickness,
            su.remark,
            pm.unit,
            p.product_name,
@@ -172,7 +175,7 @@
                and combined.product_id in (select id from product_tree)
            </if>
        </where>
        group by product_model_id, model, unit, product_name, product_id
        group by product_model_id, model, thickness, unit, product_name, product_id
    </select>
    <select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockInventoryExportData">
        WITH RECURSIVE product_tree AS (
@@ -192,6 +195,7 @@
            SUM(qualifiedLockedQuantity) as qualifiedLockedQuantity,
            SUM(unQualifiedLockedQuantity) as unQualifiedLockedQuantity,
            model,
            thickness,
            unit,
            product_name,
            MAX(warn_num) as warn_num,
@@ -209,6 +213,7 @@
            COALESCE(si.warn_num, 0) as warn_num,
            si.remark,
            pm.model,
            pm.thickness,
            pm.unit,
            p.product_name,
            p.id as product_id
@@ -229,6 +234,7 @@
            0 as warn_num,
            su.remark,
            pm.model,
            pm.thickness,
            pm.unit,
            p.product_name,
            p.id as product_id
@@ -247,8 +253,9 @@
                and combined.product_id in (select id from product_tree)
            </if>
        </where>
        group by product_model_id, model, unit, product_name
        group by product_model_id, model, thickness, unit, product_name
    </select>
    <select id="stockInventoryPage" resultType="com.ruoyi.stock.dto.StockInRecordDto">
        select sir.*,si.qualitity as current_stock,
        pm.model,
@@ -373,12 +380,19 @@
    </select>
    <select id="selectDailyStockInCounts" resultType="java.util.Map">
        WITH RECURSIVE product_subtree AS (
            SELECT id FROM product WHERE id = #{rootCategoryId}
            UNION ALL
            SELECT pr.id
            FROM product pr
                     INNER JOIN product_subtree ps ON pr.parent_id = ps.id
        )
        SELECT DATE(sir.create_time) AS date,
               SUM(sir.stock_in_num) AS count
        FROM stock_in_record sir
                 JOIN product_model pm ON sir.product_model_id = pm.id
                 JOIN product p ON pm.product_id = p.id
        WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId})
        WHERE p.id IN (SELECT id FROM product_subtree)
          AND sir.create_time &gt;= #{startDate}
          AND sir.create_time &lt;= #{endDate}
        GROUP BY DATE(sir.create_time)
@@ -386,12 +400,19 @@
    </select>
    <select id="selectDailyStockOutCounts" resultType="java.util.Map">
        WITH RECURSIVE product_subtree AS (
            SELECT id FROM product WHERE id = #{rootCategoryId}
            UNION ALL
            SELECT pr.id
            FROM product pr
                     INNER JOIN product_subtree ps ON pr.parent_id = ps.id
        )
        SELECT DATE(sor.create_time)  AS date,
               SUM(sor.stock_out_num) AS count
        FROM stock_out_record sor
                 JOIN product_model pm ON sor.product_model_id = pm.id
                 JOIN product p ON pm.product_id = p.id
        WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId})
        WHERE p.id IN (SELECT id FROM product_subtree)
          AND sor.create_time &gt;= #{startDate}
          AND sor.create_time &lt;= #{endDate}
        GROUP BY DATE(sor.create_time)