Commit dadf49c4 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent c5bef919
......@@ -20,6 +20,7 @@ import pps.core.base.mapper.WindPredictionFutureMapper;
import pps.core.base.service.data.base_wind_turbine.GetBaseWindTurbineViewInput;
import pps.core.base.service.data.base_wind_turbine.GetBaseWindTurbineViewOutput;
import pps.core.base.service.data.base_wind_turbine.GetStationPowerGenerationOutput;
import pps.core.base.service.data.base_wind_turbine.GetWindTurbineRunStatusOutput;
import pps.core.base.service.data.weather_bureau_data.GetWeatherBureauDataOutput;
import pps.core.base.service.data.wind_prediction_future.GetWindPredictionFutureInput;
import pps.core.base.service.data.wind_prediction_future.GetWindPredictionFutureOutput;
......@@ -118,26 +119,7 @@ public class WindPredictionFutureService {
@XApiPost
@XText("场站发电量统计")
public XSingleResult<GetStationPowerGenerationOutput> stationPowerGeneration(XContext context, GetBaseWindTurbineViewInput input) {
//找组织
LambdaQueryWrapper<BaseWindTurbineEnt> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BaseModel::getIsDeleted, BusinessConstant.ONE);
String ouId = input.getOuId();
if (CharSequenceUtil.isBlank(ouId)) {
ouId = context.getSession(PpsUserSession.class).getOuId();
List<GetSysOrganizationViewOutput> ouList = ServiceUtil.getOrgIdsByPath(context, GetAllOuListByOuIdInput.builder()
.ouId(ouId)
.ouLevel(BusinessConstant.PLANT_FLAG)
.build());
queryWrapper.in(BaseWindTurbineEnt::getOuId, ouList.stream()
.map(GetSysOrganizationViewOutput::getId)
.collect(Collectors.toList())
);
} else {
queryWrapper.eq(BaseWindTurbineEnt::getOuId, ouId);
}
//查电站
BaseWindTurbineMapper mapper = context.getBean(BaseWindTurbineMapper.class);
List<BaseWindTurbineEnt> turbineList = mapper.selectList(queryWrapper);
List<BaseWindTurbineEnt> turbineList = this.getWindTurbineList(context, input.getOuId());
//todo 暂时没接数据
return XSingleResult.success(GetStationPowerGenerationOutput.builder()
.dailyGeneration(BigDecimal.ZERO)
......@@ -150,6 +132,37 @@ public class WindPredictionFutureService {
.build());
}
/**
* 风电站运行状态
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult }<{@link GetWindTurbineRunStatusOutput }>
*/
@XApiPost
@XText("风电站运行状态")
public XListResult<GetWindTurbineRunStatusOutput> windTurbineRunStatusList(XContext context, GetBaseWindTurbineViewInput input) {
List<BaseWindTurbineEnt> turbineList = this.getWindTurbineList(context, input.getOuId());
if (CollUtil.isEmpty(turbineList)) {
return XListResult.success(Collections.emptyList());
}
List<GetWindTurbineRunStatusOutput> outputs = new ArrayList<>(turbineList.size());
//封装数据
for (BaseWindTurbineEnt turbine : turbineList) {
outputs.add(
GetWindTurbineRunStatusOutput.builder()
.stationId(turbine.getId())
.stationName(turbine.getStationName())
//todo 暂时没有实际数据
.runState("启动")
.activePower(BigDecimal.ZERO)
.actualWindSpeed(BigDecimal.ZERO)
.build()
);
}
return XListResult.success(outputs);
}
/**
* 风机运行情况
*
......@@ -312,4 +325,32 @@ public class WindPredictionFutureService {
return predictedMap;
}
/**
* 获取风力电站列表
*
* @param context 上下文
* @param ouId 你id
* @return {@link List }<{@link BaseWindTurbineEnt }>
*/
private List<BaseWindTurbineEnt> getWindTurbineList(XContext context, String ouId) {
//找组织
LambdaQueryWrapper<BaseWindTurbineEnt> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BaseModel::getIsDeleted, BusinessConstant.ONE);
if (CharSequenceUtil.isBlank(ouId)) {
ouId = context.getSession(PpsUserSession.class).getOuId();
List<GetSysOrganizationViewOutput> ouList = ServiceUtil.getOrgIdsByPath(context, GetAllOuListByOuIdInput.builder()
.ouId(ouId)
.ouLevel(BusinessConstant.PLANT_FLAG)
.build());
queryWrapper.in(BaseWindTurbineEnt::getOuId, ouList.stream()
.map(GetSysOrganizationViewOutput::getId)
.collect(Collectors.toList())
);
} else {
queryWrapper.eq(BaseWindTurbineEnt::getOuId, ouId);
}
//查电站
BaseWindTurbineMapper mapper = context.getBean(BaseWindTurbineMapper.class);
return mapper.selectList(queryWrapper);
}
}
\ No newline at end of file
......@@ -14,4 +14,7 @@ public class GetBaseWindTurbineViewInput {
@XText("组织机构ID")
private String ouId;
@XText("运行状态(启动/停用/故障)")
private String runState;
}
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/02 17:55
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GetWindTurbineRunStatusOutput {
@XText("风机电站ID")
private String stationId;
@XText("风机电站名称")
private String stationName;
@XText("运行状态(启动/停用/故障)")
private String runState;
@XText("有功功率(kW)")
private BigDecimal activePower;
@XText("实际风速(m/s)")
private BigDecimal actualWindSpeed;
}
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