Commit 591d2c56 authored by ZWT's avatar ZWT

feat(能源管理系统): 间开制度管理

1.修改间开制度管理模块实体;
2.开发长期间开优化模块-长期优化分页列表接口,完成接口冒烟测试并生成接口文档;
3.开发长期间开优化模块-详情接口,完成接口冒烟测试并生成接口文档;
4.开发市电峰谷配置Cloud模块-查询策略配置详情列表接口;
5.修改开发长期间开优化模块-详情接口,添加获取策略配置详情列表逻辑,完成接口冒烟测试并生成接口文档;
6.开发中短期间开优化模块-中短期优化分页列表接口,完成接口冒烟测试并生成接口文档;
7.开发中短期间开优化模块-中短期优化详情接口,完成接口冒烟测试并生成接口文档;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent c76bebdb
package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
import pps.core.common.constant.BusinessConstant;
import pps.core.space.entity.SpaceOptimizeMidPeriodView;
import pps.core.space.mapper.SpaceOptimizeMidPeriodViewMapper;
import pps.core.common.entity.BaseModel;
import pps.core.space.entity.*;
import pps.core.space.mapper.*;
import pps.core.space.service.data.space_optimize_mid_duration.GetSpaceOptimizeMidDurationOutput;
import pps.core.space.service.data.space_optimize_mid_period.GetSpaceOptimizeMidPeriodViewInput;
import pps.core.space.service.data.space_optimize_mid_period.GetSpaceOptimizeMidPeriodViewOutput;
import pps.core.space.service.data.space_optimize_mid_period.QuerySpaceOptimizeMidPeriodViewInput;
import pps.core.space.service.data.space_optimize_mid_period.QuerySpaceOptimizeMidPeriodViewOutput;
import pps.core.space.service.data.space_optimize_mid_wellhead.GetSpaceOptimizeMidWellheadOutput;
import pps.core.space.utils.ServiceUtil;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
......@@ -21,8 +27,7 @@ import xstartup.error.XError;
import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -81,15 +86,59 @@ public class SpaceOptimizeMidPeriodService {
@XApiGet
@XText("中短期间开优化--详情")
public XSingleResult<GetSpaceOptimizeMidPeriodViewOutput> getSpaceOptimizeMidPeriodView(XContext context, GetSpaceOptimizeMidPeriodViewInput input) {
SpaceOptimizeMidPeriodViewMapper mapper = context.getBean(SpaceOptimizeMidPeriodViewMapper.class);
SpaceOptimizeMidPeriodView record = new SpaceOptimizeMidPeriodView();
XCopyUtils.copyObject(input, record);
SpaceOptimizeMidPeriodView view = mapper.selectOne(record);
if (view == null) {
SpaceOptimizeMidPeriodMapper mapper = context.getBean(SpaceOptimizeMidPeriodMapper.class);
String midPeriodId = input.getId();
SpaceOptimizeMidPeriodEnt period = mapper.selectById(midPeriodId);
if (Objects.isNull(period)) {
return XSingleResult.error(context, XError.NotFound);
}
GetSpaceOptimizeMidPeriodViewOutput output = new GetSpaceOptimizeMidPeriodViewOutput();
XCopyUtils.copyObject(view, output);
GetSpaceOptimizeMidPeriodViewOutput output = XCopyUtils.copyNewObject(period, GetSpaceOptimizeMidPeriodViewOutput.class);
//查间开制度详情
SpaceInstitutionDetailMapper detailMapper = context.getBean(SpaceInstitutionDetailMapper.class);
SpaceInstitutionDetailEnt detailEnt = detailMapper.selectById(period.getInstitutionId());
if (StringUtils.equals(String.valueOf(BusinessConstant.ONE), Optional.ofNullable(detailEnt.getGridTypeKey())
.orElse(String.valueOf(BusinessConstant.ZERO)))) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(period.getOptimizeDeadline());
output.setStrategyDetailList(ServiceUtil.getStrategyDetailList(context,
GetBasePriceStrategyDetailInput.builder()
.lineId(period.getLineId())
.strategyMonth(String.valueOf(calendar.get(Calendar.MONTH) + 1))
.build()));
}
//查井口列表
SpaceOptimizeMidWellheadMapper wellheadMapper = context.getBean(SpaceOptimizeMidWellheadMapper.class);
List<SpaceOptimizeMidWellheadEnt> wellheadList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeMidWellheadEnt>()
.eq(SpaceOptimizeMidWellheadEnt::getMidPeriodId, midPeriodId)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
);
if (CollUtil.isNotEmpty(wellheadList)) {
List<GetSpaceOptimizeMidWellheadOutput> wellheadOutputs = XCopyUtils.copyNewList(wellheadList, GetSpaceOptimizeMidWellheadOutput.class);
//查井口配置列表
SpaceOptimizeMidDurationMapper durationMapper = context.getBean(SpaceOptimizeMidDurationMapper.class);
List<SpaceOptimizeMidDurationEnt> durationList = durationMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeMidDurationEnt>()
.eq(SpaceOptimizeMidDurationEnt::getMidPeriodId, midPeriodId)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.orderByAsc(SpaceOptimizeMidDurationEnt::getIsOptimize, SpaceOptimizeMidDurationEnt::getOpenWellTime)
);
if (CollUtil.isNotEmpty(durationList)) {
List<GetSpaceOptimizeMidDurationOutput> durationOutputs = XCopyUtils.copyNewList(durationList, GetSpaceOptimizeMidDurationOutput.class);
Map<String, List<GetSpaceOptimizeMidDurationOutput>> collect = durationOutputs.stream()
.collect(
Collectors.groupingBy(GetSpaceOptimizeMidDurationOutput::getWellheadId)
);
wellheadOutputs.forEach(w -> {
if (collect.containsKey(w.getWellheadId())) {
w.setDurationList(collect.get(w.getWellheadId()));
} else {
w.setDurationList(new ArrayList<>(0));
}
});
}
output.setWellheadList(wellheadOutputs);
} else {
output.setWellheadList(new ArrayList<>(0));
}
return XSingleResult.success(output);
}
}
\ No newline at end of file
package pps.core.space.service.data.space_optimize_mid_duration;
import lombok.Data;
import xstartup.annotation.XText;
import java.util.Date;
/**
* 中短期间开优化井口制度记录
*
* @author ZWT
* @date 2023/09/07
*/
@Data
public class GetSpaceOptimizeMidDurationOutput {
@XText("ID")
private String id;
@XText("是否删除(0_是;1_否)")
private Integer isDeleted;
@XText("创建人ID")
private String createById;
@XText("创建人名称")
private String createByName;
@XText("创建时间")
private Date createTime;
@XText("修改人ID")
private String modifyById;
@XText("修改人名称")
private String modifyByName;
@XText("修改时间")
private Date modifyTime;
@XText("井口记录ID")
private String recordId;
......@@ -49,125 +32,4 @@ public class GetSpaceOptimizeMidDurationOutput {
@XText("关井时间")
private String closeWellTime;
public String getId() {
return this.id;
}
public void setId(String value) {
this.id = value;
}
public Integer getIsDeleted() {
return this.isDeleted;
}
public void setIsDeleted(Integer value) {
this.isDeleted = value;
}
public String getCreateById() {
return this.createById;
}
public void setCreateById(String value) {
this.createById = value;
}
public String getCreateByName() {
return this.createByName;
}
public void setCreateByName(String value) {
this.createByName = value;
}
public Date getCreateTime() {
return this.createTime;
}
public void setCreateTime(Date value) {
this.createTime = value;
}
public String getModifyById() {
return this.modifyById;
}
public void setModifyById(String value) {
this.modifyById = value;
}
public String getModifyByName() {
return this.modifyByName;
}
public void setModifyByName(String value) {
this.modifyByName = value;
}
public Date getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(Date value) {
this.modifyTime = value;
}
public String getRecordId() {
return this.recordId;
}
public void setRecordId(String value) {
this.recordId = value;
}
public String getMidPeriodId() {
return this.midPeriodId;
}
public void setMidPeriodId(String value) {
this.midPeriodId = value;
}
public String getWellheadId() {
return this.wellheadId;
}
public void setWellheadId(String value) {
this.wellheadId = value;
}
public Integer getIsOptimize() {
return this.isOptimize;
}
public void setIsOptimize(Integer value) {
this.isOptimize = value;
}
public String getGenerationTypeKey() {
return this.generationTypeKey;
}
public void setGenerationTypeKey(String value) {
this.generationTypeKey = value;
}
public String getOpenWellTime() {
return this.openWellTime;
}
public void setOpenWellTime(String value) {
this.openWellTime = value;
}
public String getCloseWellTime() {
return this.closeWellTime;
}
public void setCloseWellTime(String value) {
this.closeWellTime = value;
}
}
package pps.core.space.service.data.space_optimize_mid_period;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import xstartup.annotation.XText;
import java.util.Date;
/**
* 中短期间开优化周期记录
*
* @author ZWT
* @date 2023/09/07
*/
@Data
public class GetSpaceOptimizeMidPeriodViewInput {
@XText("ID")
@NotBlank(message = "缺少中短期ID")
private String id;
@XText("是否删除(0_是;1_否)")
private Integer isDeleted;
@XText("创建人ID")
private String createById;
@XText("创建人名称")
private String createByName;
@XText("创建时间(优化开始时间)")
private Date createTime;
@XText("修改人ID")
private String modifyById;
@XText("修改人名称")
private String modifyByName;
@XText("修改时间")
private Date modifyTime;
@XText("线路ID")
private String lineId;
@XText("间开制度ID")
private String institutionId;
@XText("执行周期")
private String executionCycle;
@XText("优化状态(0_已优化;1_未优化)")
private Integer optimizeState;
@XText("优化截止日期")
private Date optimizeDeadline;
public String getId() {
return this.id;
}
public void setId(String value) {
this.id = value;
}
public Integer getIsDeleted() {
return this.isDeleted;
}
public void setIsDeleted(Integer value) {
this.isDeleted = value;
}
public String getCreateById() {
return this.createById;
}
public void setCreateById(String value) {
this.createById = value;
}
public String getCreateByName() {
return this.createByName;
}
public void setCreateByName(String value) {
this.createByName = value;
}
public Date getCreateTime() {
return this.createTime;
}
public void setCreateTime(Date value) {
this.createTime = value;
}
public String getModifyById() {
return this.modifyById;
}
public void setModifyById(String value) {
this.modifyById = value;
}
public String getModifyByName() {
return this.modifyByName;
}
public void setModifyByName(String value) {
this.modifyByName = value;
}
public Date getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(Date value) {
this.modifyTime = value;
}
public String getLineId() {
return this.lineId;
}
public void setLineId(String value) {
this.lineId = value;
}
public String getInstitutionId() {
return this.institutionId;
}
public void setInstitutionId(String value) {
this.institutionId = value;
}
public String getExecutionCycle() {
return this.executionCycle;
}
public void setExecutionCycle(String value) {
this.executionCycle = value;
}
public Integer getOptimizeState() {
return this.optimizeState;
}
public void setOptimizeState(Integer value) {
this.optimizeState = value;
}
public Date getOptimizeDeadline() {
return this.optimizeDeadline;
}
public void setOptimizeDeadline(Date value) {
this.optimizeDeadline = value;
}
}
package pps.core.space.service.data.space_optimize_mid_period;
import lombok.Data;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.core.space.service.data.space_optimize_mid_wellhead.GetSpaceOptimizeMidWellheadOutput;
import xstartup.annotation.XText;
import java.util.Date;
import java.util.List;
/**
* 中短期间开优化周期记录
*
* @author ZWT
* @date 2023/09/07
*/
@Data
public class GetSpaceOptimizeMidPeriodViewOutput {
@XText("ID")
private String id;
@XText("是否删除(0_是;1_否)")
private Integer isDeleted;
@XText("创建人ID")
private String createById;
@XText("创建人名称")
private String createByName;
@XText("创建时间(优化开始时间)")
private Date createTime;
@XText("修改人ID")
private String modifyById;
@XText("修改人名称")
private String modifyByName;
@XText("修改时间")
private Date modifyTime;
@XText("线路ID")
private String lineId;
......@@ -44,108 +35,15 @@ public class GetSpaceOptimizeMidPeriodViewOutput {
@XText("优化截止日期")
private Date optimizeDeadline;
public String getId() {
return this.id;
}
public void setId(String value) {
this.id = value;
}
public Integer getIsDeleted() {
return this.isDeleted;
}
public void setIsDeleted(Integer value) {
this.isDeleted = value;
}
public String getCreateById() {
return this.createById;
}
public void setCreateById(String value) {
this.createById = value;
}
public String getCreateByName() {
return this.createByName;
}
public void setCreateByName(String value) {
this.createByName = value;
}
public Date getCreateTime() {
return this.createTime;
}
public void setCreateTime(Date value) {
this.createTime = value;
}
public String getModifyById() {
return this.modifyById;
}
public void setModifyById(String value) {
this.modifyById = value;
}
public String getModifyByName() {
return this.modifyByName;
}
public void setModifyByName(String value) {
this.modifyByName = value;
}
public Date getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(Date value) {
this.modifyTime = value;
}
public String getLineId() {
return this.lineId;
}
public void setLineId(String value) {
this.lineId = value;
}
public String getInstitutionId() {
return this.institutionId;
}
public void setInstitutionId(String value) {
this.institutionId = value;
}
public String getExecutionCycle() {
return this.executionCycle;
}
public void setExecutionCycle(String value) {
this.executionCycle = value;
}
public Integer getOptimizeState() {
return this.optimizeState;
}
public void setOptimizeState(Integer value) {
this.optimizeState = value;
}
public Date getOptimizeDeadline() {
return this.optimizeDeadline;
}
public void setOptimizeDeadline(Date value) {
this.optimizeDeadline = value;
}
/**
* 策略配置列表
*/
@XText("策略配置列表")
List<GetBasePriceStrategyDetailOutput> strategyDetailList;
/**
* 井口信息
*/
@XText("井口信息")
List<GetSpaceOptimizeMidWellheadOutput> wellheadList;
}
package pps.core.space.service.data.space_optimize_mid_wellhead;
import lombok.Data;
import pps.core.space.service.data.space_optimize_mid_duration.GetSpaceOptimizeMidDurationOutput;
import xstartup.annotation.XText;
import java.util.Date;
import java.util.List;
/**
* 中短期间开优化井口记录
*
* @author ZWT
* @date 2023/09/07
*/
@Data
public class GetSpaceOptimizeMidWellheadOutput {
@XText("ID")
private String id;
@XText("是否删除(0_是;1_否)")
private Integer isDeleted;
@XText("创建人ID")
private String createById;
@XText("创建人名称")
private String createByName;
@XText("创建时间")
private Date createTime;
@XText("修改人ID")
private String modifyById;
@XText("修改人名称")
private String modifyByName;
@XText("修改时间")
private Date modifyTime;
@XText("中短期优化周期ID")
private String midPeriodId;
@XText("井口ID")
private String wellheadId;
@XText("井号")
private String wellNumber;
public String getId() {
return this.id;
}
public void setId(String value) {
this.id = value;
}
public Integer getIsDeleted() {
return this.isDeleted;
}
public void setIsDeleted(Integer value) {
this.isDeleted = value;
}
public String getCreateById() {
return this.createById;
}
public void setCreateById(String value) {
this.createById = value;
}
public String getCreateByName() {
return this.createByName;
}
public void setCreateByName(String value) {
this.createByName = value;
}
public Date getCreateTime() {
return this.createTime;
}
public void setCreateTime(Date value) {
this.createTime = value;
}
public String getModifyById() {
return this.modifyById;
}
public void setModifyById(String value) {
this.modifyById = value;
}
public String getModifyByName() {
return this.modifyByName;
}
public void setModifyByName(String value) {
this.modifyByName = value;
}
public Date getModifyTime() {
return this.modifyTime;
}
public void setModifyTime(Date value) {
this.modifyTime = value;
}
public String getMidPeriodId() {
return this.midPeriodId;
}
public void setMidPeriodId(String value) {
this.midPeriodId = value;
}
public String getWellheadId() {
return this.wellheadId;
}
public void setWellheadId(String value) {
this.wellheadId = value;
}
public String getWellNumber() {
return this.wellNumber;
}
public void setWellNumber(String value) {
this.wellNumber = value;
}
/**
* 井口配置
*/
@XText("井口配置")
private List<GetSpaceOptimizeMidDurationOutput> durationList;
}
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