Commit 0db20545 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.修改代码扫描测试账号遗留问题,修改环境配置表增加字段,同时修改对应代码增加字段,修改获取当前配置接口逻辑,完成接口冒烟测试;
2.修改天气数据抽取定时任务,修改定时任务配置,将两小时抽取数据改完半小时抽取数据;
3.修改代码扫描硬编码问题,修改第三方环境配置表,增加字段保存第三方接口认证配置信息,修改代码添加对应字段同时修改代码逻辑,完成接口冒烟测试;
4.统计分析模块风能发电监控页面风机运行情况接口开发,完成接口冒烟测试并编写线上接口文档同时生成接口用例;
5.统计分析模块风能发电监控页面场站发电量统计接口开发,完成接口冒烟测试并编写线上接口文档同时生成接口用例;
6.统计分析模块风能发电监控页面风电站运行状态接口开发,完成接口冒烟测试并编写线上接口文档同时生成接口用例;
7.统计分析模块风能发电监控页面发电功率预测接口开发,完成接口冒烟测试并编写线上接口文档同时生成接口用例;
8.统计分析模块风能发电监控页面发电功率列表接口开发,完成接口冒烟测试并编写线上接口文档同时生成接口用例;
9.统计分析模块风能发电监控页面发电趋势列表接口开发,完成接口冒烟测试并编写线上接口文档同时生成接口用例;
10.统计分析模块风能发电监控页面历史风向接口开发,完成接口冒烟测试并编写线上接口文档同时生成接口用例;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 0c7c3991
......@@ -25,6 +25,7 @@ import pps.core.base.utils.ServiceUtil;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
......@@ -196,6 +197,97 @@ public class WindPredictionFutureService {
return XListResult.success(outputs);
}
@XApiPost(anonymous = true)
@XText("历史风速")
public XListResult<GetPowerGenerationTrendOutput> historicalWindSpeed(XContext context, GetBaseWindTurbineViewInput input) {
return XListResult.success();
}
/**
* 历史风向
*
* @param context 上下文
* @param input 输入
* @return {@link XSingleResult }<{@link GetHistoricalWindDirectionOutput }>
*/
@XApiPost
@XText("历史风向")
public XSingleResult<GetHistoricalWindDirectionOutput> historicalWindDirection(XContext context, GetBaseWindTurbineViewInput input) {
GetHistoricalWindDirectionOutput output = new GetHistoricalWindDirectionOutput();
//查电站列表
List<BaseWindTurbineEnt> turbineList = this.getWindTurbineList(context, input.getOuId());
if (CollUtil.isEmpty(turbineList)) {
return XSingleResult.success(output);
}
//确定时间范围
DateTime beginTime, endTime;
DateTime now = DateUtil.date();
int timeType = input.getTimeType();
if (timeType == 0) {
beginTime = DateUtil.beginOfMonth(now);
endTime = DateUtil.endOfMonth(now);
} else {
beginTime = DateUtil.beginOfYear(now);
endTime = DateUtil.endOfYear(now);
}
//分组查询风向
WindPredictionFutureMapper futureMapper = context.getBean(WindPredictionFutureMapper.class);
List<WindPredictionFutureEnt> list = futureMapper.selectList(new QueryWrapper<WindPredictionFutureEnt>()
.select("wind_direction", "COUNT( 1 ) AS wind_speed")
.lambda()
.between(WindPredictionFutureEnt::getDataTime, beginTime, endTime)
.in(WindPredictionFutureEnt::getStationId, turbineList.stream()
.map(BaseModel::getId)
.collect(Collectors.toList()))
.groupBy(WindPredictionFutureEnt::getWindDirection)
);
if (CollUtil.isEmpty(list)) {
return XSingleResult.success(output);
}
//取总数
BigDecimal total = BigDecimal.ZERO;
for (WindPredictionFutureEnt future : list) {
total = total.add(future.getWindSpeed());
switch (future.getWindDirection()) {
case 0:
output.setNorth(future.getWindSpeed());
break;
case 45:
output.setNortheast(future.getWindSpeed());
break;
case 90:
output.setEast(future.getWindSpeed());
break;
case 135:
output.setSoutheast(future.getWindSpeed());
break;
case 180:
output.setSouth(future.getWindSpeed());
break;
case 225:
output.setSouthwest(future.getWindSpeed());
break;
case 270:
output.setWest(future.getWindSpeed());
break;
case 315:
output.setNorthwest(future.getWindSpeed());
break;
}
}
//计算率
output.setNorth(BaseUtils.getRate(output.getNorth(), total));
output.setNortheast(BaseUtils.getRate(output.getNortheast(), total));
output.setEast(BaseUtils.getRate(output.getEast(), total));
output.setSoutheast(BaseUtils.getRate(output.getSoutheast(), total));
output.setSouth(BaseUtils.getRate(output.getSouth(), total));
output.setSouthwest(BaseUtils.getRate(output.getSouthwest(), total));
output.setWest(BaseUtils.getRate(output.getWest(), total));
output.setNorthwest(BaseUtils.getRate(output.getNorthwest(), total));
return XSingleResult.success(output);
}
/**
* 风电站运行状态
*
......
......@@ -25,4 +25,7 @@ public class GetBaseWindTurbineViewInput {
@XText("结束时间(yyyy-MM-dd HH:00:00)")
private Date endTime;
@XText("时间类型(0_月度;1_年度)")
private int timeType;
}
\ No newline at end of file
package pps.core.base.service.data.base_wind_turbine;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText;
import java.math.BigDecimal;
/**
* 历史风向
*
* @author ZWT
* @date 2024/09/03
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GetHistoricalWindDirectionOutput {
@XText("北")
private BigDecimal north = BigDecimal.ZERO;
@XText("东北")
private BigDecimal northeast = BigDecimal.ZERO;
@XText("东")
private BigDecimal east = BigDecimal.ZERO;
@XText("东南")
private BigDecimal southeast = BigDecimal.ZERO;
@XText("南")
private BigDecimal south = BigDecimal.ZERO;
@XText("西南")
private BigDecimal southwest = BigDecimal.ZERO;
@XText("西")
private BigDecimal west = BigDecimal.ZERO;
@XText("西北")
private BigDecimal northwest = BigDecimal.ZERO;
}
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