From 740b27cadde1b1f96d475a0ade47d6bd70deab4b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 06 十一月 2024 16:02:47 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java |    3 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java               |   27 +++++---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java                |   10 +-
 ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml                  |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java                    |   81 ++++++++++++++++++++++----
 5 files changed, 93 insertions(+), 30 deletions(-)

diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java
index e486dd2..6a65354 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java
@@ -76,7 +76,8 @@
             }else{
                 tParkingRecordVO.setFeeDuration(tParkingRecordVO.getParkingDuration()-tParkingRecordVO.getFreeDuration());
             }
-
+            tParkingRecordVO.setOrderAmount(tParkingRecordVO.getOrderAmount().add(tParkingRecordVO.getTimeoutAmount()));
+            tParkingRecordVO.setParkingFee(tParkingRecordVO.getOrderAmount());
         }
         pageInfo.setRecords(list);
         // 查询总数
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
index 3831658..354d63e 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
@@ -30,7 +30,7 @@
     <select id="pageList" resultType="com.ruoyi.chargingPile.api.vo.TParkingRecordVO">
         select
         tpr.id, tpr.code,tpr.app_user_id, tpr.license_plate, tpr.vehicle_color, tpr.charging_order_id, tpr.parking_lot_id, tpr.in_parking_time, tpr.out_parking_time,
-        tpr.parking_duration, tpr.order_amount, tpr.status, tpr.out_parking_type, tpr.create_time,(tpr.order_amount - tpr.timeout_amount) as parkingFee,tpr.timeout_amount,
+        tpr.parking_duration, tpr.order_amount, tpr.status, tpr.out_parking_type, tpr.create_time,(tpr.order_amount + tpr.timeout_amount) as parkingFee,tpr.timeout_amount,
         tpr.free_duration,(tpr.parking_duration - tpr.free_duration) as feeDuration,ts.name as siteName
         from t_parking_record tpr
         left join t_parking_lot tpl on tpr.parking_lot_id = tpl.id
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
index 5f3c9f4..b377ae8 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -41,11 +41,9 @@
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAdjusters;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -66,7 +64,63 @@
     private SiteClient siteClient;
     @Resource
     private TChargingOrderService chargingOrderService;
