Commit dc760262 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.修改极短期间开预测定时任务逻辑,解决优化后部分优化结果时间段过短问题;
2.修改心知天气气象数据获取及接收定时任务,解决天气数据通过邮件下载后,部分数据精度丢失问题;
3.修改首页各个接口逻辑,对小数类型字段进行处理,修改首页接口,增加小时保留两位四舍五入逻辑,同时解决线路详情接口部分查询逻辑报错问题;
4.能耗分析模块,能耗概览接口修改,修改查询逻辑,修改数据获取逻辑及绿电占比计算逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent bdc5e049
......@@ -14,8 +14,10 @@ import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.data.GetAllOuListByOuIdInput;
import pps.cloud.system.service.data.GetSysOrganizationViewOutput;
import pps.core.prediction.entity.EnergyConsumptionAnalysisEnt;
import pps.core.prediction.entity.ThirdDailyAccumulationUpdateEnt;
import pps.core.prediction.enums.BusinessError;
import pps.core.prediction.mapper.EnergyConsumptionAnalysisMapper;
import pps.core.prediction.mapper.ThirdDailyAccumulationUpdateMapper;
import pps.core.prediction.service.data.energy_consumption_analysis.*;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
......@@ -58,21 +60,23 @@ public class EnergyConsumptionAnalysisService {
output.setPowerConsumption(BigDecimal.ZERO);
output.setAbsorptionRate(BigDecimal.ZERO);
} else {
List<String> lineIdList = lineList.stream()
.map(DynamicQueryBasePowerLineOutput::getId)
List<String> lineNameList = lineList.stream()
.map(DynamicQueryBasePowerLineOutput::getLineName)
.collect(Collectors.toList());
input.getBetweenDate();
EnergyConsumptionAnalysisMapper mapper = context.getBean(EnergyConsumptionAnalysisMapper.class);
EnergyConsumptionAnalysisEnt analysisEnt = mapper.selectOne(new QueryWrapper<EnergyConsumptionAnalysisEnt>()
.select("IFNULL( SUM( power_generation ), 0 ) AS power_generation",
"IFNULL( SUM( power_consumption ), 0 ) AS power_consumption")
ThirdDailyAccumulationUpdateMapper analysisMapper = context.getBean(ThirdDailyAccumulationUpdateMapper.class);
ThirdDailyAccumulationUpdateEnt analysisEnt = analysisMapper.selectOne(new QueryWrapper<ThirdDailyAccumulationUpdateEnt>()
.select("IFNULL( SUM( photovoltaic_power ), 0 ) AS photovoltaic_power",
"IFNULL( SUM( daily_electricity_consumption ), 0 ) AS daily_electricity_consumption",
"IFNULL( SUM( daily_liquid_production ), 0 ) AS daily_liquid_production",
"IFNULL( SUM( in_place_consumption ), 0 ) AS in_place_consumption")
.lambda()
.in(EnergyConsumptionAnalysisEnt::getLineId, lineIdList)
.between(EnergyConsumptionAnalysisEnt::getDataDate, input.getStartTime(), input.getEndTime())
.in(ThirdDailyAccumulationUpdateEnt::getStationName, lineNameList)
.between(ThirdDailyAccumulationUpdateEnt::getCreateDate, input.getStartTime(), input.getEndTime())
);
output.setPowerGeneration(analysisEnt.getPowerGeneration());
output.setPowerConsumption(analysisEnt.getPowerConsumption());
output.setAbsorptionRate(this.getAbsorptionRate(analysisEnt.getPowerGeneration(), analysisEnt.getPowerConsumption()));
output.setPowerGeneration(analysisEnt.getPhotovoltaicPower().setScale(2, RoundingMode.HALF_UP));
output.setPowerConsumption(analysisEnt.getDailyElectricityConsumption().setScale(2, RoundingMode.HALF_UP));
output.setAbsorptionRate(this.getAbsorptionRate(analysisEnt.getInPlaceConsumption(), analysisEnt.getDailyElectricityConsumption()));
}
return XSingleResult.success(output);
}
......@@ -227,7 +231,7 @@ public class EnergyConsumptionAnalysisService {
/**
* 获取消纳率
* 消纳率:光伏发电/累计用电*100%
* 消纳率:就地消纳量/累计用电*100%
*
* @param powerGeneration 发电
* @param powerConsumption 功耗
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment