Commit 19cbdf57 authored by ZWT's avatar ZWT

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

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 0405ef48
......@@ -51,7 +51,7 @@ public class EnergyConsumptionAnalysisService {
@XText("能耗分析--能耗概览")
@XApiAnonymous
@XApiGet
public XSingleResult<GetEnergyConsumptionAnalysisViewOutput> getEnergyConsumptionAnalysisView(XContext context, GetEnergyConsumptionAnalysisViewInput input) {
public XSingleResult<GetEnergyConsumptionAnalysisViewOutput> getEnergyConsumptionAnalysisView(XContext context, QueryEnergyConsumptionAnalysisInput input) {
//近7天:昨天开始前七天;近30天:昨天开始前30天;上期:所选周期往前推一个周期
GetEnergyConsumptionAnalysisViewOutput output = new GetEnergyConsumptionAnalysisViewOutput();
List<DynamicQueryBasePowerLineOutput> lineList = this.getBasePowerLineListByOuIdList(context, this.getOrgIdsByPath(context, input.getOuId()));
......@@ -60,11 +60,11 @@ public class EnergyConsumptionAnalysisService {
output.setPowerConsumption(BigDecimal.ZERO);
output.setAbsorptionRate(BigDecimal.ZERO);
} else {
input.getBetweenDate();
List<String> lineIdList = lineList.stream()
.map(DynamicQueryBasePowerLineOutput::getId)
.collect(Collectors.toList());
EnergyConsumptionAnalysisMapper mapper = context.getBean(EnergyConsumptionAnalysisMapper.class);
input.getBetweenDate();
EnergyConsumptionAnalysisEnt analysisEnt = mapper.selectOne(new QueryWrapper<EnergyConsumptionAnalysisEnt>()
.select("IFNULL( SUM( power_generation ), 0 ) AS power_generation",
"IFNULL( SUM( power_consumption ), 0 ) AS power_consumption")
......@@ -95,7 +95,7 @@ public class EnergyConsumptionAnalysisService {
@XText("能耗分析--绿电消纳/用电趋势")
@XApiAnonymous
@XApiGet
public XListResult<DynamicQueryEnergyConsumptionAnalysisViewOutput> queryEnergyConsumptionAnalysisList(XContext context, DynamicQueryEnergyConsumptionAnalysisInput input) {
public XListResult<DynamicQueryEnergyConsumptionAnalysisViewOutput> queryEnergyConsumptionAnalysisList(XContext context, QueryEnergyConsumptionAnalysisInput input) {
EnergyConsumptionAnalysisMapper mapper = context.getBean(EnergyConsumptionAnalysisMapper.class);
return XListResult.success();
}
......@@ -103,7 +103,7 @@ public class EnergyConsumptionAnalysisService {
@XApiAnonymous
@XApiGet
public XPageResult<QueryEnergyConsumptionAnalysisViewOutput> queryEnergyConsumptionAnalysisView(XContext context, QueryEnergyConsumptionAnalysisViewInput input) {
public XPageResult<QueryEnergyConsumptionAnalysisViewOutput> queryEnergyConsumptionAnalysisView(XContext context, QueryEnergyConsumptionAnalysisPageInput input) {
EnergyConsumptionAnalysisViewMapper mapper = context.getBean(EnergyConsumptionAnalysisViewMapper.class);
EnergyConsumptionAnalysisView record = new EnergyConsumptionAnalysisView();
XCopyUtils.copyObject(input, record);
......
package pps.core.prediction.service.data.energy_consumption_analysis;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import xstartup.annotation.XText;
import java.util.Date;
/**
* 能耗分析表(测试用)
*
* @author ZWT
* @date 2023/11/23
*/
@Data
public class DynamicQueryEnergyConsumptionAnalysisInput {
/**
* 组织机构ID
*/
@NotBlank(message = "缺少组织机构ID")
@XText("组织机构ID")
private String ouId;
/**
* 日期类型(1_近7天,2_近30天,3_自定义)
*/
@NotNull(message = "缺少日期类型")
@XText("日期类型(1_近7天,2_近30天,3_自定义)")
private Integer dateType;
/**
* 开始时间
*/
@XText("开始时间")
private Date startTime;
/**
* 结束时间
*/
@XText("结束时间")
private Date endTime;
}
package pps.core.prediction.service.data.energy_consumption_analysis;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import pps.core.prediction.enums.BusinessError;
import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import xstartup.base.exception.XServiceException;
import java.util.Date;
......@@ -15,7 +19,7 @@ import java.util.Date;
* @date 2023/11/23
*/
@Data
public class QueryEnergyConsumptionAnalysisViewInput extends XPageInput {
public class QueryEnergyConsumptionAnalysisPageInput extends XPageInput {
/**
* 组织机构ID
*/
......@@ -41,4 +45,27 @@ public class QueryEnergyConsumptionAnalysisViewInput extends XPageInput {
*/
@XText("结束时间")
private Date endTime;
/**
* 初始化开始结束日期
*/
public void getBetweenDate() {
switch (this.dateType) {
case 1:
this.endTime = DateUtil.beginOfDay(DateUtil.yesterday());
this.startTime = DateUtil.offsetDay(endTime, -6);
break;
case 2:
this.endTime = DateUtil.beginOfDay(DateUtil.yesterday());
this.startTime = DateUtil.offsetDay(endTime, -29);
break;
case 3:
if (ObjectUtil.isNull(this.endTime) || ObjectUtil.isNull(this.startTime)) {
throw new XServiceException(BusinessError.TheStartEndDateIsMissing);
}
break;
default:
throw new XServiceException(BusinessError.DateTypeError);
}
}
}
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