From 988bbb6fe92380ba992a146ed94df2d8973a4edb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期四, 10 七月 2025 16:48:47 +0800 Subject: [PATCH] 储能对接 --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TScreenContentServiceImpl.java | 79 ++++----------------------------------- 1 files changed, 9 insertions(+), 70 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 569de12..bee6136 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 @@ -57,11 +57,11 @@ EmissionReductionVO vo = new EmissionReductionVO(); //获取总电量 计算累计充电二氧化碳减排量 BigDecimal charge=top.getCarCharge(); + BigDecimal multiplier = new BigDecimal("0.1404"); //计算累计充电二氧化碳减排量 if (charge.compareTo(BigDecimal.ZERO) != 0) { // 定义乘数和除数 - BigDecimal multiplier = new BigDecimal("0.1404"); // 0.1404 - BigDecimal divisor = new BigDecimal("1000"); // 1000 + // 0.1404 // 计算:charge × 0.1404 ÷ 1000 charge = charge .multiply(multiplier) // 乘以 0.1404 @@ -70,42 +70,16 @@ vo.setCharge(charge); //获取累计储能放电量 - TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>() - .eq(TSystemConfiguration::getType,3)); - //解析 - ScreenStorageConfigVO configVO = JSON.parseObject(sysConfig.getContent(), ScreenStorageConfigVO.class); - LocalDate today = LocalDate.now(); - // 判断是否等于今天 - if (configVO.getLastUpdated().equals(today)) { - vo.setEnergyStorage(configVO.getStorageDisCharge().multiply(new BigDecimal("0.1404")).divide(new BigDecimal("1000"),2,RoundingMode.DOWN)); - }else { - //判断离今天还有几天 - int count = (int) ChronoUnit.DAYS.between(configVO.getLastUpdated(), today) +1;//包括今天 - BigDecimal storageDisCharge = configVO.getStorageDisCharge(); - // 每天生成一个随机值(不超过100)并累加 - for (int i = 0; i < count; i++) { - int dailyCharge = ThreadLocalRandom.current().nextInt(0, 101); // 0-100的随机数 - storageDisCharge = storageDisCharge.add(new BigDecimal(dailyCharge)); - } + String s = KsolarUtils.getElectricity().split("_")[0]; + vo.setEnergyStorage(new BigDecimal(s).multiply(multiplier) // 乘以 0.1404 + .divide(new BigDecimal("1000"),2, RoundingMode.HALF_DOWN)); - // 更新回对象 - configVO.setStorageDisCharge(storageDisCharge); - configVO.setLastUpdated(today); - String json = JSON.toJSONString(configVO); - sysConfig.setContent(json); - - 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); - - @@ -173,49 +147,14 @@ vo.setCarDisCharge(carCharge); vo.setGreenElectricity(greenElectricity); - //获取系统建设日期和累计储能放电量 - TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>() - .eq(TSystemConfiguration::getType,3)); - //解析 - ScreenStorageConfigVO configVO = JSON.parseObject(sysConfig.getContent(), ScreenStorageConfigVO.class); //计算储能充电量 - LocalDate systemCreateTime = configVO.getSystemCreateTime(); - LocalDate today = LocalDate.now(); - int days = (int) ChronoUnit.DAYS.between(systemCreateTime, today) +1;//包括今天 - - BigDecimal dailyRate = new BigDecimal("100"); - BigDecimal totalCharge = dailyRate.multiply(BigDecimal.valueOf(days)); - vo.setStorageCharge(totalCharge); + String electricity = KsolarUtils.getElectricity(); + vo.setStorageCharge(new BigDecimal( electricity.split("_")[0])); 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()); - return vo; - } - //判断离今天还有几天 - int count = (int) ChronoUnit.DAYS.between(configVO.getLastUpdated(), today) +1;//包括今天 - BigDecimal storageDisCharge = configVO.getStorageDisCharge(); - // 每天生成一个随机值(不超过100)并累加 - for (int i = 0; i < count; i++) { - int dailyCharge = ThreadLocalRandom.current().nextInt(0, 101); // 0-100的随机数 - storageDisCharge = storageDisCharge.add(new BigDecimal(dailyCharge)); - } - - // 更新回对象 - configVO.setStorageDisCharge(storageDisCharge); - configVO.setLastUpdated(today); - String json = JSON.toJSONString(configVO); - sysConfig.setContent(json); - - systemConfigurationMapper.updateById(sysConfig); - vo.setStorageDisCharge(storageDisCharge); - - - return vo; + vo.setStorageDisCharge(new BigDecimal(electricity.split("_")[1])); + return vo; } @Override -- Gitblit v1.7.1