From 2c74e3e18bc372f33fcc2f4ea4ab1d9d393c2753 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 05 三月 2025 11:35:34 +0800 Subject: [PATCH] 补充管理后台文件上传 --- ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 108 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 83 insertions(+), 25 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml index 10a51a0..7770905 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml @@ -336,13 +336,21 @@ SELECT DATE_FORMAT( subquery.create_time, '%m' ) AS MONTH, SUM(electrovalence) AS electrovalence, - SUM(service_charge) AS service_charge + SUM( + CASE + WHEN subquery.order_source = 0 THEN subquery.service_charge + WHEN subquery.order_source = 1 THEN subquery.service_charge + ELSE subquery.service_charge * 0.2 + END + ) AS service_charge + FROM ( SELECT create_time, electrovalence, - service_charge + service_charge, + order_source FROM t_charging_order <where> @@ -365,7 +373,15 @@ </select> <select id="circle" resultType="com.ruoyi.order.dto.SixCircleDto"> SELECT - site_id as siteId,SUM(payment_amount) as paymentAmount + site_id as siteId, + + SUM( + CASE + WHEN order_source = 0 THEN payment_amount + WHEN order_source = 1 THEN payment_amount + ELSE service_charge * 0.2 + END P + ) AS paymentAmount FROM t_charging_order <where> @@ -398,33 +414,49 @@ </select> <select id="getSumByType" resultType="java.util.Map"> SELECT - type, - SUM( charging_capacity ) as charging_capacity , - SUM( period_service_price ) as period_electric_price, - SUM(period_electric_price) as total_amount + t1.type, + SUM( t1.charging_capacity ) as charging_capacity , + + SUM( + CASE + WHEN t2.order_source = 0 THEN t1.period_service_price + WHEN t2.order_source = 1 THEN t1.period_service_price + ELSE t1.period_service_price * 0.2 + END + )as period_electric_price, + SUM(t1.period_electric_price) as total_amount FROM - t_charging_order_accounting_strategy + t_charging_order_accounting_strategy t1 + LEFT JOIN t_charging_order t2 on t1.charging_order_id = t2.id + <where> <if test="chargingOrderIds != null and chargingOrderIds.size() > 0"> - AND charging_order_id IN + AND t1.charging_order_id IN <foreach collection="chargingOrderIds" item="chargingOrderId" open="(" separator="," close=")"> #{chargingOrderId} </foreach> </if> </where> GROUP BY - type + t1.type </select> <select id="getDateData" resultType="java.util.Map"> SELECT - DATE_FORMAT( create_time, '%H:00' ) as time, - CAST(SUM(service_charge) AS DECIMAL(20, 6)) as servicecharge, + DATE_FORMAT( create_time, '%H:00' ) as time, + CAST( + SUM( + CASE + WHEN order_source = 0 THEN service_charge + WHEN order_source = 1 THEN service_charge + ELSE service_charge * 0.2 + END + )AS DECIMAL(20, 6)) as servicecharge, CAST(SUM(charging_capacity) AS DECIMAL(20, 6)) as electrovalence, CAST(SUM(electrovalence) AS DECIMAL(20, 4)) AS paymentAmount, SUM(payment_amount) AS paymoney, - count(1) as orderCount + count(1) as orderCount FROM - t_charging_order + t_charging_order <where> del_flag = 0 and recharge_payment_status = 2 and DATE(create_time) = CURDATE() @@ -443,7 +475,11 @@ <select id="getWeekData" resultType="java.util.Map"> SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) as time, - SUM(service_charge) as servicecharge, + SUM(CASE + WHEN order_source = 0 THEN service_charge + WHEN order_source = 1 THEN service_charge + ELSE service_charge * 0.2 + END) as servicecharge, SUM(charging_capacity) as electrovalence, SUM(electrovalence) AS paymentAmount, SUM(payment_amount) AS paymoney, @@ -468,10 +504,19 @@ <select id="getMonthData" resultType="java.util.Map"> SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) as time, - SUM(service_charge) as servicecharge, + SUM(CASE + WHEN order_source = 0 THEN service_charge + WHEN order_source = 1 THEN service_charge + ELSE service_charge * 0.2 + END) as servicecharge, SUM(charging_capacity) as electrovalence, SUM(electrovalence) AS paymentAmount, - SUM(payment_amount) AS paymoney, + SUM( + CASE + WHEN order_source = 0 THEN payment_amount + WHEN order_source = 1 THEN payment_amount + ELSE service_charge * 0.2 + END) AS paymoney, count(1) as orderCount FROM t_charging_order @@ -493,7 +538,11 @@ <select id="getYearData" resultType="java.util.Map"> SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) as time, - SUM(service_charge) as servicecharge, + SUM(CASE + WHEN order_source = 0 THEN service_charge + WHEN order_source = 1 THEN service_charge + ELSE service_charge * 0.2 + END) as servicecharge, SUM(charging_capacity) as electrovalence, SUM(electrovalence) AS paymentAmount, SUM(payment_amount) AS paymoney, @@ -520,7 +569,11 @@ <select id="getByDate" resultType="java.util.Map"> SELECT DATE_FORMAT( create_time, '%Y-%m-%d' ) as time, - SUM(service_charge) as servicecharge, + SUM(CASE + WHEN order_source = 0 THEN service_charge + WHEN order_source = 1 THEN service_charge + ELSE service_charge * 0.2 + END) as servicecharge, SUM(charging_capacity) as electrovalence, SUM(electrovalence) AS paymentAmount, SUM(payment_amount) AS paymoney, @@ -954,11 +1007,16 @@ </if> </select> <select id="countBySource" resultType="java.util.Map"> - select - count(1) as counts, - source_name as source - from t_charging_order - where 1=1 + select + count(1) as counts, + case + when tripartite_platform_name is null then '明星充电' + when tripartite_platform_name = 'KuaiDian' then '快电' + when tripartite_platform_name = 'XinDianTu' then '新电途' + else tripartite_platform_name + end as source + from t_charging_order + where 1=1 AND del_flag = 0 AND recharge_payment_status = 2 and status = 5 <if test="siteIds != null and siteIds.size() > 0"> @@ -974,7 +1032,7 @@ and DATE(create_time) >= #{statisticsQueryDto.startTime} and DATE(create_time) <= #{statisticsQueryDto.endTime} </if> - group by source_name + group by tripartite_platform_name </select> -- Gitblit v1.7.1