liding
2026-05-20 4d99e718536ac77dff26dde8da7a59cdc9b52de8
src/main/resources/mapper/stock/StockInRecordMapper.xml
@@ -3,6 +3,17 @@
<mapper namespace="com.ruoyi.stock.mapper.StockInRecordMapper">
    <select id="listPage" resultType="com.ruoyi.stock.dto.StockInRecordDto">
        WITH RECURSIVE product_tree AS (
        SELECT id
        FROM product
        WHERE id = #{params.topParentProductId}
        UNION ALL
        SELECT p.id
        FROM product p
        INNER JOIN product_tree pt ON p.parent_id = pt.id
        )
        SELECT
        sir.*,
        p.product_name AS product_name,
@@ -17,7 +28,6 @@
        LEFT JOIN product p2 ON p.parent_id = p2.id
        LEFT JOIN sys_user AS u ON sir.create_user = u.user_id
        <where>
            AND p2.product_name != '半成品'
            <if test="params.timeStr != null and params.timeStr != ''">
                AND sir.create_time LIKE CONCAT('%', #{params.timeStr}, '%')
            </if>
@@ -30,11 +40,31 @@
            <if test="params.recordType != null and params.recordType != ''">
                AND sir.record_type = #{params.recordType}
            </if>
            <if test="params.processCategory != null and params.processCategory != ''">
                AND sir.process_category = #{params.processCategory}
            </if>
            <if test="params.voltage != null and params.voltage != ''">
                AND sir.voltage = #{params.voltage}
            </if>
            <if test="params.topParentProductId != null and params.topParentProductId > 0">
                AND p.id in (select id from product_tree)
            </if>
        </where>
        ORDER BY
        sir.id DESC
    </select>
    <select id="listStockInRecordExportData" resultType="com.ruoyi.stock.execl.StockInRecordExportData">
        WITH RECURSIVE product_tree AS (
        SELECT id
        FROM product
        WHERE id = #{params.topParentProductId}
        UNION ALL
        SELECT p.id
        FROM product p
        INNER JOIN product_tree pt ON p.parent_id = pt.id
        )
        SELECT
        sir.*,
        p.product_name as product_name,
@@ -58,6 +88,15 @@
            </if>
            <if test="params.recordType != null and params.recordType != ''">
                and sir.record_type = #{params.recordType}
            </if>
            <if test="params.processCategory != null and params.processCategory != ''">
                and sir.process_category = #{params.processCategory}
            </if>
            <if test="params.voltage != null and params.voltage != ''">
                and sir.voltage = #{params.voltage}
            </if>
            <if test="params.topParentProductId != null and params.topParentProductId > 0">
                and p.id in (select id from product_tree)
            </if>
        </where>
        order by sir.id desc
@@ -86,4 +125,4 @@
        ORDER BY
            sir.id DESC
    </select>
</mapper>
</mapper>