站点首页新增展示字段:昨日充电量、昨日放电量、昨日实时收入

This commit is contained in:
zq
2026-01-22 15:40:29 +08:00
parent 04bf9fe1c1
commit 7f025be41b
4 changed files with 72 additions and 12 deletions

View File

@ -416,7 +416,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
// 减去一天得到昨天 // 减去一天得到昨天
LocalDate yesterday = today.minusDays(1); LocalDate yesterday = today.minusDays(1);
// 定义日期格式化器 // 定义日期格式化器
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYYMMDD); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(YYYY_MM_DD);
// 格式化并返回 // 格式化并返回
return yesterday.format(formatter); return yesterday.format(formatter);
} }

View File

@ -20,6 +20,16 @@ public class SiteMonitorHomeVo {
*/ */
private BigDecimal dayDisChargedCap; private BigDecimal dayDisChargedCap;
/**
* 昨日充电量
*/
private BigDecimal yesterdayChargedCap;
/**
* 昨日放电量
*/
private BigDecimal yesterdayDisChargedCap;
/** /**
* 总充电量 * 总充电量
*/ */
@ -75,6 +85,11 @@ public class SiteMonitorHomeVo {
*/ */
private BigDecimal dayRevenue; private BigDecimal dayRevenue;
/**
* 昨日实时收入
*/
private BigDecimal yesterdayRevenue;
public BigDecimal getTotalRevenue() { public BigDecimal getTotalRevenue() {
return totalRevenue; return totalRevenue;
} }
@ -91,6 +106,14 @@ public class SiteMonitorHomeVo {
this.dayRevenue = dayRevenue; this.dayRevenue = dayRevenue;
} }
public BigDecimal getYesterdayRevenue() {
return yesterdayRevenue;
}
public void setYesterdayRevenue(BigDecimal yesterdayRevenue) {
this.yesterdayRevenue = yesterdayRevenue;
}
public BigDecimal getDayChargedCap() { public BigDecimal getDayChargedCap() {
return dayChargedCap; return dayChargedCap;
} }
@ -107,6 +130,22 @@ public class SiteMonitorHomeVo {
this.dayDisChargedCap = dayDisChargedCap; 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() { public BigDecimal getTotalChargedCap() {
return totalChargedCap; return totalChargedCap;
} }

View File

@ -1,29 +1,33 @@
package com.xzzn.ems.service.impl; 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.constant.RedisKeyConstants;
import com.xzzn.common.core.redis.RedisCache; import com.xzzn.common.core.redis.RedisCache;
import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.DateUtils;
import com.xzzn.common.utils.StringUtils; import com.xzzn.common.utils.StringUtils;
import com.xzzn.ems.domain.EmsDailyEnergyData; import com.xzzn.ems.domain.EmsDailyEnergyData;
import com.xzzn.ems.domain.EmsEnergyPriceConfig;
import com.xzzn.ems.domain.EmsPriceTimeConfig; import com.xzzn.ems.domain.EmsPriceTimeConfig;
import com.xzzn.ems.domain.vo.EnergyPriceTimeRange; import com.xzzn.ems.domain.vo.EnergyPriceTimeRange;
import com.xzzn.ems.domain.vo.EnergyPriceVo; import com.xzzn.ems.domain.vo.EnergyPriceVo;
import com.xzzn.ems.mapper.EmsDailyEnergyDataMapper; import com.xzzn.ems.mapper.EmsDailyEnergyDataMapper;
import com.xzzn.ems.mapper.EmsEnergyPriceConfigMapper;
import com.xzzn.ems.mapper.EmsPriceTimeConfigMapper; 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.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xzzn.ems.mapper.EmsEnergyPriceConfigMapper;
import com.xzzn.ems.domain.EmsEnergyPriceConfig;
import com.xzzn.ems.service.IEmsEnergyPriceConfigService;
/** /**
* 电价配置Service业务层处理 * 电价配置Service业务层处理
@ -274,6 +278,14 @@ public class EmsEnergyPriceConfigServiceImpl implements IEmsEnergyPriceConfigSer
// 默认0 // 默认0
BigDecimal totalRevenue = BigDecimal.ZERO; BigDecimal totalRevenue = BigDecimal.ZERO;
BigDecimal dayRevenue = 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(); String today = DateUtils.getDate();
EmsDailyEnergyData todayData = emsDailyEnergyDataMapper.getDataByDate(siteId,today); EmsDailyEnergyData todayData = emsDailyEnergyDataMapper.getDataByDate(siteId,today);
@ -304,6 +316,7 @@ public class EmsEnergyPriceConfigServiceImpl implements IEmsEnergyPriceConfigSer
} }
currentDayRevenue.put("totalRevenue", totalRevenue); currentDayRevenue.put("totalRevenue", totalRevenue);
currentDayRevenue.put("dayRevenue", dayRevenue); currentDayRevenue.put("dayRevenue", dayRevenue);
currentDayRevenue.put("yesterdayRevenue", yesterdayRevenue);
return currentDayRevenue; return currentDayRevenue;
} }
} }

View File

@ -122,6 +122,8 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
dayRevenueMap.get("totalRevenue") == null ? BigDecimal.ZERO : dayRevenueMap.get("totalRevenue")); dayRevenueMap.get("totalRevenue") == null ? BigDecimal.ZERO : dayRevenueMap.get("totalRevenue"));
siteMonitorHomeVo.setDayRevenue( siteMonitorHomeVo.setDayRevenue(
dayRevenueMap.get("dayRevenue") == null ? BigDecimal.ZERO :dayRevenueMap.get("dayRevenue")); dayRevenueMap.get("dayRevenue") == null ? BigDecimal.ZERO :dayRevenueMap.get("dayRevenue"));
siteMonitorHomeVo.setYesterdayRevenue(
dayRevenueMap.get("yesterdayRevenue") == null ? BigDecimal.ZERO :dayRevenueMap.get("yesterdayRevenue"));
// 实时告警数据 名称+状态+告警内容 // 实时告警数据 名称+状态+告警内容
List<SiteMonitorHomeAlarmVo> siteMonitorHomeAlarmVo = emsAlarmRecordsMapper.getAlarmRecordsBySiteId(siteId); List<SiteMonitorHomeAlarmVo> siteMonitorHomeAlarmVo = emsAlarmRecordsMapper.getAlarmRecordsBySiteId(siteId);
@ -152,6 +154,12 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
siteMonitorHomeVo.setDayChargedCap(sitePcsData.getChargedCap()); siteMonitorHomeVo.setDayChargedCap(sitePcsData.getChargedCap());
siteMonitorHomeVo.setDayDisChargedCap(sitePcsData.getDisChargedCap()); siteMonitorHomeVo.setDayDisChargedCap(sitePcsData.getDisChargedCap());
} }
// 获取昨日充电量+放电量
if (DateUtils.getYesterdayDayString().equals(pcsDate)) {
siteMonitorHomeVo.setYesterdayChargedCap(sitePcsData.getChargedCap());
siteMonitorHomeVo.setYesterdayDisChargedCap(sitePcsData.getDisChargedCap());
}
} }
// 储能可用电量 // 储能可用电量
BigDecimal energyStorageAvailElec = siteMonitorHomeVo.getTotalDischargedCap().subtract(siteMonitorHomeVo.getTotalChargedCap()); BigDecimal energyStorageAvailElec = siteMonitorHomeVo.getTotalDischargedCap().subtract(siteMonitorHomeVo.getTotalChargedCap());