From cf32754f130955a617836cae7685c1a24979060c Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 19 三月 2025 17:25:54 +0800
Subject: [PATCH] 修改报表bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java                              |  208 +++++++++++---------
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java                                   |    3 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java                            |    4 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java                       |    4 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java                               |    5 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java                              |    2 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java                                         |   10 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java                                    |    4 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java                           |    4 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java                            |    2 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java               |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TVipOrderService.java                                            |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java                                       |    3 
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ExchangeOrderFallbackFactory.java                            |    2 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java                    |   16 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java                                       |   11 
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java                              |    6 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java                |    4 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/VipFallbackFactory.java                                      |    4 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                                               |  184 ++++++++++-------
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TVipOrderMapper.java                                              |    3 
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ParkingLotFallbackFactory.java                 |    6 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java                                 |   98 +++++----
 24 files changed, 332 insertions(+), 258 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java
index b0deac8..b807425 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppCouponFallbackFactory.java
@@ -32,12 +32,12 @@
 
             @Override
             public R<List<Integer>> getCountByCouponIds(String couponIds) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
             public R<Integer> getUseCountByCouponId(Integer couponId) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java
index 611230d..36c9fa9 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserCarFallbackFactory.java
@@ -34,7 +34,7 @@
 
             @Override
             public R<List<TAppUserCar>> getAllCar() {
-                return null;
+                return R.fail("获取所有车辆失败:"+throwable.getMessage());
             }
 
             @Override
@@ -49,7 +49,7 @@
 
             @Override
             public R<List<Long>> getAppUserCarByLicensePlates(String licensePlate) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
         };
     }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
index aeba294..75cc7a1 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
@@ -48,7 +48,7 @@
 
             @Override
             public R<List<TAppUser>> getAllUser() {
-                return null;
+                return R.fail("根据所有用户失败:"+throwable.getMessage());
             }
 
             @Override
@@ -65,7 +65,7 @@
 
             @Override
             public R changeDown(PointChangeDto points) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
@@ -85,7 +85,7 @@
 
             @Override
             public R giveVip(GiveVipDto giveVipDto) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
index e912626..8bce10c 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
@@ -32,12 +32,12 @@
 
             @Override
             public R<List<TChargingGun>> getAllGun() {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
             public R<List<TChargingPile>> getAllPile() {
-                return null;
+                return R.fail("获取所有桩失败:" + throwable.getMessage());
             }
 
             @Override
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
index b5e2ebc..1341ab8 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingPileFallbackFactory.java
@@ -35,7 +35,7 @@
 
             @Override
             public R<List<TChargingPile>> getChargingPileBySiteIds(List<Integer> siteIds) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ParkingLotFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ParkingLotFallbackFactory.java
index d2091f0..ec29620 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ParkingLotFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ParkingLotFallbackFactory.java
@@ -48,7 +48,7 @@
 
             @Override
             public R<BigDecimal> getRecordAmount(String sixBefore) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
     
             @Override
@@ -58,12 +58,12 @@
 
             @Override
             public R<Integer> getSiteIdByOrderId(Long id) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
             public R<List<TParkingRecord>> getSiteIdAll() {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
         };
     }
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java
index b614702..ecee297 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java
@@ -48,42 +48,42 @@
 
             @Override
             public R<List<Boolean>> getChargingOrderMenu(Integer partnerId, Integer siteId) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
 			@Override
 			public R<List<Boolean>> getChargingListMenu(Integer partnerId, Integer siteId) {
-				return null;
+				return R.fail("获取数据失败:" + throwable.getMessage());
 			}
 
 			@Override
 			public R<List<Boolean>> getSettlementListMenu(Integer partnerId, Integer siteId) {
-				return null;
+				return R.fail("获取数据失败:" + throwable.getMessage());
 			}
 
 			@Override
             public R<List<Boolean>> getAccountMenu(Integer partnerId, Integer siteId) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
             public R<List<Boolean>> managePageListMenu(Integer partnerId, Integer siteId) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
 			@Override
 			public R<List<Boolean>> parkingRecordListMenu(Integer partnerId, Integer siteId) {
-				return null;
+				return R.fail("获取数据失败:" + throwable.getMessage());
 			}
 
 			@Override
 			public R<List<Boolean>> watchChargingOrder(Integer partnerId, Integer siteId) {
-				return null;
+				return R.fail("获取数据失败:" + throwable.getMessage());
 			}
 
             @Override
             public R<List<Boolean>> chargeEvaluation(Integer partnerId, Integer siteId) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
         };
 	}
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
index d6c922f..433567d 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/SiteFallbackFactory.java
@@ -46,7 +46,7 @@
 
             @Override
             public R<List<GetSiteListDTO>> getSiteListByUserId(Long userId) {
-                return R.fail("获取数据失败");
+                return R.fail("获取数据失败" + throwable.getMessage());
             }
 
             @Override
@@ -57,7 +57,7 @@
 
             @Override
             public R<List<Partner>> getAllPartner() {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
index e5298d0..b127594 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
@@ -51,7 +51,7 @@
 
             @Override
             public R delete(String id) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
         };
     }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
index 6756519..b1f6b08 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
@@ -62,7 +62,7 @@
 
             @Override
             public R<List<ChargingOrderGroup>> getBySiteIdAndTime(ChargingPercentProvinceDto chargingPercentProvinceDto) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
     
             @Override
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ExchangeOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ExchangeOrderFallbackFactory.java
index b120a41..1fa47d3 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ExchangeOrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ExchangeOrderFallbackFactory.java
@@ -30,7 +30,7 @@
 
             @Override
             public R<TExchangeOrder> orderDetail(Long orderId) {
-                return null;
+                return R.fail("获取数据失败:" + cause.getMessage());
             }
         };
     }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
index 19ec997..33fa62f 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -47,7 +47,7 @@
 
             @Override
             public R<Integer> getSalesCountByGoodsIdgetCount(Integer goodId, Integer goodeType, Integer buyType) {
-                return null;
+                return R.fail("获取数据失败:" + cause.getMessage());
             }
 
 
