Commit c5bef919 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 9880de60
......@@ -8,16 +8,25 @@ import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import pps.cloud.system.service.data.sys_organization.GetAllOuListByOuIdInput;
import pps.cloud.system.service.data.sys_organization.GetSysOrganizationViewOutput;
import pps.core.base.entity.BaseWindTurbineEnt;
import pps.core.base.entity.BaseWindTurbineView;
import pps.core.base.entity.WindPredictionFutureEnt;
import pps.core.base.enums.WindDirection;
import pps.core.base.mapper.BaseWindTurbineMapper;
import pps.core.base.mapper.BaseWindTurbineViewMapper;
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.weather_bureau_data.GetWeatherBureauDataOutput;
import pps.core.base.service.data.wind_prediction_future.GetWindPredictionFutureInput;
import pps.core.base.service.data.wind_prediction_future.GetWindPredictionFutureOutput;
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 xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
......@@ -99,6 +108,48 @@ public class WindPredictionFutureService {
/*-----------------------------------统计分析(风能发电监控)-----------------------------------*/
/**
* 场站发电量统计
*
* @param context 上下文
* @param input 输入
* @return {@link XSingleResult }<{@link GetStationPowerGenerationOutput }>
*/
@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);
//todo 暂时没接数据
return XSingleResult.success(GetStationPowerGenerationOutput.builder()
.dailyGeneration(BigDecimal.ZERO)
.monthGeneration(BigDecimal.ZERO)
.monthGenerationRatio(BigDecimal.ZERO)
.quarterlyGeneration(BigDecimal.ZERO)
.quarterlyGenerationRatio(BigDecimal.ZERO)
.yearGeneration(BigDecimal.ZERO)
.yearGenerationRatio(BigDecimal.ZERO)
.build());
}
/**
* 风机运行情况
*
......
package pps.core.base.service.data.base_wind_turbine;
import lombok.Data;
import xstartup.annotation.XText;
/**
* 基础风机电站
*
* @author ZWT
* @date 2024/08/28
*/
@Data
public class GetBaseWindTurbineViewInput {
@XText("组织机构ID")
private String ouId;
}
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:09
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GetStationPowerGenerationOutput {
@XText("日发电量(kWh)")
private BigDecimal dailyGeneration;
@XText("月发电量(kWh)")
private BigDecimal monthGeneration;
@XText("月发电量同比(%)")
private BigDecimal monthGenerationRatio;
@XText("季发电量(kWh)")
private BigDecimal quarterlyGeneration;
@XText("季发电量同比(%)")
private BigDecimal quarterlyGenerationRatio;
@XText("年发电量(kWh)")
private BigDecimal yearGeneration;
@XText("年发电量同比(%)")
private BigDecimal yearGenerationRatio;
}
......@@ -57,14 +57,25 @@ public class ServiceUtil {
* @return {@link List}<{@link String}>
*/
public static List<String> getOrgIdsByPath(XContext context, String ouId) {
return getOrgIdsByPath(context, GetAllOuListByOuIdInput.builder()
.ouId(ouId)
.build()).stream()
.map(GetSysOrganizationViewOutput::getId)
.collect(Collectors.toList());
}
/**
* 获取所有path包含组织ID的组织
*
* @param context 上下文
* @param ouIdInput ou id输入
* @return {@link List }<{@link GetSysOrganizationViewOutput }>
*/
public static List<GetSysOrganizationViewOutput> getOrgIdsByPath(XContext context, GetAllOuListByOuIdInput ouIdInput) {
SysOrganizationCloudService organizationCloudService = context.getBean(SysOrganizationCloudService.class);
GetAllOuListByOuIdInput ouIdInput = new GetAllOuListByOuIdInput();
ouIdInput.setOuId(ouId);
XListResult<GetSysOrganizationViewOutput> allListByOuId = organizationCloudService.getAllListByOuId(context, ouIdInput);
allListByOuId.throwIfFail();
return allListByOuId.getResult().stream()
.map(GetSysOrganizationViewOutput::getId)
.collect(Collectors.toList());
return allListByOuId.getResult();
}
/**
......
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