From f18b35727a11a5f8b5e326f6045f49b571954ba3 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 09 六月 2025 11:02:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java             |    6 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EmissionReductionVO.java                             |   12 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java                        |   11 +
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java    |    2 
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/controller/LargeScreenController.java             |    7 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TScreenContentService.java                      |    9 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TScreenContentServiceImpl.java             |  121 ++++++++++-
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EnergyStorageDischargeVO.java                        |    4 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/PhotovoltaicAndConsumptionVO.java                    |    4 
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TScreenContent.java                          |   12 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java                           |    9 
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java |    5 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenTopVO.java                                     |    2 
 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TScreenContentMapper.xml                              |   15 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TScreenContentController.java                |   55 +++++
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                              |    5 
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java   |    6 
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java                          |  286 ++++++++++++++++++++++------
 ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/vo/LargeChargingPowerVo.java                      |    2 
 19 files changed, 456 insertions(+), 117 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
index b11f82f..220bc66 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
@@ -17,7 +17,7 @@
 @Data
 @Document(collection = "upload_real_time_monitoring_data") //指定要对应的文档名(表名)
 @Accessors(chain = true)
-public class UploadRealTimeMonitoringData extends BaseModel {
+public class UploadRealTimeMonitoringData  {
     @Id
     private String id;
     private String transaction_serial_number; // 交易流水号
@@ -63,6 +63,9 @@
     @ApiModelProperty(value = "删除按钮权限 ")
     private Boolean authDelete = true;
 
+    private Date create_time=new Date();
+    private Date last_time = new Date();
+
 }
 
 
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TScreenContent.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TScreenContent.java
index debe154..ef41a69 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TScreenContent.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TScreenContent.java
@@ -30,15 +30,15 @@
 
     @TableField("green_electricity_today")
     @ApiModelProperty("今日绿电消纳值")
-    private BigDecimal greenElectricityToday;
+    private BigDecimal greenElectricityToday=BigDecimal.ZERO;
 
     @TableField("car_discharge")
     @ApiModelProperty("累计汽车放电量")
-    private BigDecimal carDischarge;
+    private BigDecimal carDischarge=BigDecimal.ZERO;
 
     @TableField("green_electricity")
     @ApiModelProperty("累计绿电消纳电量")
-    private BigDecimal greenElectricity;
+    private BigDecimal greenElectricity=BigDecimal.ZERO;
 
     @TableField("title")
     @ApiModelProperty("标题")
@@ -83,15 +83,15 @@
     @TableField("statistical_deadline")
     @ApiModelProperty("截止统计日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
-    private LocalDateTime statisticalDeadline;
+    private Date statisticalDeadline;
 
     @TableField("create_time")
     @ApiModelProperty("创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime createTime;
+    private Date createTime;
 
     @TableField("update_time")
     @ApiModelProperty("更新时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime updateTime;
+    private Date updateTime;
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
index 24e454b..cc3f860 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -359,7 +359,7 @@
     @GetMapping("/getLargeScreenGun")
     public R<LargeScreenGunVo> getLargeScreenGun(){
         LargeScreenGunVo largeScreenGunVo = new LargeScreenGunVo();
-        List<TChargingGun> tChargingGuns = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getDelFlag, 0).in(TChargingGun::getSiteId,25,26).in(TChargingGun::getChargeMode, 1,2,4));
+        List<TChargingGun> tChargingGuns = chargingGunService.list(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getDelFlag, 0).in(TChargingGun::getSiteId,26).in(TChargingGun::getChargeMode, 1,2,4));
         if(tChargingGuns.isEmpty()){
             return R.ok(largeScreenGunVo);
         }
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java
index 1894f2a..472c626 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/util/TCECCJianGuanontroller.java
@@ -342,8 +342,10 @@
 			stationInfo.setStationName(datum.getName());
 			stationInfo.setCountryCode(StringUtils.isNotEmpty(datum.getCountryCode()) ? datum.getCountryCode() : "CN");
 			stationInfo.setAddress(datum.getAddress());
-			stationInfo.setStationTel(datum.getPhone());
-			stationInfo.setServiceTel(serviceTel);
+//			stationInfo.setStationTel(datum.getPhone());
+			stationInfo.setStationTel(StringUtils.isNotEmpty(datum.getPhone()) ? datum.getPhone().split(",")[0] : "");
+			stationInfo.setServiceTel(StringUtils.isNotEmpty(serviceTel) ? serviceTel.split(",")[0] : "");
+//			stationInfo.setServiceTel(serviceTel);
 			switch (datum.getSiteType()){
 				case 0:
 					stationInfo.setStationType(StationTypeEnum.OTHER.getType());
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/controller/LargeScreenController.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/controller/LargeScreenController.java
index 2d7fb02..ec3353e 100644
--- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/controller/LargeScreenController.java
+++ b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/controller/LargeScreenController.java
@@ -46,12 +46,15 @@
         Date oneDayAgoTime = format.parse(oneDayAgo);
         Date sevenDayAgoTime = format.parse(sevenDayAgo);
         ArrayList<LargeChargingPowerVo> largeChargingPowerVos = new ArrayList<>();
-        List<UploadRealTimeMonitoringData> rangeTimeData = uploadRealTimeMonitoringDataService.getRangeTimeData(oneDayAgoTime, sevenDayAgoTime);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        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();
-            List<UploadRealTimeMonitoringData> list = rangeTimeData.stream().filter(e -> e.getCreateTime().contains(time)).collect(Collectors.toList());
+
+            List<UploadRealTimeMonitoringData> list = rangeTimeData.stream().filter(e -> simpleDateFormat.format(e.getCreate_time()).contains(time)).collect(Collectors.toList());
             if(!list.isEmpty()){
+                System.out.println(list);
                 BigDecimal powerAverage = list.stream().map(UploadRealTimeMonitoringData::getPower).reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(list.size()), 0, RoundingMode.HALF_UP);
                 largeChargingPowerVo.setPower(powerAverage);
             }
diff --git a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/vo/LargeChargingPowerVo.java b/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/vo/LargeChargingPowerVo.java
index db1a794..251053a 100644
--- a/ruoyi-service/ruoyi-jianguan/src/main/java/com/ruoyi/jianguan/vo/LargeChargingPowerVo.java
+++ b/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;
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 4fd1554..95be317 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -4097,7 +4097,8 @@
 		LocalDateTime endDate = today.minusDays(1).atTime(LocalTime.MAX);
 		// 查询数据库
 		List<OrderCountByDate> orderCounts = this.baseMapper.countOrdersByDate(startDate, endDate, gunIds);*/
-		// 转换结果
+
+
 		List<LocalDate> dates = new ArrayList<>();
 		List<Integer> counts = new ArrayList<>();
 		LocalDate today = LocalDate.now();
@@ -4113,7 +4114,7 @@
 						.eq(TChargingOrder::getDelFlag,0)//未删除
 						.in(TChargingOrder::getStatus,Arrays.asList(3,5))//充电中、已结束
 						.in(TChargingOrder::getChargingGunId,gunIds)//符合条件的充电枪 站点 超充快充
-						.between(BasePojo::getCreateTime,startOfDay,endOfDay));//每天
+						.between(TChargingOrder::getCreateTime,startOfDay,endOfDay));//每天
 			}
 			dates.add(day);
 			counts.add(count.intValue());