@@ -68,7 +68,7 @@
 
             @Override
             public R<Long> addVipOrder(TVipOrder vipOrder) {
-                return null;
+                return R.fail("获取数据失败:" + cause.getMessage());
             }
 
 
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/VipFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/VipFallbackFactory.java
index 9c460b8..944d6b9 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/VipFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/VipFallbackFactory.java
@@ -34,7 +34,7 @@
             }
             @Override
             public R<TVip> getInfo(Integer type) {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
 
             @Override
@@ -54,7 +54,7 @@
 
             @Override
             public R<List<TVip>> getAllVip() {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
         };
     }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java
index 599d97a..5ce69cf 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteLogFallbackFactory.java
@@ -27,7 +27,7 @@
             @Override
             public R<Boolean> saveLog(SysOperLog sysOperLog, String source)
             {
-                return null;
+                return R.fail("获取数据失败:" + throwable.getMessage());
             }
             
         };
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 325b337..3259d9e 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
@@ -1063,7 +1063,7 @@
     @ApiOperation(value = "底部数据分类", tags = {"后台-数据分析-平台收入分析"})
     public R<Map<String,Object>> total() {
         //count近6个月的数据
-        LocalDate sixBefore = PreviousSixMonths.get();
+        LocalDateTime sixBefore = LocalDate.now().minusMonths(6).atTime(0, 0, 0);
         Long userId = tokenService.getLoginUser().getUserid();
         //获取当前登录的siteIds
         List<Integer> siteIds = new ArrayList<>();
@@ -1085,21 +1085,32 @@
         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 if (chargingOrder.getServiceCharge()!=null){
-                serviceCharge = serviceCharge.add(chargingOrder.getServiceCharge());
+        List<TChargingOrder> list = chargingOrderService.lambdaQuery().eq(TChargingOrder::getStatus, 5).eq(TChargingOrder::getDelFlag, 0)
+                .eq(TChargingOrder::getRechargePaymentStatus, 2).between(TChargingOrder::getCreateTime, sixBefore, LocalDateTime.now()).list();
+        BigDecimal sharingAmount = BigDecimal.ZERO;
+        BigDecimal commissionAmount = BigDecimal.ZERO;
+        //计算list中electrovalence的总和
+        BigDecimal totalElectrovalence = BigDecimal.ZERO;
+        //计算list中serviceCharge的总和
+        BigDecimal totalServiceCharge = BigDecimal.ZERO;
+        List<TChargingOrderAccountingStrategy> accountingStrategyList = chargingOrderAccountingStrategyService.list();
+        for (TChargingOrder order : list) {
+            List<TChargingOrderAccountingStrategy> collect = accountingStrategyList.stream().filter(s -> s.getChargingOrderId().equals(order.getId())).collect(Collectors.toList());
+            BigDecimal periodElectricPrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal periodServicePrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+            totalElectrovalence = totalElectrovalence.add(periodElectricPrice);
+            commissionAmount = commissionAmount.add(order.getRechargeAmount().multiply(new BigDecimal("0.006")));
+            if(2 != order.getOrderSource()){
+                totalServiceCharge = totalServiceCharge.add(periodServicePrice);
+            }else{
+                totalServiceCharge = totalServiceCharge.add(periodServicePrice.multiply(new BigDecimal("0.8")));
+                sharingAmount = sharingAmount.add(periodServicePrice.multiply(new BigDecimal("0.2")));
             }
-
         }
-        map.put("service_charge",serviceCharge);
-        map.put("commission_amount",commissionAmount);
+        map.put("service_charge",totalServiceCharge.setScale(2, BigDecimal.ROUND_HALF_EVEN));
+        map.put("electrovalence",totalElectrovalence.setScale(2, BigDecimal.ROUND_HALF_EVEN));
+        map.put("commission_amount",commissionAmount.setScale(2, BigDecimal.ROUND_HALF_EVEN));
+        map.put("sharing_amount",sharingAmount.setScale(2, BigDecimal.ROUND_HALF_EVEN));
         return R.ok(map);
     }
 
@@ -1248,38 +1259,25 @@
         if (siteIds.isEmpty())siteIds.add(-1);
         TCharingOrderMapVO tCharingOrderMapVO = new TCharingOrderMapVO();
 
-
         LocalDate start = null;
         LocalDate end = null;
         if (statisticsQueryDto.getDayType()==1){
             start = LocalDate.now();
             end = LocalDate.now().plusDays(1);
-
         }else if (statisticsQueryDto.getDayType()==2){
             LocalDate today = LocalDate.now();
-
             // 获取本周一的日期
-            LocalDate mondayThisWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
             start = statisticsQueryDto.getStartTime();
             end = statisticsQueryDto.getEndTime();
-            System.out.println("本周一是: " + mondayThisWeek);
-        }
-        else if (statisticsQueryDto.getDayType()==3){
+        } else if (statisticsQueryDto.getDayType()==3){
             // 获取当前日期
-            LocalDate today = LocalDate.now();
             start = statisticsQueryDto.getStartTime();
-            end = statisticsQueryDto.getEndTime().plusDays(1);
-            // 获取本月1号的日期
-//            start = yearMonth.atDay(1);
-//
-//            System.out.println("本月1号是: " + start);
+            end = statisticsQueryDto.getEndTime();
         }else if (statisticsQueryDto.getDayType()==4){
-
             // 获取今年1月1日的日期
             start = statisticsQueryDto.getStartTime();
             end = statisticsQueryDto.getEndTime();
         }else if (statisticsQueryDto.getDayType()==5){
-
             // 获取今年1月1日的日期
             start = statisticsQueryDto.getStartTime();
             end = statisticsQueryDto.getEndTime();
@@ -1287,10 +1285,6 @@
                 end =  end.plusDays(1);
             }
         }
