Commit e04f9d53 authored by ZWT's avatar ZWT

feat(零碳): 长庆演示系统新增功能

1.新建油田配置表同时生成相关代码及mapper文件,修改部分第三方数据抽取定时任务,增加针对不同井场开关控制逻辑,同时修改首页页面展示逻辑,通过油田配置功能区分不同首页展示功能;
2.新建定时任务配置表同时生成相关代码及mapper文件,定时任务模块增加mybatis配置,用以操作数据库,修改部分第三方数据抽取定时任务,修改使用方式使其脱离框架方便动态控制;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 15875dc6
...@@ -13,6 +13,11 @@ import java.math.BigDecimal; ...@@ -13,6 +13,11 @@ import java.math.BigDecimal;
*/ */
public class BusinessConstant { public class BusinessConstant {
/**
* 权重数组
*/
public static final int[] LADDER = {10, 5, 3, 1};
/** /**
* 初始父级组织机构ID * 初始父级组织机构ID
*/ */
......
...@@ -233,8 +233,6 @@ public class SpaceOptimizeBaseService { ...@@ -233,8 +233,6 @@ public class SpaceOptimizeBaseService {
List<String> plantIds; List<String> plantIds;
String periodId; String periodId;
Map<Boolean, List<SpaceInstitutionWellheadView>> collect; Map<Boolean, List<SpaceInstitutionWellheadView>> collect;
//权重数组
int[] ladder = {10, 5, 3, 1};
//时间间隔 //时间间隔
Integer startInterval; Integer startInterval;
Date institutionEndDate; Date institutionEndDate;
...@@ -358,7 +356,7 @@ public class SpaceOptimizeBaseService { ...@@ -358,7 +356,7 @@ public class SpaceOptimizeBaseService {
.multiply(BusinessConstant.BIG_DECIMAL_60) .multiply(BusinessConstant.BIG_DECIMAL_60)
.intValue(); .intValue();
//分级取时间段 //分级取时间段
List<SpaceOptimizeWeightDuration> weightDurationList = this.weightListProcessing(ladder, weightList, minOpenMinute); List<SpaceOptimizeWeightDuration> weightDurationList = this.weightListProcessing(weightList, minOpenMinute);
//时间段优化 //时间段优化
List<SpaceOptimizeDurationDTO> optimizeDurationDTOList = new ArrayList<>(12); List<SpaceOptimizeDurationDTO> optimizeDurationDTOList = new ArrayList<>(12);
firstOpenWellTime = this.timePeriodOptimization(optimizeDurationDTOList, weightDurationList, firstOpenWellTime, i, firstOpenWellTime = this.timePeriodOptimization(optimizeDurationDTOList, weightDurationList, firstOpenWellTime, i,
...@@ -477,7 +475,7 @@ public class SpaceOptimizeBaseService { ...@@ -477,7 +475,7 @@ public class SpaceOptimizeBaseService {
.intValue(); .intValue();
serviceRating = serviceRating.add(tundraStrategyWellhead.getServiceRating()); serviceRating = serviceRating.add(tundraStrategyWellhead.getServiceRating());
List<SpaceOptimizeWeight> weightList = this.calculateWeightList(serviceRating, rangeToList, powerList, strategyList, isOffGrid); List<SpaceOptimizeWeight> weightList = this.calculateWeightList(serviceRating, rangeToList, powerList, strategyList, isOffGrid);
List<SpaceOptimizeWeightDuration> weightDurationList = this.weightListProcessing(ladder, weightList, minOpenMinute); List<SpaceOptimizeWeightDuration> weightDurationList = this.weightListProcessing(weightList, minOpenMinute);
//创建优化记录 //创建优化记录
String wellheadId = tundraStrategyWellhead.getWellheadId(); String wellheadId = tundraStrategyWellhead.getWellheadId();
String recordId = this.createOptimizeWellhead(wellheadDTOList, periodId, wellheadId, tundraStrategyWellhead.getWellNumber(), tundraStrategyWellhead.getStartSeq(), recordTime, BusinessConstant.ZERO); String recordId = this.createOptimizeWellhead(wellheadDTOList, periodId, wellheadId, tundraStrategyWellhead.getWellNumber(), tundraStrategyWellhead.getStartSeq(), recordTime, BusinessConstant.ZERO);
...@@ -2410,23 +2408,22 @@ public class SpaceOptimizeBaseService { ...@@ -2410,23 +2408,22 @@ public class SpaceOptimizeBaseService {
/** /**
* 权重时间处理 * 权重时间处理
* *
* @param ladder 梯子
* @param weightList 重量清单 * @param weightList 重量清单
* @param minOpenMinute 最小开放分钟 * @param minOpenMinute 最小开放分钟
* @return {@link List}<{@link SpaceOptimizeWeightDuration}> * @return {@link List}<{@link SpaceOptimizeWeightDuration}>
*/ */
private List<SpaceOptimizeWeightDuration> weightListProcessing(int[] ladder, List<SpaceOptimizeWeight> weightList, int minOpenMinute) { private List<SpaceOptimizeWeightDuration> weightListProcessing(List<SpaceOptimizeWeight> weightList, int minOpenMinute) {
SpaceOptimizeWeight weight; SpaceOptimizeWeight weight;
//分级取时间段 //分级取时间段
List<SpaceOptimizeWeightDuration> weightDurationList = new ArrayList<>(32); List<SpaceOptimizeWeightDuration> weightDurationList = new ArrayList<>(32);
long between; long between;
for (int i1 = 0; i1 < ladder.length; i1++) { for (int i1 = 0; i1 < BusinessConstant.LADDER.length; i1++) {
int begin = -1; int begin = -1;
//取每级时间 //取每级时间
for (int i2 = 0; i2 < weightList.size(); i2++) { for (int i2 = 0; i2 < weightList.size(); i2++) {
weight = weightList.get(i2); weight = weightList.get(i2);
//过滤条件:权重相同 //过滤条件:权重相同
if (ladder[i1] == weight.getWeight()) { if (BusinessConstant.LADDER[i1] == weight.getWeight()) {
//确定开始时间位置 //确定开始时间位置
if (begin == -1) { if (begin == -1) {
begin = i2; begin = i2;
...@@ -2443,7 +2440,7 @@ public class SpaceOptimizeBaseService { ...@@ -2443,7 +2440,7 @@ public class SpaceOptimizeBaseService {
.openIndex(begin) .openIndex(begin)
.closeIndex(i2) .closeIndex(i2)
.duration(between) .duration(between)
.weight(ladder[i1]) .weight(BusinessConstant.LADDER[i1])
.build() .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