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/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                |  193 ++++++++++++++++++------
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java                            |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java                 |   76 ++++++---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java                     |   18 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java |    7 
 ruoyi-service/ruoyi-chargingPile/src/main/resources/template/充电算帐单已出账.xlsx                                         |    0 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java              |    7 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                                 |  108 ++++++++++---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                   |   14 +
 9 files changed, 314 insertions(+), 113 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
index e30cd56..5d8d476 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
@@ -31,8 +31,12 @@
     private Long appUserCarId;
     @ApiModelProperty(value = "车牌号")
     private String plateNum;
+    @ApiModelProperty(value = "三方平台充电订单号")
+    private String startChargeSeq;
     @ApiModelProperty(value = "充电枪id")
     private Integer chargingGunId;
+    @ApiModelProperty(value = "订单来源(1=自己平台,2=三方平台)")
+    private Integer orderSource;
     @ApiModelProperty(value = "订单编号")
     private String code;
     @ApiModelProperty(value = "订单类型(1=充电订单(小程序),2=充电订单(刷卡))")
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
index b2a508f..31cee8d 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
@@ -285,7 +285,7 @@
         ChargingListQuery chargingListQuery = new ChargingListQuery();
         chargingListQuery.setUid(uid.getUid());
         chargingListQuery.setPageCurr(1);
-        chargingListQuery.setPageSize(99999);
+        chargingListQuery.setPageSize(9999999);
         ChargingBillVO data = chargingOrderClient.chargingBillListR(chargingListQuery).getData();
 
         List<ChargingBillVO> chargingBillVOS = new ArrayList<>();
@@ -308,8 +308,9 @@
             try (ExcelWriter excelWriter = excelWriterBuilder.withTemplate(stream).build()) {
                 WriteSheet writeSheet = EasyExcel.writerSheet().build();
                 FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build();
+                FillConfig fillConfig2 = FillConfig.builder().direction(WriteDirectionEnum.VERTICAL).build();
                 excelWriter.fill(new FillWrapper("data1", chargingBillVOS), fillConfig, writeSheet);
-                excelWriter.fill(new FillWrapper("data2", data.getExportList()), fillConfig, writeSheet);
+                excelWriter.fill(new FillWrapper("data2", data.getExportList()), fillConfig2, writeSheet);
                 excelWriter.finish();
             } catch (Exception e) {
                 return R.fail("excel导出失败!");
@@ -668,7 +669,7 @@
         ChargingListQuery chargingListQuery = new ChargingListQuery();
         chargingListQuery.setUid(uid.getUid());
         chargingListQuery.setPageCurr(1);
-        chargingListQuery.setPageSize(99999);
+        chargingListQuery.setPageSize(9999999);
         ChargingBillVO data = chargingOrderClient.chargingBillListR(chargingListQuery).getData();
 
         List<ChargingBillVO> chargingBillVOS = new ArrayList<>();
diff --git "a/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\345\205\205\347\224\265\347\256\227\345\270\220\345\215\225\345\267\262\345\207\272\350\264\246.xlsx" "b/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\345\205\205\347\224\265\347\256\227\345\270\220\345\215\225\345\267\262\345\207\272\350\264\246.xlsx"
index bccbcd0..af2ddd2 100644
--- "a/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\345\205\205\347\224\265\347\256\227\345\270\220\345\215\225\345\267\262\345\207\272\350\264\246.xlsx"
+++ "b/ruoyi-service/ruoyi-chargingPile/src/main/resources/template/\345\205\205\347\224\265\347\256\227\345\270\220\345\215\225\345\267\262\345\207\272\350\264\246.xlsx"
Binary files differ
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
index 584487f..7c451d7 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -377,7 +377,19 @@
         int i =1;
         for (TChargingOrder tChargingOrder : tChargingOrders) {
             // 账单信息
-            paymentAmount = paymentAmount.add(tChargingOrder.getRechargeAmount());
+            if (!tChargingOrder.getOrderSource().equals(2)){
+                chargingBillExport.setPaymentAmount(tChargingOrder.getRechargeAmount());
+                paymentAmount = paymentAmount.add(tChargingOrder.getRechargeAmount());
+
+            }else{
+                chargingBillExport.setPaymentAmount(tChargingOrder.getServiceCharge()!=null?
+                        tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN)
+                        :new BigDecimal("0"));
+                paymentAmount = paymentAmount.add(tChargingOrder.getServiceCharge()!=null?
+                        tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN)
+                        :new BigDecimal("0"));
+
+            }
             commissionAmount = commissionAmount.add(tChargingOrder.getRechargeAmount().multiply(bigDecimal1).setScale(2, BigDecimal.ROUND_DOWN));
             sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount()!=null?tChargingOrder.getSharingAmount():new BigDecimal("0"));
             // 退款信息