-
-//        List<TChargingOrder> list = chargingOrderService.lambdaQuery().ge(TChargingOrder::getCreateTime, start).le(TChargingOrder::getCreateTime, end).in(TChargingOrder::getSiteId, siteIds).list();
-//        List<Long> chargingOrderIds = list.stream().map(TChargingOrder::getId).collect(Collectors.toList());
-//        chargingOrderIds.add(-1L);
         //上方饼图
          List<Map<String,Object>> maps = chargingOrderService.getSumByType(start,end, siteIds);
 
@@ -1319,10 +1313,7 @@
 
             tCharingOrderMapVO.setMaps1(charMap);
         }else if (statisticsQueryDto.getDayType()==2){
-
-
-
-            List<Map<String,Object>> maps1 = chargingOrderService.getWeekData(start,end);
+            List<Map<String,Object>> maps1 = chargingOrderService.getWeekData(start,end, siteIds);
 
             LocalDate startDate = statisticsQueryDto.getStartTime();
             LocalDate endDate = statisticsQueryDto.getEndTime();
@@ -1352,7 +1343,7 @@
             }
             tCharingOrderMapVO.setMaps1(dateRangeStatistics);
         }else if (statisticsQueryDto.getDayType()==3){
-            List<Map<String,Object>> maps1 = chargingOrderService.getMonthData(start,end);
+            List<Map<String,Object>> maps1 = chargingOrderService.getMonthData(start,end, siteIds);
 
             LocalDate startDate = statisticsQueryDto.getStartTime();
             LocalDate endDate = statisticsQueryDto.getEndTime();
@@ -1382,7 +1373,7 @@
             }
             tCharingOrderMapVO.setMaps1(dateRangeStatistics);
         }else  if (statisticsQueryDto.getDayType()==4){
-            List<Map<String,Object>> maps1 = chargingOrderService.getYearData(start,end);
+            List<Map<String,Object>> maps1 = chargingOrderService.getYearData(start,end, siteIds);
 
             LocalDate startDate = statisticsQueryDto.getStartTime();
             LocalDate endDate = statisticsQueryDto.getEndTime();
@@ -1413,7 +1404,7 @@
             }
             tCharingOrderMapVO.setMaps1(dateRangeStatistics);
         }else if (statisticsQueryDto.getDayType()==5){
-            List<Map<String,Object>> maps1 = chargingOrderService.getByDate(start,end);
+            List<Map<String,Object>> maps1 = chargingOrderService.getByDate(start,end, siteIds);
 
             LocalDate startDate = statisticsQueryDto.getStartTime();
             LocalDate endDate = statisticsQueryDto.getEndTime();
@@ -1873,18 +1864,35 @@
         LocalDateTime max = selectDate.with(LocalTime.MAX);
 
         List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds)
-                .ge( TChargingOrder::getCreateTime,min).le(BasePojo::getCreateTime,max).eq(TChargingOrder::getStatus,5)
+                .between(TChargingOrder::getCreateTime, min, max).eq(TChargingOrder::getStatus,5)
                 .eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list();
         //当日的订单总数
         int size = list.size();
         //计算list中paymentAmount的总和
