统计报表-pcs曲线

This commit is contained in:
2025-07-07 22:15:01 +08:00
parent 11a95c19fd
commit 7d1f1836d8
16 changed files with 282 additions and 103 deletions

View File

@ -21,6 +21,10 @@ public class DateSearchRequest {
private String siteId;
private String deviceId;
private int dataType;
public Date getStartDate() {
return startDate;
}
@ -44,4 +48,20 @@ public class DateSearchRequest {
public void setSiteId(String siteId) {
this.siteId = siteId;
}
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public int getDataType() {
return dataType;
}
public void setDataType(int dataType) {
this.dataType = dataType;
}
}

View File

@ -3,7 +3,7 @@ package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 首页看板数据概览-电量指标
* 数据统计-电量指标
*/
public class ElectricIndexList {
/**

View File

@ -15,7 +15,7 @@ public class SiteMonitorRuningInfoVo {
/**
* pcs平均温度list
*/
private List<PCSAveTempVo> pcsAveTempList;
private List<StackAveTempVo> stackAveTempList;
/**
* 电池平均soclist
@ -35,12 +35,12 @@ public class SiteMonitorRuningInfoVo {
this.energyStoragePowList = energyStoragePowList;
}
public List<PCSAveTempVo> getPcsAveTempList() {
return pcsAveTempList;
public List<StackAveTempVo> getStackAveTempList() {
return stackAveTempList;
}
public void setPcsAveTempList(List<PCSAveTempVo> pcsAveTempList) {
this.pcsAveTempList = pcsAveTempList;
public void setStackAveTempList(List<StackAveTempVo> stackAveTempList) {
this.stackAveTempList = stackAveTempList;
}
public List<BatteryAveSOCVo> getBatteryAveSOCList() {

View File

@ -4,10 +4,10 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* 实时运行-pcs平均温度数据
* 实时运行-平均温度数据
*
*/
public class PCSAveTempVo {
public class StackAveTempVo {
/**
* 数据时间
*/
@ -16,7 +16,7 @@ public class PCSAveTempVo {
/**
* 实时温度
*/
private BigDecimal pcsTemp;
private BigDecimal temp;
public Date getCreateDate() {
@ -27,11 +27,11 @@ public class PCSAveTempVo {
this.createDate = createDate;
}
public BigDecimal getPcsTemp() {
return pcsTemp;
public BigDecimal getTemp() {
return temp;
}
public void setPcsTemp(BigDecimal pcsTemp) {
this.pcsTemp = pcsTemp;
public void setTemp(BigDecimal temp) {
this.temp = temp;
}
}

View File

@ -1,8 +1,11 @@
package com.xzzn.ems.mapper;
import java.util.Date;
import java.util.List;
import com.xzzn.ems.domain.EmsBatteryCluster;
import com.xzzn.ems.domain.vo.BMSBatteryDataList;
import com.xzzn.ems.domain.vo.BatteryAveSOCVo;
import com.xzzn.ems.domain.vo.BatteryAveTempVo;
import org.apache.ibatis.annotations.Param;
/**
@ -68,4 +71,16 @@ public interface EmsBatteryClusterMapper
* @return
*/
public List<BMSBatteryDataList> getBmsBatteryData(@Param("siteId")String siteId, @Param("stackDeviceId")String stackDeviceId);
/**
* 实时运行-平均soc+平均温度
* @param siteId
* @param startDate
* @param endDate
* @return
*/
public List<BatteryAveSOCVo> getAveSocList(@Param("siteId")String siteId, @Param("startDate") Date startDate, @Param("endDate")Date endDate);
public List<BatteryAveTempVo> getBatteryAveTempList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
}

View File

@ -1,8 +1,10 @@
package com.xzzn.ems.mapper;
import java.util.Date;
import java.util.List;
import com.xzzn.ems.domain.EmsBatteryStack;
import com.xzzn.ems.domain.vo.BMSOverViewVo;
import com.xzzn.ems.domain.vo.StackAveTempVo;
import org.apache.ibatis.annotations.Param;
/**
* 电池堆数据Mapper接口
@ -61,9 +63,11 @@ public interface EmsBatteryStackMapper
public int deleteEmsBatteryStackByIds(Long[] ids);
/**
* 获取电池堆信息
* 获取实时运行-堆平均温度
* @param siteId
* @param startDate
* @param endDate
* @return
*/
public List<BMSOverViewVo> selectEmsBatteryStackBySiteId(String siteId);
public List<StackAveTempVo> getStackAveTempList(@Param("siteId")String siteId, @Param("startDate") Date startDate, @Param("endDate")Date endDate);
}

View File

@ -133,15 +133,13 @@ public interface EmsPcsDataMapper
public List<EnergyStoragePowVo> getStoragePowerList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
/**
* 获取实时运行-pcs平均温度
* @param siteId
* @param startDate
* @param endDate
* pcs曲线运行数据
* @param requestVo
* @return
*/
public List<PCSAveTempVo> getPcsAveTempList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
public List<PcsStatisListVo> getPcsActivePowerByDay(DateSearchRequest requestVo);
public List<BatteryAveSOCVo> getAveSocList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
public List<PcsStatisListVo> getPcsActivePowerByHour(DateSearchRequest requestVo);
public List<BatteryAveTempVo> getBatteryAveTempList(@Param("siteId")String siteId, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
public List<PcsStatisListVo> getPcsActivePowerByMonth(DateSearchRequest requestVo);
}

View File

@ -1,7 +1,10 @@
package com.xzzn.ems.service;
import com.xzzn.ems.domain.vo.DateSearchRequest;
import com.xzzn.ems.domain.vo.ElectricDataInfoVo;;import java.util.Date;
import com.xzzn.ems.domain.vo.ElectricDataInfoVo;
import com.xzzn.ems.domain.vo.PcsStatisListVo;
import java.util.List;
/**
* 统计报表数据Service接口
@ -13,4 +16,6 @@ public interface IEmsStatsReportService
{
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo);
public List<PcsStatisListVo> getPCSDataResult(DateSearchRequest requestVo);
}

View File

@ -31,7 +31,7 @@ public interface ISingleSiteService
public AmmeterDataResponse getAmmeterDataList(String siteId);
public SiteMonitorRuningInfoVo getRunningGraphPcsTemp(String siteId);
public SiteMonitorRuningInfoVo getRunningGraphStackTemp(String siteId);
public SiteMonitorRuningInfoVo getRunningGraphBatterySoc(String siteId);

View File

@ -3,6 +3,7 @@ package com.xzzn.ems.service.impl;
import com.xzzn.common.utils.DateUtils;
import com.xzzn.ems.domain.vo.DateSearchRequest;
import com.xzzn.ems.domain.vo.ElectricDataInfoVo;
import com.xzzn.ems.domain.vo.PcsStatisListVo;
import com.xzzn.ems.domain.vo.SiteMonitorDataVo;
import com.xzzn.ems.mapper.EmsPcsDataMapper;
import com.xzzn.ems.service.IEmsStatsReportService;
@ -38,14 +39,10 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo) {
ElectricDataInfoVo electricDataInfoVo = new ElectricDataInfoVo();
// 默认时间处理
dealRequestTime(requestVo);
Date startDate = requestVo.getStartDate();
Date endDate = requestVo.getEndDate();
if (startDate == null && endDate == null) {
// 如果没有传时间默认从今天往前7天
LocalDate sevenDaysAgo = LocalDate.now().minusDays(6);
startDate = DateUtils.toDate(sevenDaysAgo);
endDate = new Date();
}
List<SiteMonitorDataVo> dataList = new ArrayList();
// 开始日期和结束日期同一天,展示 0-24 小时数据
@ -93,4 +90,48 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
}
return electricDataInfoVo;
}
@Override
public List<PcsStatisListVo> getPCSDataResult(DateSearchRequest requestVo) {
List<PcsStatisListVo> dataList = new ArrayList();
// 默认时间-7天
dealRequestTime(requestVo);
Date startDate = requestVo.getStartDate();
Date endDate = requestVo.getEndDate();
// 开始日期和结束日期同一天,展示 0-24 小时数据
if (DateUtils.isSameDay(startDate, endDate)){
endDate = DateUtils.addDays(endDate, 1);
requestVo.setEndDate(endDate);
dataList = emsPcsDataMapper.getPcsActivePowerByHour(requestVo);
} else if (DateUtils.differentDaysByMillisecond(endDate, startDate) >= 1
&& DateUtils.differentDaysByMillisecond(endDate, startDate) < 30){
endDate = DateUtils.addDays(endDate, 1);
requestVo.setEndDate(endDate);
// 开始日期-结束日期大于 1 天小于30 天,按天展示数据
dataList = emsPcsDataMapper.getPcsActivePowerByDay(requestVo);
} else if (DateUtils.differentDaysByMillisecond(endDate, startDate) >= 30){
endDate = DateUtils.addDays(endDate, 1);
requestVo.setEndDate(endDate);
// 开始日期-结束日期大于 1 个月,按月展示数据
dataList = emsPcsDataMapper.getPcsActivePowerByMonth(requestVo);
}
return dataList;
}
// 统计入参时间处理
public void dealRequestTime(DateSearchRequest requestVo){
Date startDate = requestVo.getStartDate();
Date endDate = requestVo.getEndDate();
if (startDate == null && endDate == null) {
// 如果没有传时间默认从今天往前7天
LocalDate sevenDaysAgo = LocalDate.now().minusDays(6);
startDate = DateUtils.toDate(sevenDaysAgo);
endDate = new Date();
requestVo.setStartDate(startDate);
requestVo.setEndDate(endDate);
}
}
}

View File

@ -142,17 +142,17 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
}
return siteMonitorRuningInfoVo;
}
// 获取单站监控实时运行-poc平均温度
// 获取单站监控实时运行-stack平均温度
@Override
public SiteMonitorRuningInfoVo getRunningGraphPcsTemp(String siteId) {
public SiteMonitorRuningInfoVo getRunningGraphStackTemp(String siteId) {
SiteMonitorRuningInfoVo siteMonitorRuningInfoVo = new SiteMonitorRuningInfoVo();
if (!StringUtils.isEmpty(siteId)) {
// 时间暂定今日+昨日
Date today = new Date();
Date yesterday = DateUtils.addDays(today, -1);
//pcs平均温度list
List<PCSAveTempVo> pcsAveTempVos = emsPcsDataMapper.getPcsAveTempList(siteId, yesterday, today);
siteMonitorRuningInfoVo.setPcsAveTempList(pcsAveTempVos);
List<StackAveTempVo> stackAveTempVos = emsBatteryStackMapper.getStackAveTempList(siteId, yesterday, today);
siteMonitorRuningInfoVo.setStackAveTempList(stackAveTempVos);
}
return siteMonitorRuningInfoVo;
}
@ -165,7 +165,7 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
Date today = new Date();
Date yesterday = DateUtils.addDays(today, -1);
//电池平均soclist
List<BatteryAveSOCVo> batteryAveSOCList = emsPcsDataMapper.getAveSocList(siteId, yesterday, today);
List<BatteryAveSOCVo> batteryAveSOCList = emsBatteryClusterMapper.getAveSocList(siteId, yesterday, today);
siteMonitorRuningInfoVo.setBatteryAveSOCList(batteryAveSOCList);
}
return siteMonitorRuningInfoVo;
@ -179,7 +179,7 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
Date today = new Date();
Date yesterday = DateUtils.addDays(today, -1);
//电池平均温度list
List<BatteryAveTempVo> batteryAveTempList = emsPcsDataMapper.getBatteryAveTempList(siteId, yesterday, today);
List<BatteryAveTempVo> batteryAveTempList = emsBatteryClusterMapper.getBatteryAveTempList(siteId, yesterday, today);
siteMonitorRuningInfoVo.setBatteryAveTempList(batteryAveTempList);
}
return siteMonitorRuningInfoVo;