From 6ecf7171775a04bbcb52c9943bcafce699c837a7 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 25 六月 2025 11:11:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TScreenContentServiceImpl.java | 52 +++++++++++++--------------------------------------- 1 files changed, 13 insertions(+), 39 deletions(-) diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TScreenContentServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TScreenContentServiceImpl.java index 1c016e9..caa54aa 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TScreenContentServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TScreenContentServiceImpl.java @@ -15,6 +15,7 @@ import com.ruoyi.other.mapper.TSystemConfigurationMapper; import com.ruoyi.other.service.TScreenContentService; import com.ruoyi.other.service.TSystemConfigurationService; +import com.ruoyi.other.util.KsolarUtils; import com.ruoyi.other.vo.EmissionReductionVO; import com.ruoyi.other.vo.PhotovoltaicPowerGenerationVO; import com.ruoyi.other.vo.ScreenStorageConfigVO; @@ -96,10 +97,19 @@ systemConfigurationMapper.updateById(sysConfig); vo.setEnergyStorage(storageDisCharge.multiply(new BigDecimal("0.1404")).divide(new BigDecimal("1000"),2,RoundingMode.DOWN)); } + //获取累计发电 + vo.setPhotovoltaic(KsolarUtils.getYearAllEnergy()); + //总数: BigDecimal total = vo.getPhotovoltaic().add(vo.getEnergyStorage()).add(vo.getCharge()); vo.setTotal(total); + + + + + + //计算比率 vo.setPhotovoltaicRate(calculateRatio(vo.getPhotovoltaic(),vo.getTotal()).multiply(new BigDecimal("100"))); vo.setEnergyStorageRate(calculateRatio(vo.getEnergyStorage(),vo.getTotal()).multiply(new BigDecimal("100"))); @@ -108,60 +118,27 @@ return vo; } - public static void main(String[] args) { - BigDecimal divide = new BigDecimal("607").multiply(new BigDecimal("0.1404")).divide(new BigDecimal("1000"),2,RoundingMode.DOWN); - System.out.println(divide); - } //百分比计算 public static BigDecimal calculateRatio(BigDecimal part, BigDecimal total) { if (total.compareTo(BigDecimal.ZERO) == 0) { throw new ArithmeticException("分母不能为零"); } - return part.divide(total, 4, RoundingMode.HALF_UP); } @Override public PhotovoltaicPowerGenerationVO photovoltaicPowerGeneration(List<Integer> siteIds) { - //需调用接口 - - //假数据 PhotovoltaicPowerGenerationVO vo = new PhotovoltaicPowerGenerationVO(); List<LocalDate> dates = new ArrayList<>(); - List<Integer> values = new ArrayList<>(); + List<Double> values = new ArrayList<>(); LocalDate today = LocalDate.now(); // 生成每天数据 for (int i = 7; i >= 1; i--) {//升序 LocalDate day = today.minusDays(i); //统计 dates.add(day); - int value = new Random().nextInt(151) + 100; // 100-250 - - switch (i){ - case 1: - value = 1780; // 50-100 - break; - case 2: - value = 1810; // 50-100 - break; - case 3: - value = 1765; // 50-100 - break; - case 4: - value = 1793; // 50-100 - break; - case 5: - value = 1833; // 50-100 - break; - case 6: - value = 1815; // 50-100 - break; - case 7: - value =1794; // 50-100 - break; - - } + Double value = KsolarUtils.getTodayEnergy(day.toString()); // 100-250 values.add(value); } vo.setDates(dates); @@ -206,13 +183,10 @@ BigDecimal totalCharge = dailyRate.multiply(BigDecimal.valueOf(days)); vo.setStorageCharge(totalCharge); - TSystemConfiguration sysConfig1 = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>() - .eq(TSystemConfiguration::getType,5)); - vo.setPhotovoltaic(new BigDecimal(sysConfig1.getContent())); + vo.setPhotovoltaic(new BigDecimal(KsolarUtils.getAllEnergy(LocalDate.now().toString()))); vo.setGreenElectricity(vo.getPhotovoltaic().multiply(new BigDecimal("0.94")).setScale(2, RoundingMode.HALF_UP)); //获取储能放电量 - // 判断是否等于今天 if (configVO.getLastUpdated().equals(today)) { vo.setStorageDisCharge(configVO.getStorageDisCharge()); -- Gitblit v1.7.1