廖井涛
2025-12-01 d111849e6e78ed02a63661e31c81dadd65f53104
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -28,7 +28,9 @@
                            weight,
                            perimeter,
                            monolithic_perimeter,
                            other_columns
                            other_columns,
                            file_name,
                            process_attribute
                          )
        values
        <foreach collection ="orderDetails" item="orderDetail" separator =",">
@@ -55,7 +57,9 @@
            #{orderDetail.weight},
            #{orderDetail.perimeter},
            #{orderDetail.monolithicPerimeter},
            #{orderDetail.otherColumns}
            #{orderDetail.otherColumns},
            #{orderDetail.fileName},
            #{orderDetail.processAttribute}
             )
        </foreach>
    </insert>
@@ -97,6 +101,7 @@
        <result column="levelTwo" property="levelTwo"/>
        <result column="total_thickness" property="totalThickness"/>
        <result column="createTime" property="createTime"/>
        <result column="weights" property="weight"/>
        <result column="order_type" property="order.orderType"/>
        <result column="customer_name" property="order.customerName"/>
@@ -266,10 +271,11 @@
    <select id="getOrderReport" resultMap="orderMap">
        SELECT
            *,
            round(a.weight*a.quantity,2) as weights,
            a.create_time as createTime,
            d.type_name as levelOne,
            e.type_name as levelTwo
        from order_detail as a
        from sd.order_detail as a
        left join sd.`order` as b
            on b.order_id = a.order_id
        left join sd.product as c
@@ -314,13 +320,29 @@
            and a.order_number like concat('%',#{orderDetail.orderNumber},'%')
        </if>
        <if test="orderDetail.width != null and orderDetail.width != ''">
        <if test="orderDetail.width != null and orderDetail.width != '' and model==0">
            and a.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
        </if>
        <if test="orderDetail.height != null and orderDetail.height != ''">
        <if test="orderDetail.height != null and orderDetail.height != '' and model==0 ">
            and a.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
        </if>
        <if test="orderDetail.width != null and orderDetail.width != '' and model==1">
            and a.width >= REGEXP_REPLACE(#{orderDetail.width } - #{scope} ,'\\.0+$','')
            and a.width &lt;= REGEXP_REPLACE(#{orderDetail.width } + #{scope} ,'\\.0+$','')
        </if>
        <if test="orderDetail.height != null and orderDetail.height != '' and model==1 ">
            and a.height > REGEXP_REPLACE(#{orderDetail.height } - #{scope} ,'\\.0+$','')
            and a.height &lt; REGEXP_REPLACE(#{orderDetail.height } + #{scope} ,'\\.0+$','')
        </if>
        <if test="orderDetail.quantity != null and orderDetail.quantity != ''">
            and a.quantity like concat('%',#{orderDetail.quantity},'%')
@@ -552,11 +574,12 @@
    <select id="exportOrderReport"  >
        SELECT
            *,
            round(a.weight*a.quantity,2) as weights,
            b.processing_note as processingNotes,
            a.create_time as createTime,
            d.type_name as level_one,
            e.type_name as level_two
        from order_detail as a
        from sd.order_detail as a
         left join sd.`order` as b
                   on b.order_id = a.order_id
         left join sd.product as c
@@ -566,6 +589,7 @@
         left join sd.basic_glass_type as e
                   on e.type_id = d.belong
        where  date(a.create_time)>=#{dates[0]} and date(a.create_time) &lt;= #{dates[1]} and b.order_review>0
        order by b.order_id desc
    </select>
@@ -587,7 +611,7 @@
        a.edging_type,
        b.pack_type,
        round(sum(a.perimeter),2) as perimeter,
        round(sum(a.weight),2) as weight,
        round(sum(a.weight*a.quantity),2) as weights,
        a.price,
        sum(a.gross_amount ) as gross_amount,
        b.al_type,
@@ -916,7 +940,7 @@
               a.remarks,
               a.bend_radius,
               a.edging_type,
               a.weight,
               round(sum(a.weight*a.quantity),2) as weights,
               a.perimeter,
               a.other_columns,
               a.warehouse_num,
@@ -1046,7 +1070,9 @@
        group by od.product_id,pd.detail
    </select>
    <delete id="deleteOrderFile" >
        delete from sd.order_file where order_id = #{orderId}
    </delete>