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