chenlu
2024-10-11 82a5de6d2ec80b45660149c84be28734032562f6
north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -63,7 +63,8 @@
            update order_detail as a
            set
                a.price = #{item.price},
                a.gross_amount = #{item.grossAmount}
                a.gross_amount = #{item.grossAmount},
                a.other_columns = #{item.otherColumns}
            where
                a.order_id = #{item.orderId} and
                a.order_number =  #{item.orderNumber}
@@ -113,6 +114,153 @@
    </resultMap>
    <select id="getOrderSummaryReport" >
        SELECT
        *
        from  sd.`order` as b
        where  date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate} and b.create_order>0
        <if test="order.orderType != null and order.orderType != ''">
            and b.order_type like concat('%',#{order.orderType},'%')
        </if>
        <if test="order.customerId != null and order.customerId != ''">
            and b.customer_id like concat('%',#{order.customerId},'%')
        </if>
        <if test="order.customerName != null and order.customerName != ''">
            and b.customer_name like concat('%',#{order.customerName},'%')
        </if>
        <if test="order.project != null and order.project != ''">
            and b.project like concat('%',#{order.project},'%')
        </if>
        <if test="order.orderId != null and order.orderId != ''">
            and b.order_id like concat('%',#{order.orderId},'%')
        </if>
        <if test="order.batch != null and order.batch != ''">
            and b.batch like concat('%',#{order.batch},'%')
        </if>
        <if test="order.icon != null and order.icon != ''">
            and b.icon like concat('%',#{order.icon},'%')
        </if>
        <if test="order.packType != null and order.packType != ''">
            and b.pack_type like concat('%',#{order.packType},'%')
        </if>
        <if test="order.alType != null and order.alType != ''">
            and b.al_type like concat('%',#{order.alType},'%')
        </if>
        <if test="order.salesman != null and order.salesman != ''">
            and b.salesman like concat('%',#{order.salesman},'%')
        </if>
        <if test="order.deliveryAddress != null and order.deliveryAddress != ''">
            and b.delivery_address like concat('%',#{order.deliveryAddress},'%')
        </if>
        <if test="order.creator != null and order.creator != ''">
            and b.creator like concat('%',#{order.creator},'%')
        </if>
        <if test="order.otherMoney != null and order.otherMoney != ''">
            and b.other_money regexp REGEXP_REPLACE(#{order.otherMoney},'\\.0+$','')
        </if>
        <if test="order.quantity != null ">
            and b.quantity like concat('%',#{order.quantity},'%')
        </if>
        <if test="order.money != null ">
            and b.money  regexp REGEXP_REPLACE(#{order.money},'\\.0+$','')
        </if>
        <if test="order.perimeter != null and order.perimeter != ''">
            and b.perimeter regexp REGEXP_REPLACE(#{order.perimeter},'\\.0+$','')
        </if>
        <if test="order.processingNote != null and order.processingNote != ''">
            and b.processing_note like concat('%',#{order.processingNote},'%')
        </if>
        <if test="order.area != null and order.area != ''">
            and b.area regexp REGEXP_REPLACE(#{order.area},'\\.0+$','')
        </if>
        order by b.id desc
        limit #{offset},#{pageSize}
    </select>
    <select id="getOrderSummaryReportTotal" >
        SELECT
        CEILING(count(b.id)/#{pageSize}) as 'pageTotal',
        count(b.id) as 'total'
        from  sd.`order` as b
        where  date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate} and b.create_order>0
        <if test="order.orderType != null and order.orderType != ''">
            and b.order_type like concat('%',#{order.orderType},'%')
        </if>
        <if test="order.customerId != null and order.customerId != ''">
            and b.customer_id like concat('%',#{order.customerId},'%')
        </if>
        <if test="order.customerName != null and order.customerName != ''">
            and b.customer_name like concat('%',#{order.customerName},'%')
        </if>
        <if test="order.project != null and order.project != ''">
            and b.project like concat('%',#{order.project},'%')
        </if>
        <if test="order.orderId != null and order.orderId != ''">
            and b.order_id like concat('%',#{order.orderId},'%')
        </if>
        <if test="order.batch != null and order.batch != ''">
            and b.batch like concat('%',#{order.batch},'%')
        </if>
        <if test="order.icon != null and order.icon != ''">
            and b.icon like concat('%',#{order.icon},'%')
        </if>
        <if test="order.packType != null and order.packType != ''">
            and b.pack_type like concat('%',#{order.packType},'%')
        </if>
        <if test="order.alType != null and order.alType != ''">
            and b.al_type like concat('%',#{order.alType},'%')
        </if>
        <if test="order.salesman != null and order.salesman != ''">
            and b.salesman like concat('%',#{order.salesman},'%')
        </if>
        <if test="order.deliveryAddress != null and order.deliveryAddress != ''">
            and b.delivery_address like concat('%',#{order.deliveryAddress},'%')
        </if>
        <if test="order.creator != null and order.creator != ''">
            and b.creator like concat('%',#{order.creator},'%')
        </if>
        <if test="order.otherMoney != null and order.otherMoney != ''">
            and b.other_money regexp REGEXP_REPLACE(#{order.otherMoney},'\\.0+$','')
        </if>
        <if test="order.quantity != null ">
            and b.quantity like concat('%',#{order.quantity},'%')
        </if>
        <if test="order.money != null ">
            and b.money  regexp REGEXP_REPLACE(#{order.money},'\\.0+$','')
        </if>
        <if test="order.perimeter != null and order.perimeter != ''">
            and b.perimeter regexp REGEXP_REPLACE(#{order.perimeter},'\\.0+$','')
        </if>
        <if test="order.processingNote != null and order.processingNote != ''">
            and b.processing_note like concat('%',#{order.processingNote},'%')
        </if>
        <if test="order.area != null and order.area != ''">
            and b.area regexp REGEXP_REPLACE(#{order.area},'\\.0+$','')
        </if>
    </select>
    <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
        order by b.id desc
    </select>
    <select id="getOrderReport" resultMap="orderMap">
        SELECT
            *,
@@ -128,7 +276,7 @@
            on d.type_id = c.type_id
        left join sd.basic_glass_type as e
            on e.type_id = d.belong
        where  date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate}
        where  date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate} and b.create_order>0
        <if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
            and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
@@ -165,11 +313,11 @@
        </if>
        <if test="orderDetail.width != null and orderDetail.width != ''">
            and a.width like concat('%',#{orderDetail.width},'%')
            and a.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
        </if>
        <if test="orderDetail.height != null and orderDetail.height != ''">
            and a.height like concat('%',#{orderDetail.height},'%')
            and a.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
        </if>
        <if test="orderDetail.quantity != null and orderDetail.quantity != ''">
@@ -181,11 +329,11 @@
        </if>
        <if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
            and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
            and a.gross_area regexp REGEXP_REPLACE(#{orderDetail},'\\.0+$','')
        </if>
        <if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
            and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
            and a.compute_gross_area regexp REGEXP_REPLACE(#{orderDetail.computeGrossArea},'\\.0+$','')
        </if>
        <if test="orderDetail.shape != null and orderDetail.shape != ''">
@@ -221,7 +369,7 @@
        </if>
        <if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
            and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
            and a.gross_amount regexp REGEXP_REPLACE(#{orderDetail.grossAmount},'\\.0+$','')
        </if>
        <if test="orderDetail.order!=null and  orderDetail.order.alType != null and orderDetail.order.alType != ''">
@@ -271,7 +419,7 @@
                           on d.type_id = c.type_id
                 left join sd.basic_glass_type as e
                           on e.type_id = d.belong
        where  date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate}
        where  date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate} and b.create_order>0
        <if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
            and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
        </if>
@@ -307,11 +455,11 @@
        </if>
        <if test="orderDetail.width != null and orderDetail.width != ''">
            and a.width like concat('%',#{orderDetail.width},'%')
            and a.width regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
        </if>
        <if test="orderDetail.height != null and orderDetail.height != ''">
            and a.height like concat('%',#{orderDetail.height},'%')
            and a.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
        </if>
        <if test="orderDetail.quantity != null and orderDetail.quantity != ''">
@@ -323,11 +471,11 @@
        </if>
        <if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
            and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
            and a.gross_area regexp REGEXP_REPLACE(#{orderDetail},'\\.0+$','')
        </if>
        <if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
            and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
            and a.compute_gross_area regexp REGEXP_REPLACE(#{orderDetail.computeGrossArea},'\\.0+$','')
        </if>
        <if test="orderDetail.shape != null and orderDetail.shape != ''">
@@ -363,7 +511,7 @@
        </if>
        <if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
            and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
            and a.gross_amount regexp REGEXP_REPLACE(#{orderDetail.grossAmount},'\\.0+$','')
        </if>
        <if test="orderDetail.order!=null and  orderDetail.order.alType != null and orderDetail.order.alType != ''">
@@ -402,6 +550,7 @@
    <select id="exportOrderReport"  >
        SELECT
            *,
            b.processing_note as processingNotes,
            a.create_time as createTime,
            d.type_name as level_one,
            e.type_name as level_two
@@ -414,7 +563,7 @@
                   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]}
        where  date(a.create_time)>=#{dates[0]} and date(a.create_time) &lt;= #{dates[1]} and b.create_order>0
    </select>
@@ -461,7 +610,7 @@
        on d.type_id = c.type_id
        left join sd.basic_glass_type as e
        on e.type_id = d.belong
        where  date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate}
        where  date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate} and b.create_order>0
        <if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
            and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
@@ -498,11 +647,11 @@
        </if>
        <if test="orderDetail.width != null and orderDetail.width != ''">
            and a.width like concat('%',#{orderDetail.width},'%')
            and a.width  regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
        </if>
        <if test="orderDetail.height != null and orderDetail.height != ''">
            and a.height like concat('%',#{orderDetail.height},'%')
            and a.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
        </if>
        <if test="orderDetail.quantity != null and orderDetail.quantity != ''">
@@ -514,11 +663,11 @@
        </if>
        <if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
            and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
            and a.gross_area regexp REGEXP_REPLACE(#{orderDetail.grossArea},'\\.0+$','')
        </if>
        <if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
            and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
            and a.compute_gross_area regexp REGEXP_REPLACE(#{orderDetail.computeGrossArea},'\\.0+$','')
        </if>
        <if test="orderDetail.shape != null and orderDetail.shape != ''">
@@ -554,7 +703,7 @@
        </if>
        <if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
            and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
            and a.gross_amount regexp REGEXP_REPLACE(#{orderDetail.grossAmount},'\\.0+$','')
        </if>
        <if test="orderDetail.order!=null and  orderDetail.order.alType != null and orderDetail.order.alType != ''">
@@ -611,7 +760,7 @@
        on d.type_id = c.type_id
        left join sd.basic_glass_type as e
        on e.type_id = d.belong
        where date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate}
        where date(b.create_time)>=#{startDate} and date(b.create_time) &lt;= #{endDate} and b.create_order>0
        <if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')">
            and b.order_type like concat('%',#{orderDetail.order.orderType},'%')
        </if>
@@ -647,11 +796,11 @@
        </if>
        <if test="orderDetail.width != null and orderDetail.width != ''">
            and a.width like concat('%',#{orderDetail.width},'%')
            and a.width  regexp REGEXP_REPLACE(#{orderDetail.width},'\\.0+$','')
        </if>
        <if test="orderDetail.height != null and orderDetail.height != ''">
            and a.height like concat('%',#{orderDetail.height},'%')
            and a.height regexp REGEXP_REPLACE(#{orderDetail.height},'\\.0+$','')
        </if>
        <if test="orderDetail.quantity != null and orderDetail.quantity != ''">
@@ -663,11 +812,11 @@
        </if>
        <if test="orderDetail.grossArea != null and orderDetail.grossArea != ''">
            and a.gross_area like concat('%',#{orderDetail.grossArea},'%')
            and a.gross_area regexp REGEXP_REPLACE(#{orderDetail.grossArea},'\\.0+$','')
        </if>
        <if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''">
            and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%')
            and a.compute_gross_area regexp REGEXP_REPLACE(#{orderDetail.computeGrossArea},'\\.0+$','')
        </if>
        <if test="orderDetail.shape != null and orderDetail.shape != ''">
@@ -703,7 +852,7 @@
        </if>
        <if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''">
            and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%')
            and a.gross_amount regexp REGEXP_REPLACE(#{orderDetail.grossAmount},'\\.0+$','')
        </if>
        <if test="orderDetail.order!=null and  orderDetail.order.alType != null and orderDetail.order.alType != ''">
@@ -794,7 +943,7 @@
               b.delivery_address,
               b.other_money,
               b.other_money_remarks,
               b.processing_note,
               b.processing_note as processingNotes,
               b.other_remarks,
               b.area,
               b.quantity,
@@ -826,8 +975,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]}
        where date(b.create_time) >= #{dates[0]}
          and date(b.create_time) &lt;= #{dates[1]} and b.create_order>0
        group by b.order_id, a.product_id
        order by b.order_id desc
    </select>