@@ -443,8 +455,8 @@
         }
         chargingBillExport.setPaymentAmount(paymentAmount);
         chargingBillExport.setRefundAmount(refundAmount);
-        chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount)
-                .subtract(sharingAmount).setScale(2, BigDecimal.ROUND_DOWN));
+        chargingBillExport.setIncome(paymentAmount.subtract(refundAmount)
+                .setScale(2, BigDecimal.ROUND_DOWN));
         chargingBillExports.add(chargingBillExport);
         // 导出
         List<Map<String, Object>> sheetsList = new ArrayList<>();
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
index 896ddbc..c5f701f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -126,14 +126,11 @@
     @ApiOperation(value = "充电时段统计-导出", tags = {"管理后台-财务结算"})
     @PutMapping("/export")
     public void export(@RequestBody ChargingListQuery dto) {
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
         ChargingOrderTimeVO res = chargingOrderService.chargingList(dto);
         List<TChargingOrderExport> tChargingOrderExports = new ArrayList<>();
         List<ChargingOrderListVO> exportList = res.getExportList();
-        int i = 0;
+        int i = 1;
         List<TChargingGun> data = chargingGunClient.getAllGun().getData();
-
         List<Site> data9 = siteClient.getSiteAll().getData();
         List<TAppUser> data6 = appUserClient.getAllUser().getData();
         List<Partner> data7 = siteClient.getAllPartner().getData();
@@ -262,7 +259,7 @@
                 tChargingOrderExport.setCarType(tAppUserCar.getVehicleModel());
                 tChargingOrderExport.setCarBrand(tAppUserCar.getVehicleBrand());
             }
-            tChargingOrderExport.setOrderCode(chargingOrderListVO.getCode());
+            tChargingOrderExport.setOrderCode(chargingOrderListVO.getStartChargeSeq());
             tChargingOrderExport.setIsSingle("是");
             tChargingOrderExport.setPayTime(chargingOrderListVO.getPayTime()+"");
             tChargingOrderExport.setElectrovalenceSiteName("四川明星新能源科技有限公司");
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index 968a695..50c910b 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -1055,9 +1055,21 @@
         map.put("shopAmount",data1);
         BigDecimal data2 =   vipOrderService.getSumAmout(sixBefore);
         map.put("vipAmount",data2);
+        List<TChargingOrder> list = chargingOrderService.lambdaQuery().between(TChargingOrder::getCreateTime, sixBefore, LocalDate.now()).list();
+        BigDecimal serviceCharge = new BigDecimal("0");
+        BigDecimal commissionAmount = new BigDecimal("0");
 
+        for (TChargingOrder chargingOrder : list) {
+            if (chargingOrder.getOrderSource().equals(2)){
+                serviceCharge = serviceCharge.add(chargingOrder.getServiceCharge()!=null?chargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
+                commissionAmount = commissionAmount.add(chargingOrder.getServiceCharge()!=null?chargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
+            }else{
+                serviceCharge = serviceCharge.add(chargingOrder.getServiceCharge());
+            }
 
-
+        }
+        map.put("service_charge",serviceCharge);
+        map.put("commission_amount",commissionAmount);
         return R.ok(map);
     }
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
index ea26127..84ec02b 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -315,6 +315,8 @@
 
                 }
                 TAppUser data3 = userList.stream().filter(e -> e.getId().equals(tChargingOrder.getAppUserId())).findFirst().orElse(null);
+                if (data3!=null)tChargingOrder.setUserName(data3.getName());
+
                 if (tChargingOrder.getAppUserCarId()!=null){
                     TAppUserCar data4 = carList.stream().filter(e -> e.getId().equals(tChargingOrder.getAppUserCarId())).findFirst().orElse(null);
                     if (data4!=null){
@@ -324,13 +326,12 @@
                 }else{
                     tChargingOrder.setLicensePlate(tChargingOrder.getPlateNum());
                 }
-                if (data3!=null)tChargingOrder.setUserName(data3.getName());
                 // 累加实收金额 支付结算金额
                 if (tChargingOrder.getRechargeAmount()!=null){
                     paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                 }
                 // 总金额
-                if (tChargingOrder.getOrderAmount()!=null){
+                if (tChargingOrder.getRechargeAmount()!=null){
                     orderAmount = orderAmount.add(tChargingOrder.getRechargeAmount());
                 }
                 // 累加累计电费
@@ -375,7 +376,7 @@
             }
 
             chargingBillListVO.setPaymentAmount(paymentAmount.subtract(sharingAmount));
-            chargingBillListVO.setOrderAmount(paymentAmount);
+            chargingBillListVO.setOrderAmount(refundAmount);
             chargingBillListVO.setRefundAmount(refundAmount == null?BigDecimal.ZERO:refundAmount);
             chargingBillListVO.setElectrovalence(electrovalence == null?BigDecimal.ZERO:electrovalence);
             chargingBillListVO.setServiceCharge(serviceCharge == null?BigDecimal.ZERO:serviceCharge);
@@ -430,17 +431,14 @@
                     e.getSiteId().equals(chargingBillListVO.getSiteId()) : true &&
                     e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
                     && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
-            tChargingOrders1.addAll(tChargingOrders);
-            chargingBillVO.setCategory("");
-            chargingBillVO.setExportList(tChargingOrders);
             for (TChargingOrder tChargingOrder : tChargingOrders) {
                 if (tChargingOrder.getOrderAmount()!=null){
                     paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                 }
 
                 // 累加订单金额
-                if (tChargingOrder.getOrderAmount()!=null){
-                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getPaymentAmount());
+                if (tChargingOrder.getRechargeAmount()!=null){
+                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getRechargeAmount());
                 }
                 // 累加累计电费
                 if (tChargingOrder.getElectrovalence()!=null){
@@ -481,10 +479,12 @@
                     discountTotal = discountTotal.add(tChargingOrder.getVipDiscountAmount());
                 }
             }
+            tChargingOrders1.addAll(tChargingOrders);
+            chargingBillVO.setExportList(tChargingOrders);
         }
         chargingBillVO.setOrderCount(i);
         chargingBillVO.setChargingCapacity(chargingCapacityTotal);
-        chargingBillVO.setPaymentAmount(paymentAmountTotal.subtract(sharingAmountTotal));
+        chargingBillVO.setPaymentAmount(paymentAmountTotal);
         chargingBillVO.setOrderAmount(orderAmountTotal);
         chargingBillVO.setElectrovalence(electrovalenceTotal);
         chargingBillVO.setServiceCharge(serviceChargeTotal);
@@ -570,7 +570,6 @@
             siteIds.add(-1);
         }
             dto.setSiteIds(siteIds);
-
         List<ChargingBillListVO> list = this.baseMapper.chargingBillList(pageInfo,dto,startTime1,startTime2);
         List<ChargingBillListVO> list1 = this.baseMapper.chargingBillListNoLimit(dto,startTime1,startTime2);
         BigDecimal paymentAmountTotal = new BigDecimal("0");
@@ -656,8 +655,10 @@
             chargingBillVO.setCategory("");
             chargingBillListVO.setOrderCount(tChargingOrders.size());
             chargingBillVO.setExportList(tChargingOrders);
-
+            int t = 1;
             for (TChargingOrder tChargingOrder : tChargingOrders) {
+                tChargingOrder.setXuhao(t);
+                t++;
                 if (tChargingOrder.getRechargePaymentType()!=null && tChargingOrder.getRechargePaymentType()==1){
                     chargingBillListVO.setPayTypeName("微信商户");
                 }
@@ -753,8 +754,12 @@
                 }else{
                     tChargingOrder.setLicensePlate(tChargingOrder.getPlateNum());
                 }