-        BigDecimal totalPaymentAmount = list.stream().map(TChargingOrder::getPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal totalPaymentAmount = BigDecimal.ZERO;
         //计算list中electrovalence的总和
-        BigDecimal totalElectrovalence = list.stream().map(TChargingOrder::getElectrovalence).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal totalElectrovalence = BigDecimal.ZERO;
         //计算list中serviceCharge的总和
-        BigDecimal totalServiceCharge = list.stream().map(TChargingOrder::getServiceCharge).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal totalServiceCharge = BigDecimal.ZERO;
         //计算list中charging_capacity的总和
-        BigDecimal totalChargingCapacity = list.stream().map(TChargingOrder::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal totalChargingCapacity = BigDecimal.ZERO;
+        List<TChargingOrderAccountingStrategy> accountingStrategyList = chargingOrderAccountingStrategyService.list();
+        for (TChargingOrder order : list) {
+            List<TChargingOrderAccountingStrategy> collect = accountingStrategyList.stream().filter(s -> s.getChargingOrderId().equals(order.getId())).collect(Collectors.toList());
+            BigDecimal periodElectricPrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal periodServicePrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal chargingCapacity = collect.stream().map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
+            totalElectrovalence = totalElectrovalence.add(periodElectricPrice);
+            totalChargingCapacity = totalChargingCapacity.add(chargingCapacity);
+            if(2 != order.getOrderSource()){
+                totalServiceCharge = totalServiceCharge.add(periodServicePrice);
+                totalPaymentAmount = totalPaymentAmount.add(periodElectricPrice).add(periodServicePrice);
+            }else{
+                totalServiceCharge = totalServiceCharge.add(periodServicePrice.multiply(new BigDecimal("0.8")));
+                totalPaymentAmount = totalPaymentAmount.add(periodElectricPrice).add(periodServicePrice.multiply(new BigDecimal("0.8")));
+            }
+        }
+        
         TCharingWorkVO tCharingWorkVO = new TCharingWorkVO();
         tCharingWorkVO.setCount(size);
         tCharingWorkVO.setTotalPaymentAmount(totalPaymentAmount);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
index 7f5ff3e..c82b8b0 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -66,22 +66,22 @@
 
 	List<SixCircleDto> circle(@Param("siteIds")List<Integer> siteIds,@Param("sixBefore")LocalDate sixBefore);
 
-	Map<String, Object> countAll(@Param("sixBefore")LocalDate sixBefore,@Param("siteIds")List<Integer> siteIds);
+	Map<String, Object> countAll(@Param("sixBefore")LocalDateTime sixBefore,@Param("siteIds")List<Integer> siteIds);
 
     List<Map<String, Object>> getSumByType(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end,@Param("siteIds")List<Integer> siteIds);
 
     List<Map<String, Object>> getDateData(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end,@Param("siteIds")List<Integer> siteIds);
 
-	List<Map<String, Object>> getWeekData(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end);
+	List<Map<String, Object>> getWeekData(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end,@Param("siteIds")List<Integer> siteIds);
 
-	List<Map<String, Object>> getMonthData(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end);
+	List<Map<String, Object>> getMonthData(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end,@Param("siteIds")List<Integer> siteIds);
 
-	List<Map<String, Object>> getYearData(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end);
+	List<Map<String, Object>> getYearData(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end,@Param("siteIds")List<Integer> siteIds);
 
 	List<ChargingOrderListVO> chargingList(@Param("pageInfo")PageInfo<ChargingOrderListVO> pageInfo, @Param("req") ChargingListQuery dto, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2, @Param("endTime1")String endTime1, @Param("endTime2")String endTime2);
 	List<ChargingOrderListVO> chargingListNoPage( @Param("req")ChargingListQuery dto, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2, @Param("endTime1")String endTime1, @Param("endTime2")String endTime2);
 
-	List<Map<String, Object>> getByDate(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end);
+	List<Map<String, Object>> getByDate(@Param("start")LocalDateTime start,@Param("end")LocalDateTime end,List<Integer> siteIds);
 
     List<Map<String, Object>> queryPower(@Param("siteIds")List<Integer> siteIds);
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TVipOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TVipOrderMapper.java
index 67c387d..1aa58df 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TVipOrderMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TVipOrderMapper.java
@@ -12,6 +12,7 @@
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -30,5 +31,5 @@
 
     List<SixVipDto> sixBefore(@Param("sixBefore")LocalDate sixBefore);
 
-    BigDecimal getSumAmout(@Param("sixBefore")LocalDate sixBefore);
+    BigDecimal getSumAmout(@Param("sixBefore") LocalDateTime sixBefore);
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
index 64b1198..742c6f2 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -20,6 +20,7 @@
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
 
@@ -144,17 +145,17 @@
 
 	List<SixCircleDto> circle(List<Integer> siteIds,LocalDate sixBefore);
 
-	Map<String, Object> countAll(LocalDate sixBefore,List<Integer> siteIds);
+	Map<String, Object> countAll(LocalDateTime sixBefore, List<Integer> siteIds);
 
     List<Map<String, Object>> getSumByType(LocalDate start,LocalDate end,List<Integer> siteIds);
 
 	List<Map<String, Object>> getDateData(LocalDate start,LocalDate end,List<Integer> siteIds);
 
-	List<Map<String, Object>> getWeekData(LocalDate start,LocalDate end);
+	List<Map<String, Object>> getWeekData(LocalDate start,LocalDate end,List<Integer> siteIds);
 
-	List<Map<String, Object>> getMonthData(LocalDate start,LocalDate end);
+	List<Map<String, Object>> getMonthData(LocalDate start,LocalDate end,List<Integer> siteIds);
 
-	List<Map<String, Object>> getYearData(LocalDate start,LocalDate end);
+	List<Map<String, Object>> getYearData(LocalDate start,LocalDate end,List<Integer> siteIds);
 
     ChargingOrderTimeVO chargingList(ChargingListQuery dto);
 
@@ -190,7 +191,7 @@
 	 */
 	void excelEndCharge(String orderCode);
 
-	List<Map<String, Object>> getByDate(LocalDate start,LocalDate end);
+	List<Map<String, Object>> getByDate(LocalDate start,LocalDate end, List<Integer> siteIds);
 
 	List<Map<String, Object>> queryPower(List<Integer> siteIds);
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java
index 09a7d53..c3c9dab 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TShoppingOrderService.java
@@ -14,6 +14,7 @@
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
 
@@ -79,7 +80,7 @@
 
     List<SixShopDto> sixBefore(LocalDate sixBefore, Integer status);
 
-    BigDecimal getSumAmount(LocalDate sixBefore);
+    BigDecimal getSumAmount(LocalDateTime sixBefore);
 
     List<Map<String, Object>> getData(ChargingStatisticsQueryDto statisticsQueryDto);
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TVipOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TVipOrderService.java
index 1434169..7ad9af4 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TVipOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TVipOrderService.java
@@ -8,6 +8,7 @@
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -24,7 +25,7 @@
 
     List<SixVipDto> sixBefore(LocalDate sixBefore);
 
-    BigDecimal getSumAmout(LocalDate sixBefore);
+    BigDecimal getSumAmout(LocalDateTime sixBefore);
 
     void payBack(String outTradeNo);
 }
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 84ec02b..a039aff 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
@@ -88,7 +88,6 @@
 
     @Override
     public ChargingBillVO chargingBillList1(ChargingListQuery dto) {
-
         ChargingBillVO chargingBillVO = new ChargingBillVO();
         List<TChargingOrder> tChargingOrders1 = new ArrayList<>();
         String startTime1 = null;
@@ -105,7 +104,7 @@
         List<TAppUser> userList = appUserClient.getAllUser().getData();
         List<TAppUserCar> carList = appUserCarClient.getAllCar().getData();
         List<TChargingOrder> total = chargingOrderList.selectList(new LambdaQueryWrapper<>(TChargingOrder.class)
-                .eq(TChargingOrder::getRechargePaymentStatus, 2));
+                .eq(TChargingOrder::getRechargePaymentStatus, 2).eq(TChargingOrder::getStatus, 5));
         List<TChargingOrderRefund> totalRefund = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getRefundStatus, 2).list();
         Long userId = tokenService.getLoginUser().getUserid();
         // 查询当前登陆人按钮权限
