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 {
@XApiPost
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模块--条件查询线路关联井口信息
*
......
......@@ -29,6 +29,9 @@ public class DynamicQueryBasePowerLineInput {
@XText("组织机构ID")
private String ouId;
@XText("组织机构ID集合")
private List<String> ouIdList;
@XText("上级线路ID")
private String upperLineId;
......
......@@ -18,6 +18,7 @@ public enum BusinessError implements XError {
WellheadReferenceSpace(2006, "当前井口已被间开引用"),
WellNumberExists(2007, "井号已存在"),
MakerNumberExists(2008, "出场编号已存在"),
Missing_Organization_ID(2009, "缺少组织ID"),
;
private int code;
......
......@@ -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.DynamicQueryBasePowerLineWellheadViewOutput;
import pps.core.base.entity.*;
import pps.core.base.enums.BusinessError;
import pps.core.base.mapper.*;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
......@@ -73,6 +74,7 @@ public class BasePowerLineCloudServiceImpl implements IBasePowerLineCloudService
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(CollUtil.isNotEmpty(lineIds), BaseModel::getId, lineIds)
.eq(StringUtils.isNotBlank(lineId), BaseModel::getId, lineId)
.eq(StringUtils.isNotBlank(ouId), BasePowerLineEnt::getOuId, ouId)
......@@ -86,6 +88,28 @@ public class BasePowerLineCloudServiceImpl implements IBasePowerLineCloudService
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模块--条件查询线路关联井口信息
*
......
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.data.energy_consumption_analysis;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
/**
......@@ -14,18 +15,29 @@ import java.util.Date;
*/
@Data
public class DynamicQueryEnergyConsumptionAnalysisInput {
@XText("ID")
private Long id;
@XText("线路ID")
private String lineId;
/**
* 组织机构ID
*/
@NotBlank(message = "缺少组织机构ID")
@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;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
/**
......@@ -14,18 +15,29 @@ import java.util.Date;
*/
@Data
public class GetEnergyConsumptionAnalysisViewInput {
@XText("ID")
private Long id;
@XText("线路ID")
private String lineId;
/**
* 组织机构ID
*/
@NotBlank(message = "缺少组织机构ID")
@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;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
/**
* 能耗分析表(测试用)
......@@ -14,11 +13,6 @@ import java.util.Date;
*/
@Data
public class GetEnergyConsumptionAnalysisViewOutput {
@XText("ID")
private Long id;
@XText("线路ID")
private String lineId;
@XText("发电量(kWh)")
private BigDecimal powerGeneration;
......@@ -26,6 +20,6 @@ public class GetEnergyConsumptionAnalysisViewOutput {
@XText("用电量(kWh)")
private BigDecimal powerConsumption;
@XText("日期")
private Date dataDate;
@XText("消纳率")
private BigDecimal absorptionRate;
}
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 xstartup.base.data.XPageInput;
import java.math.BigDecimal;
import java.util.Date;
/**
......@@ -15,18 +16,29 @@ import java.util.Date;
*/
@Data
public class QueryEnergyConsumptionAnalysisInput extends XPageInput {
@XText("ID")
private Long id;
@XText("线路ID")
private String lineId;
/**
* 组织机构ID
*/
@NotBlank(message = "缺少组织机构ID")
@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 jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import java.math.BigDecimal;
import java.util.Date;
/**
......@@ -15,18 +16,29 @@ import java.util.Date;
*/
@Data
public class QueryEnergyConsumptionAnalysisViewInput extends XPageInput {
@XText("ID")
private Long id;
@XText("线路ID")
private String lineId;
/**
* 组织机构ID
*/
@NotBlank(message = "缺少组织机构ID")
@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