Commit 87fab7b3 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.修改风电站运行状态接口,增加模拟实际发电功率处理逻辑,完成接口冒烟测试;
2.修改天气数据处理定时任务,解决晚上十一点半天气预报数据处理异常问题,修改风资源预测数据和光伏资源预测数据时间处理逻辑,完成接口冒烟测试;
3.修改风机预测数据模块相关功能接口,增加判断当前部署环境逻辑,解决查询全量数据问题;
4.修改风机预测数据生成模块第三方风力发电数据生成功能,增加数据拆分逻辑,区分15分数据层级,完成功能冒烟测试;
5.修改风机预测监控页面历史风速统计接口,统计数据不显示问题及小数位过多问题;
6.修改天气预报数据爬取定时任务,解决8:00-11:00期间没有数据问题,完成功能验证;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 6a0ded71
...@@ -8,6 +8,7 @@ import cn.hutool.core.io.IoUtil; ...@@ -8,6 +8,7 @@ import cn.hutool.core.io.IoUtil;
import cn.hutool.core.io.NioUtil; import cn.hutool.core.io.NioUtil;
import cn.hutool.core.io.file.FileReader; import cn.hutool.core.io.file.FileReader;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
...@@ -699,15 +700,6 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService { ...@@ -699,15 +700,6 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService {
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
//判断小时数与查到的小时数,如果查到的小时数小,判断为第二天 //判断小时数与查到的小时数,如果查到的小时数小,判断为第二天
int hour = LocalTime.parse(dailyData.getHourTimeArray().get(i)).getHour(); int hour = LocalTime.parse(dailyData.getHourTimeArray().get(i)).getHour();
int wind = 0;
if (CollUtil.isNotEmpty(dailyData.getWindDirectionArray())) {
if (i < dailyData.getWindDirectionArray().size()) {
WindDirection windDirection = WindDirection.findByValue(dailyData.getWindDirectionArray().get(i));
if (Objects.nonNull(windDirection)) {
wind = windDirection.getValue();
}
}
}
DateTime parse = DateUtil.parse(DateUtil.formatDate(dateTime) + ' ' + this.int2Str(hour) + ':' + BusinessConstant.START_OF_DAY_TIME); DateTime parse = DateUtil.parse(DateUtil.formatDate(dateTime) + ' ' + this.int2Str(hour) + ':' + BusinessConstant.START_OF_DAY_TIME);
if (DateUtil.compare(parse, dateTime) < 0 && flag == 0) { if (DateUtil.compare(parse, dateTime) < 0 && flag == 0) {
parse = DateUtil.offsetDay(parse, 1); parse = DateUtil.offsetDay(parse, 1);
...@@ -717,7 +709,7 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService { ...@@ -717,7 +709,7 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService {
WindPredictionFutureView dao = WindPredictionFutureView.builder() WindPredictionFutureView dao = WindPredictionFutureView.builder()
.stationId(plantId) .stationId(plantId)
.dataTime(parse) .dataTime(parse)
.windDirection(wind) .windDirection(this.getWindDirection(dailyData.getWindDirectionArray(), i))
.windSpeed(new BigDecimal(CharSequenceUtil.replace(dailyData.getWindSpeedArray().get(i), "m/s", ""))) .windSpeed(new BigDecimal(CharSequenceUtil.replace(dailyData.getWindSpeedArray().get(i), "m/s", "")))
.airTemperature(new BigDecimal(CharSequenceUtil.replace(dailyData.getTemperatureArray().get(i), "℃", ""))) .airTemperature(new BigDecimal(CharSequenceUtil.replace(dailyData.getTemperatureArray().get(i), "℃", "")))
.humidity(new BigDecimal(CharSequenceUtil.replace(dailyData.getHumidityArray().get(i), "%", ""))) .humidity(new BigDecimal(CharSequenceUtil.replace(dailyData.getHumidityArray().get(i), "%", "")))
...@@ -889,15 +881,6 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService { ...@@ -889,15 +881,6 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService {
for (int i = 0; i < 8; i++) { for (int i = 0; i < 8; i++) {
//判断小时数与查到的小时数,如果查到的小时数小,判断为第二天 //判断小时数与查到的小时数,如果查到的小时数小,判断为第二天
int hour = LocalTime.parse(dailyData.getHourTimeArray().get(i)).getHour(); int hour = LocalTime.parse(dailyData.getHourTimeArray().get(i)).getHour();
int wind = 0;
if (CollUtil.isNotEmpty(dailyData.getWindDirectionArray())) {
if (i < dailyData.getWindDirectionArray().size()) {
WindDirection windDirection = WindDirection.findByValue(dailyData.getWindDirectionArray().get(i));
if (Objects.nonNull(windDirection)) {
wind = windDirection.getValue();
}
}
}
DateTime parse = DateUtil.parse(DateUtil.formatDate(dateTime) + ' ' + this.int2Str(hour) + ':' + BusinessConstant.START_OF_DAY_TIME); DateTime parse = DateUtil.parse(DateUtil.formatDate(dateTime) + ' ' + this.int2Str(hour) + ':' + BusinessConstant.START_OF_DAY_TIME);
if (DateUtil.compare(parse, dateTime) < 0 && flag == 0) { if (DateUtil.compare(parse, dateTime) < 0 && flag == 0) {
parse = DateUtil.offsetDay(parse, 1); parse = DateUtil.offsetDay(parse, 1);
...@@ -908,7 +891,7 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService { ...@@ -908,7 +891,7 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService {
this.int2Str(hour), this.int2Str(hour),
new BigDecimal(CharSequenceUtil.replace(dailyData.getTemperatureArray().get(i), "℃", "")), new BigDecimal(CharSequenceUtil.replace(dailyData.getTemperatureArray().get(i), "℃", "")),
new BigDecimal(CharSequenceUtil.replace(dailyData.getWindSpeedArray().get(i), "m/s", "")), new BigDecimal(CharSequenceUtil.replace(dailyData.getWindSpeedArray().get(i), "m/s", "")),
new BigDecimal(wind), new BigDecimal(this.getWindDirection(dailyData.getWindDirectionArray(), i)),
new BigDecimal(CharSequenceUtil.replace(dailyData.getPressureArray().get(i), "hPa", "")), new BigDecimal(CharSequenceUtil.replace(dailyData.getPressureArray().get(i), "hPa", "")),
new BigDecimal(CharSequenceUtil.replace(dailyData.getHumidityArray().get(i), "%", "")), new BigDecimal(CharSequenceUtil.replace(dailyData.getHumidityArray().get(i), "%", "")),
String.valueOf(parse.year()), String.valueOf(parse.year()),
...@@ -1089,4 +1072,24 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService { ...@@ -1089,4 +1072,24 @@ public class BaseWeatherCloudServiceImpl implements IBaseWeatherCloudService {
} }
} }
} }
/**
* 获取风向
*
* @param windDirectionArray 风向阵列
* @param i 我
* @return int
*/
private int getWindDirection(List<String> windDirectionArray, int i) {
int wind = 0;
if (CollUtil.isNotEmpty(windDirectionArray)) {
if (i < windDirectionArray.size()) {
WindDirection windDirection = WindDirection.findByValue(windDirectionArray.get(i));
if (ObjectUtil.isNotNull(windDirection)) {
wind = windDirection.getValue();
}
}
}
return wind;
}
} }
\ No newline at end of file
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