Commit 74437de1 authored by ZWT's avatar ZWT

feat(零碳): 长庆演示系统新增功能

1.修改第三方日累计数据推送表表结构,增加日累计储能放电量字段,同时修改代码对应实体及mapper文件,修改相关接口增加储能日累计放电量接收逻辑;
2.修改首页井场收益分析模块接口,修改获取储能累计放电量逻辑;
3.设计并创建井口日用电趋势表,生成对应实体类及mapper文件;
4.统计分析模块,新增本月累计节电经济效益查询接口,添加线上接口文档并完成接口冒烟测试;
5.统计分析模块,新增本月累计减碳量查询接口,添加线上接口文档并完成接口冒烟测试;
6.统计分析模块,新增光伏发电趋势查询接口,添加线上接口文档并完成接口冒烟测试;
7.统计分析模块,新增月度总览查询接口,添加线上接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 739fc60b
......@@ -51,7 +51,6 @@ import xstartup.feature.api.annotation.XApiGet;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
......@@ -401,27 +400,21 @@ public class HomePageService {
.collect(Collectors.toMap(PredictedPowerView::getHourTime, PredictedPowerView::getPower));
//实际功率
ThirdActivePowerDailyUpdateViewMapper nowMapper = context.getBean(ThirdActivePowerDailyUpdateViewMapper.class);
Map<Integer, ThirdActivePowerDailyUpdateView> powerMap = nowMapper.selectEnergyUseCurve(ThirdActivePowerDailyUpdateView.builder()
Map<Integer, BigDecimal> powerMap = nowMapper.selectEnergyUseCurve(ThirdActivePowerDailyUpdateView.builder()
.stationIds(plantIds)
.stationId(plantId)
.saveDate(day)
.createDate(showTime)
.build()).stream()
.collect(Collectors.toMap(ThirdActivePowerDailyUpdateView::getHourNumber, Function.identity()));
.collect(Collectors.toMap(ThirdActivePowerDailyUpdateView::getHourNumber, ThirdActivePowerDailyUpdateView::getPhotovoltaicPower));
//封装结果
List<GetPowerPredictionOutput> outputs = new ArrayList<>(24);
ThirdActivePowerDailyUpdateView powerDaily;
BigDecimal predictPower;
BigDecimal actualPower;
for (int i = 0; i < 24; i++) {
BigDecimal predictPower = BigDecimal.ZERO;
BigDecimal actualPower = BigDecimal.ZERO;
String value = String.valueOf(i);
if (shortPowerMap.containsKey(value)) {
predictPower = shortPowerMap.get(value).setScale(2, RoundingMode.HALF_UP);
}
if (powerMap.containsKey(i)) {
powerDaily = powerMap.get(i);
actualPower = powerDaily.getPhotovoltaicPower().setScale(2, RoundingMode.HALF_UP);
}
predictPower = shortPowerMap.getOrDefault(value, BigDecimal.ZERO);
actualPower = powerMap.getOrDefault(i, BigDecimal.ZERO);
outputs.add(
GetPowerPredictionOutput.builder()
.hourNumber(i)
......
......@@ -100,7 +100,7 @@
<select id="selectShortPowerHourList" resultMap="BaseResultMap">
SELECT
IFNULL( AVG( a.predict_power ), 0 ) AS power,
IFNULL( ROUND( AVG( a.predict_power ), 2 ), 0 ) AS power,
a.create_time AS hour_time
FROM
(
......
......@@ -90,8 +90,8 @@
<select id="selectEnergyUseCurve" resultMap="ExtBaseResultMap">
SELECT hour_str AS hour_number,
IFNULL(AVG(photovoltaic_power), 0) AS photovoltaic_power,
IFNULL(AVG(meter_power), 0) AS meter_power
IFNULL( ROUND( AVG( photovoltaic_power ), 2 ), 0 ) AS photovoltaic_power,
IFNULL( ROUND( AVG( meter_power ), 2 ), 0 ) AS meter_power
FROM (SELECT station_name, HOUR ( create_date ) AS hour_str, photovoltaic_power, meter_power
FROM third_active_power_daily_update
<where>
......
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