From 17b48b4731e2ac2b6d571049718be724eb31972b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 19 三月 2025 20:52:35 +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 84ec02b..0f7d4b0 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
@@ -179,7 +179,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);
@@ -204,10 +207,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;
@@ -285,10 +293,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();
@@ -355,8 +363,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){
@@ -404,11 +412,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();
@@ -427,15 +439,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());
@@ -463,8 +478,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