-
+//    @GetMapping(value = "/test")
+//    public R accountAdd() {
+//        TChargingBill tChargingBill = new TChargingBill();
+//        Random random = new Random();
+//        String randomDigits = random.ints(10, 0, 10) // 生成10个随机数字,范围在0-9
+//                .mapToObj(String::valueOf)
+//                .collect(Collectors.joining()); // 将其连接成一个字符串
+//        tChargingBill.setCode("JSD"+randomDigits );
+//        tChargingBill.setType(1);
+//        tChargingBill.setSiteId(0);
+//        tChargingBill.setBillTime(LocalDateTime.now().plusDays(1));
+//        tChargingBill.setStatus(1);
+//        tChargingBill.setOrderState(2);
+//        tChargingBill.setBillType(1);
+//        chargingBillService.save(tChargingBill);
+//        TChargingBill tChargingBill1 = new TChargingBill();
+//        Random random1 = new Random();
+//        String randomDigits1 = random1.ints(10, 0, 10) // 生成10个随机数字,范围在0-9
+//                .mapToObj(String::valueOf)
+//                .collect(Collectors.joining()); // 将其连接成一个字符串
+//        tChargingBill1.setCode("JSD"+randomDigits1);
+//        tChargingBill1.setType(2);
+//        tChargingBill1.setSiteId(13);
+//        tChargingBill1.setBillTime(LocalDateTime.now().plusDays(1));
+//        tChargingBill1.setStatus(1);
+//        tChargingBill1.setOrderState(2);
+//        tChargingBill1.setBillType(1);
+//        chargingBillService.save(tChargingBill1);
+//
+//        TChargingBill tChargingBil3 = new TChargingBill();
+//        Random random2 = new Random();
+//        String randomDigits2 = random2.ints(10, 0, 10) // 生成10个随机数字,范围在0-9
+//                .mapToObj(String::valueOf)
+//                .collect(Collectors.joining()); // 将其连接成一个字符串
+//        tChargingBil3.setCode("JSD"+randomDigits2 );
+//        tChargingBil3.setType(1);
+//        tChargingBil3.setSiteId(0);
+//        tChargingBil3.setBillTime(LocalDateTime.now().plusDays(1));
+//        tChargingBil3.setStatus(1);
+//        tChargingBil3.setOrderState(2);
+//        tChargingBil3.setBillType(2);
+//        chargingBillService.save(tChargingBil3);
+//        TChargingBill tChargingBill14 = new TChargingBill();
+//        Random random3 = new Random();
+//        String randomDigits3 = random3.ints(10, 0, 10) // 生成10个随机数字,范围在0-9
+//                .mapToObj(String::valueOf)
+//                .collect(Collectors.joining()); // 将其连接成一个字符串
+//        tChargingBill14.setCode("JSD"+randomDigits3);
+//        tChargingBill14.setType(2);
+//        tChargingBill14.setSiteId(13);
+//        tChargingBill14.setBillTime(LocalDateTime.now().plusDays(1));
+//        tChargingBill14.setStatus(1);
+//        tChargingBill14.setOrderState(2);
+//        tChargingBill14.setBillType(2);
+//        chargingBillService.save(tChargingBill14);
+//        return R.ok();
+//    }
     @PostMapping(value = "/accountBillList")
     @ApiOperation(value = "列表查询", tags = {"管理后台-账户结算账单"})
     public R<AccountListVO> accountBillList(@RequestBody ChargingListQuery dto) {
@@ -74,8 +128,7 @@
         ChargingBillVO res = chargingBillService.chargingBillList1(dto);
         List<ChargingBillListVO> records = res.getList().getRecords();
         accountListVO.setBillCount(records.size());
-        accountListVO.setTotalAmount(res.getPaymentAmount().subtract(res.getRefundAmount())
-                .subtract(res.getCommissionAmount().setScale(2,BigDecimal.ROUND_DOWN)).subtract(res.getSharingAmount()).setScale(2, BigDecimal.ROUND_DOWN));
+        accountListVO.setTotalAmount(res.getPaymentAmount().subtract(res.getRefundAmount()).subtract(res.getCommissionAmount()).subtract(res.getSharingAmount()).setScale(2, BigDecimal.ROUND_DOWN));
         accountListVO.setPaymentAmount(res.getPaymentAmount().setScale(2, BigDecimal.ROUND_DOWN));
         accountListVO.setRefundAmount(res.getRefundAmount().setScale(2, BigDecimal.ROUND_DOWN));
         accountListVO.setCommissionAmount(res.getCommissionAmount().setScale(2, BigDecimal.ROUND_DOWN));
@@ -287,6 +340,7 @@
         BigDecimal paymentAmount = new BigDecimal("0");
         BigDecimal refundAmount = new BigDecimal("0");
         BigDecimal commissionAmount = new BigDecimal("0");
+        BigDecimal sharingAmount = new BigDecimal("0");
 
         List<TChargingOrder> tChargingOrders = chargingOrderService.list(eq);
         // 累加支付金额
@@ -296,9 +350,9 @@
         int i =1;
         for (TChargingOrder tChargingOrder : tChargingOrders) {
             // 账单信息
-            paymentAmount = paymentAmount.add(tChargingOrder.getChargeAmount());
-            commissionAmount = commissionAmount.add(tChargingOrder.getPaymentAmount().multiply(bigDecimal1).setScale(2, BigDecimal.ROUND_DOWN))
-                    ;
+            paymentAmount = paymentAmount.add(tChargingOrder.getRechargeAmount());
+            commissionAmount = commissionAmount.add(tChargingOrder.getPaymentAmount().multiply(bigDecimal1).setScale(2, BigDecimal.ROUND_DOWN));
+            sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount());
             // 退款信息
             ChargingBillRefundExport chargingBillRefundExport = new ChargingBillRefundExport();
             ChargingBillPayExport chargingBillPayExport = new ChargingBillPayExport();
@@ -342,11 +396,11 @@
             chargingBillPayExport.setRechargeSerialNumber(tChargingOrder.getRechargeSerialNumber());
             chargingBillPayExport.setCode(tChargingOrder.getCode());
             chargingBillPayExport.setPayTime(tChargingOrder.getPayTime()!=null?DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getPayTime())):"");
-            chargingBillPayExport.setPaymentAmount(tChargingOrder.getChargeAmount().toString());
+            chargingBillPayExport.setPaymentAmount(tChargingOrder.getRechargeAmount().toString());
             chargingBillPayExport.setTotal("");
             chargingBillPayExports.add(chargingBillPayExport);
             i++;
-            bigDecimal = bigDecimal.add(tChargingOrder.getChargeAmount());
+            bigDecimal = bigDecimal.add(tChargingOrder.getRechargeAmount());
         }
         if (!chargingBillPayExports.isEmpty()){
             chargingBillPayExports.get(0).setTotal(bigDecimal+"");
@@ -362,7 +416,8 @@
         }
         chargingBillExport.setPaymentAmount(paymentAmount);
         chargingBillExport.setRefundAmount(refundAmount);
