Commit ad41c4c6 authored by ZWT's avatar ZWT

feat(能源管理系统): 邮件接收

1.统计分析-能耗分析模块重构,删除原有接口及代码,新建能耗分析测试用数据表,生成相关代码并集成到项目中并上传git;
2.统计分析-能耗分析模块能耗概览接口开发,输电线路Cloud模块新增通过组织结构ID列表查询线路列表接口,完成能耗分析模块能耗概览接口业务逻辑开发,添加线上接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent f9253eb2
...@@ -52,6 +52,17 @@ public interface IBasePowerLineCloudService { ...@@ -52,6 +52,17 @@ public interface IBasePowerLineCloudService {
@XApiPost @XApiPost
XListResult<DynamicQueryBasePowerLineOutput> getBasePowerLineList(XContext context, DynamicQueryBasePowerLineInput input); XListResult<DynamicQueryBasePowerLineOutput> getBasePowerLineList(XContext context, DynamicQueryBasePowerLineInput input);
/**
* 输电线路配置Cloud模块--查询组织列表下所有线路
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult}<{@link DynamicQueryBasePowerLineOutput}>
*/
@XText("输电线路配置Cloud模块--查询组织列表下所有线路")
@XApiPost
XListResult<DynamicQueryBasePowerLineOutput> getBasePowerLineListByOuIdList(XContext context, DynamicQueryBasePowerLineInput input);
/** /**
* 输电线路配置Cloud模块--条件查询线路关联井口信息 * 输电线路配置Cloud模块--条件查询线路关联井口信息
* *
......
...@@ -29,6 +29,9 @@ public class DynamicQueryBasePowerLineInput { ...@@ -29,6 +29,9 @@ public class DynamicQueryBasePowerLineInput {
@XText("组织机构ID") @XText("组织机构ID")
private String ouId; private String ouId;
@XText("组织机构ID集合")
private List<String> ouIdList;
@XText("上级线路ID") @XText("上级线路ID")
private String upperLineId; private String upperLineId;
......
...@@ -18,6 +18,7 @@ public enum BusinessError implements XError { ...@@ -18,6 +18,7 @@ public enum BusinessError implements XError {
WellheadReferenceSpace(2006, "当前井口已被间开引用"), WellheadReferenceSpace(2006, "当前井口已被间开引用"),
WellNumberExists(2007, "井号已存在"), WellNumberExists(2007, "井号已存在"),
MakerNumberExists(2008, "出场编号已存在"), MakerNumberExists(2008, "出场编号已存在"),
Missing_Organization_ID(2009, "缺少组织ID"),
; ;
private int code; private int code;
......
...@@ -16,6 +16,7 @@ import pps.cloud.base.service.data.base_power_line_storage.DynamicQueryBasePower ...@@ -16,6 +16,7 @@ import pps.cloud.base.service.data.base_power_line_storage.DynamicQueryBasePower
import pps.cloud.base.service.data.base_power_line_wellhead.DynamicQueryBasePowerLineWellheadInput; 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_power_line_wellhead.DynamicQueryBasePowerLineWellheadViewOutput;
import pps.core.base.entity.*; import pps.core.base.entity.*;
import pps.core.base.enums.BusinessError;
import pps.core.base.mapper.*; import pps.core.base.mapper.*;
import pps.core.common.constant.BusinessConstant; import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel; import pps.core.common.entity.BaseModel;
...@@ -73,6 +74,7 @@ public class BasePowerLineCloudServiceImpl implements IBasePowerLineCloudService ...@@ -73,6 +74,7 @@ public class BasePowerLineCloudServiceImpl implements IBasePowerLineCloudService
BasePowerLineMapper mapper = context.getBean(BasePowerLineMapper.class); BasePowerLineMapper mapper = context.getBean(BasePowerLineMapper.class);
List<BasePowerLineEnt> selectList = mapper.selectList(new LambdaQueryWrapper<BasePowerLineEnt>() List<BasePowerLineEnt> selectList = mapper.selectList(new LambdaQueryWrapper<BasePowerLineEnt>()
.select(BaseModel::getId, BasePowerLineEnt::getLineName) .select(BaseModel::getId, BasePowerLineEnt::getLineName)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.in(CollUtil.isNotEmpty(lineIds), BaseModel::getId, lineIds) .in(CollUtil.isNotEmpty(lineIds), BaseModel::getId, lineIds)
.eq(StringUtils.isNotBlank(lineId), BaseModel::getId, lineId) .eq(StringUtils.isNotBlank(lineId), BaseModel::getId, lineId)
.eq(StringUtils.isNotBlank(ouId), BasePowerLineEnt::getOuId, ouId) .eq(StringUtils.isNotBlank(ouId), BasePowerLineEnt::getOuId, ouId)
...@@ -86,6 +88,28 @@ public class BasePowerLineCloudServiceImpl implements IBasePowerLineCloudService ...@@ -86,6 +88,28 @@ public class BasePowerLineCloudServiceImpl implements IBasePowerLineCloudService
return XListResult.success(XCopyUtils.copyNewList(selectList, DynamicQueryBasePowerLineOutput.class)); return XListResult.success(XCopyUtils.copyNewList(selectList, DynamicQueryBasePowerLineOutput.class));
} }
/**
* 输电线路配置Cloud模块--查询组织列表下所有线路
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult}<{@link DynamicQueryBasePowerLineOutput}>
*/
@Override
public XListResult<DynamicQueryBasePowerLineOutput> getBasePowerLineListByOuIdList(XContext context, DynamicQueryBasePowerLineInput input) {
List<String> ouIdList = input.getOuIdList();
if (CollUtil.isEmpty(ouIdList)) {
return XListResult.error(context, BusinessError.Missing_Organization_ID);
}
BasePowerLineMapper mapper = context.getBean(BasePowerLineMapper.class);
List<BasePowerLineEnt> selectList = mapper.selectList(new LambdaQueryWrapper<BasePowerLineEnt>()
.select(BaseModel::getId, BasePowerLineEnt::getLineName)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.in(BasePowerLineEnt::getOuId, ouIdList)
);
return XListResult.success(XCopyUtils.copyNewList(selectList, DynamicQueryBasePowerLineOutput.class));
}
/** /**
* 输电线路配置Cloud模块--条件查询线路关联井口信息 * 输电线路配置Cloud模块--条件查询线路关联井口信息
* *
......
package pps.core.prediction.enums;
import xstartup.error.XError;
/**
* 业务错误
*
* @author ZWT
* @date 2023/11/23
*/
public enum BusinessError implements XError {
DateTypeError(2200, "日期类型错误"),
;
private int code;
private String text;
BusinessError(int code, String text) {
this.code = code;
this.text = text;
}
@Override
public int getCode() {
return code;
}
@Override
public String getText() {
return text;
}
}
package pps.core.prediction.service; package pps.core.prediction.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput;
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.data.GetAllOuListByOuIdInput;
import pps.cloud.system.service.data.GetSysOrganizationViewOutput;
import pps.core.prediction.entity.EnergyConsumptionAnalysisEnt; import pps.core.prediction.entity.EnergyConsumptionAnalysisEnt;
import pps.core.prediction.entity.EnergyConsumptionAnalysisView; import pps.core.prediction.entity.EnergyConsumptionAnalysisView;
import pps.core.prediction.enums.BusinessError;
import pps.core.prediction.mapper.EnergyConsumptionAnalysisMapper; import pps.core.prediction.mapper.EnergyConsumptionAnalysisMapper;
import pps.core.prediction.mapper.EnergyConsumptionAnalysisViewMapper; import pps.core.prediction.mapper.EnergyConsumptionAnalysisViewMapper;
import pps.core.prediction.service.data.energy_consumption_analysis.*; import pps.core.prediction.service.data.energy_consumption_analysis.*;
...@@ -13,14 +23,18 @@ import xstartup.annotation.XText; ...@@ -13,14 +23,18 @@ import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.data.CustomQueryInput; import xstartup.base.data.CustomQueryInput;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
import xstartup.data.XListResult;
import xstartup.data.XPageResult; import xstartup.data.XPageResult;
import xstartup.data.XSingleResult; import xstartup.data.XSingleResult;
import xstartup.error.XError;
import xstartup.feature.api.annotation.XApiAnonymous; import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.mybatis.helper.XMapperHelper; import xstartup.feature.mybatis.helper.XMapperHelper;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 能耗分析模块(测试用) * 能耗分析模块(测试用)
...@@ -33,33 +47,80 @@ import java.util.List; ...@@ -33,33 +47,80 @@ import java.util.List;
@XService @XService
public class EnergyConsumptionAnalysisService { public class EnergyConsumptionAnalysisService {
/**
* 能耗分析--能耗概览
*
* @param context 上下文
* @param input 输入
* @return {@link XSingleResult}<{@link GetEnergyConsumptionAnalysisViewOutput}>
*/
@XText("能耗分析--能耗概览")
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiGet
public XSingleResult<GetEnergyConsumptionAnalysisOutput> getEnergyConsumptionAnalysis(XContext context, GetEnergyConsumptionAnalysisInput input) { public XSingleResult<GetEnergyConsumptionAnalysisViewOutput> getEnergyConsumptionAnalysisView(XContext context, GetEnergyConsumptionAnalysisViewInput input) {
Date endTime, startTime;
//近7天:昨天开始前七天;近30天:昨天开始前30天;上期:所选周期往前推一个周期
switch (input.getDateType()) {
case 1:
endTime = DateUtil.beginOfDay(DateTime.now());
startTime = DateUtil.offsetDay(endTime, -7);
break;
case 2:
endTime = DateUtil.beginOfDay(DateTime.now());
startTime = DateUtil.offsetDay(endTime, -30);
break;
case 3:
endTime = input.getEndTime();
startTime = input.getStartTime();
break;
default:
return XSingleResult.error(context, BusinessError.DateTypeError);
}
GetEnergyConsumptionAnalysisViewOutput output = new GetEnergyConsumptionAnalysisViewOutput();
List<DynamicQueryBasePowerLineOutput> lineList = this.getBasePowerLineListByOuIdList(context, this.getOrgIdsByPath(context, input.getOuId()));
if (CollUtil.isEmpty(lineList)) {
output.setPowerGeneration(BigDecimal.ZERO);
output.setPowerConsumption(BigDecimal.ZERO);
output.setAbsorptionRate(BigDecimal.ZERO);
} else {
List<String> lineIdList = lineList.stream()
.map(DynamicQueryBasePowerLineOutput::getId)
.collect(Collectors.toList());
EnergyConsumptionAnalysisMapper mapper = context.getBean(EnergyConsumptionAnalysisMapper.class); EnergyConsumptionAnalysisMapper mapper = context.getBean(EnergyConsumptionAnalysisMapper.class);
QueryWrapper<EnergyConsumptionAnalysisEnt> queryWrapper = new QueryWrapper<>(); EnergyConsumptionAnalysisEnt analysisEnt = mapper.selectOne(new QueryWrapper<EnergyConsumptionAnalysisEnt>()
queryWrapper.lambda().eq(EnergyConsumptionAnalysisEnt::getId, input.getId()); .select("IFNULL( SUM( power_generation ), 0 ) AS power_generation",
EnergyConsumptionAnalysisEnt entity = mapper.selectOne(queryWrapper); "IFNULL( SUM( power_consumption ), 0 ) AS power_consumption")
if (entity == null) { .lambda()
return XSingleResult.error(context, XError.NotFound); .in(EnergyConsumptionAnalysisEnt::getLineId, lineIdList)
.between(EnergyConsumptionAnalysisEnt::getDataDate, startTime, endTime)
);
output.setPowerGeneration(analysisEnt.getPowerGeneration());
output.setPowerConsumption(analysisEnt.getPowerConsumption());
//消纳率:光伏发电/累计用电*100%
if (analysisEnt.getPowerConsumption().compareTo(BigDecimal.ZERO) > 0) {
output.setAbsorptionRate(analysisEnt.getPowerGeneration().divide(analysisEnt.getPowerConsumption(), 4, RoundingMode.HALF_UP)
.multiply(new BigDecimal(100)));
} else {
output.setAbsorptionRate(BigDecimal.ZERO);
}
} }
GetEnergyConsumptionAnalysisOutput output = new GetEnergyConsumptionAnalysisOutput();
XCopyUtils.copyObject(entity, output);
return XSingleResult.success(output); return XSingleResult.success(output);
} }
@XApiAnonymous
@XApiGet //
public XPageResult<QueryEnergyConsumptionAnalysisOutput> queryEnergyConsumptionAnalysis(XContext context, QueryEnergyConsumptionAnalysisInput input) { // @XApiAnonymous
EnergyConsumptionAnalysisMapper mapper = context.getBean(EnergyConsumptionAnalysisMapper.class); // @XApiGet
QueryWrapper<EnergyConsumptionAnalysisEnt> queryWrapper = new QueryWrapper<>(); // public XPageResult<QueryEnergyConsumptionAnalysisOutput> queryEnergyConsumptionAnalysis(XContext context, QueryEnergyConsumptionAnalysisInput input) {
queryWrapper.lambda().eq(EnergyConsumptionAnalysisEnt::getId, input.getId()) // EnergyConsumptionAnalysisMapper mapper = context.getBean(EnergyConsumptionAnalysisMapper.class);
.like(EnergyConsumptionAnalysisEnt::getLineId, input.getLineId()) // QueryWrapper<EnergyConsumptionAnalysisEnt> queryWrapper = new QueryWrapper<>();
.eq(EnergyConsumptionAnalysisEnt::getPowerGeneration, input.getPowerGeneration()) // queryWrapper.lambda().eq(EnergyConsumptionAnalysisEnt::getId, input.getId())
.eq(EnergyConsumptionAnalysisEnt::getPowerConsumption, input.getPowerConsumption()) // .like(EnergyConsumptionAnalysisEnt::getLineId, input.getLineId())
.eq(EnergyConsumptionAnalysisEnt::getDataDate, input.getDataDate()); // .eq(EnergyConsumptionAnalysisEnt::getPowerGeneration, input.getPowerGeneration())
return XMapperHelper.query(mapper, input, queryWrapper, QueryEnergyConsumptionAnalysisOutput.class); // .eq(EnergyConsumptionAnalysisEnt::getPowerConsumption, input.getPowerConsumption())
} // .eq(EnergyConsumptionAnalysisEnt::getDataDate, input.getDataDate());
// return XMapperHelper.query(mapper, input, queryWrapper, QueryEnergyConsumptionAnalysisOutput.class);
// }
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiGet
...@@ -68,20 +129,6 @@ public class EnergyConsumptionAnalysisService { ...@@ -68,20 +129,6 @@ public class EnergyConsumptionAnalysisService {
return XMapperHelper.query(mapper, input, EnergyConsumptionAnalysisEnt.class, QueryEnergyConsumptionAnalysisOutput.class); return XMapperHelper.query(mapper, input, EnergyConsumptionAnalysisEnt.class, QueryEnergyConsumptionAnalysisOutput.class);
} }
@XApiAnonymous
@XApiGet
public XSingleResult<GetEnergyConsumptionAnalysisViewOutput> getEnergyConsumptionAnalysisView(XContext context, GetEnergyConsumptionAnalysisViewInput input) {
EnergyConsumptionAnalysisViewMapper mapper = context.getBean(EnergyConsumptionAnalysisViewMapper.class);
EnergyConsumptionAnalysisView record = new EnergyConsumptionAnalysisView();
XCopyUtils.copyObject(input, record);
EnergyConsumptionAnalysisView view = mapper.selectOne(record);
if (view == null) {
return XSingleResult.error(context, XError.NotFound);
}
GetEnergyConsumptionAnalysisViewOutput output = new GetEnergyConsumptionAnalysisViewOutput();
XCopyUtils.copyObject(view, output);
return XSingleResult.success(output);
}
@XApiAnonymous @XApiAnonymous
@XApiGet @XApiGet
...@@ -96,4 +143,39 @@ public class EnergyConsumptionAnalysisService { ...@@ -96,4 +143,39 @@ public class EnergyConsumptionAnalysisService {
return XPageResult.success(outputs, input, pageInfo.getTotal()); return XPageResult.success(outputs, input, pageInfo.getTotal());
} }
/*-----------------------------------private-----------------------------------*/
/**
* 获取所有path包含组织ID的组织
*
* @param context 上下文
* @param ouId ou id
* @return {@link List}<{@link String}>
*/
private List<String> getOrgIdsByPath(XContext context, String ouId) {
SysOrganizationCloudService organizationCloudService = context.getBean(SysOrganizationCloudService.class);
GetAllOuListByOuIdInput ouIdInput = new GetAllOuListByOuIdInput();
ouIdInput.setOuId(ouId);
XListResult<GetSysOrganizationViewOutput> allListByOuId = organizationCloudService.getAllListByOuId(context, ouIdInput);
allListByOuId.throwIfFail();
return allListByOuId.getResult().stream()
.map(GetSysOrganizationViewOutput::getId)
.collect(Collectors.toList());
}
/**
* 查询组织列表下所有线路
*
* @param context 上下文
* @param ouIdList ou-id列表
* @return {@link List}<{@link DynamicQueryBasePowerLineOutput}>
*/
private List<DynamicQueryBasePowerLineOutput> getBasePowerLineListByOuIdList(XContext context, List<String> ouIdList) {
IBasePowerLineCloudService basePowerLineCloudService = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineOutput> lineList = basePowerLineCloudService.getBasePowerLineListByOuIdList(context, DynamicQueryBasePowerLineInput.builder()
.ouIdList(ouIdList)
.build());
lineList.throwIfFail();
return lineList.getResult();
}
} }
package pps.core.prediction.service.data.energy_consumption_analysis; package pps.core.prediction.service.data.energy_consumption_analysis;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -14,18 +15,29 @@ import java.util.Date; ...@@ -14,18 +15,29 @@ import java.util.Date;
*/ */
@Data @Data
public class DynamicQueryEnergyConsumptionAnalysisInput { public class DynamicQueryEnergyConsumptionAnalysisInput {
@XText("ID") /**
private Long id; * 组织机构ID
*/
@XText("线路ID") @NotBlank(message = "缺少组织机构ID")
private String lineId; @XText("组织机构ID")
private String ouId;
@XText("发电量(kWh)") /**
private BigDecimal powerGeneration; * 日期类型(1_近7天,2_近30天,3_自定义)
*/
@NotNull(message = "缺少日期类型")
@XText("日期类型(1_近7天,2_近30天,3_自定义)")
private Integer dateType;
@XText("用电量(kWh)") /**
private BigDecimal powerConsumption; * 开始时间
*/
@XText("开始时间")
private Date startTime;
@XText("日期") /**
private Date dataDate; * 结束时间
*/
@XText("结束时间")
private Date endTime;
} }
package pps.core.prediction.service.data.energy_consumption_analysis;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
/**
* 能耗分析表(测试用)
*
* @author ZWT
* @date 2023/11/23
*/
@Data
public class GetEnergyConsumptionAnalysisInput {
@XText("ID")
private Long id;
@XText("线路ID")
private String lineId;
@XText("发电量(kWh)")
private BigDecimal powerGeneration;
@XText("用电量(kWh)")
private BigDecimal powerConsumption;
@XText("日期")
private Date dataDate;
}
package pps.core.prediction.service.data.energy_consumption_analysis;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
/**
* 能耗分析表(测试用)
*
* @author ZWT
* @date 2023/11/23
*/
@Data
public class GetEnergyConsumptionAnalysisOutput {
@XText("ID")
private Long id;
@XText("线路ID")
private String lineId;
@XText("发电量(kWh)")
private BigDecimal powerGeneration;
@XText("用电量(kWh)")
private BigDecimal powerConsumption;
@XText("日期")
private Date dataDate;
}
package pps.core.prediction.service.data.energy_consumption_analysis; package pps.core.prediction.service.data.energy_consumption_analysis;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -14,18 +15,29 @@ import java.util.Date; ...@@ -14,18 +15,29 @@ import java.util.Date;
*/ */
@Data @Data
public class GetEnergyConsumptionAnalysisViewInput { public class GetEnergyConsumptionAnalysisViewInput {
@XText("ID") /**
private Long id; * 组织机构ID
*/
@XText("线路ID") @NotBlank(message = "缺少组织机构ID")
private String lineId; @XText("组织机构ID")
private String ouId;
@XText("发电量(kWh)") /**
private BigDecimal powerGeneration; * 日期类型(1_近7天,2_近30天,3_自定义)
*/
@NotNull(message = "缺少日期类型")
@XText("日期类型(1_近7天,2_近30天,3_自定义)")
private Integer dateType;
@XText("用电量(kWh)") /**
private BigDecimal powerConsumption; * 开始时间
*/
@XText("开始时间")
private Date startTime;
@XText("日期") /**
private Date dataDate; * 结束时间
*/
@XText("结束时间")
private Date endTime;
} }
...@@ -4,7 +4,6 @@ import lombok.Data; ...@@ -4,7 +4,6 @@ import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* 能耗分析表(测试用) * 能耗分析表(测试用)
...@@ -14,11 +13,6 @@ import java.util.Date; ...@@ -14,11 +13,6 @@ import java.util.Date;
*/ */
@Data @Data
public class GetEnergyConsumptionAnalysisViewOutput { public class GetEnergyConsumptionAnalysisViewOutput {
@XText("ID")
private Long id;
@XText("线路ID")
private String lineId;
@XText("发电量(kWh)") @XText("发电量(kWh)")
private BigDecimal powerGeneration; private BigDecimal powerGeneration;
...@@ -26,6 +20,6 @@ public class GetEnergyConsumptionAnalysisViewOutput { ...@@ -26,6 +20,6 @@ public class GetEnergyConsumptionAnalysisViewOutput {
@XText("用电量(kWh)") @XText("用电量(kWh)")
private BigDecimal powerConsumption; private BigDecimal powerConsumption;
@XText("日期") @XText("消纳率")
private Date dataDate; private BigDecimal absorptionRate;
} }
package pps.core.prediction.service.data.energy_consumption_analysis; package pps.core.prediction.service.data.energy_consumption_analysis;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput; import xstartup.base.data.XPageInput;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -15,18 +16,29 @@ import java.util.Date; ...@@ -15,18 +16,29 @@ import java.util.Date;
*/ */
@Data @Data
public class QueryEnergyConsumptionAnalysisInput extends XPageInput { public class QueryEnergyConsumptionAnalysisInput extends XPageInput {
@XText("ID") /**
private Long id; * 组织机构ID
*/
@XText("线路ID") @NotBlank(message = "缺少组织机构ID")
private String lineId; @XText("组织机构ID")
private String ouId;
@XText("发电量(kWh)") /**
private BigDecimal powerGeneration; * 日期类型(1_近7天,2_近30天,3_自定义)
*/
@NotNull(message = "缺少日期类型")
@XText("日期类型(1_近7天,2_近30天,3_自定义)")
private Integer dateType;
@XText("用电量(kWh)") /**
private BigDecimal powerConsumption; * 开始时间
*/
@XText("开始时间")
private Date startTime;
@XText("日期") /**
private Date dataDate; * 结束时间
*/
@XText("结束时间")
private Date endTime;
} }
package pps.core.prediction.service.data.energy_consumption_analysis; package pps.core.prediction.service.data.energy_consumption_analysis;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.data.XPageInput; import xstartup.base.data.XPageInput;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -15,18 +16,29 @@ import java.util.Date; ...@@ -15,18 +16,29 @@ import java.util.Date;
*/ */
@Data @Data
public class QueryEnergyConsumptionAnalysisViewInput extends XPageInput { public class QueryEnergyConsumptionAnalysisViewInput extends XPageInput {
@XText("ID") /**
private Long id; * 组织机构ID
*/
@XText("线路ID") @NotBlank(message = "缺少组织机构ID")
private String lineId; @XText("组织机构ID")
private String ouId;
@XText("发电量(kWh)") /**
private BigDecimal powerGeneration; * 日期类型(1_近7天,2_近30天,3_自定义)
*/
@NotNull(message = "缺少日期类型")
@XText("日期类型(1_近7天,2_近30天,3_自定义)")
private Integer dateType;
@XText("用电量(kWh)") /**
private BigDecimal powerConsumption; * 开始时间
*/
@XText("开始时间")
private Date startTime;
@XText("日期") /**
private Date dataDate; * 结束时间
*/
@XText("结束时间")
private Date endTime;
} }
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