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 | 30 +++++++++++++++++------------- 1 files changed, 17 insertions(+), 13 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 87bf2d2..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 @@ -387,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); @@ -395,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: @@ -640,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); @@ -748,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(); @@ -795,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){ @@ -816,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; @@ -863,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; @@ -886,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 对象 @@ -952,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