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());