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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?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.ProductionOrderPickMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.production.pojo.ProductionOrderPick">
        <id column="id" property="id" />
        <result column="product_model_id" property="productModelId" />
        <result column="quantity" property="quantity" />
        <result column="batch_no" property="batchNo" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="production_order_id" property="productionOrderId" />
        <result column="production_operation_task_id" property="productionOperationTaskId" />
        <result column="remark" property="remark" />
        <result column="create_user" property="createUser" />
        <result column="dept_id" property="deptId" />
        <result column="operation_name" property="operationName" />
        <result column="technology_operation_id" property="technologyOperationId" />
        <result column="demanded_quantity" property="demandedQuantity" />
        <result column="feeding_qty" property="feedingQty" />
        <result column="return_qty" property="returnQty" />
        <result column="actual_qty" property="actualQty" />
        <result column="is_returned" property="returned" />
        <result column="is_bom" property="bom" />
    </resultMap>
 
    <sql id="PickDetailColumns">
        pop.id as id,
        pop.product_model_id as productModelId,
        pop.quantity as quantity,
        pop.quantity as pickQuantity,
        pop.batch_no as batchNo,
        pop.create_time as createTime,
        pop.update_time as updateTime,
        pop.production_order_id as productionOrderId,
        pop.production_operation_task_id as productionOperationTaskId,
        pop.remark as remark,
        pop.technology_operation_id as technologyOperationId,
        pop.demanded_quantity as demandedQuantity,
        pop.feeding_qty as feedingQty,
        pop.return_qty as returnQty,
        pop.actual_qty as actualQty,
        pop.is_returned as returned,
        pop.is_bom as bom,
        coalesce(pop.operation_name, top1.name) as operationName,
        p.product_name as productName,
        pm.model as model,
        pm.unit as unit,
        pot.work_order_no as workOrderNo
    </sql>
 
    <sql id="PickDetailJoins">
        from production_order_pick pop
        left join product_model pm on pop.product_model_id = pm.id
        left join product p on pm.product_id = p.id
        left join technology_operation top1 on pop.technology_operation_id = top1.id
        left join production_operation_task pot on pop.production_operation_task_id = pot.id
    </sql>
 
    <!-- 订单级领料汇总:包含该订单下所有工序的领料记录 -->
    <select id="listPickedDetailByOrderId" resultType="com.ruoyi.production.bean.vo.ProductionOrderPickVo">
        select
        <include refid="PickDetailColumns" />
        <include refid="PickDetailJoins" />
        where pop.production_order_id = #{productionOrderId}
        order by pop.create_time desc, pop.id desc
    </select>
 
    <!-- 工序(工单)级领料记录 -->
    <select id="listPickedDetailByTaskId" resultType="com.ruoyi.production.bean.vo.ProductionOrderPickVo">
        select
        <include refid="PickDetailColumns" />
        <include refid="PickDetailJoins" />
        where pop.production_operation_task_id = #{productionOperationTaskId}
        order by pop.create_time desc, pop.id desc
    </select>
 
</mapper>