Commit d25417bb authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.修复登录页面登录接口验证码输入后不需要验证直接能登录的问题;
2.长庆演示,首页展示大屏功能修改,修改线路详情接口,增加查询日平均用电量逻辑,同时重构查询日产液量和日发电量逻辑,更新接口文档并完成接口冒烟测试,同时生成用例;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 3ba88121
......@@ -7,7 +7,6 @@ import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo;
......@@ -80,6 +79,7 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
int minOpen = 3;
int maxClose = 2;
int minClose = 1;
int minOpenMinute = minOpen * 60;
//测试用 ====== end
List<SpaceOptimizePeriodDTO> periodDTOList = new ArrayList<>(32);
List<SpaceOptimizeWellheadDTO> wellheadDTOList = new ArrayList<>(64);
......@@ -162,6 +162,8 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
List<GetBasePriceStrategyDetailOutput> strategyList;
List<SpaceInstitutionWellheadView> wellheadList;
String periodId;
//权重数组
int[] ladder = {10, 5, 3, 1};
for (SpaceInstitutionDetailEnt detail : detailEntList) {
//创建记录
periodId = this.createOptimizePeriod(periodDTOList, detail.getId(), detail.getLineId(), BaseUtils.getExecutionCycleForCalibration(startDate, optimizeDate), optimizeDate);
......@@ -272,28 +274,11 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
weightList = weightList.stream()
.sorted(Comparator.comparing(SpaceOptimizeWeight::getSort))
.collect(Collectors.toList());
if (i != 0) {
//判断是不是第一口井
}
//计算第一次启动时间
int startIndex = 0;
int weightNum = 0;
SpaceOptimizeWeight weight;
for (int i1 = 0; i1 < weightList.size(); i1++) {
weight = weightList.get(i1);
if (weight.getWeight() > weightNum) {
weightNum = weight.getWeight();
startIndex = i1;
}
}
//分级取时间段
List<SpaceOptimizeWeightDuration> weightDurationList = new ArrayList<>(32);
int[] ladder = {10, 5, 3, 1};
long between;
for (int i1 = 0; i1 < ladder.length; i1++) {
//如果权重大于当前最大权重,跳过
if (weightNum < ladder[i1]) {
continue;
}
int begin = -1;
//取每级时间
for (int i2 = 0; i2 < weightList.size(); i2++) {
......@@ -304,33 +289,31 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
if (begin == -1) {
begin = i2;
}
//如果索引小于第一次开井时间,则算为第二天
if (i2 < startIndex) {
}
} else if (begin != -1) {
//创建区间
weightDurationList.add(
SpaceOptimizeWeightDuration.builder()
.openTime(weightList.get(begin).getTimestamp())
.closeTime(weightList.get(i2).getTimestamp())
.openIndex(begin)
.closeIndex(i2)
.duration(DateUtil.between(weightList.get(begin).getTimestamp(), weightList.get(i2).getTimestamp(), DateUnit.MINUTE))
.weight(ladder[i1])
.build()
);
//如果开井时间不满足最小开井时间则舍弃
between = DateUtil.between(weightList.get(begin).getTimestamp(), weightList.get(i2).getTimestamp(), DateUnit.MINUTE);
if (minOpenMinute <= between) {
//创建区间
weightDurationList.add(
SpaceOptimizeWeightDuration.builder()
.openTime(weightList.get(begin).getTimestamp())
.closeTime(weightList.get(i2).getTimestamp())
.openIndex(begin)
.closeIndex(i2)
.duration(between)
.weight(ladder[i1])
.build()
);
}
begin = -1;
}
}
System.out.println();
}
weightDurationList = weightDurationList.stream()
.sorted(Comparator.comparing(SpaceOptimizeWeightDuration::getOpenTime))
.collect(Collectors.toList());
System.out.println(JSON.toJSONString(weightDurationList));
//找到第一次开井时间
}
}
return XServiceResult.OK;
......
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