@@ -521,7 +520,7 @@
             startTime2 = split[1];
         }
         List<TChargingOrder> total = chargingOrderList.selectList(new LambdaQueryWrapper<>(TChargingOrder.class)
-                .eq(TChargingOrder::getRechargePaymentStatus, 2));
+                .eq(TChargingOrder::getRechargePaymentStatus, 2).eq(TChargingOrder::getStatus, 5));
         PageInfo<ChargingBillListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
         List<Site> data6 = siteClient.getSiteAll().getData();
         List<TChargingGun> gunList = chargingGunClient.getAllGun().getData();
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 e332428..66e4ed3 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
@@ -1334,13 +1334,6 @@
 		dto.setSiteIds(siteIds);
 		List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
 		List<ChargingOrderVO> list1 = this.baseMapper.chargingOrder(pageInfo1,dto,startTime1,startTime2,endTime1,endTime2);
-		 BigDecimal total = new BigDecimal("0");
-		 long time = 0L;
-		 BigDecimal electronicMoney = new BigDecimal("0");
-		 BigDecimal serviceMoney = new BigDecimal("0");
-		 BigDecimal commissionMoney = new BigDecimal("0");
-		 BigDecimal refundMoney = new BigDecimal("0");
-		 BigDecimal paymentMoney = new BigDecimal("0");
 		List<TChargingOrderAccountingStrategy> list3 = chargingOrderAccountingStrategyService.list();
 
 		for (ChargingOrderVO chargingOrderVO : list) {
@@ -1407,24 +1400,31 @@
 			}
 		}
 
-
 		List<TChargingOrderRefund> chargingOrderRefunds = chargingOrderRefundService.lambdaQuery()
 				.eq(TChargingOrderRefund::getRefundStatus,2).list();
-
+	
+	    BigDecimal total = new BigDecimal("0");
+	    long time = 0L;
+	    BigDecimal electronicMoney = new BigDecimal("0");
+	    BigDecimal serviceMoney = new BigDecimal("0");
+	    BigDecimal refundMoney = new BigDecimal("0");
+	    BigDecimal paymentMoney = new BigDecimal("0");
 		for (ChargingOrderVO chargingOrderVO : list1) {
+			if(null == chargingOrderVO.getStatus() || 5 != chargingOrderVO.getStatus()){
+				continue;
+			}
 			List<TChargingOrderAccountingStrategy> list4 = list3.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderVO.getId())).collect(Collectors.toList());
 			BigDecimal electronic_reduce = list4.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
 			BigDecimal service_reduce = list4.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+			BigDecimal chargingCapacity = list4.stream().map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
+			electronicMoney = electronicMoney.add(electronic_reduce);
+			total = total.add(chargingCapacity);
 			if (!chargingOrderVO.getOrderSource().equals(2)) {
-				paymentMoney = paymentMoney.add(chargingOrderVO.getPaymentAmount() != null ? chargingOrderVO.getPaymentAmount() : new BigDecimal("0"));
+				serviceMoney = serviceMoney.add(service_reduce);
+				paymentMoney = paymentMoney.add(electronic_reduce).add(service_reduce);
 			}else{
-				paymentMoney = paymentMoney.add(electronic_reduce).add(service_reduce.multiply(new BigDecimal("0.8")).setScale(2, BigDecimal.ROUND_DOWN));
-			}
-//			if (chargingOrderVO.getRechargeAmount()!=null){
-//				commissionMoney = commissionMoney.add(chargingOrderVO.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN));
-//			}
-			if (chargingOrderVO.getChargingCapacity()!=null){
-				total = total.add(chargingOrderVO.getElectricity()!=null?chargingOrderVO.getElectricity():new BigDecimal("0"));
+				serviceMoney = serviceMoney.add(service_reduce.multiply(new BigDecimal("0.8")));
+				paymentMoney = paymentMoney.add(electronic_reduce).add(service_reduce.multiply(new BigDecimal("0.8")));
 			}
 			if (chargingOrderVO.getStartTime()!=null && chargingOrderVO.getEndTime()!=null){
 				LocalDateTime startTime = chargingOrderVO.getStartTime();
@@ -1438,20 +1438,12 @@
 			for (TChargingOrderRefund tChargingOrderRefund : list2) {
 				refundMoney = refundMoney.add(tChargingOrderRefund.getRefundTotalAmount());
 			}
-			
-			//充电明细
-			electronicMoney = electronicMoney.add(electronic_reduce);
-			if (!chargingOrderVO.getOrderSource().equals(2)){
-				serviceMoney = serviceMoney.add(service_reduce);
-			}else{
-				serviceMoney = serviceMoney.add(service_reduce.multiply(new BigDecimal("0.8")));
-			}
 		}
 		tCharingOrderVO.setTotal(total);
 		tCharingOrderVO.setTime(time);
-		tCharingOrderVO.setIncome(paymentMoney);
-		tCharingOrderVO.setElectronicMoney(electronicMoney);
-		tCharingOrderVO.setServiceMoney(serviceMoney);
+		tCharingOrderVO.setIncome(paymentMoney.setScale(2, BigDecimal.ROUND_HALF_EVEN));
+		tCharingOrderVO.setElectronicMoney(electronicMoney.setScale(2, BigDecimal.ROUND_HALF_EVEN));
+		tCharingOrderVO.setServiceMoney(serviceMoney.setScale(2, BigDecimal.ROUND_HALF_EVEN));
 		pageInfo.setRecords(list);
 		tCharingOrderVO.setList(pageInfo);
         return tCharingOrderVO;
@@ -1501,7 +1493,7 @@
 	}
 
 	@Override
-	public Map<String, Object> countAll(LocalDate sixBefore,List<Integer> siteIds) {
+	public Map<String, Object> countAll(LocalDateTime sixBefore,List<Integer> siteIds) {
 		return this.baseMapper.countAll(sixBefore,siteIds);
 	}
 
@@ -1520,24 +1512,24 @@
 	}
 
 	@Override
