Commit 403244f7 authored by ZWT's avatar ZWT

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

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent a6aa2601
......@@ -16,13 +16,13 @@ import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
/**
* 输电线路配置
* 输电线路配置Cloud模块
*
* @author ZWT
* @date 2023/09/05 15:34
*/
@XService
@XText("输电线路配置模块")
@XText("输电线路配置Cloud模块")
public interface IBasePowerLineCloudService {
/**
......
package pps.cloud.base.service;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
/**
* 市电峰谷配置Cloud模块
*
* @author ZWT
* @date 2023/09/07 14:50
*/
@XService
@XText("市电峰谷配置Cloud模块")
public interface IBasePriceStrategyCloudService {
/**
* 市电峰谷策略--策略配置详情列表
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult}<{@link GetBasePriceStrategyDetailOutput}>
*/
@XApiAnonymous
@XApiGet
@XText("市电峰谷策略--策略配置详情列表")
XListResult<GetBasePriceStrategyDetailOutput> queryStrategyDetailList(XContext context, GetBasePriceStrategyDetailInput input);
}
package pps.cloud.base.service.data.base_price_strategy_detail;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText;
/**
* 策略配置详情
*
* @author ZWT
* @date 2023/08/25
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GetBasePriceStrategyDetailInput {
@XText("市电峰谷月")
private String strategyMonth;
@XText("开始时间")
private String lineId;
}
package pps.cloud.base.service.data.base_price_strategy_detail;
import lombok.Data;
import xstartup.annotation.XText;
/**
* 策略配置详情
*
* @author ZWT
* @date 2023/08/25
*/
@Data
public class GetBasePriceStrategyDetailOutput {
@XText("市电峰谷月")
private String strategyMonth;
@XText("时段类型key(字典获取)")
private String periodTypeKey;
@XText("开始时间")
private String startTime;
@XText("结束时间")
private String endTime;
}
......@@ -25,7 +25,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* 输电线路配置模块
* 输电线路配置Cloud模块
*
* @author ZWT
* @date 2023/09/05 15:37
......
package pps.core.base.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.base.service.IBasePriceStrategyCloudService;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.core.base.entity.BasePriceStrategyDetailEnt;
import pps.core.base.mapper.BasePriceStrategyDetailMapper;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils;
import xstartup.data.XListResult;
import java.util.List;
/**
* 市电峰谷配置Cloud模块
*
* @author ZWT
* @date 2023/09/07 14:52
*/
@XService
public class BasePriceStrategyCloudServiceImpl implements IBasePriceStrategyCloudService {
/**
* 市电峰谷策略--策略配置详情列表
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult}<{@link GetBasePriceStrategyDetailOutput}>
*/
@Override
public XListResult<GetBasePriceStrategyDetailOutput> queryStrategyDetailList(XContext context, GetBasePriceStrategyDetailInput input) {
//查明细
BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.class);
List<BasePriceStrategyDetailEnt> detailList = detailMapper.selectList(
new LambdaQueryWrapper<BasePriceStrategyDetailEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(BasePriceStrategyDetailEnt::getStrategyMonth, input.getStrategyMonth())
.apply("strategy_id = ( SELECT strategy_id FROM base_power_line WHERE id = {0} ) ", input.getLineId())
.orderByAsc(BasePriceStrategyDetailEnt::getStartTime)
);
return XListResult.success(XCopyUtils.copyNewList(detailList, GetBasePriceStrategyDetailOutput.class));
}
}
......@@ -5,16 +5,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.common.entity.BaseModel;
import pps.core.space.entity.SpaceOptimizeLongDurationEnt;
import pps.core.space.entity.SpaceOptimizeLongPeriodEnt;
import pps.core.space.entity.SpaceOptimizeLongPeriodView;
import pps.core.space.entity.SpaceOptimizeLongWellheadEnt;
import pps.core.space.mapper.SpaceOptimizeLongDurationMapper;
import pps.core.space.mapper.SpaceOptimizeLongPeriodMapper;
import pps.core.space.mapper.SpaceOptimizeLongPeriodViewMapper;
import pps.core.space.mapper.SpaceOptimizeLongWellheadMapper;
import pps.core.space.entity.*;
import pps.core.space.mapper.*;
import pps.core.space.service.data.space_optimize_long_duration.GetSpaceOptimizeLongDurationOutput;
import pps.core.space.service.data.space_optimize_long_period.*;
import pps.core.space.service.data.space_optimize_long_wellhead.GetSpaceOptimizeLongWellheadOutput;
......@@ -33,10 +29,7 @@ import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import xstartup.feature.mybatis.helper.XMapperHelper;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -102,6 +95,19 @@ public class SpaceOptimizeLongPeriodService {
return XSingleResult.error(context, XError.NotFound);
}
GetSpaceOptimizeLongPeriodViewOutput output = XCopyUtils.copyNewObject(period, GetSpaceOptimizeLongPeriodViewOutput.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()));
}
//查井口列表
SpaceOptimizeLongWellheadMapper wellheadMapper = context.getBean(SpaceOptimizeLongWellheadMapper.class);
List<SpaceOptimizeLongWellheadEnt> wellheadList = wellheadMapper.selectList(new LambdaQueryWrapper<SpaceOptimizeLongWellheadEnt>()
......
package pps.core.space.service.data.space_optimize_long_period;
import lombok.Data;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.core.space.service.data.space_optimize_long_wellhead.GetSpaceOptimizeLongWellheadOutput;
import xstartup.annotation.XText;
......@@ -39,4 +40,10 @@ public class GetSpaceOptimizeLongPeriodViewOutput {
*/
@XText("井口信息")
List<GetSpaceOptimizeLongWellheadOutput> wellheadList;
/**
* 策略配置列表
*/
@XText("策略配置列表")
List<GetBasePriceStrategyDetailOutput> strategyDetailList;
}
package pps.core.space.utils;
import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.IBasePriceStrategyCloudService;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput;
import pps.cloud.base.service.data.base_power_line.GetBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.GetBasePowerLineViewOutput;
import pps.cloud.base.service.data.base_power_line_wellhead.DynamicQueryBasePowerLineWellheadInput;
import pps.cloud.base.service.data.base_power_line_wellhead.DynamicQueryBasePowerLineWellheadViewOutput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.SystemAreaService;
import pps.cloud.system.service.SystemDictionaryService;
......@@ -168,4 +171,18 @@ public class ServiceUtil {
result.throwIfFail();
return result.getResult();
}
/**
* 条件查询策略配置详情列表
*
* @param context 上下文
* @param input 输入
* @return {@link List}<{@link GetBasePriceStrategyDetailOutput}>
*/
public static List<GetBasePriceStrategyDetailOutput> getStrategyDetailList(XContext context, GetBasePriceStrategyDetailInput input) {
IBasePriceStrategyCloudService service = context.getBean(IBasePriceStrategyCloudService.class);
XListResult<GetBasePriceStrategyDetailOutput> result = service.queryStrategyDetailList(context, input);
result.throwIfFail();
return result.getResult();
}
}
\ No newline at end of file
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