统计报表-电池堆曲线

This commit is contained in:
2025-07-08 14:46:42 +08:00
parent 7d1f1836d8
commit 13266bdbd5
7 changed files with 314 additions and 4 deletions

View File

@ -0,0 +1,86 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 数据统计-pcs曲线-通用对象
*/
public class PcsStatisListVo {
/**
* 数据日期
*/
private String statisDate;
/**
* 有功
*/
private BigDecimal activePower;
/**
* 无功
*/
private BigDecimal reactivePower;
/**
* u电流
*/
private BigDecimal uCurrent;
/**
* v电流
*/
private BigDecimal vCurrent;
/**
* w电流
*/
private BigDecimal wCurrent;
public String getStatisDate() {
return statisDate;
}
public void setStatisDate(String statisDate) {
this.statisDate = statisDate;
}
public BigDecimal getActivePower() {
return activePower;
}
public void setActivePower(BigDecimal activePower) {
this.activePower = activePower;
}
public BigDecimal getReactivePower() {
return reactivePower;
}
public void setReactivePower(BigDecimal reactivePower) {
this.reactivePower = reactivePower;
}
public BigDecimal getuCurrent() {
return uCurrent;
}
public void setuCurrent(BigDecimal uCurrent) {
this.uCurrent = uCurrent;
}
public BigDecimal getvCurrent() {
return vCurrent;
}
public void setvCurrent(BigDecimal vCurrent) {
this.vCurrent = vCurrent;
}
public BigDecimal getwCurrent() {
return wCurrent;
}
public void setwCurrent(BigDecimal wCurrent) {
this.wCurrent = wCurrent;
}
}

View File

@ -0,0 +1,73 @@
package com.xzzn.ems.domain.vo;
import java.math.BigDecimal;
/**
* 数据统计-堆曲线-通用对象
*/
public class StackStatisListVo {
/**
* 数据日期
*/
private String statisDate;
/**
* 有功
*/
private BigDecimal temp;
/**
* 无功
*/
private BigDecimal voltage;
/**
* u电流
*/
private BigDecimal current;
/**
* v电流
*/
private BigDecimal soc;
public String getStatisDate() {
return statisDate;
}
public void setStatisDate(String statisDate) {
this.statisDate = statisDate;
}
public BigDecimal getTemp() {
return temp;
}
public void setTemp(BigDecimal temp) {
this.temp = temp;
}
public BigDecimal getVoltage() {
return voltage;
}
public void setVoltage(BigDecimal voltage) {
this.voltage = voltage;
}
public BigDecimal getCurrent() {
return current;
}
public void setCurrent(BigDecimal current) {
this.current = current;
}
public BigDecimal getSoc() {
return soc;
}
public void setSoc(BigDecimal soc) {
this.soc = soc;
}
}

View File

@ -3,7 +3,9 @@ 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.DateSearchRequest;
import com.xzzn.ems.domain.vo.StackAveTempVo;
import com.xzzn.ems.domain.vo.StackStatisListVo;
import org.apache.ibatis.annotations.Param;
/**
@ -70,4 +72,15 @@ public interface EmsBatteryStackMapper
* @return
*/
public List<StackAveTempVo> getStackAveTempList(@Param("siteId")String siteId, @Param("startDate") Date startDate, @Param("endDate")Date endDate);
/**
* 堆曲线数据-按小时区分
* @param requestVo
* @return
*/
public List<StackStatisListVo> getStackDataByHour(DateSearchRequest requestVo);
public List<StackStatisListVo> getStackDataByDay(DateSearchRequest requestVo);
public List<StackStatisListVo> getStackDataByMonth(DateSearchRequest requestVo);
}

View File

@ -3,6 +3,7 @@ package com.xzzn.ems.service;
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.StackStatisListVo;
import java.util.List;
@ -18,4 +19,6 @@ public interface IEmsStatsReportService
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo);
public List<PcsStatisListVo> getPCSDataResult(DateSearchRequest requestVo);
public List<StackStatisListVo> getStackDataResult(DateSearchRequest requestVo);
}

View File

@ -1,10 +1,9 @@
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.domain.vo.*;
import com.xzzn.ems.mapper.EmsBatteryDataMapper;
import com.xzzn.ems.mapper.EmsBatteryStackMapper;
import com.xzzn.ems.mapper.EmsPcsDataMapper;
import com.xzzn.ems.service.IEmsStatsReportService;
import org.slf4j.Logger;
@ -34,6 +33,10 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
@Autowired
private EmsPcsDataMapper emsPcsDataMapper;
@Autowired
private EmsBatteryDataMapper emsBatteryDataMapper;
@Autowired
private EmsBatteryStackMapper emsBatteryStackMapper;
@Override
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo) {
@ -120,6 +123,34 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
return dataList;
}
@Override
public List<StackStatisListVo> getStackDataResult(DateSearchRequest requestVo) {
List<StackStatisListVo> 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 = emsBatteryStackMapper.getStackDataByHour(requestVo);
} else if (DateUtils.differentDaysByMillisecond(endDate, startDate) >= 1
&& DateUtils.differentDaysByMillisecond(endDate, startDate) < 30){
endDate = DateUtils.addDays(endDate, 1);
requestVo.setEndDate(endDate);
// 开始日期-结束日期大于 1 天小于30 天,按天展示数据
dataList = emsBatteryStackMapper.getStackDataByDay(requestVo);
} else if (DateUtils.differentDaysByMillisecond(endDate, startDate) >= 30){
endDate = DateUtils.addDays(endDate, 1);
requestVo.setEndDate(endDate);
// 开始日期-结束日期大于 1 个月,按月展示数据
dataList = emsBatteryStackMapper.getStackDataByMonth(requestVo);
}
return dataList;
}
// 统计入参时间处理
public void dealRequestTime(DateSearchRequest requestVo){