From 67d06a785d5fc4524639ace27651c01ff05a4b58 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 29 五月 2025 22:31:33 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 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 cdc194f..529c1fb 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
@@ -101,7 +101,8 @@
         List<TChargingPile> pileList = chargingGunClient.getAllPile().getData();
         List<TAppUser> userList = appUserClient.getAllUser().getData();
         List<TAppUserCar> carList = appUserCarClient.getAllCar().getData();
-        List<TChargingOrder> total = chargingOrderList.selectList(new LambdaQueryWrapper<>(TChargingOrder.class));
+        List<TChargingOrder> total = chargingOrderList.selectList(new LambdaQueryWrapper<>(TChargingOrder.class)
+                .isNotNull(TChargingOrder::getPayTime));
         List<TChargingOrderRefund> totalRefund = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getRefundStatus, 2).list();
         Long userId = tokenService.getLoginUser().getUserid();
         // 查询当前登陆人按钮权限
@@ -386,7 +387,7 @@
                 chargingBillVO.setPaymentAmount(BigDecimal.ZERO);
             }
 
-            chargingBillListVO.setPaymentAmount(paymentAmount.subtract(sharingAmount));
+            chargingBillListVO.setPaymentAmount(paymentAmount);
             chargingBillListVO.setOrderAmount(refundAmount);
             chargingBillListVO.setRefundAmount(refundAmount == null?BigDecimal.ZERO:refundAmount);
             chargingBillListVO.setElectrovalence(electrovalence == null?BigDecimal.ZERO:electrovalence);
@@ -394,7 +395,7 @@
             chargingBillListVO.setCommissionAmount(commissionAmount == null?BigDecimal.ZERO:commissionAmount.setScale(2,BigDecimal.ROUND_DOWN));
             chargingBillListVO.setSharingAmount(sharingAmount == null?BigDecimal.ZERO:sharingAmount);
             chargingBillListVO.setChargingCapacity(chargingCapacity == null?BigDecimal.ZERO:chargingCapacity);
-            chargingBillListVO.setBillMoney(orderAmount
+            chargingBillListVO.setBillMoney(paymentAmount
                             .subtract(commissionAmount.setScale(2,BigDecimal.ROUND_DOWN)).subtract(sharingAmount).setScale(2, BigDecimal.ROUND_DOWN));
             switch (chargingBillListVO.getType()){
                 case 1:
@@ -543,7 +544,8 @@
             startTime1 = split[0];
             startTime2 = split[1];
         }
-        List<TChargingOrder> total = chargingOrderList.selectList(new LambdaQueryWrapper<>(TChargingOrder.class));
+        List<TChargingOrder> total = chargingOrderList.selectList(new LambdaQueryWrapper<>(TChargingOrder.class)
+                .isNotNull(TChargingOrder::getPayTime));
         PageInfo<ChargingBillListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
         List<Site> data6 = siteClient.getSiteAll().getData();
         List<TChargingGun> gunList = chargingGunClient.getAllGun().getData();
@@ -638,7 +640,10 @@
                     break;
                 case 2:
                     temp = "各个站点账单";
-                    temp1 = data6.stream().filter(e->e.getId().equals(chargingBillListVO.getSiteId())).findFirst().orElse(new Site()).getName();
+                    Site site = data6.stream().filter(e -> e.getId().equals(chargingBillListVO.getSiteId())).findFirst().orElse(null);
+                    if(site!=null){
+                        temp1 = site.getName();
+                    }
                     break;
             }
             chargingBillVO.setCategory(temp);
@@ -746,8 +751,7 @@
                             break;
                     }
                 }
-                BigDecimal add = tChargingOrder.getElectrovalence().add(tChargingOrder.getServiceCharge());
-                tChargingOrder.setTotalAmount(add.toString());
+
                 tChargingOrder.setDiscount(tChargingOrder.getCouponDiscountAmount()!=null?tChargingOrder.getCouponDiscountAmount().toString():"0");
                 if (tChargingOrder.getStartTime()!=null && tChargingOrder.getEndTime()!=null){
                     LocalDateTime startTime = tChargingOrder.getStartTime();
@@ -793,9 +797,12 @@
                 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 charging_capacity = list4.stream().map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add);
+
                 if ( !tChargingOrder.getOrderSource().equals(2)){
                     // 实收
                     paymentAmount = paymentAmount.add(electronic_reduce).add(service_reduce);
+                    BigDecimal add = electronic_reduce.add(service_reduce);
+                    tChargingOrder.setTotalAmount(add.toString());
                 }
                 // 总金额
                 if (tChargingOrder.getRechargeAmount()!=null){
@@ -814,19 +821,18 @@
                         sharingAmount = sharingAmount.add(service_reduce.multiply(new BigDecimal("0.2")).setScale(2,BigDecimal.ROUND_DOWN));
                         // 累加实收
                         paymentAmount = paymentAmount.add(electronic_reduce).add(service_reduce.multiply(new BigDecimal("0.8")).setScale(2,BigDecimal.ROUND_DOWN));
+                        BigDecimal add = electronic_reduce.add(service_reduce.multiply(new BigDecimal("0.8")));
+                        tChargingOrder.setTotalAmount(add.toString());
                     }else {
                         serviceCharge = serviceCharge.add(service_reduce);
                     }
 
                 // 累加平台手续费
                 if (tChargingOrder.getRechargeAmount()!=null){
-                    commissionAmount = commissionAmount.add(tChargingOrder.getRechargeAmount().multiply(BigDecimal.valueOf(0.006))
-                            .setScale(2,BigDecimal.ROUND_DOWN));
+                    commissionAmount = commissionAmount.add(tChargingOrder.getRechargeAmount().multiply(BigDecimal.valueOf(0.006)).setScale(2,BigDecimal.ROUND_DOWN));
                 }
-
                 // 累加充电度数
                 chargingCapacity = chargingCapacity.add(charging_capacity);
-
             }
             // 将chargingSecond 这是以秒为单位存放的总秒数 将其转化为xx小时xx分钟xx秒
             int hours = chargingSecond / 3600;
@@ -861,7 +867,9 @@
         }
         for (ChargingBillListVO chargingBillListVO : list1) {
             if (dto.getType() == 1){
-
+                if (chargingBillListVO.getSiteId()!=0){
+                    continue;
+                }
             }else{
                 if (chargingBillListVO.getSiteId()!=0&&!siteIds.contains(chargingBillListVO.getSiteId())){
                     continue;
@@ -884,7 +892,6 @@
             chargingBillListVO.setUid(chargingBillListVO.getId().toString());
             // 根据账单的出账时间 查询上个月的充电订单
             LocalDateTime localDate = chargingBillListVO.getBillTime().minusMonths(1);
-//            LocalDateTime localDate = chargingBillListVO.getBillTime().minusDays(1);
             // 账单周期
             chargingBillListVO.setBillWeek(localDate.format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM")));
             // 获取 LocalDate 对象
@@ -950,8 +957,7 @@
                     // 累加平台手续费
                 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));
+                    commissionAmountTotal = commissionAmountTotal.add(tChargingOrder.getRechargeAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN));
                 }
 
                 // 累加充电度数

--
Gitblit v1.7.1