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)  &lt;= #{statisticsQueryDto.endTime}
             </if>
-            group by source_name
+        group by tripartite_platform_name
 
 
     </select>

--
Gitblit v1.7.1