From b14befec1ef345d88a04da3ca1e10a006a7862e5 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期一, 30 九月 2024 16:04:17 +0800 Subject: [PATCH] add:订单列表导出 --- src/main/resources/mapper/payment/OrderMapper.xml | 80 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 80 insertions(+), 0 deletions(-) diff --git a/src/main/resources/mapper/payment/OrderMapper.xml b/src/main/resources/mapper/payment/OrderMapper.xml index 4d7d43a..17f9cde 100644 --- a/src/main/resources/mapper/payment/OrderMapper.xml +++ b/src/main/resources/mapper/payment/OrderMapper.xml @@ -275,4 +275,84 @@ AND oi.flower_id=#{flowerId} AND o.payment_time BETWEEN #{startTime} AND #{endTime} </select> + + <select id="selectOrderExportList" resultType="com.mzl.flower.dto.response.payment.OrderListExportDTO"> + SELECT q.order_no,q.create_time,q.customer,q.customer_tel,q.total_amount,q.status_backend,q.partner_name,q.warehouse_location_code,q.remarks, + u.nick_name createName , + code.label as statusBackendStr, + code2.label as specialNeedsStr, + CONCAT(q.customer_province, q.customer_city,q.customer_region,q.customer_address) AS customerAddress, + (select Sum(COALESCE(oi.num, 0) * COALESCE(oi.supplier_price, 0)) + from t_order_item oi where order_id = q.id) supplierAmount + FROM t_order q + left join t_user u on q.create_by = u.id + LEFT JOIN (SELECT ct.label, ct.value from t_code_value ct where type_code = 'ORDER_STATUS_BACKEND') code ON q.status_backend = code.value + LEFT JOIN (SELECT ct.label, ct.value from t_code_value ct where type_code = 'SPEC_REQ') code2 ON q.special_needs = code2.value + WHERE q.deleted = 0 + <if test="condition.orderNo != null and condition.orderNo != ''"> + AND q.order_no LIKE concat('%', #{condition.orderNo},'%') + </if> + <if test="condition.customerAddress != null and condition.customerAddress != ''"> + AND q.customer_address LIKE concat('%', #{condition.customerAddress},'%') + </if> + <if test="condition.address != null and condition.address != ''"> + AND CONCAT(q.customer_province, q.customer_city, q.customer_region, q.customer_address) LIKE concat('%', + #{condition.address},'%') + </if> + <if test="condition.customer != null and condition.customer != ''"> + AND (q.customer LIKE concat('%', #{condition.customer},'%') + or q.customer_tel LIKE concat('%', #{condition.customer},'%') + ) + </if> + <if test="condition.createBy != null and condition.createBy != ''"> + AND q.create_by = #{condition.createBy} + </if> + <if test="condition.status != null and condition.status != ''"> + AND q.status = #{condition.status} + </if> + <if test="condition.statusBackend != null and condition.statusBackend != ''"> + AND q.status_backend = #{condition.statusBackend} + </if> + <if test="condition.startDate != null"> + AND q.payment_time >= #{condition.startDate} + </if> + <if test="condition.endDate != null"> + AND q.payment_time <= #{condition.endDate} + </if> + <if test="condition.createStartDate != null"> + AND q.create_time >= #{condition.createStartDate} + </if> + <if test="condition.createEndDate != null"> + AND q.create_time <= #{condition.createEndDate} + </if> + <if test="condition.partnerId != null"> + AND q.partner_id = #{condition.partnerId} + </if> + <if test="condition.partnerName != null and condition.partnerName != ''"> + AND q.partner_name LIKE concat('%', #{condition.partnerName},'%') + </if> + <if test="condition.levelDown != null and condition.levelDown != ''"> + AND exists( + select 1 from t_order_item oi + where oi.order_id = q.id + and (oi.status = 'reduce' or oi.status = 'abnormal') + ) + and q.transfer_id is null + and q.status in ('COLLECTION', 'SEND') + </if> + <if test="condition.billId != null and condition.billId != ''"> + AND q.bill_id = #{condition.billId} + </if> + <if test="condition.flowerName != null and condition.flowerName != ''"> + AND exists( + select 1 from t_order_item oi + where oi.order_id = q.id + and oi.flower_name LIKE concat('%', #{condition.flowerName},'%') + ) + </if> + <if test="condition.warehouseLocationCode != null and condition.warehouseLocationCode != ''"> + AND q.warehouse_location_code LIKE concat('%', #{condition.warehouseLocationCode},'%') + </if> + ORDER BY q.create_time desc, q.payment_time desc + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3