@@ -4122,7 +4123,6 @@
 		vo.setCounts(counts);
 		return R.ok(vo);
 	}
-
 	@Override
 	public BigDecimal getSumDegreeBySiteIds(List<Integer> siteIds) {
 
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
index 1ab40bb..733c089 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
+++ b/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>
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TScreenContentController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TScreenContentController.java
index bd3274f..3e6d890 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TScreenContentController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TScreenContentController.java
@@ -9,9 +9,11 @@
 import com.ruoyi.common.security.annotation.RequiresPermissions;
 import com.ruoyi.other.api.domain.TNotice;
 import com.ruoyi.other.api.domain.TScreenContent;
+import com.ruoyi.other.api.domain.TSystemConfiguration;
 import com.ruoyi.other.api.dto.NoticeQueryDto;
 import com.ruoyi.other.service.TNoticeService;
 import com.ruoyi.other.service.TScreenContentService;
+import com.ruoyi.other.service.TSystemConfigurationService;
 import com.ruoyi.other.util.EnergyRefreshService;
 import com.ruoyi.other.vo.*;
 import io.swagger.annotations.ApiOperation;
@@ -19,6 +21,11 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.Arrays;
+import java.time.LocalDateTime;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -37,6 +44,8 @@
     private TScreenContentService screenContentService;
     @Resource
     private EnergyRefreshService energyRefreshService;
+    @Resource
+    private TSystemConfigurationService systemConfigurationService;
 
     /**
      * 顶部-累计电量
@@ -54,8 +63,26 @@
     @GetMapping(value = "/photovoltaicAndConsumption")
     public AjaxResult<PhotovoltaicAndConsumptionVO> photovoltaicAndConsumption() {
         //需调用接口 获取光伏发电量
+        List<Integer> siteIds= Arrays.asList(25,26);
+        PhotovoltaicAndConsumptionVO vo = new PhotovoltaicAndConsumptionVO();
+        List<TScreenContent> list = screenContentService.list(new LambdaQueryWrapper<TScreenContent>().in(TScreenContent::getSiteId, siteIds));
+        if(list==null|| list.isEmpty()){
+            return AjaxResult.success(vo);
+        }
+        vo.setGreenElectricityToday(list.get(0).getGreenElectricityToday());
+        list.remove(0);
+        list.forEach(x->{
+            vo.setGreenElectricityToday(vo.getGreenElectricityToday().add(x.getGreenElectricityToday()));
+        });
 
-        return AjaxResult.success(new PhotovoltaicAndConsumptionVO());
+        TSystemConfiguration sysConfig = systemConfigurationService.getOne(new LambdaQueryWrapper<TSystemConfiguration>()
+                .eq(TSystemConfiguration::getType,4));
+        BigDecimal refreshValueOne = new BigDecimal(sysConfig.getContent());
+        vo.setTodayGenerateElectricity(refreshValueOne);
+        vo.setGreenElectricityToday(refreshValueOne.multiply(new BigDecimal("0.94")).setScale(2, RoundingMode.HALF_UP));
+
+
+        return AjaxResult.success(vo);
     }
 
 
@@ -84,7 +111,10 @@
     public AjaxResult<EnergyStorageDischargeVO> energyStorageDischarge() {
         //需调用接口 获取光伏发电量
         EnergyStorageDischargeVO vo = new EnergyStorageDischargeVO();
-        vo.setTodayDischarge(energyRefreshService.getCurrentValue());
+        //今日放能   10:00-11:59 每1分钟随机增值0.5-1,放满90停止;用第一次放能值为基数(85)开始累加,17:00-21:59 每1分钟随机增值0.5-1,放满90停止。
+        vo.setTodayDischarge(energyRefreshService.getTodayDischarge());
+        //今日储能  00:00-次日7:59 每1分钟随机增长0.5-1,储满115停止,12:00-16:59 每1分钟随机增长0.5-1,增加到115减第一次放能剩余值(如放能值为85,则放能剩余值为90-85)结束;
+        vo.setTodayStorage(energyRefreshService.getTodayStorage());
         return AjaxResult.success(vo);
     }
 
@@ -101,7 +131,7 @@
         if(list==null|| list.isEmpty()){
             return AjaxResult.success(tScreenContent);
         }
-        BeanUtils.copyProperties( list.get(0),tScreenContent);
+        BeanUtils.copyProperties(list.get(0),tScreenContent);
         list.remove(0);
         list.forEach(x->{
             tScreenContent.setCarDischarge(tScreenContent.getCarDischarge().add(x.getCarDischarge()));
@@ -110,11 +140,28 @@
             tScreenContent.setValueOne(tScreenContent.getValueOne().add(x.getValueOne()));
             tScreenContent.setValueTwo(tScreenContent.getValueTwo().add(x.getValueTwo()));
             tScreenContent.setValueThree(tScreenContent.getValueThree().add(x.getValueThree()));
-            if(tScreenContent.getStatisticalDeadline().isBefore(x.getStatisticalDeadline())) tScreenContent.setStatisticalDeadline(x.getStatisticalDeadline());
+            if(tScreenContent.getStatisticalDeadline().getTime()<(x.getStatisticalDeadline().getTime())) {
+                tScreenContent.setStatisticalDeadline(x.getStatisticalDeadline());
+            }
         });
         return AjaxResult.success(tScreenContent);
     }
 
+    @ApiOperation(tags = {"车位数据传输"},value = "充电桩数据大屏")
+    @PostMapping(value = "/carportData")
+    public AjaxResult<?> carportData(Integer parkingPlace,Integer remainPlace) {
+        screenContentService.carportData(parkingPlace,remainPlace);
+        return AjaxResult.success();
+    }
+
+    @ApiOperation(tags = {"获取车位数据传输"},value = "充电桩数据大屏")
+    @GetMapping(value = "/getCarportData")
+    public AjaxResult<?> getCarportData() {
+        HashMap<String,Object> map = screenContentService.getCarportData();
+        return AjaxResult.success(map);
+    }
+
+
     /**
      * 数据回显 站点id
      */
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java
index 2f87f68..c353eab 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TScreenContentMapper.java
@@ -1,12 +1,12 @@
 package com.ruoyi.other.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.other.api.domain.TNotice;
 import com.ruoyi.other.api.domain.TScreenContent;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -23,4 +23,13 @@
     BigDecimal getCarDisCharge(@Param("siteIds") List<Integer> siteIds);
 
     BigDecimal getGreenElectricity(@Param("siteIds") List<Integer> siteIds);
+
+    void carportData(@Param("parkingPlace") Integer parkingPlace, @Param("remainPlace") Integer remainPlace);
+
+
+    HashMap<String, Object> getCarportData();
+
+
+
+
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TScreenContentService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TScreenContentService.java
index c1ce779..35769eb 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TScreenContentService.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TScreenContentService.java
@@ -7,6 +7,7 @@
 import com.ruoyi.other.vo.PhotovoltaicPowerGenerationVO;
 import com.ruoyi.other.vo.ScreenTopVO;
 
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -24,4 +25,12 @@
     PhotovoltaicPowerGenerationVO photovoltaicPowerGeneration(List<Integer> siteIds);
 
     ScreenTopVO top(List<Integer> siteIds);
+
+    void carportData(Integer parkingPlace, Integer remainPlace);
+
+
+    HashMap<String, Object> getCarportData();
+
+
+
 }
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 52dc72a..a3065d8 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
@@ -30,10 +30,7 @@
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Random;
+import java.util.*;
 import java.util.concurrent.ThreadLocalRandom;
 
 /**
@@ -54,17 +51,12 @@
 
     @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) {
             // 定义乘数和除数
             BigDecimal multiplier = new BigDecimal("0.1404"); // 0.1404
@@ -72,10 +64,62 @@
             // 计算: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);
+
+        //获取累计储能放电量
+        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));
+            }
+
+            // 更新回对象
+            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));
+        }
+
+        //总数:
+        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")));
+        vo.setChargeRate(calculateRatio(vo.getCharge(),vo.getTotal()).multiply(new BigDecimal("100")));
+
         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
@@ -93,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);
@@ -109,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();
             }
@@ -134,8 +203,7 @@
         int days = (int) ChronoUnit.DAYS.between(systemCreateTime, today) +1;//包括今天
 
         BigDecimal dailyRate = new BigDecimal("100");
-        BigDecimal totalCharge = dailyRate.multiply(BigDecimal.valueOf(days))
-                .divide(BigDecimal.valueOf(10000), 2, RoundingMode.HALF_UP);
+        BigDecimal totalCharge = dailyRate.multiply(BigDecimal.valueOf(days));
         vo.setStorageCharge(totalCharge);
         //获取储能放电量
 
@@ -161,6 +229,25 @@
 
         systemConfigurationMapper.updateById(sysConfig);
         vo.setStorageDisCharge(storageDisCharge);
+
+
+        TSystemConfiguration sysConfig1 = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>()
+                .eq(TSystemConfiguration::getType,4));
+        vo.setPhotovoltaic(new BigDecimal(sysConfig1.getContent()));
+        vo.setGreenElectricity(vo.getPhotovoltaic().multiply(new BigDecimal("0.94")).setScale(2,  RoundingMode.HALF_UP));
         return vo;
     }
+
+    @Override
+    public void carportData(Integer parkingPlace, Integer remainPlace) {
+        this.baseMapper.carportData(parkingPlace,remainPlace);
+    }
+
+    @Override
+    public HashMap<String, Object> getCarportData() {
+        HashMap<String, Object> carportData = this.baseMapper.getCarportData();
+        int count = Integer.valueOf(carportData.get("parkingPlace").toString()) - Integer.valueOf(carportData.get("remainPlace").toString());
+        carportData.put("useCarport",count);
+        return carportData;
+    }
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java
index fa1937a..9a9d17f 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/EnergyRefreshService.java
@@ -14,97 +14,251 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.time.LocalDate;
 import java.time.LocalTime;
+import java.util.List;
 import java.util.Random;
 
+
+/**
+ * 定时任务:储能放电情况 光伏发电情况
+ */
 @Service
 public class EnergyRefreshService {
     private final Random random = new Random();
     @Resource
     private TSystemConfigurationMapper systemConfigurationMapper;
 
-    private final BigDecimal targetLow = new BigDecimal("85");
+    // 储能相关参数
+    private final BigDecimal storageMaxMorning = new BigDecimal("115"); // 凌晨到8点储能最大值
+    private final BigDecimal storageMaxAfternoon = new BigDecimal("115"); // 12点后储能最大值
+    private final BigDecimal dischargeMaxMorning = new BigDecimal("90"); // 上午放电最大值
+    private final BigDecimal dischargeMaxAfternoon = new BigDecimal("90"); // 下午放电最大值
 
-    private final BigDecimal targetHigh = new BigDecimal("87");
+    private final double minIncrement = 0.5; // 最小增量(储能/放电共用)
+    private final double maxIncrement = 1.0; // 最大增量(储能/放电共用)
 
 
-    private final int maxIncrement = 10;
-
-    private boolean isRunning = true; // 控制任务是否继续执行
-
-    // 定时任务方法
-    @Scheduled(cron = "0 */15 * * * ?")//15分钟执行一次
+    // 定时任务方法 - 能量刷新
+    @Scheduled(cron = "0 * * * * ?") // 每分钟执行一次(原15分钟改为1分钟)
     public synchronized void refreshValue() {
-        // 检查当前时间是否在允许的时间段内
         LocalTime now = LocalTime.now();
-        boolean isInMorning = now.isAfter(LocalTime.of(10, 0)) && now.isBefore(LocalTime.of(12, 0));
-        boolean isInAfternoon = now.isAfter(LocalTime.of(15, 0)) && now.isBefore(LocalTime.of(21, 0));
+        // 根据时间段执行不同逻辑
+        if (isInStorageMorning(now)) { // 00:00-7:59 储能阶段
+            handleStoragePhase(storageMaxMorning, BigDecimal.ZERO);
+        } else if (isInDischargeMorning(now)) { // 10:00-11:59 上午放电阶段
+            handleDischargePhase(dischargeMaxMorning);
+        } else if (isInStorageAfternoon(now)) { // 12:00-16:59 下午储能阶段
+            handleStoragePhase(storageMaxAfternoon, getTodayDischarge());
+        } else if (isInDischargeAfternoon(now)) { // 17:00-21:59 下午放电阶段
+            handleDischargePhase(dischargeMaxAfternoon);
+        }
+    }
 
-        if (!isInMorning && !isInAfternoon) {
+    // 储能阶段处理逻辑
+    public void handleStoragePhase(BigDecimal maxValue, BigDecimal dischargeValue) {
+        BigDecimal todayStorage=getTodayStorage();//当前储能值
+        BigDecimal availableSpace = maxValue.subtract(todayStorage.subtract(dischargeValue));//115-(储能-放能) 当前可上涨空间
+
+        // 随机增量0.5—1.0
+        BigDecimal increment = randomBigDecimal(minIncrement,maxIncrement);
+        BigDecimal newStorage;
+        if (availableSpace.compareTo(increment) >= 0 ) {
+            //可用空间大于等于当前增量
+             newStorage = todayStorage.add(increment)
+                    .setScale(2, RoundingMode.HALF_UP);
+        }else {
+            //可用空间不足当前增量
+            newStorage = maxValue.add(dischargeValue);//115 + 放能  (如:上午放90,下午就只能充90)
+        }
+        if (newStorage.compareTo(todayStorage)==0){
+            //新增值等于当前储能值 说明已达到最大值,没必要更新了
             return;
         }
+        updateStorageValue(newStorage);
+        System.out.printf("储能阶段:当前时间 %s,今日储能:%.2f%n", LocalTime.now(), newStorage);
+    }
+    // 放电阶段处理逻辑
+    private void handleDischargePhase(BigDecimal maxDischarge) {
+        BigDecimal currentDischarge = getTodayDischarge();//当前放电量
+        BigDecimal todayStorage = getTodayStorage();//储能量
+        //今日储能-115,就是耗能(基数),在这个基数上加90
+        BigDecimal baseDischarge = todayStorage.subtract(storageMaxAfternoon);
+        BigDecimal newMaxDischarge = baseDischarge.add(maxDischarge);//上限 基数+90
 
+        // 随机增量0.5—1.0
+        BigDecimal increment = randomBigDecimal(minIncrement,maxIncrement);
+        BigDecimal newDischarge = currentDischarge.add(increment);//当前值 + 增量
+        if (newDischarge.compareTo(newMaxDischarge) >=0) {
+            //超出 用最大值
+            newDischarge = newMaxDischarge;
+        }
 
-        //获取当前值
-        BigDecimal currentValue = getCurrentValue();
-        // 检查是否已停止或达到目标范围
-        if (!isRunning || isWithinTargetRange(currentValue)) {
-            isRunning = false;
+        if (newDischarge.compareTo(currentDischarge)==0){
+            //新增值等于当前值,说明已超出,没必要更新了
             return;
         }
-        
-
-        // 生成随机增量并更新值
-        int increment = random.nextInt(maxIncrement + 1);
-        currentValue = currentValue.add(BigDecimal.valueOf(increment))
-                                   .setScale(2, RoundingMode.HALF_UP);
-        //更新值
-        updateCurrentValue(currentValue);
-        System.out.printf("定时刷新:当前时间 %s,当前值:%.2f%n", now, currentValue);
-    }
-    
-    private boolean isWithinTargetRange(BigDecimal value) {
-        return value.compareTo(targetLow) >= 0 && value.compareTo(targetHigh) <= 0;
+        updateDischargeValue(newDischarge);
+        System.out.printf("放电阶段:当前时间 %s,今日放电:%.2f%n", LocalTime.now(), newDischarge);
     }
 
-    /**
-     * 获取当前值
-     */
-    public BigDecimal getCurrentValue() {
-        //获取系统建设日期和累计储能放电量
-        TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>()
-                .eq(TSystemConfiguration::getType,3));
-        //解析
-        ScreenStorageConfigVO configVO = JSON.parseObject(sysConfig.getContent(), ScreenStorageConfigVO.class);
-        return configVO.getCurrentValue();
-    }
-
-    /**
-     * 更新当前值
-     */
-    private void updateCurrentValue(BigDecimal currentValue) {
-        //获取系统建设日期和累计储能放电量
-        TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(new LambdaQueryWrapper<TSystemConfiguration>()
-                .eq(TSystemConfiguration::getType,3));
-        //解析
-        ScreenStorageConfigVO configVO = JSON.parseObject(sysConfig.getContent(), ScreenStorageConfigVO.class);
-        //更新
-        configVO.setCurrentValue(currentValue);
-        String json = JSON.toJSONString(configVO);
-        sysConfig.setContent(json);
-        systemConfigurationMapper.updateById(sysConfig);
-    }
-
-
-
-    // 重置任务
-    @Scheduled(cron = "0 0 0 * * ?")  // 每天凌晨0点执行
+    // 重置任务(每天凌晨0点)
+    @Scheduled(cron = "0 0 0 * * ?")
     public void reset() {
-        BigDecimal currentValue = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP);
-        updateCurrentValue(currentValue);
-        //更新
-        this.isRunning = true;
+        // 初始化今日储能和放电为0
+        updateStorageValue(BigDecimal.ZERO);
+        updateDischargeValue(BigDecimal.ZERO);
+        System.out.println("每日重置完成:今日储能和放电已清零");
     }
 
+    /**
+     * 生成指定范围内的随机 BigDecimal(两位小数)
+     * @param min 最小值(包含)
+     * @param max 最大值(包含)
+     * @return 随机 BigDecimal
+     */
+    private BigDecimal randomBigDecimal(double min, double max) {
+        // 生成 [0, 1) 随机数
+        double randomValue = random.nextDouble();
+        // 计算范围内的随机值
+        double range = max - min;
+        double value = min + (randomValue * range);
+
+        // 转换为两位小数的 BigDecimal
+        return BigDecimal.valueOf(value).setScale(2, RoundingMode.HALF_UP);
+    }
+    // 更新今日储能值到数据库
+    private void updateStorageValue(BigDecimal value) {
+        updateConfigField("todayStorage", value);
+    }
+
+    // 更新今日放电值到数据库(原逻辑保留)
+    private void updateDischargeValue(BigDecimal value) {
+        updateConfigField("todayDischarge", value);
+    }
+
+    // 通用配置更新方法
+    private void updateConfigField(String field, BigDecimal value) {
+        TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(
+                new LambdaQueryWrapper<TSystemConfiguration>()
+                        .eq(TSystemConfiguration::getType, 3)
+        );
+        if (sysConfig != null) {
+            ScreenStorageConfigVO configVO = JSON.parseObject(sysConfig.getContent(), ScreenStorageConfigVO.class);
+            if ("todayStorage".equals(field)) {
+                configVO.setTodayStorage(value);
+            } else {
+                configVO.setTodayDischarge(value);
+            }
+            sysConfig.setContent(JSON.toJSONString(configVO));
+            systemConfigurationMapper.updateById(sysConfig);
+        }
+    }
+    // 时间段判断方法
+    private boolean isInStorageMorning(LocalTime time) {
+        return time.isAfter(LocalTime.of(0, 0)) && time.isBefore(LocalTime.of(8, 0));
+    }
+
+    private boolean isInDischargeMorning(LocalTime time) {
+        return time.isAfter(LocalTime.of(10, 0)) && time.isBefore(LocalTime.of(12, 0));
+    }
+
+    private boolean isInStorageAfternoon(LocalTime time) {
+        return time.isAfter(LocalTime.of(12, 0)) && time.isBefore(LocalTime.of(17, 0));
+    }
+
+    private boolean isInDischargeAfternoon(LocalTime time) {
+        return time.isAfter(LocalTime.of(17, 0)) && time.isBefore(LocalTime.of(22, 0));
+    }
+
+    public BigDecimal getTodayStorage() {
+        TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(
+                new LambdaQueryWrapper<TSystemConfiguration>()
+                        .eq(TSystemConfiguration::getType, 3)
+        );
+        if (sysConfig != null) {
+            ScreenStorageConfigVO configVO = JSON.parseObject(sysConfig.getContent(), ScreenStorageConfigVO.class);
+            return configVO.getTodayStorage();
+        }
+        return BigDecimal.ZERO;
+    }
+
+    public BigDecimal getTodayDischarge() {
+        TSystemConfiguration sysConfig = systemConfigurationMapper.selectOne(
+                new LambdaQueryWrapper<TSystemConfiguration>()
+                        .eq(TSystemConfiguration::getType, 3)
+        );
+        if (sysConfig != null) {
+            ScreenStorageConfigVO configVO = JSON.parseObject(sysConfig.getContent(), ScreenStorageConfigVO.class);
+            return configVO.getTodayDischarge();
+        }
+        return BigDecimal.ZERO;
+    }
+
+
+
+
+    public static BigDecimal refreshValueOne = new BigDecimal("0");
+    /**
+     *光伏发电和消纳
+     */
+    @Scheduled(cron = "0 */1 * * * ?")  // 每分钟点执行
+    public void refreshValueOne() {
+        // 判断时间是否在6:00到8:59
+        LocalTime now = LocalTime.now();
+        if (now.isAfter(LocalTime.of(6, 0)) && now.isBefore(LocalTime.of(8, 59))) {
+            refreshValueOne = refreshValueOne.add(new BigDecimal("0.5"));
+            List<TSystemConfiguration> sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>()
+                    .in(TSystemConfiguration::getType,4,5));
+            TSystemConfiguration sysConfig = sysConfigs.stream().filter(e -> e.getType() == 4).findFirst().orElse(null);
+            sysConfig.setContent(refreshValueOne.toString());
+            systemConfigurationMapper.updateById(sysConfig);
+
+
+            TSystemConfiguration sysConfig1 = sysConfigs.stream().filter(e -> e.getType() == 5).findFirst().orElse(null);
+            String string = new BigDecimal(sysConfig1.getContent()).add(new BigDecimal("0.5")).toString();
+            sysConfig1.setContent(string);
+            systemConfigurationMapper.updateById(sysConfig1);
+            // 在6:00到8:59之间,不执行
+            return;
+        }
+        // 9:00-16:59每分钟增加随机3 到 3.5
+        if (now.isAfter(LocalTime.of(9, 0)) && now.isBefore(LocalTime.of(16, 59))) {
+            refreshValueOne = refreshValueOne.add(new BigDecimal(3 + (3.5 - 3) * random.nextDouble())
+                    .setScale(2, RoundingMode.HALF_UP));
+            List<TSystemConfiguration> sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>()
+                    .in(TSystemConfiguration::getType,4,5));
+
+            TSystemConfiguration sysConfig = sysConfigs.stream().filter(e -> e.getType() == 4).findFirst().orElse(null);
+            sysConfig.setContent(refreshValueOne.toString());
+            systemConfigurationMapper.updateById(sysConfig);
+
+
+            TSystemConfiguration sysConfig1 = sysConfigs.stream().filter(e -> e.getType() == 5).findFirst().orElse(null);
+            String string = new BigDecimal(sysConfig1.getContent()).add(new BigDecimal(3 + (3.5 - 3) * random.nextDouble())).toString();
+            sysConfig1.setContent(string);
+            systemConfigurationMapper.updateById(sysConfig1);
+            return;
+        }
+        //17:00-18:59 每分钟增加0.5
+        if (now.isAfter(LocalTime.of(17, 0)) && now.isBefore(LocalTime.of(18, 59))) {
+            refreshValueOne = refreshValueOne.add(new BigDecimal("0.5"));
+            List<TSystemConfiguration> sysConfigs = systemConfigurationMapper.selectList(new LambdaQueryWrapper<TSystemConfiguration>()
+                    .in(TSystemConfiguration::getType,4,5));
+
+            TSystemConfiguration sysConfig = sysConfigs.stream().filter(e -> e.getType() == 4).findFirst().orElse(null);
+            sysConfig.setContent(refreshValueOne.toString());
+            systemConfigurationMapper.updateById(sysConfig);
+
+
+            TSystemConfiguration sysConfig1 = sysConfigs.stream().filter(e -> e.getType() == 5).findFirst().orElse(null);
+            String string = new BigDecimal(sysConfig1.getContent()).add(new BigDecimal("0.5")).toString();
+            sysConfig1.setContent(string);
+            systemConfigurationMapper.updateById(sysConfig1);
+        }
+    }
+
+
+
 
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EmissionReductionVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EmissionReductionVO.java
index adb7c77..97c05b4 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EmissionReductionVO.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EmissionReductionVO.java
@@ -8,20 +8,20 @@
 @Data
 public class EmissionReductionVO {
     @ApiModelProperty("累计光伏发电二氧化碳减排量(吨)")
-    private BigDecimal photovoltaic = new BigDecimal("63.00");
+    private BigDecimal photovoltaic = new BigDecimal("1.39");
     @ApiModelProperty("累计光伏发电二氧化碳减排量(占比率)")
-    private BigDecimal photovoltaicRate = new BigDecimal("48.8");
+    private BigDecimal photovoltaicRate ;
 
     @ApiModelProperty("累计储能二氧化碳减排量(吨)")
-    private BigDecimal energyStorage = new BigDecimal("20.00");
+    private BigDecimal energyStorage ;
     @ApiModelProperty("累计储能二氧化碳减排量(占比率)")
-    private BigDecimal energyStorageRate =  new BigDecimal("48.8");
+    private BigDecimal energyStorageRate ;
 
     @ApiModelProperty("累计充电二氧化碳减排量(吨)")
     private BigDecimal charge;
     @ApiModelProperty("累计充电二氧化碳减排量(占比率)")
-    private BigDecimal chargeRate =  new BigDecimal("4.8");
+    private BigDecimal chargeRate ;
 
     @ApiModelProperty("总计二氧化碳减排量(吨)")
-    private BigDecimal total = new BigDecimal("48000");
+    private BigDecimal total ;
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EnergyStorageDischargeVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EnergyStorageDischargeVO.java
index d8086c5..f99a415 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EnergyStorageDischargeVO.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/EnergyStorageDischargeVO.java
@@ -8,9 +8,9 @@
 @Data
 public class EnergyStorageDischargeVO {
     @ApiModelProperty("储能配置")
-    private Integer config=100;
+    private Integer config=115;
     @ApiModelProperty("今日储能")
-    private Integer todayStorage=100;
+    private BigDecimal todayStorage;
     @ApiModelProperty("今日放能")
     private BigDecimal todayDischarge;
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/PhotovoltaicAndConsumptionVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/PhotovoltaicAndConsumptionVO.java
index cb2148a..dd9b28f 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/PhotovoltaicAndConsumptionVO.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/PhotovoltaicAndConsumptionVO.java
@@ -1,5 +1,6 @@
 package com.ruoyi.other.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -15,4 +16,7 @@
     @ApiModelProperty("今日已发电")
     private BigDecimal todayGenerateElectricity=new BigDecimal("71.29");
 
+    @ApiModelProperty("今日绿电消纳值")
+    private BigDecimal greenElectricityToday=new BigDecimal("0.00");
+
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java
index 5d3c27f..9e32b1f 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenStorageConfigVO.java
@@ -27,7 +27,12 @@
     private LocalDate lastUpdated;
 
     /**
-     * 储能放电情况 今日放能 规定时间内 随机增长 凌晨数值重置
+     * 储能放电情况 今日放能
      */
-    private BigDecimal currentValue;
+    private BigDecimal todayDischarge;
+
+    /**
+     * 储能放电情况 今日储能
+     */
+    private BigDecimal todayStorage;
 }
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenTopVO.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenTopVO.java
index fd9d887..bd17cb3 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/ScreenTopVO.java
+++ b/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("储能充电量")
diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TScreenContentMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TScreenContentMapper.xml
index fed5aea..ad4f8c3 100644
--- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TScreenContentMapper.xml
+++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TScreenContentMapper.xml
@@ -1,6 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.other.mapper.TScreenContentMapper">
+    <update id="carportData">
+        update t_screen_carport
+        set
+            parking_place = #{parkingPlace},
+            remain_place = #{remainPlace}
+        where
+            id =1
+    </update>
 
     <select id="getCarDisCharge" resultType="java.math.BigDecimal">
         select
@@ -22,4 +30,11 @@
             #{item}
         </foreach>
     </select>
+    <select id="getCarportData" resultType="java.util.HashMap">
+        select
+            parking_place as parkingPlace,
+            remain_place as remainPlace
+        from
+            t_screen_carport where id =1
+    </select>
 </mapper>

--
Gitblit v1.7.1