Commit c3e16dc9 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.排查并修复各时段间开优化功能执行异常导致未执行间开优化问题;
2.排查并修复15天间开优化功能执行后,优化结果时间段展示错乱问题;
3.排查并修复光伏功率预测展示功能,实际功率未展示问题;
4.排查并修复天气数据获取服务,数据处理后入库缺少数据问题;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent acc15a14
...@@ -1416,10 +1416,26 @@ public class SpaceOptimizeBaseService { ...@@ -1416,10 +1416,26 @@ public class SpaceOptimizeBaseService {
//计算第一次关井时间,按照间开时间段顺延 //计算第一次关井时间,按照间开时间段顺延
int startDuration = (int) startTime.between(endTime, DateUnit.MINUTE); int startDuration = (int) startTime.between(endTime, DateUnit.MINUTE);
DateTime endTimeOptimize = startTimeOptimize.offsetNew(DateField.MINUTE, startDuration); DateTime endTimeOptimize = startTimeOptimize.offsetNew(DateField.MINUTE, startDuration);
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null, if (startTimeOptimize.compareTo(BusinessConstant.DATE_FLAG) < 0 && endTimeOptimize.compareTo(BusinessConstant.DATE_FLAG) > 0) {
startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), BaseUtils.getEndTimeString(endTimeOptimize), this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
BusinessConstant.ZERO, optimizeDate startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), BusinessConstant.END_OF_DAY_TIME,
); BusinessConstant.ZERO, optimizeDate
);
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
BusinessConstant.START_OF_DAY_TIME, endTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT),
BusinessConstant.ZERO, optimizeDate
);
} else if (endTimeOptimize.compareTo(BusinessConstant.DATE_FLAG) == 0) {
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), BusinessConstant.END_OF_DAY_TIME,
BusinessConstant.ZERO, optimizeDate
);
} else {
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), endTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT),
BusinessConstant.ZERO, optimizeDate
);
}
firstStartTime = startTimeOptimize; firstStartTime = startTimeOptimize;
//计算时间偏移,取时间间隔(分钟) //计算时间偏移,取时间间隔(分钟)
between = BaseUtils.getTimeDifferenceMinute(startTimeOptimize, startTime); between = BaseUtils.getTimeDifferenceMinute(startTimeOptimize, startTime);
...@@ -1439,23 +1455,47 @@ public class SpaceOptimizeBaseService { ...@@ -1439,23 +1455,47 @@ public class SpaceOptimizeBaseService {
} }
} }
} }
DateTime startTimeOptimize;
DateTime endTimeOptimize;
if (startIndex > -1) { if (startIndex > -1) {
DynamicQueryPlantPredictedPowerOutput start = avgPowerList.get(startIndex); DynamicQueryPlantPredictedPowerOutput start = avgPowerList.get(startIndex);
DateTime startTimeOptimize = DateUtil.date(start.getCreateTime()); startTimeOptimize = DateUtil.date(start.getCreateTime());
//计算未优化启动间隔 //计算未优化启动间隔
int openDuration = (int) startTime.between(endTime, DateUnit.MINUTE); int openDuration = (int) startTime.between(endTime, DateUnit.MINUTE);
DateTime endTimeOptimize = startTimeOptimize.offsetNew(DateField.MINUTE, openDuration); endTimeOptimize = startTimeOptimize.offsetNew(DateField.MINUTE, openDuration);
} else
//优化不了,用第一次启动时间+启动间隔往后挪
{
//计算未优化启动间隔
int openDuration = (int) DateUtil.between(startTime, endTime, DateUnit.MINUTE);
startTimeOptimize = DateUtil.offsetMinute(firstStartTime, startInterval);
endTimeOptimize = startTimeOptimize.offsetNew(DateField.MINUTE, openDuration);
}
//记录
if (startTimeOptimize.compareTo(BusinessConstant.DATE_FLAG) < 0 && endTimeOptimize.compareTo(BusinessConstant.DATE_FLAG) > 0) {
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null, this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), BaseUtils.getEndTimeString(endTimeOptimize), startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), BusinessConstant.END_OF_DAY_TIME,
BusinessConstant.ZERO, optimizeDate
);
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
BusinessConstant.START_OF_DAY_TIME, endTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT),
BusinessConstant.ZERO, optimizeDate
);
} else if (endTimeOptimize.compareTo(BusinessConstant.DATE_FLAG) == 0) {
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), BusinessConstant.END_OF_DAY_TIME,
BusinessConstant.ZERO, optimizeDate BusinessConstant.ZERO, optimizeDate
); );
//取时间间隔(分钟)
between = BaseUtils.getTimeDifferenceMinute(endTimeOptimize, endTime);
//修改启动时间
firstStartTime = startTimeOptimize;
} else { } else {
//无法优化 this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), endTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT),
BusinessConstant.ZERO, optimizeDate
);
} }
//取时间间隔(分钟)
between = BaseUtils.getTimeDifferenceMinute(endTimeOptimize, endTime);
//修改启动时间
firstStartTime = startTimeOptimize;
} }
} else { } else {
DateTime startOffset = DateUtil.offsetMinute(startTime, between); DateTime startOffset = DateUtil.offsetMinute(startTime, between);
......
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