From 5489c2cc4d35970ca8fe4d30cf8ac374eef17ca4 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 31 八月 2024 18:02:39 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java index a567303..d497796 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java @@ -40,6 +40,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.MathContext; import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; @@ -304,8 +305,13 @@ chargeMonitoring.setNotCharged(total.size() - charging.size()); chargeMonitoring.setRatedPower(ratedPower.setScale(4, RoundingMode.HALF_EVEN)); chargeMonitoring.setRealTimePower(realTimePower.setScale(4, RoundingMode.HALF_EVEN)); - chargeMonitoring.setDemandPowerSatisfactionRate(realTimePower.divide(ratedPower).multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN)); - + if(ratedPower.equals(BigDecimal.ZERO)){ + chargeMonitoring.setDemandPowerSatisfactionRate(BigDecimal.ZERO); + }else{ + chargeMonitoring.setDemandPowerSatisfactionRate(realTimePower.divide(ratedPower, new MathContext(2, RoundingMode.HALF_EVEN)) + .multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_EVEN)); + } + List<String> dates = new ArrayList<>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MMM-dd"); Calendar calendar = Calendar.getInstance(); @@ -325,8 +331,12 @@ List<Double> data = chargingOrderAccountingStrategyClient.getDailyChargingDegree(6, siteIds).getData(); List<Double> value2 = new ArrayList<>(); for (Double datum : data) { - Double datum1 = new BigDecimal(datum).divide(new BigDecimal(list.size()).multiply(v).multiply(new BigDecimal(24))).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); - value2.add(datum1); + if(list.size() == 0){ + value2.add(0D); + }else{ + Double datum1 = new BigDecimal(datum).divide(new BigDecimal(list.size()).multiply(v).multiply(new BigDecimal(24))).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + value2.add(datum1); + } } Map<String, Object> utilizationTrend = new HashMap<>(); utilizationTrend.put("date", dates); -- Gitblit v1.7.1