Commit f5ff7812 authored by ZWT's avatar ZWT

feat(零碳): 长庆

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 0fad3fbd
......@@ -362,20 +362,51 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
weightDuration = weightDurationList.get(i1);
duration = weightDuration.getDuration();
openTime = weightDuration.getOpenTime();
//偏移开井时间
DateTime closeTime = weightDuration.getCloseTime();
if (optimizeDurationDTOList.size() > 0) {
Date lastCloseTime = optimizeDurationDTOList.get(optimizeDurationDTOList.size() - 1).getCloseTime();
//计算当前开井时间和上一次关井时间的时间间隔
long l = openTime.between(lastCloseTime, DateUnit.MINUTE);
//比较时间
if (DateUtil.compare(lastCloseTime, openTime) > 0) {
//时间间隔-(超出部分时间+最小关井时长)
duration -= (l + minCloseMinute);
if (duration >= minOpenMinute) {
//如果剩余时长能满足最小开井时长,则计算开井时间(用关井时间往前推)
openTime = closeTime.offsetNew(DateField.MINUTE, (int) -duration);
} else {
continue;
}
} else {
long l1 = l - minCloseMinute;
//小于0,说明不满足最小停井时间,需要补
if (l1 < 0) {
openTime = openTime.offsetNew(DateField.MINUTE, (int) -l1);
//偏移启动时间,判断时间区间是否满足最小开井时长
duration += l1;
if (duration < minOpenMinute) {
//偏移关井时间
// closeTime = closeTime.offsetNew(DateField.MINUTE, (int) -l1);
continue;
}
}
}
}
//判断时间间隔是否能满足最大开井时间
if (duration >= maxOpenMinute) {
//满足,判断能满足几次(最大开井时间)
//todo : 能力有限,只能用(最大开井时间+最小停井时间)固定范围,求不了最优排布
int div = (int) NumberUtil.div(duration, maxOpenMinute, 0, RoundingMode.UP);
for (int i2 = 1; i2 <= div; i2++) {
DateTime closeTime;
DateTime closeTimeNew;
if (duration >= maxOpenMinute) {
sumOpenTime += maxOpenMinute;
closeTime = openTime.offsetNew(DateField.MINUTE, maxOpenMinute);
closeTimeNew = openTime.offsetNew(DateField.MINUTE, maxOpenMinute);
duration = duration - maxOpenMinute - minCloseMinute;
} else if (duration >= minOpenMinute) {
sumOpenTime += minOpenMinute;
closeTime = openTime.offsetNew(DateField.MINUTE, minOpenMinute);
closeTimeNew = openTime.offsetNew(DateField.MINUTE, minOpenMinute);
duration = duration - minOpenMinute - minCloseMinute;
} else {
//时间不够,舍弃
......@@ -383,22 +414,18 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
}
optimizeDurationDTOList.add(SpaceOptimizeDurationDTO.builder()
.openTime(openTime)
.closeTime(closeTime)
.closeTime(closeTimeNew)
.build());
openTime = closeTime;
//下次启动时间为本次关井时间向后移动最小关井时间
openTime = closeTimeNew.offsetNew(DateField.MINUTE, minCloseMinute);
}
} else {
//不满足,取全部
optimizeDurationDTOList.add(SpaceOptimizeDurationDTO.builder()
.openTime(openTime)
.closeTime(weightDuration.getCloseTime())
.closeTime(closeTime)
.build());
sumOpenTime += duration;
duration = 0;
}
//duration小于0:关井中,大于等于0,可以开井
if (duration < 0) {
}
//判断开井总时间是否大于每日最大开井时间
if (sumOpenTime >= dayOpenMinute) {
......
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