廖井涛
2024-02-22 e4fe69941b2dd4582ec0bd82c32b8dfbc30d85b5
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -9,7 +9,164 @@
        from
            `order` as a
        where
            a.create_time = curdate()
            date(a.create_time) = curdate()
    </select>
    <update id="updateOrderParameter">
        update `order` o
        left join
            (select a.order_id,sum(a.perimeter) as aa,sum(a.quantity) as b,sum(a.compute_gross_area)  as c
             from sd.order_detail as a group by a.order_id)  od
            on o.order_id = od.order_id
        set
            o.quantity = od.b,
            o.area = od.c,
            o.perimeter= od.aa
        where
            o.order_id = #{orderId}
    </update>
    <select id="getOrderList">
        select
            *
        from
            `order` as o
        where  date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
          <if test="orderType!= null and orderType != ''">
               and o.create_order = #{orderType}
           </if>
           <if test="order.orderId != null and order.orderId != ''">
               and o.order_id REGEXP #{order.orderId}
           </if>
           <if test="order.customerId != null and order.customerId != ''">
               and o.customer_id REGEXP #{order.customerId}
           </if>
           <if test="order.customerName != null and order.customerName != ''">
               and o.customer_name REGEXP #{order.customerName}
           </if>
           <if test="order.project != null and order.project != ''">
               and o.project REGEXP #{order.project}
           </if>
           <if test="order.batch != null and order.batch != ''">
               and o.batch REGEXP #{order.batch}
           </if>
           <if test="order.quantity != null and order.quantity != ''">
               and o.quantity REGEXP #{order.quantity}
           </if>
           <if test="order.area != null and order.area != ''">
               and o.area REGEXP REGEXP_REPLACE(#{order.area}, '\\.0+$', '')
           </if>
           <if test="order.createTime != null and order.createTime != ''">
               and date(o.create_time) = #{order.createTime}
           </if>
           <if test="order.packType != null and order.packType != ''">
               and o.pack_type REGEXP #{order.packType}
           </if>
           <if test="order.orderType != null and order.orderType != ''">
               and o.order_type REGEXP #{order.orderType}
           </if>
           <if test="order.salesman != null and order.salesman != ''">
               and o.salesman REGEXP #{order.salesman}
           </if>
           <if test="order.perimeter != null and order.perimeter != ''">
               and o.perimeter REGEXP #{order.perimeter}
           </if>
           <if test="order.deliveryDate != null and order.deliveryDate != ''">
               and o.delivery_date REGEXP #{order.deliveryDate}
           </if>
           <if test="order.customerBatch != null and order.customerBatch != ''">
               and o.customer_batch REGEXP #{order.customerBatch}
           </if>
           <if test="order.otherRemarks != null and order.otherRemarks != ''">
               and o.other_remarks REGEXP #{order.otherRemarks}
           </if>
           <if test="order.deliveryAddress != null and order.deliveryAddress != ''">
               and o.delivery_address REGEXP #{order.deliveryAddress}
           </if>
        order by o.id desc
        limit #{offset},#{pageSize}
    </select>
    <select id="getPageTotal">
        select
            CEILING(count(o.id)/#{pageSize}) as 'pageTotal',
            count(o.id) as 'total'
        from
        `order` as o
        where date (o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
            <if test="orderType!= null and orderType != ''">
                and o.create_order = #{orderType}
            </if>
            <if test="order.orderId != null and order.orderId != ''">
                and o.order_id REGEXP #{order.orderId}
            </if>
            <if test="order.customerId != null and order.customerId != ''">
                and o.customer_id REGEXP #{order.customerId}
            </if>
            <if test="order.customerName != null and order.customerName != ''">
                and o.customer_name REGEXP #{order.customerName}
            </if>
            <if test="order.project != null and order.project != ''">
                and o.project REGEXP #{order.project}
            </if>
            <if test="order.batch != null and order.batch != ''">
                and o.batch REGEXP #{order.batch}
            </if>
            <if test="order.quantity != null and order.quantity != ''">
                and o.quantity REGEXP #{order.quantity}
            </if>
            <if test="order.area != null and order.area != ''">
                and o.area REGEXP #{order.area}
            </if>
            <if test="order.createTime != null and order.createTime != ''">
                and date(o.create_time) = #{order.createTime}
            </if>
            <if test="order.packType != null and order.packType != ''">
                and o.pack_type REGEXP #{order.packType}
            </if>
            <if test="order.orderType != null and order.orderType != ''">
                and o.order_type REGEXP #{order.orderType}
            </if>
            <if test="order.salesman != null and order.salesman != ''">
                and o.salesman REGEXP #{order.salesman}
            </if>
            <if test="order.perimeter != null and order.perimeter != ''">
                and o.perimeter REGEXP #{order.perimeter}
            </if>
            <if test="order.deliveryDate != null and order.deliveryDate != ''">
                and o.delivery_date REGEXP #{order.deliveryDate}
            </if>
            <if test="order.customerBatch != null and order.customerBatch != ''">
                and o.customer_batch REGEXP #{order.customerBatch}
            </if>
            <if test="order.otherRemarks != null and order.otherRemarks != ''">
                and o.other_remarks REGEXP #{order.otherRemarks}
            </if>
            <if test="order.deliveryAddress != null and order.deliveryAddress != ''">
                and o.delivery_address REGEXP #{order.deliveryAddress}
            </if>
        order by o.id desc
        limit #{offset},#{pageSize}
    </select>
    <update id="reviewOrderById">
        update `order` set order_review = #{status} where order_id = #{id}
    </update>
    <update id="reviewProcessById">
        update `order` set process_review = #{status} where order_id = #{id}
    </update>
</mapper>