Commit 7e8e9cbd authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.新建气象局数据收集表,同时生成相关代码;
2.修改天气数据处理转换定时任务,增加处理保存气象局天气数据逻辑,同时解决接收数据入库重复问题;
3.修改风资源功率预测中期三天功率预测结果接口,增加风速等响应字段;
4.修改风资源功率预测中期十天功率预测结果接口,增加风速等响应字段;
5.修改风资源功率预测超短期4小时功率预测结果接口,增加风速等响应字段;
6.修复登录后没有清除验证码导致可以重复登录问题;
7.开发风预测训练集数据保存定时任务,完成定时任务冒烟测试;
8.开发风资源历史数据导入功能,完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 87395641
...@@ -21,10 +21,7 @@ import xstartup.data.XServiceResult; ...@@ -21,10 +21,7 @@ import xstartup.data.XServiceResult;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.*;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
@XService @XService
public class BaseLineService { public class BaseLineService {
...@@ -41,10 +38,20 @@ public class BaseLineService { ...@@ -41,10 +38,20 @@ public class BaseLineService {
@XText("风资源历史数据配置导入") @XText("风资源历史数据配置导入")
@XApiGet(anonymous = true) @XApiGet(anonymous = true)
public XServiceResult importWindPrediction(XContext context) { public XServiceResult importWindPrediction(XContext context) {
String fileName = "D:\\工作\\尚博信\\数据智能事业部\\零碳\\演示\\吉林\\新需求\\20240828\\data\\19.csv"; String fileName = "D:\\工作\\尚博信\\数据智能事业部\\零碳\\演示\\吉林\\新需求\\20240828\\data\\";
String stationId = "b6688f07d34b4121ba42e17b4c7e6437"; Map<String, String> map = new HashMap<>();
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 map.put("11.csv", "0191993ac6707650bc41b04b04ce9b62");
EasyExcel.read(fileName, WindPredictionExcelData.class, new WindPredictionDataListener(context, stationId)).sheet().doRead(); map.put("12.csv", "0191993ac6707650bc41b04b04ce9b63");
map.put("13.csv", "0191993ac6707650bc41b04b04ce9b64");
map.put("14.csv", "0191993ac6707650bc41b04b04ce9b65");
map.put("15.csv", "0191993ac6707650bc41b04b04ce9b66");
map.put("16.csv", "11d04d59195746f48e14e149969940e5");
map.put("17.csv", "133dae9b74034bab8c0f96a2878c41aa");
map.put("18.csv", "8aa54645c3e34977ba3d121325881843");
map.put("20.csv", "c0e6e7a0163f4e75a6e5e05627c0731a");
map.forEach((key, value) -> {
EasyExcel.read(fileName + key, WindPredictionExcelData.class, new WindPredictionDataListener(context, value)).sheet().doRead();
});
return XServiceResult.OK; return XServiceResult.OK;
} }
...@@ -105,36 +112,42 @@ public class BaseLineService { ...@@ -105,36 +112,42 @@ public class BaseLineService {
for (WindPredictionExcelData excelData : cachedDataList) { for (WindPredictionExcelData excelData : cachedDataList) {
if (DateUtil.compare(excelData.getDataTime(), futureFlag) >= 0) { if (DateUtil.compare(excelData.getDataTime(), futureFlag) >= 0) {
//未来数据 //未来数据
futureList.add( WindPredictionFutureView build = WindPredictionFutureView.builder()
WindPredictionFutureView.builder() .stationId(stationId)
.stationId(stationId) .dataTime(excelData.getDataTime())
.dataTime(excelData.getDataTime()) .windDirection(excelData.getWindDirection())
.windDirection(excelData.getWindDirection()) .windSpeed(excelData.getWindSpeed())
.windSpeed(excelData.getWindSpeed()) .airTemperature(excelData.getAirTemperature())
.airTemperature(excelData.getAirTemperature()) .humidity(excelData.getHumidity())
.humidity(excelData.getHumidity()) .pressure(excelData.getPressure())
.pressure(excelData.getPressure()) .actualWindSpeed(excelData.getActualWindSpeed())
.actualWindSpeed(excelData.getActualWindSpeed()) .actualPower(excelData.getActualPower())
.actualPower(excelData.getActualPower()) .predictedPower(excelData.getPredictedPower())
.predictedPower(excelData.getPredictedPower()) .build();
.build() //去重
); if (futureList.stream()
.noneMatch(item -> DateUtil.compare(item.getDataTime(), build.getDataTime()) == 0)) {
futureList.add(build);
}
} else { } else {
//历史数据 //历史数据
historyList.add( WindPredictionHistoryView build = WindPredictionHistoryView.builder()
WindPredictionHistoryView.builder() .stationId(stationId)
.stationId(stationId) .dataTime(excelData.getDataTime())
.dataTime(excelData.getDataTime()) .windDirection(excelData.getWindDirection())
.windDirection(excelData.getWindDirection()) .windSpeed(excelData.getWindSpeed())
.windSpeed(excelData.getWindSpeed()) .airTemperature(excelData.getAirTemperature())
.airTemperature(excelData.getAirTemperature()) .humidity(excelData.getHumidity())
.humidity(excelData.getHumidity()) .pressure(excelData.getPressure())
.pressure(excelData.getPressure()) .actualWindSpeed(excelData.getActualWindSpeed())
.actualWindSpeed(excelData.getActualWindSpeed()) .actualPower(excelData.getActualPower())
.actualPower(excelData.getActualPower()) .predictedPower(excelData.getPredictedPower())
.predictedPower(excelData.getPredictedPower()) .build();
.build() //去重
); if (historyList.stream()
.noneMatch(item -> DateUtil.compare(item.getDataTime(), build.getDataTime()) == 0)) {
historyList.add(build);
}
} }
} }
//记录 //记录
......
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