chenlu
2025-07-15 6bbcdd0d1beeca74251f63ea42b9ee8349e97902
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -97,6 +97,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"/>
@@ -258,7 +259,7 @@
    <select id="exportOrderSummary"  >
        SELECT *
        from sd.`order` as b
        where  date(b.create_time)>=#{dates[0]} and date(b.create_time) &lt;= #{dates[1]} and b.create_order>0
        where  date(b.create_time)>=#{dates[0]} and date(b.create_time) &lt;= #{dates[1]} and b.order_review>0
        order by b.id desc
    </select>
@@ -266,10 +267,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 +316,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 +570,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
@@ -565,7 +584,8 @@
                   on d.type_id = c.type_id
         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.create_order>0
        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,6 +607,7 @@
        a.edging_type,
        b.pack_type,
        round(sum(a.perimeter),2) as perimeter,
        round(sum(a.weight*a.quantity),2) as weights,
        a.price,
        sum(a.gross_amount ) as gross_amount,
        b.al_type,
@@ -915,7 +936,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,
@@ -978,7 +999,7 @@
                 left join sd.basic_glass_type as e
                           on e.type_id = d.belong
        where date(b.create_time) >= #{dates[0]}
          and date(b.create_time) &lt;= #{dates[1]} and b.create_order>0
          and date(b.create_time) &lt;= #{dates[1]} and b.order_review>0
        group by b.order_id, a.product_id
        order by b.order_id desc
    </select>
@@ -1005,8 +1026,9 @@
            (a.product_id) as 'productId',
                    a.product_name as 'productName',
                    p.remarks as 'remarks',
                    a.order_number as 'orderNumber'
        from order_detail as a
        from order_detail as a left join sd.product p on a.product_id=p.id
        where a.order_id = #{orderId}
        group by a.product_id
    </select>
@@ -1016,8 +1038,9 @@
        (a.product_id) as 'productId',
        a.product_name as 'productName',
        p.remarks as 'remarks',
        a.order_number as 'orderNumber'
        from order_detail as a
        from sd.order_detail as a left join sd.product p on a.product_id=p.id
        where a.order_id = #{orderId} and a.product_id IN
        <foreach item="item" index="index" collection="productId" open="(" separator="," close=")">
            #{item}