From a818da1d7a1d3034a1f0468ada5c735545c6d6bc Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 20 三月 2025 08:58:06 +0800
Subject: [PATCH] 充电桩bug修改

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java |   61 +++++++++++++++++++-----------
 1 files changed, 38 insertions(+), 23 deletions(-)

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 a039aff..7048ac6 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
@@ -178,7 +178,10 @@
                     break;
                 case 2:
                     temp = "各个站点账单";
-                    temp1 = siteClient.getSiteByIds(Arrays.asList(chargingBillListVO.getSiteId())).getData().get(0).getName();
+                    Site site = siteList.stream().filter(e -> e.getId().equals(chargingBillListVO.getSiteId())).findFirst().orElse(null);
+                    if (site!=null){
+                        temp1 =site.getName();
+                    }
                     break;
             }
             chargingBillVO.setCategory(temp);
@@ -203,10 +206,15 @@
             // 获取该月份的最后一天
             LocalDateTime lastDayOfMonth = localDate.with(TemporalAdjusters.lastDayOfMonth());
             LocalDateTime firstDayOfMonth = localDate.with(TemporalAdjusters.firstDayOfMonth());
-            List<TChargingOrder> tChargingOrders = total.stream().filter(e -> chargingBillListVO.getType() == 2 ?
-                    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());
+            List<TChargingOrder> tChargingOrders = new ArrayList<>();
+            if (chargingBillListVO.getType() == 2){
+                tChargingOrders = total.stream().filter(e -> e.getSiteId().equals(chargingBillListVO.getSiteId()) && e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
+                        && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
+            }else{
+                tChargingOrders = total.stream().filter(e ->  e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
+                        && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
+            }
+
 
 
             int chargingSecond = 0;
@@ -284,10 +292,10 @@
                 BigDecimal add = tChargingOrder.getElectrovalence().add(tChargingOrder.getServiceCharge());
                 tChargingOrder.setTotalAmount(add.toString());
                 tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0");
-                UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData();
-                if (data5!=null){
-                    tChargingOrder.setEndSoc(data5.getSoc().toString());
-                }
+//                UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringDataClient.chargingOrderInfo(tChargingOrder.getCode()).getData();
+//                if (data5!=null){
+//                    tChargingOrder.setEndSoc(data5.getSoc().toString());
+//                }
                 if (tChargingOrder.getStartTime()!=null && tChargingOrder.getEndTime()!=null){
                     LocalDateTime startTime = tChargingOrder.getStartTime();
                     LocalDateTime endTime = tChargingOrder.getEndTime();
@@ -354,8 +362,8 @@
                             .setScale(2,BigDecimal.ROUND_DOWN));
                 }
                 // 累加平台分佣
-                if (tChargingOrder.getSharingAmount()!=null){
-                    sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount());
+                if (tChargingOrder.getOrderSource()==2 && tChargingOrder.getServiceCharge()!=null){
+                    sharingAmount = sharingAmount.add(tChargingOrder.getServiceCharge().multiply(BigDecimal.valueOf(0.2)).setScale(2,BigDecimal.ROUND_DOWN));
                 }
                 // 累加充电度数
                 if (tChargingOrder.getChargingCapacity()!=null){
@@ -403,11 +411,15 @@
         BigDecimal bigDecimal = new BigDecimal("0");
         int i = 0;
         for (ChargingBillListVO chargingBillListVO : list1) {
-            if (chargingBillListVO.getSiteId()!=0&&!siteIds.contains(chargingBillListVO.getSiteId())){
-                continue;
-            }
-            if (chargingBillListVO.getType()==1){
-                continue;
+            if (dto.getType() == 1){
+
+            }else{
+                if (chargingBillListVO.getSiteId()!=0&&!siteIds.contains(chargingBillListVO.getSiteId())){
+                    continue;
+                }
+                if (chargingBillListVO.getType()==1){
+                    continue;
+                }
             }
             i++;
             LocalDateTime billTime = chargingBillListVO.getBillTime();
@@ -426,15 +438,18 @@
             // 获取该月份的最后一天
             LocalDateTime lastDayOfMonth = localDate.with(TemporalAdjusters.lastDayOfMonth());
             LocalDateTime firstDayOfMonth = localDate.with(TemporalAdjusters.firstDayOfMonth());
-            List<TChargingOrder> tChargingOrders = total.stream().filter(e -> chargingBillListVO.getType() == 2 ?
-                    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());
+            List<TChargingOrder> tChargingOrders = new ArrayList<>();
+            if (chargingBillListVO.getType() == 2){
+                tChargingOrders = total.stream().filter(e -> e.getSiteId().equals(chargingBillListVO.getSiteId()) && e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
+                        && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
+            }else{
+                tChargingOrders = total.stream().filter(e ->  e.getPayTime().isBefore(lastDayOfMonth.withHour(23).withMinute(59).withSecond(59))
+                        && e.getPayTime().isAfter(firstDayOfMonth.withHour(0).withMinute(0).withSecond(0))).collect(Collectors.toList());
+            }
             for (TChargingOrder tChargingOrder : tChargingOrders) {
                 if (tChargingOrder.getOrderAmount()!=null){
                     paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                 }
-
                 // 累加订单金额
                 if (tChargingOrder.getRechargeAmount()!=null){
                     orderAmountTotal = orderAmountTotal.add(tChargingOrder.getRechargeAmount());
@@ -462,8 +477,8 @@
                             .setScale(2,BigDecimal.ROUND_DOWN));
                 }
                 // 累加平台分佣
-                if (tChargingOrder.getSharingAmount()!=null){
-                    sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getSharingAmount());
+                if (tChargingOrder.getOrderSource()==2 && tChargingOrder.getServiceCharge()!=null){
+                    sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getServiceCharge().multiply(BigDecimal.valueOf(0.2)).setScale(2,BigDecimal.ROUND_DOWN));
                 }
                 // 累加充电度数
                 if (tChargingOrder.getElectricity()!=null){

--
Gitblit v1.7.1