From db6da36b94e1e43096a818052ee65dbfcd5e6d98 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期四, 12 十二月 2024 17:54:01 +0800 Subject: [PATCH] add: 供应商子账号5 --- src/main/resources/mapper/wallet/WalletReduceMapper.xml | 144 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 123 insertions(+), 21 deletions(-) diff --git a/src/main/resources/mapper/wallet/WalletReduceMapper.xml b/src/main/resources/mapper/wallet/WalletReduceMapper.xml index 3501285..de9febc 100644 --- a/src/main/resources/mapper/wallet/WalletReduceMapper.xml +++ b/src/main/resources/mapper/wallet/WalletReduceMapper.xml @@ -6,57 +6,115 @@ <select id="getPage" resultType="com.mzl.flower.dto.response.wallet.WalletReduceVO"> select * from ( - SELECT si.id as id,si.fee_supplier as fee ,si.audit_time as audit_time,'sale' as type,'售后扣款' as type_name,o.order_no as order_no,oi.supplier_id as supplier_id + SELECT si.id as id + ,si.fee_supplier as fee + ,si.audit_time as audit_time + ,o.payment_time as payment_time + ,'sale' as type,'售后扣款' as type_name + ,o.order_no as order_no + ,oi.supplier_id as supplier_id FROM t_order_item_sales si join t_order_item oi on oi.id = si.order_item_id left join t_order o on oi.order_id=o.id - where si.deleted=0 and si.status='AGREED' and oi.deleted=0 and o.deleted=0 + where o.deleted=0 + and o.status_backend not in ('PENDING','CANCEL','REFUND') + and si.deleted=0 and si.status='AGREED' and oi.deleted=0 and o.deleted=0 and o.payment_time >= #{dto.walletOnlineTime} <if test="dto.supplierId != null"> and oi.supplier_id = #{dto.supplierId} </if> +<!-- <if test="dto.startDate != null">--> +<!-- and DATE_FORMAT(si.audit_time, '%Y-%m-%d') >= #{dto.startDate}--> +<!-- </if>--> +<!-- <if test="dto.endDate != null">--> +<!-- and DATE_FORMAT(si.audit_time, '%Y-%m-%d') <= #{dto.endDate}--> +<!-- </if>--> <if test="dto.startDate != null"> - and DATE_FORMAT(si.audit_time, '%Y-%m-%d') >= #{dto.startDate} + and DATE_FORMAT(o.payment_time, '%Y-%m-%d') >= #{dto.startDate} </if> <if test="dto.endDate != null"> - and DATE_FORMAT(si.audit_time, '%Y-%m-%d') <= #{dto.endDate} + and DATE_FORMAT(o.payment_time, '%Y-%m-%d') <= #{dto.endDate} </if> union - select oic.id as id ,oic.deduct_amount as fee,oic.audit_time as audit_time,oic.type as type,check_type.label as type_name,o.order_no as order_no,oi.supplier_id as supplier_id + select oic.id as id , + oic.num*oi.supplier_price AS fee, + oic.audit_time AS audit_time, + o.payment_time as payment_time, + oic.type as type, + check_type.label as type_name, + o.order_no as order_no, + oi.supplier_id as supplier_id from t_order_item_check oic left join t_order_item oi on oic.order_item_id=oi.id left join t_order o on oi.order_id=o.id left join t_code_value check_type - on check_type.value=oic.type and check_type.type_code='CHECK_TYPE' - where oic.deleted=0 and oic.audit_status='AGREED' and oi.deleted=0 and o.deleted=0 + on check_type.value=oic.type and check_type.type_code='CHECK_TYPE' + where o.deleted=0 + and oic.type in ('lack','replace') + and o.status_backend not in ('PENDING','CANCEL','REFUND') + and oic.deleted=0 and oic.audit_status='AGREED' and oi.deleted=0 and o.deleted=0 and o.payment_time >= #{dto.walletOnlineTime} <if test="dto.supplierId != null"> and oi.supplier_id = #{dto.supplierId} </if> +<!-- <if test="dto.startDate != null">--> +<!-- and DATE_FORMAT(oic.audit_time, '%Y-%m-%d') >= #{dto.startDate}--> +<!-- </if>--> +<!-- <if test="dto.endDate != null">--> +<!-- and DATE_FORMAT(oic.audit_time, '%Y-%m-%d') <= #{dto.endDate}--> +<!-- </if>--> <if test="dto.startDate != null"> - and DATE_FORMAT(oic.audit_time, '%Y-%m-%d') >= #{dto.startDate} + and DATE_FORMAT(o.payment_time, '%Y-%m-%d') >= #{dto.startDate} </if> <if test="dto.endDate != null"> - and DATE_FORMAT(oic.audit_time, '%Y-%m-%d') <= #{dto.endDate} + and DATE_FORMAT(o.payment_time, '%Y-%m-%d') <= #{dto.endDate} </if> + union + select oic.id as id , + oic.deduct_amount AS fee, + oic.audit_time AS audit_time, + o.payment_time as payment_time, + oic.type as type, + check_type.label as type_name, + o.order_no as order_no, + oi.supplier_id as supplier_id + from t_order_item_check oic + left join t_order_item oi + on oic.order_item_id=oi.id + left join t_order o + on oi.order_id=o.id + left join t_code_value check_type + on check_type.value=oic.type and check_type.type_code='CHECK_TYPE' + where o.deleted=0 + and oic.type in ('reduce') + and o.status_backend not in ('PENDING','CANCEL','REFUND') + and oic.deleted=0 and oic.audit_status='AGREED' and oi.deleted=0 and o.deleted=0 + and o.payment_time >= #{dto.walletOnlineTime} + <if test="dto.supplierId != null"> + and oi.supplier_id = #{dto.supplierId} + </if> + <!-- <if test="dto.startDate != null">--> + <!-- and DATE_FORMAT(oic.audit_time, '%Y-%m-%d') >= #{dto.startDate}--> + <!-- </if>--> + <!-- <if test="dto.endDate != null">--> + <!-- and DATE_FORMAT(oic.audit_time, '%Y-%m-%d') <= #{dto.endDate}--> + <!-- </if>--> + <if test="dto.startDate != null"> + and DATE_FORMAT(o.payment_time, '%Y-%m-%d') >= #{dto.startDate} + </if> + <if test="dto.endDate != null"> + and DATE_FORMAT(o.payment_time, '%Y-%m-%d') <= #{dto.endDate} + </if> + ) t order by audit_time desc </select> - <select id="getCheckReduceAmount" resultType="java.math.BigDecimal"> - SELECT sum(si.fee_supplier) - FROM t_order_item_sales si - join t_order_item oi on oi.id = si.order_item_id - left join t_order o on oi.order_id=o.id - where si.deleted=0 and si.status='AGREED' and oi.deleted=0 and o.deleted=0 - and oi.supplier_id = #{dto.supplierId} - and o.payment_time >= #{dto.startTime} - </select> - <select id="getSaleReduceAmount" resultType="java.math.BigDecimal"> - select sum(oic.deduct_amount) + <select id="getCheckLackReplaceAmount" resultType="java.math.BigDecimal"> + select sum(oic.num*oi.supplier_price) from t_order_item_check oic left join t_order_item oi on oic.order_item_id=oi.id @@ -64,8 +122,52 @@ on oi.order_id=o.id left join t_code_value check_type on check_type.value=oic.type and check_type.type_code='CHECK_TYPE' - where oic.deleted=0 and oic.audit_status='AGREED' and oi.deleted=0 and o.deleted=0 + where o.deleted=0 + and oic.type in ('lack','replace') + and o.status_backend not in ('PENDING','CANCEL','REFUND') + and oic.deleted=0 and oic.audit_status='AGREED' and oi.deleted=0 and o.deleted=0 and oi.supplier_id = #{dto.supplierId} and o.payment_time >= #{dto.startTime} </select> + <select id="getSaleReduceAmount" resultType="java.math.BigDecimal"> + + SELECT sum(si.fee_supplier) + FROM t_order_item_sales si + join t_order_item oi on oi.id = si.order_item_id + left join t_order o on oi.order_id=o.id + where o.deleted=0 + and o.status_backend not in ('PENDING','CANCEL','REFUND') + and si.deleted=0 and si.status='AGREED' and oi.deleted=0 and o.deleted=0 + and oi.supplier_id = #{dto.supplierId} + and o.payment_time >= #{dto.startTime} + </select> + + <select id="getStationFeeAmount" resultType="java.math.BigDecimal"> + SELECT sum(ois.station_fee) + FROM t_order_item_settlement ois + join t_order_item oi on oi.id = ois.order_item_id + left join t_order o on oi.order_id=o.id + where o.deleted=0 + and o.status_backend not in ('PENDING','CANCEL','REFUND') + and ois.deleted=0 and oi.deleted=0 + and oi.supplier_id = #{dto.supplierId} + and o.payment_time >= #{dto.startTime} + </select> + <select id="getCheckReduceAmount" resultType="java.math.BigDecimal"> + select sum(oic.deduct_amount) + from t_order_item_check oic + left join t_order_item oi + on oic.order_item_id=oi.id + left join t_order o + on oi.order_id=o.id + left join t_code_value check_type + on check_type.value=oic.type and check_type.type_code='CHECK_TYPE' + where o.deleted=0 + and oic.type in ('reduce') + and o.status_backend not in ('PENDING','CANCEL','REFUND') + and oic.deleted=0 and oic.audit_status='AGREED' and oi.deleted=0 and o.deleted=0 + and oi.supplier_id = #{dto.supplierId} + and o.payment_time >= #{dto.startTime} + + </select> </mapper> -- Gitblit v1.9.3