2026-04-22 30587170535f5a850c59b4a2323b1a311a22aa6a
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?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.production.mapper.ProductionProductOutputMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.production.pojo.ProductionProductOutput">
        <id column="id" property="id" />
        <result column="production_product_main_id" property="productionProductMainId" />
        <result column="product_model_id" property="productModelId" />
        <result column="quantity" property="quantity" />
        <result column="scrap_qty" property="scrapQty" />
        <result column="update_time" property="updateTime" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
        <result column="update_user" property="updateUser" />
    </resultMap>
 
    <select id="listPageProductionProductOutputDto" resultType="com.ruoyi.production.dto.ProductionProductOutputDto">
        select ppo.*,
               ppm.product_no as productNo,
               pm.model
        from production_product_output ppo
                 left join production_product_main ppm on ppo.production_product_main_id = ppm.id
                 left join production_operation_task pot on ppm.production_operation_task_id = pot.id
                 left join production_order po on pot.production_order_id = po.id
                 left join product_model pm on po.product_model_id = pm.id
        <where>
            <if test="c.productNo != null and c.productNo != ''">
                and ppm.product_no like concat('%', #{c.productNo}, '%')
            </if>
            <if test="c.model != null and c.model != ''">
                and pm.model like concat('%', #{c.model}, '%')
            </if>
        </where>
        order by ppo.create_time desc
    </select>
 
    <select id="selectOutputStats" resultType="com.ruoyi.production.dto.ProductionProductOutputDto">
        select id,
               production_product_main_id as productionProductMainId,
               product_model_id as productModelId,
               quantity,
               scrap_qty as scrapQty,
               create_time as createTime
        from production_product_output
        where create_time &gt;= #{startDate}
          and create_time &lt;= #{endDate}
    </select>
 
    <select id="selectDailyOutputStats" resultType="java.util.Map">
        select date(create_time) as statDate,
               sum(ifnull(quantity, 0)) as quantity,
               sum(ifnull(scrap_qty, 0)) as scrapQty
        from production_product_output
        where create_time &gt;= #{startDate}
          and create_time &lt;= #{endDate}
        group by date(create_time)
        order by statDate asc
    </select>
 
</mapper>