数据20250904优化-功率曲线取值修改
This commit is contained in:
@ -12,22 +12,22 @@ public class PowerStatisListVo {
|
||||
private String statisDate;
|
||||
|
||||
/**
|
||||
* 电网功率-total_apparent_power总交流视在功率
|
||||
* 电网功率-total_active_power(LOAD)
|
||||
*/
|
||||
private BigDecimal gridPower;
|
||||
|
||||
/**
|
||||
* 负载功率-total_active_power总交流有功电率
|
||||
* 负载功率
|
||||
*/
|
||||
private BigDecimal loadPower;
|
||||
|
||||
/**
|
||||
* 储能功率-max_discharge_power_capacity最大可放功率
|
||||
* 储能功率-secondary_total_active_power(METE)
|
||||
*/
|
||||
private BigDecimal storagePower;
|
||||
|
||||
/**
|
||||
* 光伏功率-ac_capacitive_reactive_power交流侧容性无功功率
|
||||
* 光伏功率-total_active_power(METEGT)
|
||||
*/
|
||||
private BigDecimal pvPower;
|
||||
|
||||
|
||||
@ -84,4 +84,8 @@ public interface EmsAmmeterDataMapper
|
||||
// 概率统计-电量指标(按月)
|
||||
public List<SiteMonitorDataVo> getChargeDataByMonth(@Param("siteId")String siteId, @Param("deviceId")String deviceId,@Param("startDate")Date startDate,@Param("endDate")Date endDate);
|
||||
|
||||
// 报表统计-功率曲线
|
||||
public List<PowerStatisListVo> getPowerDataByHour(DateSearchRequest requestVo);
|
||||
public List<PowerStatisListVo> getPowerDataByDay(DateSearchRequest requestVo);
|
||||
public List<PowerStatisListVo> getPowerDataByMonth(DateSearchRequest requestVo);
|
||||
}
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
package com.xzzn.ems.mapper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.xzzn.ems.domain.EmsPcsData;
|
||||
import com.xzzn.ems.domain.vo.*;
|
||||
@ -129,15 +127,4 @@ public interface EmsPcsDataMapper
|
||||
public List<PcsStatisListVo> getPcsActivePowerByHour(DateSearchRequest requestVo);
|
||||
|
||||
public List<PcsStatisListVo> getPcsActivePowerByMonth(DateSearchRequest requestVo);
|
||||
|
||||
/**
|
||||
* 获取pcs功率曲线数据
|
||||
* @param requestVo
|
||||
* @return
|
||||
*/
|
||||
public List<PowerStatisListVo> getPowerDataByHour(DateSearchRequest requestVo);
|
||||
|
||||
public List<PowerStatisListVo> getPowerDataByDay(DateSearchRequest requestVo);
|
||||
|
||||
public List<PowerStatisListVo> getPowerDataByMonth(DateSearchRequest requestVo);
|
||||
}
|
||||
|
||||
@ -888,6 +888,9 @@ public class DDSDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
||||
dataMete.setVoltageUnbalanceDegree(StringUtils.getBigDecimal(obj.get("DYBPHD")));
|
||||
dataMete.setCurrentUnbalanceDegree(StringUtils.getBigDecimal(obj.get("DLBPHD")));
|
||||
|
||||
// 储能功率
|
||||
dataMete.setSecondaryTotalActivePower(StringUtils.getBigDecimal(obj.get("ZYGGL")));
|
||||
|
||||
dataMete.setCreateBy("system");
|
||||
dataMete.setCreateTime(DateUtils.getNowDate());
|
||||
dataMete.setUpdateBy("system");
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xzzn.ems.service.impl;
|
||||
|
||||
import com.xzzn.common.enums.SiteEnum;
|
||||
import com.xzzn.common.utils.DateUtils;
|
||||
import com.xzzn.ems.domain.EmsAmmeterData;
|
||||
import com.xzzn.ems.domain.vo.*;
|
||||
@ -11,6 +12,7 @@ import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.DecimalFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@ -46,6 +48,9 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
||||
@Autowired
|
||||
private EmsDailyChargeDataMapper emsDailyChargeDataMapper;
|
||||
|
||||
private static final BigDecimal DDS_STORAGE_FACTOR = new BigDecimal("0.1");
|
||||
private static final BigDecimal DDS_PV_FACTOR = new BigDecimal("-0.001");
|
||||
|
||||
// 电量指标
|
||||
@Override
|
||||
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo) {
|
||||
@ -328,23 +333,52 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
||||
if (DateUtils.isSameDay(startDate, endDate)){
|
||||
endDate = DateUtils.addDays(endDate, 1);
|
||||
requestVo.setEndDate(endDate);
|
||||
dataList = emsPcsDataMapper.getPowerDataByHour(requestVo);
|
||||
dataList = emsAmmeterDataMapper.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);
|
||||
dataList = emsAmmeterDataMapper.getPowerDataByDay(requestVo);
|
||||
} else if (DateUtils.differentDaysByMillisecond(endDate, startDate) >= 30){
|
||||
endDate = DateUtils.addDays(endDate, 1);
|
||||
requestVo.setEndDate(endDate);
|
||||
// 开始日期-结束日期大于 1 个月,按月展示数据
|
||||
dataList = emsPcsDataMapper.getPowerDataByMonth(requestVo);
|
||||
dataList = emsAmmeterDataMapper.getPowerDataByMonth(requestVo);
|
||||
}
|
||||
|
||||
// 处理数据设置 负荷功率
|
||||
dealDataPower(requestVo.getSiteId(),dataList);
|
||||
return dataList;
|
||||
}
|
||||
|
||||
private void dealDataPower(String siteId, List<PowerStatisListVo> dataList) {
|
||||
DecimalFormat df = new DecimalFormat("0.####");
|
||||
|
||||
if (dataList == null || dataList.size() == 0){
|
||||
return;
|
||||
}
|
||||
|
||||
for (PowerStatisListVo powerStatisListVo : dataList) {
|
||||
BigDecimal gridPower = powerStatisListVo.getGridPower() == null ? BigDecimal.ZERO : powerStatisListVo.getGridPower();
|
||||
BigDecimal storagePower = powerStatisListVo.getStoragePower() == null ? BigDecimal.ZERO : powerStatisListVo.getStoragePower();
|
||||
BigDecimal pvPower = powerStatisListVo.getPvPower() == null ? BigDecimal.ZERO : powerStatisListVo.getPvPower();
|
||||
BigDecimal loadPower = new BigDecimal(0);
|
||||
|
||||
// 电动所:储能功率=储能功率乘0.1;光伏功率=光伏功率*乘-0.001;负荷功率=电网功率+光伏功率-储能功率
|
||||
if (SiteEnum.DDS.getCode().equals(siteId)){
|
||||
powerStatisListVo.setStoragePower(storagePower.multiply(DDS_STORAGE_FACTOR).stripTrailingZeros());
|
||||
powerStatisListVo.setPvPower(pvPower.multiply(DDS_PV_FACTOR).stripTrailingZeros());
|
||||
loadPower = gridPower.add(powerStatisListVo.getPvPower()).subtract(powerStatisListVo.getStoragePower());
|
||||
powerStatisListVo.setLoadPower(loadPower);
|
||||
} else if (SiteEnum.FX.getCode().equals(siteId)){
|
||||
// 奉贤:负荷功率=电网功率-储能功率;
|
||||
loadPower = gridPower.subtract(storagePower);
|
||||
powerStatisListVo.setLoadPower(loadPower);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 统计入参时间处理
|
||||
public void dealRequestTime(DateSearchRequest requestVo){
|
||||
|
||||
|
||||
Reference in New Issue
Block a user