Commit 2b820784 authored by ZWT's avatar ZWT

feat(能源管理系统): 测试问题修复

1.修改基础信息配置--井口配置模块,新增/修改接口,增加井口编号重复校验及必填项校验逻辑;
2.修改基础信息配置--井口配置模块,修改接口,解决部分字段丢失导致数据未更新问题;
3.修改基础信息配置--柴发设备配置模块,新增/修改接口,增加出场编号重复校验及必填项校验逻辑;
4.修改基础信息配置--储能设备配置模块,新增/修改接口,增加出场编号重复校验及必填项校验逻辑;
5.修改基础信息配置--光伏电站配置模块,新增/修改接口,增加出场编号重复校验及必填项校验逻辑;
6.修改基础信息配置--间开制度管理模块,设为基础制度/重新优化接口,增加业务逻辑初始化校准周期;
7.修改间开制度管理--定期校准模块重新优化接口,解决离网型线路优化时间超过一天问题;
8.修改系统管理Cloud模块,查询子集组织列表接口,增加查询逻辑,解决查询出重复数据问题;
9.修改间开制度管理--定期校准模块重新优化接口,解决离网型线路优化跨月导致数据异常问题;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 47d631ef
......@@ -350,16 +350,11 @@ public class SpaceOptimizeBaseService {
}
//离网优化
if (CollUtil.isNotEmpty(offGridPeriodList)) {
if (!storageAvgMap.containsKey(detail.getLineId())) {
//没有储能设备,无法计算
return;
}
//截取从第一次开井时间往后的时间段
List<DynamicQueryPlantPredictedPowerOutput> subAvgPowerList = CollUtil.sub(avgPowerList, firstIndex + 1, avgPowerList.size());
if (CollUtil.isEmpty(subAvgPowerList)) {
//没有时间段,无法计算
return;
}
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)) {
......@@ -370,19 +365,29 @@ public class SpaceOptimizeBaseService {
List<DynamicQueryBasePowerLineStorageViewOutput> avgStorageViewList = storageAvgMap.get(detail.getLineId());
DynamicQueryBasePowerLineStorageViewOutput avgStorageView = avgStorageViewList.get(0);
//平均额定放电效率(%)
BigDecimal avgRatedDischargeEfficiency = avgStorageView.getRatedDischargeEfficiency();
avgRatedDischargeEfficiency = avgStorageView.getRatedDischargeEfficiency();
//平均额定放电深度(%)
BigDecimal avgRatedDischargeDepth = avgStorageView.getRatedDischargeDepth();
avgRatedDischargeDepth = avgStorageView.getRatedDischargeDepth();
//平均额定放电功率(KW)
BigDecimal avgRatedDischargePower = avgStorageView.getRatedDischargePower();
avgRatedDischargePower = avgStorageView.getRatedDischargePower();
//逐15分钟计算光伏出力-井场运行功率之和,获得光伏出力不足时间段,并计算储能可用时长
Iterator<DynamicQueryStoragePredictedPowerOutput> iterator = averageEnergyStorageList.iterator();
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 (StringUtils.equals(hourTime, storagePredicted.getHourTime()) && StringUtils.equals(minTime, storagePredicted.getMinTime())) {
......@@ -400,6 +405,7 @@ public class SpaceOptimizeBaseService {
//删除计算过的时间段
iterator.remove();
}
}
} else {
avg.setBatteryLowFlag(true);
}
......
......@@ -181,7 +181,7 @@ public class SpaceOptimizeMidPeriodService extends SpaceOptimizeBaseService {
.get(detailEnt.getLineId()))
.startTime(DateUtil.beginOfWeek(period.getCreateTime())
.toString(BusinessConstant.DATE_FORMAT_DAY))
.endTime(DateUtil.date(period.getOptimizeDeadline())
.endTime(DateUtil.offsetDay(period.getOptimizeDeadline(), 1)
.toString(BusinessConstant.DATE_FORMAT_DAY))
.dateType(BusinessConstant.ONE)
.build())
......
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