liyong
10 小时以前 66e910032e4ef806749d958fa15cf3368d411ccd
src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -31,6 +31,15 @@
            <if test="ew.lockedQuantity != null and ew.lockedQuantity !=''">
                locked_quantity = locked_quantity + #{ew.lockedQuantity},
            </if>
            <if test="ew.warehouseCode != null and ew.warehouseCode !=''">
                warehouse_code = #{ew.warehouseCode},
            </if>
            <if test="ew.warehouseName != null and ew.warehouseName !=''">
                warehouse_name = #{ew.warehouseName},
            </if>
            <if test="ew.productCode != null and ew.productCode !=''">
                product_code = #{ew.productCode},
            </if>
            update_time = now()
        </set>
        where product_model_id = #{ew.productModelId}
@@ -52,8 +61,28 @@
        where product_model_id = #{ew.productModelId} and qualitity >= #{ew.qualitity}
    </update>
    <select id="pagestockInventory" resultType="com.ruoyi.stock.dto.StockInventoryDto">
        WITH RECURSIVE cte AS (
        SELECT id, product_name, parent_id, id AS current_id
        FROM product
        UNION ALL
        SELECT c.id, c.product_name, p.parent_id, p.id
        FROM cte c
        JOIN product p ON c.parent_id = p.id
        ),
        root_map AS (
        SELECT
        c.id,
        p.id AS root_id,
        p.product_name AS root_name
        FROM cte c
        JOIN product p ON c.current_id = p.id
        WHERE p.parent_id IS NULL
        )
        select si.id,
        si.qualitity,
        si.sub_qualitity,
        COALESCE(si.locked_quantity, 0) as locked_quantity,
        si.product_model_id,
        si.create_time,
@@ -63,14 +92,22 @@
        (si.qualitity - COALESCE(si.locked_quantity, 0)) as un_locked_quantity,
        pm.model,
        si.remark,
        si.warehouse_code,
        si.warehouse_name,
        si.product_code,
        pm.unit,
        pm.sub_unit,
        p.product_name
        from stock_inventory si
        left join product_model pm on si.product_model_id = pm.id
        LEFT JOIN root_map rm ON pm.product_id = rm.id
        left join product p on pm.product_id = p.id
        where 1 = 1
        <if test="ew.productName != null and ew.productName !=''">
            and p.product_name like concat('%',#{ew.productName},'%')
        </if>
        <if test="ew.rootName != null and ew.rootName != ''">
            and rm.root_name = #{ew.rootName}
        </if>
    </select>
    <select id="listStockInventoryExportData" resultType="com.ruoyi.stock.execl.StockInventoryExportData">
@@ -199,14 +236,16 @@
    </select>
    <select id="selectStorageProductCountByDate" resultType="int">
        SELECT COUNT(*)
        FROM (SELECT create_time
        SELECT SUM(total_count)
        FROM (SELECT COUNT(*) as total_count
              FROM stock_inventory
              WHERE create_time &gt;= #{startDate}
                AND create_time &lt;= #{endDate}
              UNION ALL
              SELECT create_time
              FROM stock_uninventory) combined
        WHERE create_time &gt;= #{startDate}
          AND create_time &lt;= #{endDate}
              SELECT COUNT(*) as total_count
              FROM stock_uninventory
              WHERE create_time &gt;= #{startDate}
                AND create_time &lt;= #{endDate}) AS combined_counts
    </select>
    <select id="selectDailyStockInCounts" resultType="java.util.Map">