-                if (data3!=null)tChargingOrder.setUserName(data3.getName());
-                if ( tChargingOrder.getPaymentAmount()!=null){
+                if (data3!=null){
+                    tChargingOrder.setUserName(data3.getName());
+                    tChargingOrder.setPhone(data3.getPhone());
+                }
+                if ( tChargingOrder.getPaymentAmount()!=null&&(!tChargingOrder.getOrderSource().equals(2))){
+                    // 实收
                     paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                 }
                 // 总金额
@@ -770,17 +775,22 @@
                 }
                 // 累加累计服务费
                 if (tChargingOrder.getServiceCharge()!=null){
-                serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
+                    if (tChargingOrder.getOrderSource().equals(2)) {
+                        serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN));
+                        // 累加平台分佣
+                        sharingAmount = sharingAmount.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN));
+                        // 累加实收
+                        paymentAmount = paymentAmount.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN));
+                    }else {
+                        serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
+                    }
                 }
                 // 累加平台手续费
                 if (tChargingOrder.getOrderAmount()!=null){
                     commissionAmount = commissionAmount.add(tChargingOrder.getRechargeAmount().multiply(BigDecimal.valueOf(0.006))
                             .setScale(2,BigDecimal.ROUND_DOWN));
                 }
-                // 累加平台分佣
-                if (tChargingOrder.getSharingAmount()!=null){
-                    sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount());
-                }
+
                 // 累加充电度数
                 if (tChargingOrder.getChargingCapacity()!=null){
                     chargingCapacity = chargingCapacity.add(tChargingOrder.getChargingCapacity());
@@ -857,11 +867,12 @@
             BigDecimal chargingCapacity = new BigDecimal("0");
             chargingBillListVO.setOrderCount(tChargingOrders.size());
             for (TChargingOrder tChargingOrder : tChargingOrders) {
-                // 累加实收金额 支付金额减去退款金额
-                if (tChargingOrder.getPaymentAmount()!=null){
+                // 累加实收金额
+                if ( tChargingOrder.getPaymentAmount()!=null&&(!tChargingOrder.getOrderSource().equals(2))){
                     paymentAmount = paymentAmount.add(tChargingOrder.getPaymentAmount());
                     paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                 }
+
                 // 累加订单金额
                 if (tChargingOrder.getRechargeAmount()!=null){
                     orderAmount = orderAmount.add(tChargingOrder.getRechargeAmount());
@@ -877,20 +888,29 @@
                 }
                 // 累加累计服务费
                 if (tChargingOrder.getServiceCharge()!=null){
-                    serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
-                    serviceChargeTotal = serviceChargeTotal.add(tChargingOrder.getServiceCharge());
+                    if (tChargingOrder.getOrderSource().equals(2)) {
+                        serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN));
+                        serviceChargeTotal = serviceChargeTotal.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN));
+                        // 累加平台分佣
+                        sharingAmount = sharingAmount.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN));
+                        sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN));
+                        // 累加实收
+                        paymentAmount = paymentAmount.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN));
+                        paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN));
+                    }else{
+                        serviceCharge = serviceCharge.add(tChargingOrder.getServiceCharge());
+                        serviceChargeTotal = serviceChargeTotal.add(tChargingOrder.getServiceCharge());
+                    }
+
                 }
-                // 累加平台手续费
+
+                        // 累加平台手续费
                 if (tChargingOrder.getOrderAmount()!=null){
                     commissionAmount = commissionAmount.add(tChargingOrder.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN));
                     commissionAmountTotal = commissionAmountTotal.add(tChargingOrder.getRechargeAmount().multiply(new BigDecimal("0.006"))
                             .setScale(2,BigDecimal.ROUND_DOWN));
                 }