-	public List<Map<String, Object>> getWeekData(LocalDate start,LocalDate end) {
+	public List<Map<String, Object>> getWeekData(LocalDate start,LocalDate end,List<Integer> siteIds) {
 		LocalDateTime start1 = start.atStartOfDay();
 		LocalDateTime end1 = end.atTime(LocalTime.MAX);
-		return this.baseMapper.getWeekData(start1,end1);
+		return this.baseMapper.getWeekData(start1,end1,siteIds);
 	}
 
 	@Override
-	public List<Map<String, Object>> getMonthData(LocalDate start,LocalDate end) {
+	public List<Map<String, Object>> getMonthData(LocalDate start,LocalDate end,List<Integer> siteIds) {
 		LocalDateTime start1 = start.atStartOfDay();
 		LocalDateTime end1 = end.atTime(LocalTime.MAX);
-		return this.baseMapper.getMonthData(start1,end1);
+		return this.baseMapper.getMonthData(start1,end1,siteIds);
 	}
 
 	@Override
-	public List<Map<String, Object>> getYearData(LocalDate start,LocalDate end) {
+	public List<Map<String, Object>> getYearData(LocalDate start,LocalDate end,List<Integer> siteIds) {
 		LocalDateTime start1 = start.atStartOfDay();
 		LocalDateTime end1 = end.atTime(LocalTime.MAX);
-		return this.baseMapper.getYearData(start1,end1);
+		return this.baseMapper.getYearData(start1,end1,siteIds);
 	}
 
 	@Resource
@@ -1802,22 +1794,18 @@
 		BigDecimal gu = new BigDecimal("0");
 		List<TChargingOrderAccountingStrategy> chargingOrderAccountingStrategies = chargingOrderAccountingStrategyService.list();
 		for (ChargingOrderListVO chargingOrderListVO : list1) {
-			if (chargingOrderListVO.getChargingCapacity()!=null)electronic = electronic.add(chargingOrderListVO.getElectricity());
-
-			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){
-				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());
-				}
+			List<TChargingOrderAccountingStrategy> collect = chargingOrderAccountingStrategies.stream().filter(s -> s.getChargingOrderId().equals(chargingOrderListVO.getId())).collect(Collectors.toList());
+			BigDecimal periodServicePrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+			BigDecimal periodElectricPrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+			BigDecimal chargingCapacity = collect.stream().map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
+			electronic = electronic.add(chargingCapacity);
+			electrovalence = electrovalence.add(periodElectricPrice);
+			if (chargingOrderListVO.getOrderSource().equals(2)){
+				serviceCharge = serviceCharge.add(periodServicePrice.multiply(new BigDecimal("0.8")));
+				paymentAmount = paymentAmount.add(periodElectricPrice).add(periodServicePrice.multiply(new BigDecimal("0.8")));
+			}else{
+				serviceCharge = serviceCharge.add(periodServicePrice);
+				paymentAmount = paymentAmount.add(periodElectricPrice).add(periodServicePrice);
 			}
 			if (!chargingOrderListVO.getOrderSource().equals(2)){
 				List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategies.stream().filter(e -> e.getChargingOrderId().equals(chargingOrderListVO.getId()))
@@ -1825,24 +1813,48 @@
 				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());
+							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());
+							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());
+							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());
+							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;
 					}
 				}
@@ -1852,34 +1864,58 @@
 				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)));
+							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)));
+							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)));
+							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)));
+							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;
 					}
 				}
 			}
 		}
 
-		chargingOrderTimeVO.setChargingCapacity(electronic);
-		chargingOrderTimeVO.setPaymentAmount(paymentAmount);
-		chargingOrderTimeVO.setElectrovalence(electrovalence);
-		chargingOrderTimeVO.setServiceCharge(serviceCharge);
+		chargingOrderTimeVO.setChargingCapacity(electronic.setScale(2, BigDecimal.ROUND_HALF_EVEN));
+		chargingOrderTimeVO.setPaymentAmount(paymentAmount.setScale(2, BigDecimal.ROUND_HALF_EVEN));
+		chargingOrderTimeVO.setElectrovalence(electrovalence.setScale(2, BigDecimal.ROUND_HALF_EVEN));
+		chargingOrderTimeVO.setServiceCharge(serviceCharge.setScale(2, BigDecimal.ROUND_HALF_EVEN));
 		// 计算尖峰平谷充电到账占比
 
 		BigDecimal add = jianElectronic.add(fengElectronic).add(pingElectronic).add(guElectronic);
@@ -2559,11 +2595,11 @@
 	
 	
 	@Override
-	public List<Map<String, Object>> getByDate(LocalDate start,LocalDate end) {
+	public List<Map<String, Object>> getByDate(LocalDate start,LocalDate end,List<Integer> siteIds) {
 
 			LocalDateTime start1 = start.atStartOfDay();
 			LocalDateTime end1 = end.atTime(LocalTime.MAX);
-		return this.baseMapper.getByDate(start1,end1);
+		return this.baseMapper.getByDate(start1,end1,siteIds);
 	}
 
 	@Override
@@ -3126,13 +3162,9 @@
 			siteIds.add(-1);
 		}
 		List<Site> siteList = siteClient.getSiteAll().getData();
-		List<TChargingGun> gunList = chargingGunClient.getAllGun().getData();
 		List<TChargingPile> pileList = chargingGunClient.getAllPile().getData();
