From 7f025be41b2a4fbbab0616ed16f36947fb7758bd Mon Sep 17 00:00:00 2001 From: zq Date: Thu, 22 Jan 2026 15:40:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=99=E7=82=B9=E9=A6=96=E9=A1=B5=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=B1=95=E7=A4=BA=E5=AD=97=E6=AE=B5=EF=BC=9A=E6=98=A8?= =?UTF-8?q?=E6=97=A5=E5=85=85=E7=94=B5=E9=87=8F=E3=80=81=E6=98=A8=E6=97=A5?= =?UTF-8?q?=E6=94=BE=E7=94=B5=E9=87=8F=E3=80=81=E6=98=A8=E6=97=A5=E5=AE=9E?= =?UTF-8?q?=E6=97=B6=E6=94=B6=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xzzn/common/utils/DateUtils.java | 2 +- .../xzzn/ems/domain/vo/SiteMonitorHomeVo.java | 39 +++++++++++++++++++ .../impl/EmsEnergyPriceConfigServiceImpl.java | 35 +++++++++++------ .../service/impl/SingleSiteServiceImpl.java | 8 ++++ 4 files changed, 72 insertions(+), 12 deletions(-) diff --git a/ems-common/src/main/java/com/xzzn/common/utils/DateUtils.java b/ems-common/src/main/java/com/xzzn/common/utils/DateUtils.java index 29725be..bfcd82d 100644 --- a/ems-common/src/main/java/com/xzzn/common/utils/DateUtils.java +++ b/ems-common/src/main/java/com/xzzn/common/utils/DateUtils.java @@ -416,7 +416,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils // 减去一天得到昨天 LocalDate yesterday = today.minusDays(1); // 定义日期格式化器 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDD); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYY_MM_DD); // 格式化并返回 return yesterday.format(formatter); } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/SiteMonitorHomeVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/SiteMonitorHomeVo.java index d7bcc6a..55dba0d 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/vo/SiteMonitorHomeVo.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/SiteMonitorHomeVo.java @@ -20,6 +20,16 @@ public class SiteMonitorHomeVo { */ private BigDecimal dayDisChargedCap; + /** + * 昨日充电量 + */ + private BigDecimal yesterdayChargedCap; + + /** + * 昨日放电量 + */ + private BigDecimal yesterdayDisChargedCap; + /** * 总充电量 */ @@ -75,6 +85,11 @@ public class SiteMonitorHomeVo { */ private BigDecimal dayRevenue; + /** + * 昨日实时收入 + */ + private BigDecimal yesterdayRevenue; + public BigDecimal getTotalRevenue() { return totalRevenue; } @@ -91,6 +106,14 @@ public class SiteMonitorHomeVo { this.dayRevenue = dayRevenue; } + public BigDecimal getYesterdayRevenue() { + return yesterdayRevenue; + } + + public void setYesterdayRevenue(BigDecimal yesterdayRevenue) { + this.yesterdayRevenue = yesterdayRevenue; + } + public BigDecimal getDayChargedCap() { return dayChargedCap; } @@ -107,6 +130,22 @@ public class SiteMonitorHomeVo { this.dayDisChargedCap = dayDisChargedCap; } + public BigDecimal getYesterdayChargedCap() { + return yesterdayChargedCap; + } + + public void setYesterdayChargedCap(BigDecimal yesterdayChargedCap) { + this.yesterdayChargedCap = yesterdayChargedCap; + } + + public BigDecimal getYesterdayDisChargedCap() { + return yesterdayDisChargedCap; + } + + public void setYesterdayDisChargedCap(BigDecimal yesterdayDisChargedCap) { + this.yesterdayDisChargedCap = yesterdayDisChargedCap; + } + public BigDecimal getTotalChargedCap() { return totalChargedCap; } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsEnergyPriceConfigServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsEnergyPriceConfigServiceImpl.java index f6b179c..682282a 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsEnergyPriceConfigServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsEnergyPriceConfigServiceImpl.java @@ -1,29 +1,33 @@ package com.xzzn.ems.service.impl; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.time.LocalDate; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - import com.xzzn.common.constant.RedisKeyConstants; import com.xzzn.common.core.redis.RedisCache; import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.StringUtils; import com.xzzn.ems.domain.EmsDailyEnergyData; +import com.xzzn.ems.domain.EmsEnergyPriceConfig; import com.xzzn.ems.domain.EmsPriceTimeConfig; import com.xzzn.ems.domain.vo.EnergyPriceTimeRange; import com.xzzn.ems.domain.vo.EnergyPriceVo; import com.xzzn.ems.mapper.EmsDailyEnergyDataMapper; +import com.xzzn.ems.mapper.EmsEnergyPriceConfigMapper; import com.xzzn.ems.mapper.EmsPriceTimeConfigMapper; -import com.xzzn.ems.mapper.EmsSiteSettingMapper; +import com.xzzn.ems.service.IEmsEnergyPriceConfigService; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.xzzn.ems.mapper.EmsEnergyPriceConfigMapper; -import com.xzzn.ems.domain.EmsEnergyPriceConfig; -import com.xzzn.ems.service.IEmsEnergyPriceConfigService; /** * 电价配置Service业务层处理 @@ -274,6 +278,14 @@ public class EmsEnergyPriceConfigServiceImpl implements IEmsEnergyPriceConfigSer // 默认0 BigDecimal totalRevenue = BigDecimal.ZERO; BigDecimal dayRevenue = BigDecimal.ZERO; + BigDecimal yesterdayRevenue = BigDecimal.ZERO; + // 获取昨日数据 + String yesterday = DateUtils.getYesterdayDayString(); + EmsDailyEnergyData yesterdayData = emsDailyEnergyDataMapper.getDataByDate(siteId, yesterday); + if (yesterdayData != null) { + yesterdayRevenue = yesterdayData.getDayRevenue() == null ? BigDecimal.ZERO : yesterdayData.getDayRevenue(); + } + // 当日实时数据 String today = DateUtils.getDate(); EmsDailyEnergyData todayData = emsDailyEnergyDataMapper.getDataByDate(siteId,today); @@ -304,6 +316,7 @@ public class EmsEnergyPriceConfigServiceImpl implements IEmsEnergyPriceConfigSer } currentDayRevenue.put("totalRevenue", totalRevenue); currentDayRevenue.put("dayRevenue", dayRevenue); + currentDayRevenue.put("yesterdayRevenue", yesterdayRevenue); return currentDayRevenue; } } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java index 645a698..b758498 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java @@ -122,6 +122,8 @@ public class SingleSiteServiceImpl implements ISingleSiteService { dayRevenueMap.get("totalRevenue") == null ? BigDecimal.ZERO : dayRevenueMap.get("totalRevenue")); siteMonitorHomeVo.setDayRevenue( dayRevenueMap.get("dayRevenue") == null ? BigDecimal.ZERO :dayRevenueMap.get("dayRevenue")); + siteMonitorHomeVo.setYesterdayRevenue( + dayRevenueMap.get("yesterdayRevenue") == null ? BigDecimal.ZERO :dayRevenueMap.get("yesterdayRevenue")); // 实时告警数据 名称+状态+告警内容 List siteMonitorHomeAlarmVo = emsAlarmRecordsMapper.getAlarmRecordsBySiteId(siteId); @@ -152,6 +154,12 @@ public class SingleSiteServiceImpl implements ISingleSiteService { siteMonitorHomeVo.setDayChargedCap(sitePcsData.getChargedCap()); siteMonitorHomeVo.setDayDisChargedCap(sitePcsData.getDisChargedCap()); } + // 获取昨日充电量+放电量 + if (DateUtils.getYesterdayDayString().equals(pcsDate)) { + siteMonitorHomeVo.setYesterdayChargedCap(sitePcsData.getChargedCap()); + siteMonitorHomeVo.setYesterdayDisChargedCap(sitePcsData.getDisChargedCap()); + } + } // 储能可用电量 BigDecimal energyStorageAvailElec = siteMonitorHomeVo.getTotalDischargedCap().subtract(siteMonitorHomeVo.getTotalChargedCap());