Commit 34396975 authored by ZWT's avatar ZWT

feat(能源管理系统): 间开优化定时任务

1.开发间开优化定期校准定时任务,配置表达式修改定时任务配置文件,创建cloud模块方法;
2.开发间开优化定期校准定时任务,完成业务逻辑开发;
3.修改间开制度管理模块定期校准新增功能,增加初始化校准历史业务逻辑;
4.开发间开优化短期间开优化定时任务,配置表达式修改定时任务配置文件,创建cloud模块方法;
5.修改长期间开优化定时任务,添加离网型线路数据处理逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 54f765fd
...@@ -15,6 +15,7 @@ public enum BusinessError implements XError { ...@@ -15,6 +15,7 @@ public enum BusinessError implements XError {
DidNotFindWellhead(2103, "未发现可优化井口"), DidNotFindWellhead(2103, "未发现可优化井口"),
DidNotFindPlant(2104, "未发现可用光伏电站"), DidNotFindPlant(2104, "未发现可用光伏电站"),
DidNotFindCalibration(2105, "未发现可用周期配置"), DidNotFindCalibration(2105, "未发现可用周期配置"),
UnableToOptimize(2106, "无法优化"),
; ;
private int code; private int code;
......
...@@ -386,13 +386,12 @@ public class SpaceOptimizeBaseService { ...@@ -386,13 +386,12 @@ public class SpaceOptimizeBaseService {
for (SpaceInstitutionDurationEnt durationEnt : durationConfigList) { for (SpaceInstitutionDurationEnt durationEnt : durationConfigList) {
this.createUnOptimizeDuration(unOptimizeDurationList, durationEnt, periodId, recordId, wellheadId); this.createUnOptimizeDuration(unOptimizeDurationList, durationEnt, periodId, recordId, wellheadId);
} }
//累加
totalOperatingPower = totalOperatingPower.add(serviceRating);
if (w == 0) { if (w == 0) {
//第一个井口 //第一个井口
isFirstWellhead = true; isFirstWellhead = true;
totalOperatingPower.add(serviceRating);
} else { } else {
//累加
totalOperatingPower = totalOperatingPower.add(serviceRating);
startInterval = startInterval + detail.getStartInterval(); startInterval = startInterval + detail.getStartInterval();
isFirstWellhead = false; isFirstWellhead = false;
} }
...@@ -433,13 +432,12 @@ public class SpaceOptimizeBaseService { ...@@ -433,13 +432,12 @@ public class SpaceOptimizeBaseService {
else { else {
DateTime startTimeOffset = firstStartTime.offset(DateField.MINUTE, startInterval); DateTime startTimeOffset = firstStartTime.offset(DateField.MINUTE, startInterval);
int startIndex = -1; int startIndex = -1;
BigDecimal add = serviceRating.add(totalOperatingPower);
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);
if (DateUtil.parse(predictedPower.getHourTime() + predictedPower.getMinTime(), BusinessConstant.TIME_FORMAT) if (DateUtil.parse(predictedPower.getHourTime() + predictedPower.getMinTime(), BusinessConstant.TIME_FORMAT)
.compareTo(startTimeOffset) >= 0) { .compareTo(startTimeOffset) >= 0) {
//判断第一口井启动时间+启动间隔时日平均光伏出力-前两口井的运行功率是否为正数 //判断第一口井启动时间+启动间隔时日平均光伏出力-前两口井的运行功率是否为正数
if (predictedPower.getPower().compareTo(add) >= 0) { if (predictedPower.getPower().compareTo(totalOperatingPower) >= 0) {
//确定第二口井第一次开井时间为第一口井启动时间+启动间隔 //确定第二口井第一次开井时间为第一口井启动时间+启动间隔
startIndex = a; startIndex = a;
break; break;
......
...@@ -28,4 +28,7 @@ public class DynamicQueryPlantPredictedPowerOutput { ...@@ -28,4 +28,7 @@ public class DynamicQueryPlantPredictedPowerOutput {
@XText("预测功率") @XText("预测功率")
private BigDecimal power; private BigDecimal power;
@XText("是否满足")
private boolean meetFlag;
} }
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