Commit 2421f79d authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.修改极短期间开预测定时任务逻辑,解决优化后部分优化结果时间段过短问题;
2.修改心知天气气象数据获取及接收定时任务,解决天气数据通过邮件下载后,部分数据精度丢失问题;
3.修改首页各个接口逻辑,对小数类型字段进行处理,修改首页接口,增加小时保留两位四舍五入逻辑,同时解决线路详情接口部分查询逻辑报错问题;
4.能耗分析模块,能耗概览接口修改,修改查询逻辑,修改数据获取逻辑及绿电占比计算逻辑;
5.能耗分析模块,消纳曲线用电趋势接口修改,修改查询逻辑,修改数据获取逻辑及绿电占比计算逻辑;
6.能耗分析模块,用电详情接口修改,修改查询逻辑,修改数据获取逻辑及绿电占比计算逻辑;
7.修改首页先导实验井间开制度模块接口查询逻辑,解决极短期间开优化修改后没有第一次开井时间标识导致数据查询不出来问题;
8.基础间开制度新增修改接口逻辑修改,删除防冻堵对井口处理逻辑;
9.极短期间开优化算法修改,增加防冻堵井开井时间优化逻辑;
10.提供长庆通过日期获取当日间开优化结果接口开发,完成接口冒烟测试并添加线上接口文档;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 4034bd45
......@@ -20,10 +20,7 @@ import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQuery
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.space.entity.*;
import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import pps.core.space.mapper.SpaceInstitutionWellheadMapper;
import pps.core.space.mapper.SpaceOptimizeShortDurationMapper;
import pps.core.space.mapper.SpaceOptimizeShortWellheadMapper;
import pps.core.space.mapper.*;
import pps.core.space.service.data.SpaceOptimizeDateDuration;
import pps.core.space.service.data.space_optimize_short_wellhead.QuerySpaceOptimizeShortWellheadInput;
import pps.core.space.service.data.space_optimize_short_wellhead.QuerySpaceOptimizeShortWellheadOutput;
......@@ -245,41 +242,81 @@ public class SpaceOptimizeApiService extends SpaceOptimizeBaseService {
@XApiPost(anonymous = true)
@XText("极短期间开优化--每日间开优化结果")
public XListResult<QuerySpaceOptimizeShortWellheadOutput> getDailyOptimization(XContext context, QuerySpaceOptimizeShortWellheadInput input) {
DateTime now = DateUtil.beginOfDay(DateUtil.date());
Date queryDate = input.getQueryDate();
if (Objects.isNull(queryDate)) {
queryDate = DateUtil.date();
queryDate = now;
} else {
queryDate = DateUtil.beginOfDay(queryDate);
}
DateTime beginOfDay = DateUtil.beginOfDay(queryDate);
SpaceOptimizeShortWellheadMapper wellheadMapper = context.getBean(SpaceOptimizeShortWellheadMapper.class);
List<SpaceOptimizeShortWellheadEnt> wellheadList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortWellheadEnt>()
.eq(SpaceOptimizeShortWellheadEnt::getOptimizeDate, beginOfDay)
.orderByAsc(SpaceOptimizeShortWellheadEnt::getStartSeq)
);
if (CollUtil.isEmpty(wellheadList)) {
return XListResult.success(Collections.emptyList());
}
SpaceOptimizeShortDurationMapper durationMapper = context.getBean(SpaceOptimizeShortDurationMapper.class);
List<SpaceOptimizeShortDurationEnt> durationList = durationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeShortDurationEnt::getIsOptimize, BusinessConstant.ZERO)
.eq(SpaceOptimizeShortDurationEnt::getOptimizeDate, beginOfDay)
.in(SpaceOptimizeShortDurationEnt::getWellheadId, wellheadList.stream()
.map(SpaceOptimizeShortWellheadEnt::getWellheadId)
.collect(Collectors.toList())
)
.orderByAsc(SpaceOptimizeShortDurationEnt::getOpenWellTime)
);
List<QuerySpaceOptimizeShortWellheadOutput> outputs = new ArrayList<>(wellheadList.size());
List<SpaceOptimizeDateDuration> durationOutputs = XCopyUtils.copyNewList(durationList, SpaceOptimizeDateDuration.class);
Map<String, List<SpaceOptimizeDateDuration>> collect = durationOutputs.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
for (SpaceOptimizeShortWellheadEnt wellheadEnt : wellheadList) {
outputs.add(
QuerySpaceOptimizeShortWellheadOutput.builder()
.wellNumber(wellheadEnt.getWellNumber())
.optimizeList(ServiceUtil.getAllDateDuration(collect.get(wellheadEnt.getWellheadId())))
.build()
List<QuerySpaceOptimizeShortWellheadOutput> outputs = new ArrayList<>(32);
//判断日期大小看取15天还是1天数据
if (DateUtil.compare(queryDate, now) > 0) {
//15天
SpaceOptimizeUltraWellheadMapper wellheadMapper = context.getBean(SpaceOptimizeUltraWellheadMapper.class);
List<SpaceOptimizeUltraWellheadEnt> wellheadList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeUltraWellheadEnt>()
.eq(SpaceOptimizeUltraWellheadEnt::getOptimizeDate, queryDate)
.orderByAsc(SpaceOptimizeUltraWellheadEnt::getStartSeq)
);
if (CollUtil.isEmpty(wellheadList)) {
return XListResult.success(Collections.emptyList());
}
SpaceOptimizeUltraDurationMapper durationMapper = context.getBean(SpaceOptimizeUltraDurationMapper.class);
List<SpaceOptimizeUltraDurationEnt> durationList = durationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeUltraDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeUltraDurationEnt::getIsOptimize, BusinessConstant.ZERO)
.eq(SpaceOptimizeUltraDurationEnt::getOptimizeDate, queryDate)
.in(SpaceOptimizeUltraDurationEnt::getWellheadId, wellheadList.stream()
.map(SpaceOptimizeUltraWellheadEnt::getWellheadId)
.collect(Collectors.toList())
)
.orderByAsc(SpaceOptimizeUltraDurationEnt::getOpenWellTime)
);
//封装数据
List<SpaceOptimizeDateDuration> durationOutputs = XCopyUtils.copyNewList(durationList, SpaceOptimizeDateDuration.class);
Map<String, List<SpaceOptimizeDateDuration>> collect = durationOutputs.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
for (SpaceOptimizeUltraWellheadEnt wellheadEnt : wellheadList) {
outputs.add(
QuerySpaceOptimizeShortWellheadOutput.builder()
.wellNumber(wellheadEnt.getWellNumber())
.optimizeList(ServiceUtil.getAllDateDuration(collect.get(wellheadEnt.getWellheadId())))
.build()
);
}
} else {
//1天
SpaceOptimizeShortWellheadMapper wellheadMapper = context.getBean(SpaceOptimizeShortWellheadMapper.class);
List<SpaceOptimizeShortWellheadEnt> wellheadList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortWellheadEnt>()
.eq(SpaceOptimizeShortWellheadEnt::getOptimizeDate, queryDate)
.orderByAsc(SpaceOptimizeShortWellheadEnt::getStartSeq)
);
if (CollUtil.isEmpty(wellheadList)) {
return XListResult.success(Collections.emptyList());
}
SpaceOptimizeShortDurationMapper durationMapper = context.getBean(SpaceOptimizeShortDurationMapper.class);
List<SpaceOptimizeShortDurationEnt> durationList = durationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeShortDurationEnt::getIsOptimize, BusinessConstant.ZERO)
.eq(SpaceOptimizeShortDurationEnt::getOptimizeDate, queryDate)
.in(SpaceOptimizeShortDurationEnt::getWellheadId, wellheadList.stream()
.map(SpaceOptimizeShortWellheadEnt::getWellheadId)
.collect(Collectors.toList())
)
.orderByAsc(SpaceOptimizeShortDurationEnt::getOpenWellTime)
);
//封装数据
List<SpaceOptimizeDateDuration> durationOutputs = XCopyUtils.copyNewList(durationList, SpaceOptimizeDateDuration.class);
Map<String, List<SpaceOptimizeDateDuration>> collect = durationOutputs.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
for (SpaceOptimizeShortWellheadEnt wellheadEnt : wellheadList) {
outputs.add(
QuerySpaceOptimizeShortWellheadOutput.builder()
.wellNumber(wellheadEnt.getWellNumber())
.optimizeList(ServiceUtil.getAllDateDuration(collect.get(wellheadEnt.getWellheadId())))
.build()
);
}
}
return XListResult.success(outputs);
}
......
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