Commit 2ddf8954 authored by ZWT's avatar ZWT

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

1.修改间开制度管理-短期极端天气优化模块,查询优化详情接口,优化查询sql逻辑;
2.修改间开制度管理-短期极端天气优化模块,查询优化详情接口,修改井口视图增加间开类型和运行类型字段;
3.修改间开制度管理-短期极端天气优化模块,查询优化详情接口,修改井口视图增加没有区间配置的井口设置默认全关;
4.修改间开制度管理-短期极端天气优化模块,查询优化详情接口,修改井口视图增加字段同时修改代码逻辑,增加大间开类型井口启动时间初始化计算逻辑;
5.修改间开制度管理-长期/中长期间开优化定时任务,解决优化后间开时间区间异常问题;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 2f8e3a65
...@@ -284,14 +284,14 @@ public class SpaceOptimizeBaseService { ...@@ -284,14 +284,14 @@ public class SpaceOptimizeBaseService {
firstStartTime = startTimeOptimize; firstStartTime = startTimeOptimize;
//计算第一次关井时间,按照间开时间段顺延 //计算第一次关井时间,按照间开时间段顺延
int startDuration = (int) startTime.between(endTime, DateUnit.MINUTE); int startDuration = (int) startTime.between(endTime, DateUnit.MINUTE);
DateTime endTimeOptimize = startTime.offset(DateField.MINUTE, startDuration); DateTime endTimeOptimize = startTimeOptimize.offsetNew(DateField.MINUTE, startDuration);
this.createDurationOffGridPeriod(offGridPeriodList, wellheadId, startTimeOptimize, endTimeOptimize); this.createDurationOffGridPeriod(offGridPeriodList, wellheadId, startTimeOptimize, endTimeOptimize);
//计算时间偏移,取时间间隔(分钟) //计算时间偏移,取时间间隔(分钟)
between = BaseUtils.getTimeDifferenceMinute(startTimeOptimize, startTime); between = BaseUtils.getTimeDifferenceMinute(startTimeOptimize, startTime);
} }
//其它井口的第一次启动时间 //其它井口的第一次启动时间
else { else {
DateTime startTimeOffset = firstStartTime.offset(DateField.MINUTE, startInterval); DateTime startTimeOffset = firstStartTime.offsetNew(DateField.MINUTE, startInterval);
int startIndex = -1; int startIndex = -1;
for (int a = 0, avgPowerSize = avgPowerList.size(); a < avgPowerSize; a++) { for (int a = 0, avgPowerSize = avgPowerList.size(); a < avgPowerSize; a++) {
DynamicQueryPlantPredictedPowerOutput predictedPower = avgPowerList.get(a); DynamicQueryPlantPredictedPowerOutput predictedPower = avgPowerList.get(a);
...@@ -309,7 +309,7 @@ public class SpaceOptimizeBaseService { ...@@ -309,7 +309,7 @@ public class SpaceOptimizeBaseService {
DateTime startTimeOptimize = DateUtil.date(start.getCreateTime()); DateTime startTimeOptimize = DateUtil.date(start.getCreateTime());
//计算未优化启动间隔 //计算未优化启动间隔
int openDuration = (int) startTime.between(endTime, DateUnit.MINUTE); int openDuration = (int) startTime.between(endTime, DateUnit.MINUTE);
DateTime endTimeOptimize = startTimeOptimize.offset(DateField.MINUTE, openDuration); DateTime endTimeOptimize = startTimeOptimize.offsetNew(DateField.MINUTE, openDuration);
this.createDurationOffGridPeriod(offGridPeriodList, wellheadId, startTimeOptimize, endTimeOptimize); this.createDurationOffGridPeriod(offGridPeriodList, wellheadId, startTimeOptimize, endTimeOptimize);
//取时间间隔(分钟) //取时间间隔(分钟)
between = BaseUtils.getTimeDifferenceMinute(endTimeOptimize, endTime); between = BaseUtils.getTimeDifferenceMinute(endTimeOptimize, endTime);
...@@ -318,14 +318,14 @@ public class SpaceOptimizeBaseService { ...@@ -318,14 +318,14 @@ public class SpaceOptimizeBaseService {
} }
} }
} else { } else {
DateTime offset = startTime.offset(DateField.MINUTE, between); DateTime offset = startTime.offsetNew(DateField.MINUTE, between);
if (offset.compareTo(BusinessConstant.DATE_FLAG) > 0) { if (offset.compareTo(BusinessConstant.DATE_FLAG) > 0) {
//如果时间超过当天,舍弃 //如果时间超过当天,舍弃
continue; continue;
} }
//计算偏移 //计算偏移
this.createDurationOffGridPeriod(offGridPeriodList, wellheadId, offset, this.createDurationOffGridPeriod(offGridPeriodList, wellheadId, offset,
endTime.offset(DateField.MINUTE, between) endTime.offsetNew(DateField.MINUTE, between)
); );
} }
} }
...@@ -399,7 +399,7 @@ public class SpaceOptimizeBaseService { ...@@ -399,7 +399,7 @@ public class SpaceOptimizeBaseService {
DateTime createTime = DateUtil.date(avg.getCreateTime()); DateTime createTime = DateUtil.date(avg.getCreateTime());
//计算时间范围:大于等于开始时间,小于等于结束时间 //计算时间范围:大于等于开始时间,小于等于结束时间
if (openTime.compareTo(createTime) >= 0 && closeTime.compareTo(createTime) <= 0) { if (openTime.compareTo(createTime) >= 0 && closeTime.compareTo(createTime) <= 0) {
String endString = createTime.offset(DateField.MINUTE, 15).toString(BusinessConstant.MINUTES_FORMAT); String endString = createTime.offsetNew(DateField.MINUTE, 15).toString(BusinessConstant.MINUTES_FORMAT);
String startString = createTime.toString(BusinessConstant.MINUTES_FORMAT); String startString = createTime.toString(BusinessConstant.MINUTES_FORMAT);
//电量满足跳过 //电量满足跳过
if (avg.getBatteryLowFlag()) { if (avg.getBatteryLowFlag()) {
...@@ -409,7 +409,7 @@ public class SpaceOptimizeBaseService { ...@@ -409,7 +409,7 @@ public class SpaceOptimizeBaseService {
); );
} else { } else {
int powerDuration = avg.getPowerDuration(); int powerDuration = avg.getPowerDuration();
String offset = createTime.offset(DateField.MINUTE, powerDuration).toString(BusinessConstant.MINUTES_FORMAT); String offset = createTime.offsetNew(DateField.MINUTE, powerDuration).toString(BusinessConstant.MINUTES_FORMAT);
//储能发电时长 //储能发电时长
this.createOptimizeDuration(durationDTOList, periodId, durationDTO.getRecordId(), durationDTO.getWellheadId(), BusinessConstant.STORED_ENERGY, this.createOptimizeDuration(durationDTOList, periodId, durationDTO.getRecordId(), durationDTO.getWellheadId(), BusinessConstant.STORED_ENERGY,
startString, offset startString, offset
...@@ -603,7 +603,7 @@ public class SpaceOptimizeBaseService { ...@@ -603,7 +603,7 @@ public class SpaceOptimizeBaseService {
DateTime startTimeOptimize = DateUtil.date(start.getCreateTime()); DateTime startTimeOptimize = DateUtil.date(start.getCreateTime());
//计算第一次关井时间,按照间开时间段顺延 //计算第一次关井时间,按照间开时间段顺延
int startDuration = (int) startTime.between(endTime, DateUnit.MINUTE); int startDuration = (int) startTime.between(endTime, DateUnit.MINUTE);
DateTime endTimeOptimize = startTime.offset(DateField.MINUTE, startDuration); DateTime endTimeOptimize = startTimeOptimize.offsetNew(DateField.MINUTE, startDuration);
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null, this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), endTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT) startTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT), endTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT)
); );
...@@ -613,7 +613,7 @@ public class SpaceOptimizeBaseService { ...@@ -613,7 +613,7 @@ public class SpaceOptimizeBaseService {
} }
//其它井口的第一次启动时间 //其它井口的第一次启动时间
else { else {
DateTime startTimeOffset = firstStartTime.offset(DateField.MINUTE, startInterval); DateTime startTimeOffset = firstStartTime.offsetNew(DateField.MINUTE, startInterval);
int startIndex = -1; int startIndex = -1;
for (int a = 0, avgPowerSize = avgPowerList.size(); a < avgPowerSize; a++) { for (int a = 0, avgPowerSize = avgPowerList.size(); a < avgPowerSize; a++) {
DynamicQueryPlantPredictedPowerOutput predictedPower = avgPowerList.get(a); DynamicQueryPlantPredictedPowerOutput predictedPower = avgPowerList.get(a);
...@@ -632,7 +632,7 @@ public class SpaceOptimizeBaseService { ...@@ -632,7 +632,7 @@ public class SpaceOptimizeBaseService {
DateTime startTimeOptimize = DateUtil.date(start.getCreateTime()); DateTime startTimeOptimize = DateUtil.date(start.getCreateTime());
//计算未优化启动间隔 //计算未优化启动间隔
int openDuration = (int) startTime.between(endTime, DateUnit.MINUTE); int openDuration = (int) startTime.between(endTime, DateUnit.MINUTE);
DateTime endTimeOptimize = startTimeOptimize.offset(DateField.MINUTE, openDuration); DateTime endTimeOptimize = startTimeOptimize.offsetNew(DateField.MINUTE, openDuration);
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), BaseUtils.getEndTimeString(endTimeOptimize)
); );
...@@ -643,7 +643,7 @@ public class SpaceOptimizeBaseService { ...@@ -643,7 +643,7 @@ public class SpaceOptimizeBaseService {
} }
} }
} else { } else {
DateTime offset = startTime.offset(DateField.MINUTE, between); DateTime offset = startTime.offsetNew(DateField.MINUTE, between);
if (offset.compareTo(BusinessConstant.DATE_FLAG) > 0) { if (offset.compareTo(BusinessConstant.DATE_FLAG) > 0) {
//如果时间超过当天,舍弃 //如果时间超过当天,舍弃
continue; continue;
...@@ -651,7 +651,7 @@ public class SpaceOptimizeBaseService { ...@@ -651,7 +651,7 @@ public class SpaceOptimizeBaseService {
//计算偏移 //计算偏移
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null, this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
offset.toString(BusinessConstant.MINUTES_FORMAT), offset.toString(BusinessConstant.MINUTES_FORMAT),
BaseUtils.getEndTimeString(endTime.offset(DateField.MINUTE, between)) BaseUtils.getEndTimeString(endTime.offsetNew(DateField.MINUTE, between))
); );
} }
} }
...@@ -736,7 +736,7 @@ public class SpaceOptimizeBaseService { ...@@ -736,7 +736,7 @@ public class SpaceOptimizeBaseService {
//计算优化后的时间差优化后的第一口井开井时间-优化前第一次开井时间 //计算优化后的时间差优化后的第一口井开井时间-优化前第一次开井时间
int startDuration = (int) startTime.between(endTime, DateUnit.MINUTE); int startDuration = (int) startTime.between(endTime, DateUnit.MINUTE);
//第一次关井时间按照启动时长顺延 //第一次关井时间按照启动时长顺延
DateTime endTimeOptimize = startTime.offset(DateField.MINUTE, startDuration); DateTime endTimeOptimize = startTime.offsetNew(DateField.MINUTE, startDuration);
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null, this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
strategyDetailOutput.getStartTime(), endTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT) strategyDetailOutput.getStartTime(), endTimeOptimize.toString(BusinessConstant.MINUTES_FORMAT)
); );
...@@ -745,8 +745,8 @@ public class SpaceOptimizeBaseService { ...@@ -745,8 +745,8 @@ public class SpaceOptimizeBaseService {
}//其它井口的第一次启动时间 }//其它井口的第一次启动时间
else { else {
//其它井启动时间:第一口井启动时间+启动间隔 //其它井启动时间:第一口井启动时间+启动间隔
DateTime startTimeOffset = firstStartTime.offset(DateField.MINUTE, startInterval); DateTime startTimeOffset = firstStartTime.offsetNew(DateField.MINUTE, startInterval);
DateTime endTimeOffset = firstEndTime.offset(DateField.MINUTE, startInterval); DateTime endTimeOffset = firstEndTime.offsetNew(DateField.MINUTE, startInterval);
//取时间间隔(分钟) //取时间间隔(分钟)
between = BaseUtils.getTimeDifferenceMinute(firstEndTime, endTime); between = BaseUtils.getTimeDifferenceMinute(firstEndTime, endTime);
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null, this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
...@@ -755,14 +755,14 @@ public class SpaceOptimizeBaseService { ...@@ -755,14 +755,14 @@ public class SpaceOptimizeBaseService {
} }
} else { } else {
//计算偏移 //计算偏移
DateTime offset = startTime.offset(DateField.MINUTE, between); DateTime offset = startTime.offsetNew(DateField.MINUTE, between);
if (offset.compareTo(BusinessConstant.DATE_FLAG) > 0) { if (offset.compareTo(BusinessConstant.DATE_FLAG) > 0) {
//如果时间超过当天,舍弃 //如果时间超过当天,舍弃
continue; continue;
} }
this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null, this.createOptimizeDuration(durationDTOList, periodId, recordId, wellheadId, null,
offset.toString(BusinessConstant.MINUTES_FORMAT), BaseUtils.getEndTimeString( offset.toString(BusinessConstant.MINUTES_FORMAT), BaseUtils.getEndTimeString(
endTime.offset(DateField.MINUTE, between) endTime.offsetNew(DateField.MINUTE, 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