-                // 累加平台分佣
-                if (tChargingOrder.getSharingAmount()!=null){
-                    sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount());
-                    sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getSharingAmount());
-                }
+
                 // 累加充电度数
                 if (tChargingOrder.getElectricity()!=null){
                     chargingCapacity = chargingCapacity.add(tChargingOrder.getElectricity());
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 21e394a..977b36d 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1317,9 +1317,25 @@
 		 BigDecimal commissionMoney = new BigDecimal("0");
 		 BigDecimal refundMoney = new BigDecimal("0");
 		 BigDecimal paymentMoney = new BigDecimal("0");
-		List<String> collect2 = list.stream().map(TChargingOrder::getCode).collect(Collectors.toList());
-		List<TChargingOrderAccountingStrategy> list3 = chargingOrderAccountingStrategyService.list(new QueryWrapper<TChargingOrderAccountingStrategy>());
-
+		List<Long> collect = list.stream().map(TChargingOrder::getId).collect(Collectors.toList());
+		List<TChargingOrderAccountingStrategy> list3 = new ArrayList<>();
+		if(collect.size()>=800){
+			int i = collect.size() / 800;
+			int k = collect.size() % 800;
+			for (int j = 0; j <= i; j++) {
+				if(j==i&& k>0){
+					list3.addAll(chargingOrderAccountingStrategyService.lambdaQuery()
+							.in(TChargingOrderAccountingStrategy::getChargingOrderId,collect.subList(j * 800, j * 800 + k)).list());
+				}else {
+					List<Long> longs = collect.subList(j * 800, (j + 1) * 800);
+					list3.addAll(chargingOrderAccountingStrategyService.lambdaQuery()
+							.in(TChargingOrderAccountingStrategy::getChargingOrderId,longs).list());
+				}
+			}
+		}else {
+			list3 = chargingOrderAccountingStrategyService.lambdaQuery()
+					.in(TChargingOrderAccountingStrategy::getChargingOrderId,collect).list();
+		}
 		for (ChargingOrderVO chargingOrderVO : list) {
 			if (roleType == 2){
 				for (Integer siteId : siteIds) {
@@ -1327,8 +1343,8 @@
 					List<Boolean> t1= partnerClient.getChargingOrderMenu(sysUser.getObjectId(),siteId).getData();
 					chargingOrderVO.setAuthRecord(t1.get(0));
 				}
-
 			}
+			chargingOrderVO.setSharingAmount(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
 			chargingOrderVO.setCommissionAmount(chargingOrderVO.getRechargeAmount()!=null?chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0"));
 			chargingOrderVO.setPlatFormMoney(chargingOrderVO.getRechargeAmount()!=null?chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
 			chargingOrderVO.setUid(chargingOrderVO.getId()+"");
@@ -1383,7 +1399,12 @@
 				.eq(TChargingOrderRefund::getRefundStatus,2).list();
 
 		for (ChargingOrderVO chargingOrderVO : list1) {
-			paymentMoney= paymentMoney.add(chargingOrderVO.getPaymentAmount()!=null?chargingOrderVO.getPaymentAmount():new BigDecimal("0"));
+			if (!chargingOrderVO.getOrderSource().equals(2)) {
+				paymentMoney = paymentMoney.add(chargingOrderVO.getPaymentAmount() != null ? chargingOrderVO.getPaymentAmount() : new BigDecimal("0"));
+			}else{
+				paymentMoney = paymentMoney.add(chargingOrderVO.getServiceCharge() != null ? chargingOrderVO.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN) : new BigDecimal("0"));
+
+			}
 			if (chargingOrderVO.getRechargeAmount()!=null){
 				commissionMoney = commissionMoney.add(chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN));
 			}
@@ -1403,7 +1424,11 @@
 					refundMoney = refundMoney.add(tChargingOrderRefund.getRefundTotalAmount());
 			}
 			electronicMoney = electronicMoney.add(chargingOrderVO.getElectrovalence()!=null?chargingOrderVO.getElectrovalence():new BigDecimal("0"));
-			serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge():new BigDecimal("0"));
+			if (!chargingOrderVO.getOrderSource().equals(2)){
+				serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge():new BigDecimal("0"));
+			}else{
+				serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
+			}
 		}
 		tCharingOrderVO.setTotal(total);
 		tCharingOrderVO.setTime(time);