-		List<TAppUser> userList = appUserClient.getAllUser().getData();
-		List<TAppUserCar> carList = appUserCarClient.getAllCar().getData();
 		List<TChargingOrder> totalOrder = chargingOrderService.list(new LambdaQueryWrapper<>(TChargingOrder.class)
-				.eq(TChargingOrder::getRechargePaymentStatus, 2));
-		List<TChargingOrderRefund> totalRefund = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getRefundStatus, 2).list();
+				.eq(TChargingOrder::getRechargePaymentStatus, 2).eq(TChargingOrder::getStatus, 5));
 		SettlementTotalVO res = new SettlementTotalVO();
 		List<TSettlementConfirm> list1 = tSettlementConfirmMapper.settlementTotal(time,siteIds);
 		LocalDateTime parse = LocalDateTime.parse(time, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
@@ -3169,8 +3201,6 @@
 		BigDecimal orderCommission = new BigDecimal("0");
 		BigDecimal vipDiscount = new BigDecimal("0");
 		BigDecimal couponDiscount = new BigDecimal("0");
-//		tSettlementConfirm1.setIncomePercentage();
-//		tSettlementConfirm1.setTotalPercentage();
 		tSettlementConfirm1.setElectronicRefund(0);
 		// 上月成本合计
 		BigDecimal beforeCost= new BigDecimal("0");
@@ -3245,7 +3275,6 @@
 			for (TChargingPile datum : data) {
 				bigDecimal = bigDecimal.add(datum.getRatedPower());
 			}
-
 
 			tSettlementConfirm.setIncome(tSettlementConfirm.getElectrovalence().add(tSettlementConfirm.getServiceCharge()));
 			//利用率=充电量/(桩数量*功率*时间)
@@ -3335,7 +3364,6 @@
 			BigDecimal subtract = income.subtract(beforeIncome).divide(beforeIncome,2,RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
 			tSettlementConfirm.setIncomePercentage(subtract+"%");
 			tSettlementConfirm.setIncomePercentage(subtract+"%");
-
 		}
 		// 比较总利润 收入合计-成本合计
 		BigDecimal subtract1 = income.subtract(cost);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java
index b341dd9..28eecfc 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java
@@ -20,6 +20,7 @@
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -75,7 +76,7 @@
     }
 
     @Override
