Commit ec2603a5 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.修改系统首页大屏总览接口,增加区分组织机构逻辑,完成接口冒烟测试;
2.修改系统首页获取井场列表接口,增加区分组织机构逻辑,完成接口冒烟测试;
3.修改系统首页井场功能下钻后提示报错问题,修改用电功率数据获取逻辑,修复报错问题;
4.修改输电线路分页列表查询接口,增加查询条件,在查询父线路列表时只查询10千伏线路,修改线上接口文档同时完成接口冒烟测试;
5.修改系统首页井场实时监控接口,增加区分组织机构逻辑,完成接口冒烟测试;
6.修改系统首页用能分析接口,增加区分组织机构逻辑,完成接口冒烟测试;
7.修改系统首页井场用能分析(双坐标轴)接口,增加区分组织机构逻辑,完成接口冒烟测试;
8.修改系统首页累积用电接口,增加区分组织机构逻辑,完成接口冒烟测试;
9.修改系统首页光伏实时监控接口,增加区分组织机构逻辑,完成接口冒烟测试;
10.修改系统首页井场效果评价接口,增加区分组织机构逻辑,完成接口冒烟测试;
11.修改系统首页先导实验井间开制度接口,增加区分组织机构逻辑,完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent e1459c0f
......@@ -3,6 +3,7 @@ package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.space.service.ISpaceCalibrationCloudService;
import pps.core.common.constant.BusinessConstant;
......@@ -22,7 +23,10 @@ import xstartup.base.XContext;
import xstartup.data.XServiceResult;
import xstartup.helper.XTransactionHelper;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......@@ -96,7 +100,7 @@ public class SpaceCalibrationCloudServiceImpl implements ISpaceCalibrationCloudS
.orderByDesc(SpaceCalibrationHistoryEnt::getCalibrationDate)
.last(BusinessConstant.LAST_LIMIT)
);
if (Objects.isNull(lastHistory)) {
if (ObjectUtil.isNull(lastHistory)) {
//创建周期
this.createCalibrationHistory(historyViewList, lineId, institutionId, date, dayNumber);
} else {
......
......@@ -3,6 +3,7 @@ package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;
......@@ -64,7 +65,7 @@ public class SpaceCalibrationService {
PpsUserSession session = context.getSession(PpsUserSession.class);
SpaceCalibrationPeriodMapper mapper = context.getBean(SpaceCalibrationPeriodMapper.class);
SpaceCalibrationPeriodEnt periodEnt = this.getPeriodEntByParam(mapper, input.getLineId(), input.getOuId());
if (Objects.nonNull(periodEnt)) {
if (ObjectUtil.isNotNull(periodEnt)) {
return XServiceResult.error(context, BusinessError.LineExists);
}
SpaceCalibrationPeriodEnt entity = XCopyUtils.copyNewObject(input, SpaceCalibrationPeriodEnt.class);
......@@ -116,7 +117,7 @@ public class SpaceCalibrationService {
new LambdaQueryWrapper<SpaceCalibrationPeriodEnt>()
.eq(BaseModel::getId, input.getId())
);
if (Objects.isNull(entity)) {
if (ObjectUtil.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
XCopyUtils.copyObject(input, entity);
......@@ -141,7 +142,7 @@ public class SpaceCalibrationService {
SpaceCalibrationPeriodMapper mapper = context.getBean(SpaceCalibrationPeriodMapper.class);
SpaceCalibrationPeriodEnt entity = this.getPeriodEntByParam(mapper, lineId, ouId);
GetSpaceCalibrationPeriodViewOutput output = new GetSpaceCalibrationPeriodViewOutput();
if (Objects.nonNull(entity)) {
if (ObjectUtil.isNotNull(entity)) {
XCopyUtils.copyObject(entity, output);
}
output.setLineName(
......@@ -230,7 +231,7 @@ public class SpaceCalibrationService {
//查历史记录
SpaceCalibrationHistoryMapper historyMapper = context.getBean(SpaceCalibrationHistoryMapper.class);
SpaceCalibrationHistoryEnt historyEnt = historyMapper.selectById(input.getCalibrationId());
if (Objects.isNull(historyEnt)) {
if (ObjectUtil.isNull(historyEnt)) {
//缺少历史记录
return XSingleResult.error(context, BusinessError.LackOfHistoryRecord);
}
......@@ -245,7 +246,7 @@ public class SpaceCalibrationService {
.last(BusinessConstant.LAST_LIMIT)
);
//通过井口ID查区间
if (Objects.nonNull(shortPeriodEnt)) {
if (ObjectUtil.isNotNull(shortPeriodEnt)) {
SpaceOptimizeShortDurationMapper shortDurationMapper = context.getBean(SpaceOptimizeShortDurationMapper.class);
durationEntList = shortDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
......@@ -264,7 +265,7 @@ public class SpaceCalibrationService {
.orderByDesc(BaseModel::getCreateTime)
.last(BusinessConstant.LAST_LIMIT)
);
if (Objects.nonNull(midPeriodEnt)) {
if (ObjectUtil.isNotNull(midPeriodEnt)) {
SpaceOptimizeMidDurationMapper midDurationMapper = context.getBean(SpaceOptimizeMidDurationMapper.class);
durationEntList = midDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeMidDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
......@@ -284,7 +285,7 @@ public class SpaceCalibrationService {
.orderByDesc(BaseModel::getCreateTime)
.last(BusinessConstant.LAST_LIMIT)
);
if (Objects.nonNull(longPeriodEnt)) {
if (ObjectUtil.isNotNull(longPeriodEnt)) {
SpaceOptimizeLongDurationMapper longDurationMapper = context.getBean(SpaceOptimizeLongDurationMapper.class);
durationEntList = longDurationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeLongDurationEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
......
......@@ -109,7 +109,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
input.setOuId(lineById.getOuId());
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
SpaceInstitutionDetailEnt entity = this.getInstitutionDetail(mapper, institutionId);
if (Objects.isNull(entity)) {
if (ObjectUtil.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
Integer isCurrentBasic = entity.getIsCurrentBasic();
......@@ -137,7 +137,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
return XTransactionHelper.begin(context, () -> {
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
SpaceInstitutionDetailEnt entity = this.getInstitutionDetail(mapper, institutionId);
if (Objects.isNull(entity)) {
if (ObjectUtil.isNull(entity)) {
return XServiceResult.error(context, XError.NotFound);
}
Integer isCurrentBasic = entity.getIsCurrentBasic();
......@@ -185,7 +185,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
String institutionId = input.getId();
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
SpaceInstitutionDetailEnt entity = this.getInstitutionDetail(mapper, institutionId);
if (Objects.isNull(entity)) {
if (ObjectUtil.isNull(entity)) {
return XSingleResult.error(context, XError.NotFound);
}
GetSpaceInstitutionDetailViewOutput output = XCopyUtils.copyNewObject(entity, GetSpaceInstitutionDetailViewOutput.class);
......@@ -333,7 +333,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
String institutionId = input.getId();
SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
SpaceInstitutionDetailEnt detail = this.getInstitutionDetail(mapper, institutionId);
if (Objects.isNull(detail)) {
if (ObjectUtil.isNull(detail)) {
return XServiceResult.error(context, XError.NotFound);
}
Integer isCurrentBasic = detail.getIsCurrentBasic();
......@@ -386,7 +386,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
// String institutionId = input.getId();
// SpaceInstitutionDetailMapper mapper = context.getBean(SpaceInstitutionDetailMapper.class);
// SpaceInstitutionDetailEnt detail = this.getInstitutionDetail(mapper, institutionId);
// if (Objects.isNull(detail)) {
// if (ObjectUtil.isNull(detail)) {
// return XServiceResult.error(context, XError.NotFound);
// }
// //查校准历史详情
......@@ -629,7 +629,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
);
DateTime now = DateUtil.beginOfDay(DateUtil.date());
boolean isCreate = false;
if (Objects.nonNull(historyEnt)) {
if (ObjectUtil.isNotNull(historyEnt)) {
//判断当前时间是否大于等于校准日期
Date calibrationDate = historyEnt.getCalibrationDate();
if (DateUtil.compare(now, calibrationDate) >= 0) {
......@@ -649,7 +649,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
.orderByDesc(BaseModel::getModifyTime)
.last(BusinessConstant.LAST_LIMIT)
);
if (Objects.nonNull(periodEnt)) {
if (ObjectUtil.isNotNull(periodEnt)) {
mapper.insert(this.createCalibrationHistory(session, detail, now, Integer.valueOf(periodEnt.getDayNumber())));
}
}
......@@ -703,30 +703,11 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
List<SpaceInstitutionWellheadView> wellheadViewList = new ArrayList<>(32);
List<SpaceInstitutionDurationView> durationList;
List<SpaceInstitutionWellheadView> list = (List<SpaceInstitutionWellheadView>) XCopyUtils.copyNewList(wellheadList, SpaceInstitutionWellheadView.class);
// //执行防冻土策略
// boolean isTundraStrategy = Objects.nonNull(tundraStrategy) && tundraStrategy.equals(0);
// String wellId = null;
// if (isTundraStrategy) {
// wellId = ServiceUtil.getMinPowerWellByIds(context, list.stream()
// .map(SpaceInstitutionWellheadView::getWellheadId)
// .collect(Collectors.toList()));
// }
//封装数据
for (SpaceInstitutionWellheadView wellhead : list) {
wellhead.setInstitutionId(institutionId);
BaseUtils.setBaseModelDefault(wellhead, session);
wellhead.setId(BaseUtils.getUUID());
// //防冻土
// if (isTundraStrategy && CharSequenceUtil.equals(wellhead.getWellheadId(), wellId)) {
// wellhead.setRunTypeKey(BusinessConstant.CONTINUOUS_PUMPING_WELL);
// wellhead.setStartSeq(0);
// wellhead.setIntervalDescribe("24h常开");
// wellhead.setIntervalTypeKey(null);
// wellhead.setOpenWellDay(null);
// wellhead.setCloseWellDay(null);
// wellhead.setRunDuration(null);
// wellhead.setDurationList(null);
// }
wellheadViewList.add(wellhead);
durationList = wellhead.getDurationList();
if (CollUtil.isNotEmpty(durationList)) {
......
......@@ -244,7 +244,7 @@ public class SpaceOptimizeApiService extends SpaceOptimizeBaseService {
public XListResult<QuerySpaceOptimizeShortWellheadOutput> getDailyOptimization(XContext context, QuerySpaceOptimizeShortWellheadInput input) {
DateTime now = DateUtil.beginOfDay(DateUtil.date());
Date queryDate = input.getQueryDate();
if (Objects.isNull(queryDate)) {
if (ObjectUtil.isNull(queryDate)) {
queryDate = now;
} else {
queryDate = DateUtil.beginOfDay(queryDate);
......
......@@ -25,11 +25,9 @@ import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrate
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.cloud.prediction.service.IPlantPredictedPowerCloudService;
import pps.cloud.prediction.service.IStoragePredictedPowerCloudService;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput;
import pps.cloud.prediction.service.data.storage_predicted_power_data.DynamicQueryStoragePredictedPowerInput;
import pps.cloud.prediction.service.data.storage_predicted_power_data.DynamicQueryStoragePredictedPowerOutput;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.utils.BaseUtils;
......@@ -75,7 +73,7 @@ public class SpaceOptimizeBaseService {
String periodId = input.getId();
//查制度详情
GetSpaceOptimizePeriodOutput output = this.getOptimizePeriodDetail(context, flag, periodId);
Date optimizeDeadline = Optional.ofNullable(output.getOptimizeDeadline()).orElse(output.getOptimizeDate());
Date optimizeDeadline = ObjectUtil.defaultIfNull(output.getOptimizeDeadline(), output.getOptimizeDate());
//设置优化日期列表
output.setDateList(ServiceUtil.getOptimizeDateList(output.getCreateTime(), optimizeDeadline));
//查间开制度详情
......@@ -87,12 +85,10 @@ public class SpaceOptimizeBaseService {
//一日优化时间处理
optimizeDate = DateUtil.beginOfDay(optimizeDeadline);
} else {
optimizeDate = DateUtil.beginOfDay(Optional.ofNullable(input.getOptimizeDate())
.orElse(output.getCreateTime()));
optimizeDate = DateUtil.beginOfDay(ObjectUtil.defaultIfNull(input.getOptimizeDate(), output.getCreateTime()));
}
//设置市电峰谷策略
if (CharSequenceUtil.equals(String.valueOf(BusinessConstant.ONE), Optional.ofNullable(detailEnt.getGridTypeKey())
.orElse(String.valueOf(BusinessConstant.ZERO)))) {
if (CharSequenceUtil.isNotBlank(detailEnt.getGridTypeKey()) && CharSequenceUtil.equals("1", detailEnt.getGridTypeKey())) {
output.setStrategyDetailList(ServiceUtil.getStrategyDetailList(context,
GetBasePriceStrategyDetailInput.builder()
.lineId(output.getLineId())
......@@ -1011,66 +1007,6 @@ public class SpaceOptimizeBaseService {
}
//离网优化
if (CollUtil.isNotEmpty(offGridPeriodList)) {
// BigDecimal avgRatedDischargeEfficiency = BigDecimal.ZERO;
// BigDecimal avgRatedDischargeDepth = BigDecimal.ZERO;
// BigDecimal avgRatedDischargePower = BigDecimal.ZERO;
// Iterator<DynamicQueryStoragePredictedPowerOutput> iterator = null;
// if (storageAvgMap.containsKey(detail.getLineId())) {
// //查获取前一个月该时间点储能剩余电量,求平均数
// List<DynamicQueryStoragePredictedPowerOutput> averageEnergyStorageList = this.getAverageEnergyStorageListByParam(context, input);
// if (CollUtil.isEmpty(averageEnergyStorageList)) {
// //没有储能发电量,无法计算
// return;
// }
// //取储能计算参数
// List<DynamicQueryBasePowerLineStorageViewOutput> avgStorageViewList = storageAvgMap.get(detail.getLineId());
// DynamicQueryBasePowerLineStorageViewOutput avgStorageView = avgStorageViewList.get(0);
// //平均额定放电效率(%)
// avgRatedDischargeEfficiency = avgStorageView.getRatedDischargeEfficiency();
// //平均额定放电深度(%)
// avgRatedDischargeDepth = avgStorageView.getRatedDischargeDepth();
// //平均额定放电功率(KW)
// avgRatedDischargePower = avgStorageView.getRatedDischargePower();
// //逐15分钟计算光伏出力-井场运行功率之和,获得光伏出力不足时间段,并计算储能可用时长
// iterator = averageEnergyStorageList.iterator();
// }
// //截取从第一次开井时间往后的时间段
// List<DynamicQueryPlantPredictedPowerOutput> subAvgPowerList = CollUtil.sub(avgPowerList, firstIndex, avgPowerList.size());
// if (CollUtil.isEmpty(subAvgPowerList)) {
// //没有时间段,无法计算
// return;
// }
// for (DynamicQueryPlantPredictedPowerOutput avg : subAvgPowerList) {
// if (totalOperatingPower.compareTo(avg.getPower()) >= 0) {
// //电量不足,计算储能可用时长
// avg.setBatteryLowFlag(false);
// String hourTime = avg.getHourTime();
// String minTime = avg.getMinTime();
// if (Objects.isNull(iterator)) {
// avg.setPowerDuration(0);
// } else {
// while (iterator.hasNext()) {
// DynamicQueryStoragePredictedPowerOutput storagePredicted = iterator.next();
// if (CharSequenceUtil.equals(hourTime, storagePredicted.getHourTime()) && CharSequenceUtil.equals(minTime, storagePredicted.getMinTime())) {
// //计算储能可供电时长:(储能剩余容量*放电深度*放电效率)/额定放电功率
// avg.setPowerDuration(
// storagePredicted.getPower()
// .multiply(avgRatedDischargeDepth)
// .multiply(avgRatedDischargeEfficiency)
// .divide(avgRatedDischargePower, 6, BigDecimal.ROUND_HALF_UP)
// .setScale(BusinessConstant.ZERO, RoundingMode.DOWN)
// .intValueExact()
// );
// break;
// }
// //删除计算过的时间段
// iterator.remove();
// }
// }
// } else {
// avg.setBatteryLowFlag(true);
// }
// }
//拆分时间段
for (SpaceOptimizeDurationDTO durationDTO : offGridPeriodList) {
//-----------------------------------大庆暂时不用储能
......@@ -1096,104 +1032,7 @@ public class SpaceOptimizeBaseService {
durationDTO.getFirstStart(), optimizeDate
);
}
//-----------------------------------原始逻辑
// Date openTime = durationDTO.getOpenTime();
// Date closeTime = durationDTO.getCloseTime();
// if (closeTime.compareTo(BusinessConstant.DATE_FLAG) > 0) {
// closeTime = DateUtil.endOfDay(DateUtil.date());
// }
//匹配时间
// for (DynamicQueryPlantPredictedPowerOutput avg : subAvgPowerList) {
// DateTime createTime = DateUtil.date(avg.getCreateTime());
// //计算时间范围:大于等于开始时间,小于等于结束时间
// if (createTime.compareTo(openTime) >= 0 && createTime.compareTo(closeTime) < 0) {
// String endString = createTime.offsetNew(DateField.MINUTE, 15).toString(BusinessConstant.MINUTES_FORMAT);
// String startString = createTime.toString(BusinessConstant.MINUTES_FORMAT);
// if (CharSequenceUtil.equals(endString, BusinessConstant.START_OF_DAY_TIME)) {
// endString = BusinessConstant.END_OF_DAY_TIME;
// }
// //电量满足跳过
// if (avg.getBatteryLowFlag()) {
// //创建光伏
// this.createOptimizeDuration(durationDTOList, periodId, durationDTO.getRecordId(), durationDTO.getWellheadId(), BusinessConstant.PHOTOVOLTAIC,
// startString, endString
// );
// } else {
// int powerDuration = avg.getPowerDuration();
// powerDuration = Math.min(powerDuration, 15);
// String offset = createTime.offsetNew(DateField.MINUTE, powerDuration).toString(BusinessConstant.MINUTES_FORMAT);
// if (CharSequenceUtil.equals(offset, BusinessConstant.START_OF_DAY_TIME)) {
// offset = BusinessConstant.END_OF_DAY_TIME;
// }
// if (0 != powerDuration) {
// //储能发电时长
// this.createOptimizeDuration(durationDTOList, periodId, durationDTO.getRecordId(), durationDTO.getWellheadId(), BusinessConstant.STORED_ENERGY,
// startString, offset
// );
// }
// if (15 != powerDuration) {
// //柴发发电时长
// this.createOptimizeDuration(durationDTOList, periodId, durationDTO.getRecordId(), durationDTO.getWellheadId(), BusinessConstant.DIESEL_POWER,
// offset, endString
// );
// }
// }
// }
// }
}
//时间段优化
// if (CollUtil.isNotEmpty(durationDTOList)) {
// List<SpaceOptimizeDurationDTO> finallyList = new ArrayList<>(durationDTOList.size());
// List<SpaceOptimizeDurationDTO> offList = new ArrayList<>(durationDTOList.size());
// for (SpaceOptimizeDurationDTO durationDTO : durationDTOList) {
// if (CharSequenceUtil.equals(periodId, durationDTO.getPeriodId())) {
// offList.add(durationDTO);
// } else {
// finallyList.add(durationDTO);
// }
// }
// //优化
// if (CollUtil.isNotEmpty(offList)) {
// Map<String, List<SpaceOptimizeDurationDTO>> collect = offList.stream()
// .collect(Collectors.groupingBy(SpaceOptimizeDurationDTO::getWellheadId));
// for (String wellheadId : collect.keySet()) {
// List<SpaceOptimizeDurationDTO> list = collect.get(wellheadId).stream()
// .sorted(Comparator.comparing(SpaceOptimizeDurationDTO::getOpenWellTime))
// .collect(Collectors.toList());
// int size = list.size();
// if (size == 1) {
// finallyList.add(list.get(0));
// continue;
// }
// List<SpaceOptimizeDurationDTO> temporarilyList = CollUtil.newArrayList(list.get(0));
// for (int i = 1; i < size; i++) {
// SpaceOptimizeDurationDTO end = temporarilyList.get(temporarilyList.size() - 1);
// SpaceOptimizeDurationDTO durationDTO = list.get(i);
// boolean equals = CharSequenceUtil.equals(end.getGenerationTypeKey(), durationDTO.getGenerationTypeKey());
// //判断类型和时间段
// if (!equals) {
// SpaceOptimizeDurationDTO begin = temporarilyList.get(0);
// begin.setCloseWellTime(end.getCloseWellTime());
// finallyList.add(begin);
// temporarilyList = new ArrayList<>(12);
// } else if (!CharSequenceUtil.equals(end.getCloseWellTime(), durationDTO.getOpenWellTime()) && !CharSequenceUtil.equals(end.getId(), durationDTO.getId())) {
// SpaceOptimizeDurationDTO begin = temporarilyList.get(0);
// begin.setCloseWellTime(end.getCloseWellTime());
// finallyList.add(begin);
// temporarilyList = new ArrayList<>(12);
// }
// temporarilyList.add(durationDTO);
// if (i == size - 1) {
// SpaceOptimizeDurationDTO begin = temporarilyList.get(0);
// begin.setCloseWellTime(durationDTO.getCloseWellTime());
// finallyList.add(begin);
// }
// }
// }
// CollUtil.clear(durationDTOList);
// durationDTOList.addAll(finallyList);
// }
// }
}
}
......@@ -1211,20 +1050,6 @@ public class SpaceOptimizeBaseService {
return result.getResult();
}
/**
* 获取每小时平均发电量列表
*
* @param context 上下文
* @param input 输入
* @return {@link List}<{@link DynamicQueryPlantPredictedPowerOutput}>
*/
public List<DynamicQueryPlantPredictedPowerOutput> getAveragePowerGenerationHourList(XContext context, DynamicQueryPlantPredictedPowerInput input) {
IPlantPredictedPowerCloudService cloudService = context.getBean(IPlantPredictedPowerCloudService.class);
XListResult<DynamicQueryPlantPredictedPowerOutput> result = cloudService.queryAveragePowerGenerationHourListByParam(context, input);
result.throwIfFail();
return result.getResult();
}
/**
* 创建间开优化信息
*
......@@ -1512,35 +1337,6 @@ public class SpaceOptimizeBaseService {
tmpList.add(durationOutput);
}
}
// //取绿电时间
// List<Date> greenTimeList = powerList.stream()
// .filter(p -> p.getPower().compareTo(BigDecimal.ZERO) > 0)
// .map(DynamicQueryPlantPredictedPowerOutput::getCreateTime)
// .collect(Collectors.toList());
// for (GetSpaceOptimizeWellheadOutput w : wellheadOutputs) {
// BigDecimal runDuration = w.getRunDuration();
// BigDecimal initializeGreenRate = BigDecimal.ZERO;
// BigDecimal optimizeGreenRate = BigDecimal.ZERO;
// if (collect.containsKey(w.getWellheadId())) {
// Map<Integer, List<SpaceOptimizeDateDuration>> listMap = collect.get(w.getWellheadId()).stream()
// .collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getIsOptimize));
// List<SpaceOptimizeDateDuration> optimizeList = listMap.get(0);
// List<SpaceOptimizeDateDuration> initializeList = listMap.get(1);
// //绿电占比
// BigDecimal optimizeGreenOpenHour = this.getDailyGreenOpenHour(optimizeList, greenTimeList);
// BigDecimal initializeGreenOpenHour = this.getDailyGreenOpenHour(initializeList, greenTimeList);
// optimizeGreenRate = BaseUtils.getRate(optimizeGreenOpenHour, runDuration);
// initializeGreenRate = BaseUtils.getRate(initializeGreenOpenHour, runDuration);
// //填充关井时间
// w.setOptimizeList(ServiceUtil.getAllDateDuration(optimizeList));
// w.setInitializeList(ServiceUtil.getAllDateDuration(initializeList));
// } else {
// w.setOptimizeList(Collections.emptyList());
// w.setInitializeList(Collections.emptyList());
// }
// w.setInitializeGreenRate(initializeGreenRate);
// w.setOptimizeGreenRate(optimizeGreenRate);
// }
for (GetSpaceOptimizeWellheadOutput w : wellheadOutputs) {
if (collect.containsKey(w.getWellheadId())) {
Map<Integer, List<SpaceOptimizeDateDuration>> listMap = collect.get(w.getWellheadId()).stream()
......@@ -1560,40 +1356,6 @@ public class SpaceOptimizeBaseService {
return wellheadOutputs;
}
/**
* 每日绿电时长
*
* @param durationList 持续时间列表
* @param greenTimeList 绿色时间列表
* @return {@link BigDecimal }
*/
private BigDecimal getDailyGreenOpenHour(List<SpaceOptimizeDateDuration> durationList, List<Date> greenTimeList) {
//计算绿电占比
int index = 0;
//绿电开井时间(h)
BigDecimal dailyGreenOpenHour = BigDecimal.ZERO;
for (SpaceOptimizeDateDuration duration : durationList) {
//时间转换
DateTime openWellTime = DateUtil.parse(duration.getOpenWellTime() + BusinessConstant.INITIALIZATION_SECOND, BusinessConstant.TIME_FORMAT);
DateTime closeWellTime;
if (CharSequenceUtil.equals(duration.getCloseWellTime(), BusinessConstant.END_OF_DAY_TIME)) {
closeWellTime = BusinessConstant.DATE_FLAG;
} else {
closeWellTime = DateUtil.parse(duration.getCloseWellTime() + BusinessConstant.INITIALIZATION_SECOND, BusinessConstant.TIME_FORMAT);
}
//遍历功率
for (int i1 = index; i1 < greenTimeList.size(); i1++) {
Date greenTime = greenTimeList.get(i1);
//在时间范围内,并且总运行功率满足运行
if (DateUtil.isIn(greenTime, openWellTime, closeWellTime)) {
//当前井口绿电运行时长(累加0.25小时)
dailyGreenOpenHour = dailyGreenOpenHour.add(BusinessConstant.BIG_DECIMAL_0_25);
}
}
}
return dailyGreenOpenHour;
}
/**
* 绿电消纳策略
*
......@@ -2139,21 +1901,6 @@ public class SpaceOptimizeBaseService {
});
}
/**
* 条件查询时段储能电量平均值(模拟测试用)
* todo: 模拟测试用,后续替换
*
* @param context 上下文
* @param input 输入
* @return {@link List}<{@link DynamicQueryStoragePredictedPowerOutput}>
*/
private List<DynamicQueryStoragePredictedPowerOutput> getAverageEnergyStorageListByParam(XContext context, DynamicQueryStoragePredictedPowerInput input) {
IStoragePredictedPowerCloudService cloudService = context.getBean(IStoragePredictedPowerCloudService.class);
XListResult<DynamicQueryStoragePredictedPowerOutput> result = cloudService.queryAverageEnergyStorageListByParam(context, input);
result.throwIfFail();
return result.getResult();
}
/**
* 获取井口Map通过最大功率区分
*
......
......@@ -8,7 +8,6 @@ import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.IBasePriceStrategyCloudService;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.IConfigOilFieldCloudService;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput;
......@@ -16,8 +15,6 @@ import pps.cloud.base.service.data.base_power_line.GetBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.GetBasePowerLineViewOutput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.cloud.base.service.data.config_oil_field.GetConfigOilFieldOutput;
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.SystemDictionaryService;
......@@ -121,22 +118,6 @@ public class ServiceUtil {
.orElse(null);
}
/**
* 查功率最小的井口
*
* @param context 上下文
* @param wellIds 井ID
* @return {@link String}
*/
public static String getMinPowerWellByIds(XContext context, List<String> wellIds) {
IBaseWellheadCloudService service = context.getBean(IBaseWellheadCloudService.class);
XSingleResult<DynamicQueryBaseWellheadOutput> result = service.getMinPowerWellByIds(context, DynamicQueryBaseWellheadInput.builder()
.wellheadIds(wellIds)
.build());
result.throwIfFail();
return result.getResult().getId();
}
/**
* 获取电源线列表
*
......
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