-        chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount).setScale(2, BigDecimal.ROUND_DOWN));
+        chargingBillExport.setIncome(paymentAmount.subtract(refundAmount).subtract(commissionAmount)
+                .subtract(sharingAmount).setScale(2, BigDecimal.ROUND_DOWN));
         chargingBillExports.add(chargingBillExport);
         // 导出
         List<Map<String, Object>> sheetsList = new ArrayList<>();
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
index 4085b34..b97dde3 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
@@ -266,7 +266,7 @@
                 if (data3!=null)tChargingOrder.setUserName(data3.getName());
                 // 累加实收金额 支付结算金额
                 if (tChargingOrder.getChargeAmount()!=null){
-                    paymentAmount = paymentAmount.add(tChargingOrder.getChargeAmount());
+                    paymentAmount = paymentAmount.add(tChargingOrder.getRechargeAmount());
                 }
                 // 总金额
                 if (tChargingOrder.getOrderAmount()!=null){
@@ -383,7 +383,7 @@
             chargingBillVO.setExportList(tChargingOrders);
             for (TChargingOrder tChargingOrder : tChargingOrders) {
                 if (tChargingOrder.getOrderAmount()!=null){
-                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getChargeAmount());
+                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getRechargeAmount());
                 }
 
                 // 累加订单金额
@@ -753,9 +753,9 @@
                     paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                 }
                 // 累加订单金额
-                if (tChargingOrder.getOrderAmount()!=null){
-                    orderAmount = orderAmount.add(tChargingOrder.getPaymentAmount());
-                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getPaymentAmount());
+                if (tChargingOrder.getRechargeAmount()!=null){
+                    orderAmount = orderAmount.add(tChargingOrder.getRechargeAmount());
+                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getRechargeAmount());
                 }
                 // 累加累计电费
                 if (tChargingOrder.getElectrovalence()!=null){
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 4eec6ac..2ee75d4 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
@@ -1216,9 +1216,12 @@
 		 BigDecimal income = new BigDecimal("0");
 		 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");
 		for (ChargingOrderVO chargingOrderVO : list) {
-			chargingOrderVO.setCommissionAmount(chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")));
-			chargingOrderVO.setPlatFormMoney(chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")));
+			chargingOrderVO.setCommissionAmount(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0"));
+			chargingOrderVO.setPlatFormMoney(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
 			chargingOrderVO.setUid(chargingOrderVO.getId()+"");
 			TChargingGun data3 = chargingGunClient.getChargingGunById(chargingOrderVO.getChargingGunId()).getData();
 			TChargingPile data2 = chargingPileClient.getChargingPileById(chargingOrderVO.getChargingPileId()).getData();
@@ -1259,6 +1262,8 @@
 			}
 		}
 		for (ChargingOrderVO chargingOrderVO : list1) {
+			paymentMoney= paymentMoney.add(chargingOrderVO.getPaymentAmount()!=null?chargingOrderVO.getPaymentAmount():new BigDecimal("0"));
+			commissionMoney = commissionMoney.add(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0"));
 			if (chargingOrderVO.getChargingCapacity()!=null){
 				total = total.add(chargingOrderVO.getElectricity());
 			}
@@ -1271,17 +1276,19 @@
 				chargingOrderVO.setChargingSecond(l);
 				time+=l;
 			}
-			electronicMoney = electronicMoney.add(chargingOrderVO.getElectrovalence());
-			serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge());
-
-			income = income.add(chargingOrderVO.getPaymentAmount());
-
-
-
+			List<TChargingOrderRefund> list2 = chargingOrderRefundService.lambdaQuery().eq(TChargingOrderRefund::getRefundStatus, 2)
+					.eq(TChargingOrderRefund::getChargingOrderId, chargingOrderVO.getId()).list();
+			for (TChargingOrderRefund tChargingOrderRefund : list2) {
+				if (tChargingOrderRefund.getRefundStatus()==2){
+					refundMoney = refundMoney.add(tChargingOrderRefund.getRefundTotalAmount());
+				}
+			}
+			electronicMoney = electronicMoney.add(chargingOrderVO.getElectrovalence()!=null?chargingOrderVO.getElectrovalence():new BigDecimal("0"));
+			serviceMoney = serviceMoney.add(chargingOrderVO.getServiceCharge()!=null?chargingOrderVO.getServiceCharge():new BigDecimal("0"));
 		}
 		tCharingOrderVO.setTotal(total);
 		tCharingOrderVO.setTime(time);
-		tCharingOrderVO.setIncome(income);
+		tCharingOrderVO.setIncome(income.subtract(commissionMoney));
 		tCharingOrderVO.setElectronicMoney(electronicMoney);
 		tCharingOrderVO.setServiceMoney(serviceMoney);
 		pageInfo.setRecords(list);

--
Gitblit v1.7.1