Commit 712cac88 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.邮件发送服务代码修改,修改配置文件及发送逻辑,解决邮件名称唯一性;
2.邮件接收功能修改,解决邮件接收协议修改后导致的一系列问题;
3.长期间开优化功能修改,修改定时任务处理逻辑及执行周期;
4.中期间开优化功能修改,修改定时任务处理逻辑及执行周期;
5.超长期间开优化功能开发,开发相关接口及定时任务,创建对应数据表,生成对应接口文档并完成接口冒烟测试;
6.超短期间开优化功能开发,开发相关接口及定时任务,创建对应数据表,生成对应接口文档并完成接口冒烟测试;
7.组织线路树功能修改,重构查询逻辑;
8.间开优化历史功能修改,重构查询逻辑;
9.开发当日已优化间开结果列表查询接口,生成对应接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent ab23e3a5
package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;
......@@ -18,17 +21,20 @@ import pps.core.space.service.data.space_optimize_short_period.GetSpaceOptimizeS
import pps.core.space.service.data.space_optimize_short_period.GetSpaceOptimizeShortPeriodViewOutput;
import pps.core.space.service.data.space_optimize_short_period.QuerySpaceOptimizeShortPeriodViewInput;
import pps.core.space.service.data.space_optimize_short_period.QuerySpaceOptimizeShortPeriodViewOutput;
import pps.core.space.service.data.space_optimize_short_wellhead.GetSpaceOptimizeShortWellheadInput;
import pps.core.space.service.data.space_optimize_short_wellhead.GetSpaceOptimizeShortWellheadOutput;
import pps.core.space.utils.ServiceUtil;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils;
import xstartup.data.XListResult;
import xstartup.data.XPageResult;
import xstartup.data.XSingleResult;
import xstartup.error.XError;
import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import java.util.*;
import java.util.stream.Collectors;
......@@ -182,5 +188,52 @@ public class SpaceOptimizeShortPeriodService extends SpaceOptimizeBaseService {
return XSingleResult.success(output);
}
/**
* 获取当日优化列表
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult}<{@link GetSpaceOptimizeShortWellheadOutput}>
*/
@XApiAnonymous
@XApiPost
@XText("极短期间开开优化--获取当日优化列表")
public XListResult<GetSpaceOptimizeShortWellheadOutput> getOptimizeList(XContext context, GetSpaceOptimizeShortWellheadInput input) {
DateTime now = DateUtil.beginOfDay(DateTime.now());
String lineId = input.getLineId();
String wellheadId = input.getWellheadId();
SpaceOptimizeShortPeriodMapper mapper = context.getBean(SpaceOptimizeShortPeriodMapper.class);
SpaceOptimizeShortPeriodEnt periodEnt = mapper.selectOne(new LambdaQueryWrapper<SpaceOptimizeShortPeriodEnt>()
.eq(SpaceOptimizeShortPeriodEnt::getOptimizeDate, now)
.eq(SpaceOptimizeShortPeriodEnt::getLineId, lineId)
.last("limit 1")
);
if (ObjectUtil.isEmpty(periodEnt)) {
return XListResult.success(new ArrayList<>(0));
}
SpaceOptimizeShortWellheadMapper wellheadMapper = context.getBean(SpaceOptimizeShortWellheadMapper.class);
List<SpaceOptimizeShortWellheadEnt> wellheadList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortWellheadEnt>()
.eq(SpaceOptimizeShortWellheadEnt::getShortPeriodId, periodEnt.getId())
.eq(CharSequenceUtil.isNotBlank(wellheadId), SpaceOptimizeShortWellheadEnt::getWellheadId, wellheadId)
);
if (CollUtil.isEmpty(wellheadList)) {
return XListResult.success(new ArrayList<>(0));
}
List<GetSpaceOptimizeShortWellheadOutput> wellheadOutputs = XCopyUtils.copyNewList(wellheadList, GetSpaceOptimizeShortWellheadOutput.class);
SpaceOptimizeShortDurationMapper durationMapper = context.getBean(SpaceOptimizeShortDurationMapper.class);
List<SpaceOptimizeShortDurationEnt> durationList = durationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeShortDurationEnt>()
.eq(SpaceOptimizeShortDurationEnt::getShortPeriodId, periodEnt.getId())
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(SpaceOptimizeShortDurationEnt::getIsOptimize, BusinessConstant.ZERO)
.eq(CharSequenceUtil.isNotBlank(wellheadId), SpaceOptimizeShortDurationEnt::getWellheadId, wellheadId)
.orderByAsc(SpaceOptimizeShortDurationEnt::getIsOptimize, SpaceOptimizeShortDurationEnt::getOpenWellTime)
);
List<SpaceOptimizeDateDuration> durationOutputs = XCopyUtils.copyNewList(durationList, SpaceOptimizeDateDuration.class);
Map<String, List<SpaceOptimizeDateDuration>> collect = durationOutputs.stream()
.collect(Collectors.groupingBy(SpaceOptimizeDateDuration::getWellheadId));
for (GetSpaceOptimizeShortWellheadOutput wellhead : wellheadOutputs) {
wellhead.setOptimizeList(collect.get(wellhead.getWellheadId()));
}
return XListResult.success(wellheadOutputs);
}
}
\ No newline at end of file
package pps.core.space.service.data.space_optimize_short_wellhead;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import xstartup.annotation.XText;
/**
* 入参
*
* @author ZWT
* @date 2024/03/23 18:20
*/
@Data
public class GetSpaceOptimizeShortWellheadInput {
/**
* 线路id
*/
@XText("线路ID")
@NotBlank(message = "缺少线路ID")
private String lineId;
/**
* 井口id
*/
@XText("井口ID")
private String wellheadId;
}
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