ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/controller/LargeScreenController.java
@@ -46,7 +46,7 @@ Date oneDayAgoTime = format.parse(oneDayAgo); Date sevenDayAgoTime = format.parse(sevenDayAgo); ArrayList<LargeChargingPowerVo> largeChargingPowerVos = new ArrayList<>(); List<UploadRealTimeMonitoringData> rangeTimeData = uploadRealTimeMonitoringDataService.getRangeTimeData(oneDayAgoTime, sevenDayAgoTime); List<UploadRealTimeMonitoringData> rangeTimeData = uploadRealTimeMonitoringDataService.getRangeTimeData(sevenDayAgoTime,oneDayAgoTime ); for (int count = 7; count > 0; count--) { LargeChargingPowerVo largeChargingPowerVo = new LargeChargingPowerVo(); String time = LocalDate.now().minusDays(count).toString(); ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/vo/LargeChargingPowerVo.java
@@ -13,5 +13,5 @@ private String time; @ApiModelProperty("平均功率") private BigDecimal power=BigDecimal.ONE; private BigDecimal power=BigDecimal.ZERO; } ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -1766,8 +1766,9 @@ </select> <select id="getSumDegreeBySiteIds" resultType="java.math.BigDecimal"> select sum(charging_capacity) from t_charging_order where del_flag=0 and site_id in select sum(t2.charging_capacity) from t_charging_order t1 left join t_charging_order_summary_data t2 on t1.id =t2. charging_order_id where t1.del_flag=0 and t1.site_id in <foreach item="item" index="index" collection="siteIds" open="(" separator="," close=")"> #{item} </foreach> ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TScreenContentController.java
@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.Arrays; import java.time.LocalDateTime; import java.util.HashMap; @@ -68,6 +69,8 @@ list.forEach(x->{ vo.setGreenElectricityToday(vo.getGreenElectricityToday().add(x.getGreenElectricityToday())); }); vo.setTodayGenerateElectricity(new BigDecimal("1821")); return AjaxResult.success(vo); } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TScreenContentServiceImpl.java
@@ -51,16 +51,11 @@ @Override public EmissionReductionVO emissionReduction(List<Integer> siteIds) { ScreenTopVO top = top(Arrays.asList(25, 26)); //需调用接口 计算光伏减排 EmissionReductionVO vo = new EmissionReductionVO(); //获取总电量 计算累计充电二氧化碳减排量 BigDecimal charge=new BigDecimal("0.00"); if (siteIds!=null && !siteIds.isEmpty()){ R<BigDecimal> r = chargingOrderClient.getSumDegreeBySiteIds(siteIds); if (r.getCode()==200){ charge=r.getData(); } } BigDecimal charge=top.getCarCharge(); //计算累计充电二氧化碳减排量 if (charge.compareTo(BigDecimal.ZERO) != 0) { // 定义乘数和除数 @@ -69,7 +64,7 @@ // 计算:charge × 0.1404 ÷ 1000 charge = charge .multiply(multiplier) // 乘以 0.1404 .divide(divisor, 2, RoundingMode.HALF_UP); // 除以 1000,保留6位小数,四舍五入 .divide(new BigDecimal("1000"),2, RoundingMode.HALF_DOWN); // 除以 1000,保留6位小数,四舍五入 } vo.setCharge(charge); @@ -81,7 +76,7 @@ LocalDate today = LocalDate.now(); // 判断是否等于今天 if (configVO.getLastUpdated().equals(today)) { vo.setEnergyStorage(configVO.getStorageDisCharge()); 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;//包括今天 @@ -99,7 +94,7 @@ sysConfig.setContent(json); systemConfigurationMapper.updateById(sysConfig); vo.setEnergyStorage(storageDisCharge); vo.setEnergyStorage(storageDisCharge.multiply(new BigDecimal("0.1404")).divide(new BigDecimal("1000"),2,RoundingMode.DOWN)); } //总数: @@ -111,6 +106,11 @@ vo.setChargeRate(calculateRatio(vo.getCharge(),vo.getTotal())); 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); } //百分比计算 @@ -137,6 +137,31 @@ //统计 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; } values.add(value); } vo.setDates(dates); @@ -153,7 +178,7 @@ BigDecimal greenElectricity=new BigDecimal("0.00"); if (siteIds!=null && !siteIds.isEmpty()){ //获取充电量 R<BigDecimal> r = chargingOrderClient.getSumDegreeBySiteIds(siteIds); R<BigDecimal> r = chargingOrderClient.getSumDegreeBySiteIds(Arrays.asList(25,26)); if (r.getCode()==200){ charge=r.getData(); } @@ -204,6 +229,9 @@ systemConfigurationMapper.updateById(sysConfig); vo.setStorageDisCharge(storageDisCharge); vo.setPhotovoltaic(new BigDecimal("9950")); return vo; } ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java
@@ -44,7 +44,6 @@ return; } //获取当前值 BigDecimal currentValue = getCurrentValue(); // 检查是否已停止或达到目标范围 @@ -52,7 +51,14 @@ isRunning = false; return; } if(currentValue.doubleValue()==87){ return; } if(currentValue.doubleValue()>87){ updateCurrentValue(new BigDecimal("87")); return; } // 生成随机增量并更新值 int increment = random.nextInt(maxIncrement + 1); ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EmissionReductionVO.java
@@ -8,7 +8,7 @@ @Data public class EmissionReductionVO { @ApiModelProperty("累计光伏发电二氧化碳减排量(吨)") private BigDecimal photovoltaic = new BigDecimal("63.00"); private BigDecimal photovoltaic = new BigDecimal("1.39"); @ApiModelProperty("累计光伏发电二氧化碳减排量(占比率)") private BigDecimal photovoltaicRate ; ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenTopVO.java
@@ -12,7 +12,7 @@ @ApiModelProperty("汽车放电量") private BigDecimal carDisCharge; @ApiModelProperty("光伏发电量") private BigDecimal photovoltaic=new BigDecimal("0.00"); private BigDecimal photovoltaic=new BigDecimal("9950"); @ApiModelProperty("光伏用电量") private BigDecimal greenElectricity; @ApiModelProperty("储能充电量")