-    public BigDecimal getSumAmout(LocalDate sixBefore) {
+    public BigDecimal getSumAmout(LocalDateTime sixBefore) {
         return this.baseMapper.getSumAmout(sixBefore);
     }
 
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 c92c846..278ae5a 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
@@ -76,7 +76,7 @@
     <select id="chargingOrder" resultType="com.ruoyi.order.api.vo.ChargingOrderVO">
         select t1.*
         from t_charging_order t1
-        where 1=1
+        where t1.del_flag = 0
         <if test="null != req.code and req.code!=''">
             and t1.code  LIKE CONCAT('%',#{req.code},'%')
         </if>
@@ -446,26 +446,32 @@
     </select>
     <select id="getDateData" resultType="java.util.Map">
         SELECT
-        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,
+        DATE_FORMAT(a.create_time, '%H:00' ) as time,
+        SUM(CASE
+        WHEN a.order_source = 0 THEN b.period_service_price
+        WHEN a.order_source = 1 THEN b.period_service_price
+        ELSE b.period_service_price * 0.8
+        END) as servicecharge,
+        SUM(a.charging_capacity) as electrovalence,
+        SUM(a.electrovalence) AS paymentAmount,
+        ROUND(SUM(CASE
+        WHEN a.order_source = 0 THEN b.money
+        WHEN a.order_source = 1 THEN b.money
+        ELSE (b.period_electric_price + b.period_service_price * 0.8)
+        END), 2) AS paymoney,
         count(1) as orderCount
         FROM
-        t_charging_order
+        t_charging_order a
+        left join (select charging_order_id, sum(period_electric_price) as period_electric_price, sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
         <where>
-            del_flag = 0 and recharge_payment_status = 2  and DATE(create_time) = CURDATE()
-
-            and create_time between #{start} and #{end}
-
+            a.del_flag = 0 and a.status = 5  and a.recharge_payment_status = 2  and DATE(a.create_time) = CURDATE()
+            and a.create_time between #{start} and #{end}
+            <if test="null != siteIds and siteIds.size() > 0">
+                and a.site_id in
+                <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         GROUP BY
             time
@@ -475,23 +481,32 @@
     </select>
     <select id="getWeekData" resultType="java.util.Map">
         SELECT
-        DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
+        DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time,
         SUM(CASE
-        WHEN order_source = 0 THEN service_charge
-        WHEN order_source = 1 THEN service_charge
-        ELSE service_charge * 0.2
+        WHEN a.order_source = 0 THEN b.period_service_price
+        WHEN a.order_source = 1 THEN b.period_service_price
+        ELSE b.period_service_price * 0.8
         END) as servicecharge,
-        SUM(charging_capacity) as electrovalence,
-        SUM(electrovalence) AS paymentAmount,
-        SUM(payment_amount) AS paymoney,
+        SUM(a.charging_capacity) as electrovalence,
+        SUM(a.electrovalence) AS paymentAmount,
+        ROUND(SUM(CASE
+        WHEN a.order_source = 0 THEN b.money
+        WHEN a.order_source = 1 THEN b.money
+        ELSE (b.period_electric_price + b.period_service_price * 0.8)
+        END), 2) AS paymoney,
         count(1) as orderCount
         FROM
-        t_charging_order
+        t_charging_order a
+        left join (select charging_order_id, sum(period_electric_price) as period_electric_price, sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
         <where>
-            del_flag = 0 and recharge_payment_status = 2  and YEARWEEK(DATE_FORMAT(create_time, '%Y-%m-%d'), 1) = YEARWEEK(NOW(), 1)
-
-            and create_time between #{start} and #{end}
-
+            a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2  and YEARWEEK(DATE_FORMAT(a.create_time, '%Y-%m-%d'), 1) = YEARWEEK(NOW(), 1)
+            and a.create_time between #{start} and #{end}
+            <if test="null != siteIds and siteIds.size() > 0">
+                and a.site_id in
+                <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         GROUP BY
         time
@@ -501,28 +516,32 @@
     </select>
     <select id="getMonthData" resultType="java.util.Map">
         SELECT
-        DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
+        DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time,
         SUM(CASE
-        WHEN order_source = 0 THEN service_charge
-        WHEN order_source = 1 THEN service_charge
-        ELSE service_charge * 0.2
+        WHEN a.order_source = 0 THEN b.period_service_price
+        WHEN a.order_source = 1 THEN b.period_service_price
+        ELSE b.period_service_price * 0.8
         END) as servicecharge,
-        SUM(charging_capacity) as electrovalence,
-        SUM(electrovalence) AS paymentAmount,
-        SUM(
-        CASE
-        WHEN order_source = 0 THEN payment_amount
-        WHEN order_source = 1 THEN payment_amount
-        ELSE service_charge * 0.2
-        END) AS paymoney,
+        SUM(a.charging_capacity) as electrovalence,
+        SUM(a.electrovalence) AS paymentAmount,
+        ROUND(SUM(CASE
+        WHEN a.order_source = 0 THEN b.money
+        WHEN a.order_source = 1 THEN b.money
+        ELSE (b.period_electric_price + b.period_service_price * 0.8)
+        END), 2) AS paymoney,
         count(1) as orderCount
         FROM
-        t_charging_order
+        t_charging_order a
+        left join (select charging_order_id, sum(period_electric_price) as period_electric_price, sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
         <where>
-            del_flag = 0 and recharge_payment_status = 2  and MONTH(create_time) = MONTH(NOW())  AND YEAR(create_time) = YEAR(NOW())
-
-            and create_time between #{start} and #{end}
-
+            a.del_flag = 0 and a.status = 5  and a.recharge_payment_status = 2  and MONTH(a.create_time) = MONTH(NOW())  AND YEAR(a.create_time) = YEAR(NOW())
+            and a.create_time between #{start} and #{end}
+            <if test="null != siteIds and siteIds.size() > 0">
+                and a.site_id in
+                <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         GROUP BY
         time
@@ -532,50 +551,66 @@
     </select>
     <select id="getYearData" resultType="java.util.Map">
         SELECT
-        DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
+        DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time,
         SUM(CASE
-        WHEN order_source = 0 THEN service_charge
-        WHEN order_source = 1 THEN service_charge
-        ELSE service_charge * 0.2
+        WHEN a.order_source = 0 THEN b.period_service_price
+        WHEN a.order_source = 1 THEN b.period_service_price
+        ELSE b.period_service_price * 0.8
         END) as servicecharge,
-        SUM(charging_capacity) as electrovalence,
-        SUM(electrovalence) AS paymentAmount,
-        SUM(payment_amount) AS paymoney,
-
+        SUM(a.charging_capacity) as electrovalence,
+        SUM(a.electrovalence) AS paymentAmount,
+        ROUND(SUM(CASE
+        WHEN a.order_source = 0 THEN b.money
+        WHEN a.order_source = 1 THEN b.money
+        ELSE (b.period_electric_price + b.period_service_price * 0.8)
+        END), 2) AS paymoney,
         count(1) as orderCount
         FROM
-        t_charging_order
+        t_charging_order a
+        left join (select charging_order_id, sum(period_electric_price) as period_electric_price, sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
         <where>
-            del_flag = 0 and recharge_payment_status = 2  and YEAR(create_time) = YEAR(NOW())
-
-            and create_time between #{start} and #{end}
-
+            a.del_flag = 0 and a.status = 5  and a.recharge_payment_status = 2  and YEAR(a.create_time) = YEAR(NOW())
+            and a.create_time between #{start} and #{end}
+            <if test="null != siteIds and siteIds.size() > 0">
+                and a.site_id in
+                <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         GROUP BY
         time
         ORDER BY
         time
-
-
     </select>
     <select id="getByDate" resultType="java.util.Map">
         SELECT
-        DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
+        DATE_FORMAT(a.create_time, '%Y-%m-%d' ) as time,
         SUM(CASE
-        WHEN order_source = 0 THEN service_charge
-        WHEN order_source = 1 THEN service_charge
-        ELSE service_charge * 0.2
+        WHEN a.order_source = 0 THEN b.period_service_price
+        WHEN a.order_source = 1 THEN b.period_service_price
+        ELSE b.period_service_price * 0.2
         END) as servicecharge,
-        SUM(charging_capacity) as electrovalence,
-        SUM(electrovalence) AS paymentAmount,
-        SUM(payment_amount) AS paymoney,
-
+        SUM(a.charging_capacity) as electrovalence,
+        SUM(a.electrovalence) AS paymentAmount,
+        ROUND(SUM(CASE
+        WHEN a.order_source = 0 THEN b.money
+        WHEN a.order_source = 1 THEN b.money
+        ELSE (b.period_electric_price + b.period_service_price * 0.8)
+        END), 2) AS paymoney,
         count(1) as orderCount
         FROM
-        t_charging_order
+        t_charging_order a
+        left join (select charging_order_id, sum(period_electric_price) as period_electric_price, sum(period_service_price) as period_service_price, sum(period_electric_price + period_service_price) as money from t_charging_order_accounting_strategy group by charging_order_id) b on (a.id = b.charging_order_id)
         <where>
-            del_flag = 0 and recharge_payment_status = 2
-            and create_time between #{start} and #{end}
+            a.del_flag = 0 and a.status = 5  and a.recharge_payment_status = 2
+            and a.create_time between #{start} and #{end}
+            <if test="null != siteIds and siteIds.size() > 0">
+                and a.site_id in
+                <foreach collection="siteIds" separator="," open="(" close=")" item="item" index="index">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         GROUP BY
         time
@@ -912,7 +947,7 @@
     <select id="chargingList" resultType="com.ruoyi.order.api.vo.ChargingOrderListVO">
         select t1.*,
                t1.current as chargingCapacity,t1.payment_amount as paymentAmount,t1.electricity as chargingCapacity from t_charging_order t1
-        where 1=1
+        where t1.del_flag = 0 and t1.status = 5  and t1.recharge_payment_status = 2
         <if test="null != req.code and req.code!=''">
             and t1.code  LIKE CONCAT('%',#{req.code},'%')
         </if>
@@ -952,7 +987,6 @@
         <if test="endTime1 != null and endTime1!=''">
             and (t1.end_time between #{endTime1} and #{endTime2})
         </if>
-        AND t1.del_flag = 0
         and t1.start_time IS NOT NULL
         order by t1.create_time desc
     </select>

--
Gitblit v1.7.1