@@ -1491,6 +1516,8 @@
 
 	@Resource
 	private SysUserClient sysUserClient;
+
+
 	@Override
 	public ChargingOrderTimeVO chargingList(ChargingListQuery dto) {
 		String startTime1 = null;
@@ -1689,7 +1716,13 @@
 						"0"+"%(平)/"+
 						"0"+"%(谷)");
 			}
-
+			if (chargingOrderListVO.getOrderSource().equals(2)){
+				chargingOrderListVO.setSharingAmount(chargingOrderListVO.getServiceCharge()!=null?
+						chargingOrderListVO.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_HALF_UP)
+						:new BigDecimal("0"));
+			}else{
+				chargingOrderListVO.setSharingAmount(new BigDecimal("0"));
+			}
 		}
 		// 不分页
 		PageInfo<ChargingOrderListVO> pageInfo1 = new PageInfo<>(1,999999999);
@@ -1742,38 +1775,96 @@
 		BigDecimal ping = new BigDecimal("0");
 		BigDecimal gu = new BigDecimal("0");
 		List<Long> collect = list1.stream().map(ChargingOrderListVO::getId).collect(Collectors.toList());
-		List<TChargingOrderAccountingStrategy> chargingOrderAccountingStrategies = chargingOrderAccountingStrategyService.lambdaQuery()
-				.in(TChargingOrderAccountingStrategy::getChargingOrderId,collect).list();
+		List<TChargingOrderAccountingStrategy> chargingOrderAccountingStrategies = new ArrayList<>();
+		if(collect.size()>=800){
+			int i = collect.size() / 800;
+			int k = collect.size() % 800;
+			for (int j = 0; j <= i; j++) {
+				if(j==i&& k>0){
+					chargingOrderAccountingStrategies.addAll(chargingOrderAccountingStrategyService.lambdaQuery()
+							.in(TChargingOrderAccountingStrategy::getChargingOrderId,collect.subList(j * 800, j * 800 + k)).list());
+				}else {
+					List<Long> longs = collect.subList(j * 800, (j + 1) * 800);
+					chargingOrderAccountingStrategies.addAll(chargingOrderAccountingStrategyService.lambdaQuery()
+							.in(TChargingOrderAccountingStrategy::getChargingOrderId,longs).list());
+				}
+			}
+		}else {
+			chargingOrderAccountingStrategies = chargingOrderAccountingStrategyService.lambdaQuery()
+					.in(TChargingOrderAccountingStrategy::getChargingOrderId,collect).list();
+		}
+
 		for (ChargingOrderListVO chargingOrderListVO : list1) {
 			if (chargingOrderListVO.getChargingCapacity()!=null)electronic = electronic.add(chargingOrderListVO.getElectricity());
 
-			if (chargingOrderListVO.getPaymentAmount()!=null)paymentAmount = paymentAmount.add(chargingOrderListVO.getPaymentAmount());
+			if (chargingOrderListVO.getPaymentAmount()!=null){
+				if (chargingOrderListVO.getOrderSource().equals(2)){
+					paymentAmount = paymentAmount.add(chargingOrderListVO.getServiceCharge()!=null?chargingOrderListVO.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)):new BigDecimal("0"));
+				}else{
+					paymentAmount = paymentAmount.add(chargingOrderListVO.getPaymentAmount());
+				}
+			}
 			if (chargingOrderListVO.getElectrovalence()!=null)electrovalence = electrovalence.add(chargingOrderListVO.getElectrovalence());
