From 5dfb9e127bee64a7e55f8910d844beb31ab13377 Mon Sep 17 00:00:00 2001 From: Cui Zhi Feng <cuizf@fengyuntec.com> Date: 星期二, 22 十月 2024 22:32:17 +0800 Subject: [PATCH] 统计 销售额 销售扎数 --- src/main/resources/mapper/payment/OrderMapper.xml | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 101 insertions(+), 2 deletions(-) diff --git a/src/main/resources/mapper/payment/OrderMapper.xml b/src/main/resources/mapper/payment/OrderMapper.xml index 18894dc..e0451eb 100644 --- a/src/main/resources/mapper/payment/OrderMapper.xml +++ b/src/main/resources/mapper/payment/OrderMapper.xml @@ -114,11 +114,18 @@ <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>--> + <!-- 修改查询日期对应的的创建时间为支付时间 2024-10-12--> <if test="condition.createStartDate != null"> - AND q.create_time >= #{condition.createStartDate} + AND q.payment_time >= #{condition.createStartDate} </if> <if test="condition.createEndDate != null"> - AND q.create_time <= #{condition.createEndDate} + AND q.payment_time <= #{condition.createEndDate} </if> <if test="condition.partnerId != null"> AND q.partner_id = #{condition.partnerId} @@ -144,6 +151,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 @@ -272,4 +282,93 @@ 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> + + <select id="getOrderSaleAmount" resultType="java.math.BigDecimal"> + SELECT sum(o.payment_amount) + FROM t_order o + WHERE o.create_time > #{startTime} + and o.create_time <= #{endTime} + and o.payment_time is not null + and o.refund_time is null + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3