chenlu
2024-04-09 034f66c1861761fea6cf553ff4ff2c9fd564b763
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?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.example.erp.mapper.sd.OrderDetailMapper">
    <insert id="insertBatch" parameterType="java.util.List">
        INSERT INTO
            order_detail (order_id,
                            order_number,
                            building_number,
                            product_id,
                            product_name,
                            price,
                            quantity,
                            gross_amount,
                            width,
                            height,
                            shape,
                            area,
                            gross_area,
                            compute_area,
                            compute_gross_area,
                            processing_note,
                            remarks,
                            bend_radius,
                            edging_type,
                            weight,
                            perimeter
                          )
        values
        <foreach collection ="orderDetails" item="orderDetail" separator =",">
            (#{orderDetail.orderId},
            #{orderDetail.orderNumber},
            #{orderDetail.buildingNumber},
            #{orderDetail.productId},
            #{orderDetail.productName},
            #{orderDetail.price},
            #{orderDetail.quantity},
            #{orderDetail.grossAmount},
            #{orderDetail.width},
            #{orderDetail.height},
            #{orderDetail.shape},
            #{orderDetail.area},
            #{orderDetail.grossArea},
            #{orderDetail.computeArea},
            #{orderDetail.computeGrossArea},
            #{orderDetail.processingNote},
            #{orderDetail.remarks},
            #{orderDetail.bendRadius},
            #{orderDetail.edgingType},
            #{orderDetail.weight},
            #{orderDetail.perimeter}
             )
        </foreach>
    </insert>
    
    <update id="updateOrderMoney" parameterType="java.util.List">
        <foreach collection="orderDetails"  item="item" index="index" open="" close="" separator=";">
            update order_detail as a
            set
                a.price = #{item.price},
                a.gross_amount = #{item.grossAmount}
            where
                a.order_id = #{item.orderId} and
                a.order_number =  #{item.orderNumber}
 
        </foreach>
 
    </update>
 
    <resultMap id="orderMap" type="com.example.erp.entity.sd.OrderDetail">
        <result column="order_number" property="orderNumber"/>
 
        <result column="order_number" property="productId"/>
        <result column="order_number" property="productName"/>
        <result column="order_number" property="width"/>
        <result column="order_number" property="height"/>
        <result column="order_number" property="quantity"/>
        <result column="order_number" property="bendRadius"/>
        <result column="order_number" property="grossArea"/>
        <result column="order_number" property="computeGrossArea"/>
        <result column="order_number" property="shape"/>
        <result column="order_number" property="edgingType"/>
        <result column="order_number" property="processingNote"/>
        <result column="order_number" property="remarks"/>
        <result column="order_number" property="perimeter"/>
        <result column="order_number" property="grossAmount"/>
 
        <association property="order" javaType="com.example.erp.entity.sd.Order">
            <result column="order_type" property="orderType"/>
 
            <result column="customer_name" property="customerName"/>
            <result column="project" property="project"/>
            <result column="order_id" property="orderId"/>
            <result column="batch" property="batch"/>
            <result column="processing_note" property="processingNote"/>
            <result column="icon" property="icon"/>
            <result column="packType" property="packType"/>
            <result column="salesman" property="salesman"/>
            <result column="delivery_address" property="deliveryAddress"/>
            <result column="creator" property="creator"/>
            <result column="verifier" property="verifier"/>
            <result column="customer_batch" property="customerBatch"/>
 
 
        </association>
 
    </resultMap>
 
 
    <select id="getOrderReport" resultMap="orderMap">
        SELECT
            *
        from order_detail as a
        left join sd.`order` as b
            on b.order_id = a.order_id
        where  date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate}
        limit #{offset},#{pageSize}
 
    </select>
 
</mapper>