-			if (chargingOrderListVO.getServiceCharge()!=null)serviceCharge = serviceCharge.add(chargingOrderListVO.getServiceCharge());
-			List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategies.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId()))
-					.collect(Collectors.toList());
-			for (TChargingOrderAccountingStrategy temp : list2) {
-				switch (temp.getType()){
-					case 1:
-						if (temp.getChargingCapacity()!=null)jian = jian.add(temp.getChargingCapacity());
-						if (temp.getChargingCapacity()!=null)jianElectronic = jianElectronic.add(temp.getElectrovalence());
-						if (temp.getChargingCapacity()!=null)jianService = jianService.add(temp.getServiceCharge());
-						break;
-					case 2:
-						if (temp.getChargingCapacity()!=null)feng = feng.add(temp.getChargingCapacity());
-						if (temp.getChargingCapacity()!=null)fengElectronic = fengElectronic.add(temp.getElectrovalence());
-						if (temp.getChargingCapacity()!=null)fengService = fengService.add(temp.getServiceCharge());
-						break;
-					case 3:
-						if (temp.getChargingCapacity()!=null)ping = ping.add(temp.getChargingCapacity());
-						if (temp.getChargingCapacity()!=null)pingElectronic = pingElectronic.add(temp.getElectrovalence());
-						if (temp.getChargingCapacity()!=null)pingService = pingService.add(temp.getServiceCharge());
-						break;
-					case 4:
-						if (temp.getChargingCapacity()!=null)gu = gu.add(temp.getChargingCapacity());
-						if (temp.getChargingCapacity()!=null)guElectronic = guElectronic.add(temp.getElectrovalence());
-						if (temp.getChargingCapacity()!=null)guService = guService.add(temp.getServiceCharge());
-						break;
+			if (chargingOrderListVO.getServiceCharge()!=null){
+				if (chargingOrderListVO.getOrderSource().equals(2)){
+					serviceCharge = serviceCharge.add(chargingOrderListVO.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)));
+				}else{
+					serviceCharge = serviceCharge.add(chargingOrderListVO.getServiceCharge());
+				}
+			}
+			if (!chargingOrderListVO.getOrderSource().equals(2)){
+				List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategies.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId()))
+						.collect(Collectors.toList());
+				for (TChargingOrderAccountingStrategy temp : list2) {
+					switch (temp.getType()){
+						case 1:
+							if (temp.getChargingCapacity()!=null)jian = jian.add(temp.getChargingCapacity());
+							if (temp.getElectrovalence()!=null)jianElectronic = jianElectronic.add(temp.getElectrovalence());
+							if (temp.getServiceCharge()!=null)jianService = jianService.add(temp.getServiceCharge());
+							break;
+						case 2:
+							if (temp.getChargingCapacity()!=null)feng = feng.add(temp.getChargingCapacity());
+							if (temp.getElectrovalence()!=null)fengElectronic = fengElectronic.add(temp.getElectrovalence());
+							if (temp.getServiceCharge()!=null)fengService = fengService.add(temp.getServiceCharge());
+							break;
+						case 3:
+							if (temp.getChargingCapacity()!=null)ping = ping.add(temp.getChargingCapacity());
+							if (temp.getElectrovalence()!=null)pingElectronic = pingElectronic.add(temp.getElectrovalence());
+							if (temp.getServiceCharge()!=null)pingService = pingService.add(temp.getServiceCharge());
+							break;
+						case 4:
+							if (temp.getChargingCapacity()!=null)gu = gu.add(temp.getChargingCapacity());
+							if (temp.getElectrovalence()!=null)guElectronic = guElectronic.add(temp.getElectrovalence());
+							if (temp.getServiceCharge()!=null)guService = guService.add(temp.getServiceCharge());
+							break;
+					}
+				}
+			}else{
+				List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategies.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId()))
+						.collect(Collectors.toList());
+				for (TChargingOrderAccountingStrategy temp : list2) {
+					switch (temp.getType()){
+						case 1:
+							if (temp.getChargingCapacity()!=null)jian = jian.add(temp.getChargingCapacity());
+							if (temp.getElectrovalence()!=null)jianElectronic = jianElectronic.add(temp.getElectrovalence());
+							if (temp.getServiceCharge()!=null)jianService = jianService.add(temp.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)));
+							break;
+						case 2:
+							if (temp.getChargingCapacity()!=null)feng = feng.add(temp.getChargingCapacity());
+							if (temp.getElectrovalence()!=null)fengElectronic = fengElectronic.add(temp.getElectrovalence());
+							if (temp.getServiceCharge()!=null)fengService = fengService.add(temp.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)));
+							break;
+						case 3:
+							if (temp.getChargingCapacity()!=null)ping = ping.add(temp.getChargingCapacity());
+							if (temp.getElectrovalence()!=null)pingElectronic = pingElectronic.add(temp.getElectrovalence());
+							if (temp.getServiceCharge()!=null)pingService = pingService.add(temp.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)));
+							break;
+						case 4:
+							if (temp.getChargingCapacity()!=null)gu = gu.add(temp.getChargingCapacity());
+							if (temp.getElectrovalence()!=null)guElectronic = guElectronic.add(temp.getElectrovalence());
+							if (temp.getServiceCharge()!=null)guService = guService.add(temp.getServiceCharge().multiply(new BigDecimal("0.2").setScale(2,BigDecimal.ROUND_HALF_UP)));
+							break;
+					}
 				}
 			}
 		}
