diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStatisticalReportController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStatisticalReportController.java index b51117b..1f557f5 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStatisticalReportController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStatisticalReportController.java @@ -60,7 +60,7 @@ public class EmsStatisticalReportController extends BaseController { if (!StringUtils.isEmpty(requestVo.getSiteId()) && !StringUtils.isEmpty(requestVo.getDeviceId()) && - requestVo.getDataType() != 0) { + !StringUtils.isEmpty(requestVo.getDataType())) { return success(ieEmsStatsReportService.getPCSDataResult(requestVo)); } else { return error("缺少必传项"); @@ -75,7 +75,7 @@ public class EmsStatisticalReportController extends BaseController { if (!StringUtils.isEmpty(requestVo.getSiteId()) && !StringUtils.isEmpty(requestVo.getDeviceId()) && - requestVo.getDataType() != 0) { + !StringUtils.isEmpty(requestVo.getDataType())) { return success(ieEmsStatsReportService.getStackDataResult(requestVo)); } else { return error("缺少必传项"); @@ -125,4 +125,19 @@ public class EmsStatisticalReportController extends BaseController } } + /** + * 概率统计-功率曲线 + */ + @GetMapping("/getPowerData") + public AjaxResult getPowerData(DateSearchRequest requestVo) + { + if (!StringUtils.isEmpty(requestVo.getSiteId()) + && !StringUtils.isEmpty(requestVo.getDeviceId()) + && !StringUtils.isEmpty(requestVo.getDataType())) { + return success(ieEmsStatsReportService.getPowerDataList(requestVo)); + } else { + return error("缺少必传项"); + } + } + } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/DateSearchRequest.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/DateSearchRequest.java index 966e6c2..54e5d50 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/vo/DateSearchRequest.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/DateSearchRequest.java @@ -23,7 +23,7 @@ public class DateSearchRequest { private String deviceId; - private int dataType; + private String dataType; public Date getStartDate() { return startDate; @@ -57,11 +57,11 @@ public class DateSearchRequest { this.deviceId = deviceId; } - public int getDataType() { + public String getDataType() { return dataType; } - public void setDataType(int dataType) { + public void setDataType(String dataType) { this.dataType = dataType; } } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/PowerStatisListVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/PowerStatisListVo.java new file mode 100644 index 0000000..5159437 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/PowerStatisListVo.java @@ -0,0 +1,73 @@ +package com.xzzn.ems.domain.vo; + +import java.math.BigDecimal; + +/** + * 数据统计-功率曲线 + */ +public class PowerStatisListVo { + /** + * 数据日期 + */ + private String statisDate; + + /** + * 电网功率-total_apparent_power总交流视在功率 + */ + private BigDecimal gridPower; + + /** + * 负载功率-total_active_power总交流有功电率 + */ + private BigDecimal loadPower; + + /** + * 储能功率-max_discharge_power_capacity最大可放功率 + */ + private BigDecimal storagePower; + + /** + * 光伏功率-ac_capacitive_reactive_power交流侧容性无功功率 + */ + private BigDecimal pvPower; + + public String getStatisDate() { + return statisDate; + } + + public void setStatisDate(String statisDate) { + this.statisDate = statisDate; + } + + public BigDecimal getGridPower() { + return gridPower; + } + + public void setGridPower(BigDecimal gridPower) { + this.gridPower = gridPower; + } + + public BigDecimal getLoadPower() { + return loadPower; + } + + public void setLoadPower(BigDecimal loadPower) { + this.loadPower = loadPower; + } + + public BigDecimal getStoragePower() { + return storagePower; + } + + public void setStoragePower(BigDecimal storagePower) { + this.storagePower = storagePower; + } + + public BigDecimal getPvPower() { + return pvPower; + } + + public void setPvPower(BigDecimal pvPower) { + this.pvPower = pvPower; + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsPcsDataMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsPcsDataMapper.java index 0c8fab4..938137d 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsPcsDataMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsPcsDataMapper.java @@ -142,4 +142,15 @@ public interface EmsPcsDataMapper public List getPcsActivePowerByHour(DateSearchRequest requestVo); public List getPcsActivePowerByMonth(DateSearchRequest requestVo); + + /** + * 获取pcs功率曲线数据 + * @param requestVo + * @return + */ + public List getPowerDataByHour(DateSearchRequest requestVo); + + public List getPowerDataByDay(DateSearchRequest requestVo); + + public List getPowerDataByMonth(DateSearchRequest requestVo); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStatsReportService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStatsReportService.java index 9c2a958..4acc8b6 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStatsReportService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStatsReportService.java @@ -25,4 +25,6 @@ public interface IEmsStatsReportService public List> getLoadNameList(String siteId); public List getAmmeterDataResult(StatisAmmeterDateRequest requestVo); + + public List getPowerDataList(DateSearchRequest requestVo); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java index a0338f2..9cf689e 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java @@ -165,10 +165,12 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService return dataList; } + @Override public List> getLoadNameList(String siteId) { return emsDevicesSettingMapper.getLoadNameList(siteId); } + @Override public List getAmmeterDataResult(StatisAmmeterDateRequest requestVo){ List dataList = new ArrayList(); // 时间不传默认当天 @@ -228,6 +230,36 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService totalVo.setReActiveValleyKwh(totalVo.getReActiveValleyKwh().add(ammeterStatisListVo.getReActiveValleyKwh())); } + @Override + public List getPowerDataList(DateSearchRequest requestVo) { + List 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.getPowerDataByHour(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.getPowerDataByDay(requestVo); + } else if (DateUtils.differentDaysByMillisecond(endDate, startDate) >= 30){ + endDate = DateUtils.addDays(endDate, 1); + requestVo.setEndDate(endDate); + // 开始日期-结束日期大于 1 个月,按月展示数据 + dataList = emsPcsDataMapper.getPowerDataByMonth(requestVo); + } + + return dataList; + } + // 统计入参时间处理 public void dealRequestTime(DateSearchRequest requestVo){ diff --git a/ems-system/src/main/resources/mapper/ems/EmsBatteryStackMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsBatteryStackMapper.xml index 12d2aba..bbc602e 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsBatteryStackMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsBatteryStackMapper.xml @@ -302,18 +302,21 @@ - + t.operating_temp AS temp - + t.stack_voltage as voltage - + t.stack_current as current - + t.stack_soc as soc + + 0 AS temp + diff --git a/ems-system/src/main/resources/mapper/ems/EmsDevicesSettingMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsDevicesSettingMapper.xml index 1b2deb0..679568b 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsDevicesSettingMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsDevicesSettingMapper.xml @@ -187,6 +187,6 @@ \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsPcsDataMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsPcsDataMapper.xml index de1818c..272a030 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsPcsDataMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsPcsDataMapper.xml @@ -475,23 +475,26 @@ - + t.total_active_power as activePower - + t.total_reactive_power as reactivePower - + t.sys_u_current as uCurrent, t.sys_v_current as vCurrent, t.sys_w_current as wCurrent + + 0 as activePower + + + + + + t.total_apparent_power as gridPower + + + t.total_active_power as loadPower + + + t.max_discharge_power_capacity as storagePower + + + t.ac_capacitive_reactive_power as pvPower + + + 0 as gridPower + + + + + + + + + \ No newline at end of file