yuan
2026-04-24 6121eaa7f8df0b8bf46d92d36e96991a6f4d23f1
feat(stock): 增加顶级父产品id查询入库、出库记录功能
已修改4个文件
36 ■■■■■ 文件已修改
src/main/java/com/ruoyi/stock/dto/StockInRecordDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/stock/dto/StockOutRecordDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/stock/StockInRecordMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/stock/StockOutRecordMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/stock/dto/StockInRecordDto.java
@@ -1,6 +1,7 @@
package com.ruoyi.stock.dto;
import com.ruoyi.stock.pojo.StockInRecord;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -26,4 +27,7 @@
    //现存量
    private String currentStock;
    @Schema(description = "顶部父产品id")
    private Long topParentProductId;
}
src/main/java/com/ruoyi/stock/dto/StockOutRecordDto.java
@@ -1,6 +1,7 @@
package com.ruoyi.stock.dto;
import com.ruoyi.stock.pojo.StockOutRecord;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -25,4 +26,7 @@
    private String timeStr;
    private String createBy;
    @Schema(description = "顶部父产品id")
    private Long topParentProductId;
}
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,
@@ -26,6 +37,9 @@
            <if test="params.recordType != null and params.recordType != ''">
                and sir.record_type = #{params.recordType}
            </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>
src/main/resources/mapper/stock/StockOutRecordMapper.xml
@@ -18,6 +18,17 @@
    </resultMap>
    <select id="listPage" resultType="com.ruoyi.stock.dto.StockOutRecordDto">
        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
        sor.*,
        p.product_name as productName,
@@ -41,6 +52,9 @@
            <if test="params.recordType != null and params.recordType != ''">
                and sor.record_type = #{params.recordType}
            </if>
            <if test="params.topParentProductId != null and params.topParentProductId > 0">
                and p.id in (select id from product_tree)
            </if>
        </where>
        order by sor.id desc
    </select>