@@ -1782,28 +1873,29 @@
 		chargingOrderTimeVO.setPaymentAmount(paymentAmount);
 		chargingOrderTimeVO.setElectrovalence(electrovalence);
 		chargingOrderTimeVO.setServiceCharge(serviceCharge);
-		// 计算尖峰平谷充电量占比
+		// 计算尖峰平谷充电到账占比
+
 		BigDecimal add = jianElectronic.add(fengElectronic).add(pingElectronic).add(guElectronic);
 		// 计算尖峰平谷服务费占比
 		BigDecimal add1 = jianService.add(fengService).add(pingService).add(guService);
-		// 计算尖峰平谷充电到账占比
+		// 计算尖峰平谷充电量占比
 		BigDecimal add2 = jian.add(feng).add(ping).add(gu);
 		if (add.compareTo(new BigDecimal("0"))!=0){
-			chargingOrderTimeVO.setCapacityProportion(jianElectronic+"度/"+fengElectronic+"度/"+pingElectronic+"度/"+guElectronic+"度-"
-					+jianElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
-					+fengElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
-					+pingElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
-					+guElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%");
+			chargingOrderTimeVO.setCapacityProportion(jian+"度/"+feng+"度/"+ping+"度/"+gu+"度-"
+					+jian.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+					+feng.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+					+ping.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+					+gu.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%");
 			chargingOrderTimeVO.setServiceProportion(jianService+"元/"+fengService+"元/"+pingService+"元/"+guService+"元-"
 					+jianService.divide(add1,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
 					+fengService.divide(add1,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
 					+pingService.divide(add1,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
 					+guService.divide(add1,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%");
-			chargingOrderTimeVO.setElectronicProportion(jian+"元/"+feng+"元/"+ping+"元/"+gu+"元-"
-					+jian.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
-					+feng.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
-					+ping.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
-					+gu.divide(add2,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%");
+			chargingOrderTimeVO.setElectronicProportion(jianElectronic+"元/"+fengElectronic+"元/"+pingElectronic+"元/"+guElectronic+"元-"
+					+jianElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+					+fengElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+					+pingElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%/"
+					+guElectronic.divide(add,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))+"%");
 		}else{
 			chargingOrderTimeVO.setCapacityProportion(jianElectronic+"度/"+fengElectronic+"度/"+pingElectronic+"度/"+guElectronic+"度-"
 					+"0"+"%/"
@@ -1933,7 +2025,12 @@
 		chargingOrderListInfoVO.setUid(chargingOrder.getId().toString());
 		chargingOrderListInfoVO.setCouponDiscountAmount(chargingOrder.getCouponDiscountAmount());
 		chargingOrderListInfoVO.setVipDiscountAmount(chargingOrder.getVipDiscountAmount());
-		chargingOrderListInfoVO.setSharingAmount(chargingOrder.getSharingAmount());
+		if (chargingOrder.getOrderSource().equals(2)){
+			chargingOrderListInfoVO.setSharingAmount(chargingOrder.getServiceCharge().multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_HALF_UP));
+		}else{
+			chargingOrderListInfoVO.setSharingAmount(chargingOrder.getSharingAmount());
+
+		}
 		// 查询费用明细列表
 		List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.lambdaQuery()
 				.eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrder.getId())
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