8 天以前 f0efc10af370936b4db47b8428eb1ca4686431f9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.home.mapper.HomeMapper">
 
    <select id="productTurnoverDays" resultType="com.ruoyi.dto.MapDto">
        SELECT p.product_name                                                      AS name,
               DATEDIFF(IFNULL(MAX(sor.create_time), NOW()), MAX(sir.create_time)) AS value
        FROM product p
                 JOIN product_model pm ON p.id = pm.product_id
                 JOIN stock_in_record sir ON pm.id = sir.product_model_id
                 LEFT JOIN stock_out_record sor ON pm.id = sor.product_model_id
        GROUP BY p.id, p.product_name
    </select>
 
    <select id="productTurnoverDaysByDate" resultType="com.ruoyi.dto.MapDto">
        SELECT p.product_name                                                      AS name,
               DATEDIFF(IFNULL(MAX(sor.create_time), NOW()), MAX(sir.create_time)) AS value
        FROM product p
                 JOIN product_model pm ON p.id = pm.product_id
                 JOIN stock_in_record sir ON pm.id = sir.product_model_id
                        AND sir.create_time &gt;= #{startDate}
                        AND sir.create_time &lt;= #{endDate}
                 LEFT JOIN stock_out_record sor ON pm.id = sor.product_model_id
        GROUP BY p.id, p.product_name
    </select>
 
    <select id="selectPurchaseCategoryDistribution" resultType="com.ruoyi.dto.MapDto">
        SELECT p2.product_name   AS name,
               COUNT(DISTINCT slp.id) AS value
        FROM sales_ledger_product slp
                 LEFT JOIN product p ON p.id = slp.product_category
                 LEFT JOIN product p2 ON p2.id = p.parent_id
        WHERE slp.type = 2
          AND p.parent_id IS NOT NULL
        GROUP BY p2.product_name
        ORDER BY value DESC
    </select>
 
</mapper>