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 | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 100 insertions(+), 1 deletions(-)
diff --git a/src/main/resources/mapper/payment/OrderMapper.xml b/src/main/resources/mapper/payment/OrderMapper.xml
index f46921d..17f9cde 100644
--- a/src/main/resources/mapper/payment/OrderMapper.xml
+++ b/src/main/resources/mapper/payment/OrderMapper.xml
@@ -90,6 +90,10 @@
<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},'%')
@@ -129,6 +133,7 @@
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}
@@ -139,6 +144,9 @@
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
@@ -201,7 +209,7 @@
</foreach>
</if>
- ORDER BY q.partner_id, q.warehouse_name, q.warehouse_location_code, q.create_time desc, q.payment_time desc
+ ORDER BY q.partner_id DESC, q.warehouse_id, q.warehouse_location_id, q.create_time desc, q.payment_time desc
</select>
<select id="getSupplierSaleNum" resultType="com.mzl.flower.dto.response.payment.SupplierNumDTO">
@@ -256,4 +264,95 @@
join t_order_point_goods opg on opg.goods_record_id = gr.id
where opg.order_id = #{orderId}
</select>
+ <select id="getFlowerCompleteNumWithinTimeRange" resultType="java.lang.Integer">
+ select IFNULL(sum(oi.num),0) as complete_num
+ from t_order o
+ left join t_order_item oi
+ on o.id=oi.order_id
+ where o.DELETEd=0 and oi.DELETEd=0
+ and o.status_backend not in ('PENDING','CANCEL','REFUND')
+ and o.create_by=#{userId}
+ 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