Commit b89ff5ab authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.长庆演示首页功能开发,新增查询井场/场站列表接口,添加接口文档并完成接口冒烟测试;
2.长庆演示首页功能开发,新增总览信息统计接口,添加接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 5bb3e18c
package pps.cloud.base.service;
import pps.cloud.base.service.data.base_energy_storage_device.DynamicQueryBaseEnergyStorageDeviceInput;
import pps.cloud.base.service.data.base_energy_storage_device.DynamicQueryBaseEnergyStorageDeviceOutput;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.data.XListResult;
/**
* 储能电站Cloud模块
*
* @author ZWT
* @date 2024/03/25 20:48
*/
@XService
@XText("储能电站Cloud模块")
public interface IBaseEnergyStorageCloudService {
/**
* 条件查询储能电站信息
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult}<{@link DynamicQueryBaseEnergyStorageDeviceOutput}>
*/
@XText("储能电站Cloud模块--条件查询储能电站信息")
XListResult<DynamicQueryBaseEnergyStorageDeviceOutput> queryBaseStorageListByParam(XContext context, DynamicQueryBaseEnergyStorageDeviceInput input);
}
......@@ -18,8 +18,6 @@ import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.data.XSingleResult;
import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
/**
* 输电线路配置Cloud模块
......@@ -39,7 +37,6 @@ public interface IBasePowerLineCloudService {
* @return {@link XSingleResult}<{@link GetBasePowerLineViewOutput}>
*/
@XText("输电线路配置Cloud模块--通过ID查询线路基本信息")
@XApiGet
XSingleResult<GetBasePowerLineViewOutput> getBasePowerLineById(XContext context, GetBasePowerLineInput input);
/**
......@@ -50,7 +47,6 @@ public interface IBasePowerLineCloudService {
* @return {@link XListResult}<{@link DynamicQueryBasePowerLineOutput}>
*/
@XText("输电线路配置Cloud模块--条件查询线路基本信息列表")
@XApiPost
XListResult<DynamicQueryBasePowerLineOutput> getBasePowerLineList(XContext context, DynamicQueryBasePowerLineInput input);
/**
......@@ -61,7 +57,6 @@ public interface IBasePowerLineCloudService {
* @return {@link XListResult}<{@link DynamicQueryBasePowerLineOutput}>
*/
@XText("输电线路配置Cloud模块--查询组织列表下所有线路")
@XApiPost
XListResult<DynamicQueryBasePowerLineOutput> getBasePowerLineListByOuIdList(XContext context, DynamicQueryBasePowerLineInput input);
/**
......@@ -72,7 +67,6 @@ public interface IBasePowerLineCloudService {
* @return {@link XListResult}<{@link DynamicQueryBasePowerLineWellheadViewOutput}>
*/
@XText("输电线路配置Cloud模块--条件查询线路关联井口信息")
@XApiPost
XListResult<DynamicQueryBasePowerLineWellheadViewOutput> getPowerLineWellheadList(XContext context, DynamicQueryBasePowerLineWellheadInput input);
/**
......@@ -83,7 +77,6 @@ public interface IBasePowerLineCloudService {
* @return {@link XListResult}<{@link DynamicQueryBasePowerLinePlantOutput}>
*/
@XText("输电线路配置Cloud模块--条件查询线路关联电站信息")
@XApiPost
XListResult<DynamicQueryBasePowerLinePlantOutput> queryPowerLinePlantListByParam(XContext context, DynamicQueryBasePowerLinePlantInput input);
/**
......@@ -94,7 +87,6 @@ public interface IBasePowerLineCloudService {
* @return {@link XListResult}<{@link DynamicQueryBasePowerLineStorageViewOutput}>
*/
@XText("输电线路配置Cloud模块--条件查询线路关联储能设备参数平均值")
@XApiPost
XListResult<DynamicQueryBasePowerLineStorageViewOutput> queryPowerLineStorageAvgByLineIds(XContext context, DynamicQueryBasePowerLineStorageInput input);
/**
......@@ -105,7 +97,6 @@ public interface IBasePowerLineCloudService {
* @return {@link XListResult}<{@link DynamicQueryBasePowerLineStorageOutput}>
*/
@XText("输电线路配置Cloud模块--条件查询线路关联储能设备信息")
@XApiPost
XListResult<DynamicQueryBasePowerLineStorageOutput> queryPowerLineStorageListByLineIds(XContext context, DynamicQueryBasePowerLineStorageInput input);
/**
......@@ -116,6 +107,5 @@ public interface IBasePowerLineCloudService {
* @return {@link XSingleResult}<{@link GetBasePowerLineWellheadViewOutput}>
*/
@XText("输电线路配置Cloud模块--查询线路井口运行总功率")
@XApiPost
XSingleResult<GetBasePowerLineWellheadViewOutput> queryLineSumServiceRatingByLineId(XContext context, DynamicQueryBasePowerLineWellheadInput input);
}
package pps.core.base.service.data.base_energy_storage_device;
package pps.cloud.base.service.data.base_energy_storage_device;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
/**
* 储能电站
*
* @author ZWT
* @date 2024/03/25
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class DynamicQueryBaseEnergyStorageDeviceInput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
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 ouId;
......@@ -57,6 +48,4 @@ public class DynamicQueryBaseEnergyStorageDeviceInput {
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
package pps.core.base.service.data.base_energy_storage_device;
package pps.cloud.base.service.data.base_energy_storage_device;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
/**
* 储能电站
*
* @author ZWT
* @date 2024/03/25
*/
@Data
public class DynamicQueryBaseEnergyStorageDeviceOutput {
@XText("ID")
......@@ -57,6 +64,4 @@ public class DynamicQueryBaseEnergyStorageDeviceOutput {
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
......@@ -28,4 +28,7 @@ public class DynamicQueryBaseWellheadInput {
@XText("井号名称集合")
private List<String> wellNumbers;
@XText("组织ID")
private String ouId;
}
......@@ -4,6 +4,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
import pps.core.base.entity.BaseEnergyStorageDeviceEnt;
@Repository(value="pps.core.base.mapper.BaseEnergyStorageDeviceMapper")
/**
* 储能电站
*
* @author ZWT
* @date 2024/03/25
*/
@Repository(value = "pps.core.base.mapper.BaseEnergyStorageDeviceMapper")
public interface BaseEnergyStorageDeviceMapper extends BaseMapper<BaseEnergyStorageDeviceEnt> {
}
package pps.core.base.service;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.base.service.IBaseEnergyStorageCloudService;
import pps.cloud.base.service.data.base_energy_storage_device.DynamicQueryBaseEnergyStorageDeviceInput;
import pps.cloud.base.service.data.base_energy_storage_device.DynamicQueryBaseEnergyStorageDeviceOutput;
import pps.core.base.entity.BaseEnergyStorageDeviceEnt;
import pps.core.base.mapper.BaseEnergyStorageDeviceMapper;
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 2024/03/25 20:54
*/
@XService
public class BaseEnergyStorageCloudServiceImpl implements IBaseEnergyStorageCloudService {
/**
* 条件查询储能电站列表
*
* @param context 上下文
* @param input 输入
* @return {@link XListResult}<{@link DynamicQueryBaseEnergyStorageDeviceOutput}>
*/
@Override
public XListResult<DynamicQueryBaseEnergyStorageDeviceOutput> queryBaseStorageListByParam(XContext context, DynamicQueryBaseEnergyStorageDeviceInput input) {
String ouId = input.getOuId();
BaseEnergyStorageDeviceMapper mapper = context.getBean(BaseEnergyStorageDeviceMapper.class);
List<BaseEnergyStorageDeviceEnt> list = mapper.selectList(new LambdaQueryWrapper<BaseEnergyStorageDeviceEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(CharSequenceUtil.isNotBlank(ouId), BaseEnergyStorageDeviceEnt::getOuId, ouId)
);
return XListResult.success(XCopyUtils.copyNewList(list, DynamicQueryBaseEnergyStorageDeviceOutput.class));
}
}
package pps.core.base.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
......@@ -16,7 +16,6 @@ import xstartup.base.util.XCopyUtils;
import xstartup.data.XListResult;
import xstartup.data.XSingleResult;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -40,24 +39,20 @@ public class BaseWellheadCloudServiceImpl implements IBaseWellheadCloudService {
String wellheadId = input.getWellheadId();
List<String> wellheadIds = input.getWellheadIds();
List<String> wellNumbers = input.getWellNumbers();
String ouId = input.getOuId();
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
List<BaseWellheadEnt> list = mapper.selectList(
new LambdaQueryWrapper<BaseWellheadEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(StringUtils.isNotBlank(wellheadId), BaseModel::getId, wellheadId)
.eq(CharSequenceUtil.isNotBlank(wellheadId), BaseModel::getId, wellheadId)
.eq(CharSequenceUtil.isNotBlank(ouId), BaseWellheadEnt::getOuId, ouId)
.in(CollUtil.isNotEmpty(wellheadIds), BaseModel::getId, wellheadIds)
.in(CollUtil.isNotEmpty(wellNumbers), BaseWellheadEnt::getWellNumber, wellNumbers)
);
List<DynamicQueryBaseWellheadOutput> outputs;
if (CollUtil.isEmpty(list)) {
outputs = new ArrayList<>(0);
} else {
outputs = XCopyUtils.copyNewList(
return XListResult.success(XCopyUtils.copyNewList(
list,
DynamicQueryBaseWellheadOutput.class
);
}
return XListResult.success(outputs);
));
}
/**
......
package pps.core.base.service.data.base_energy_storage_device;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class CreateBaseEnergyStorageDeviceOutput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
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 ouId;
@XText("组织机构name")
private String ouName;
@XText("设备名称")
private String deviceName;
@XText("出厂编号")
private String makerNumber;
@XText("储能设备规格型号key(字典获取)")
private String storageModelKey;
@XText("储能设备规格型号name(字典获取)")
private String storageModelName;
@XText("设备容量(KWh)")
private BigDecimal apparatusCapacity;
@XText("额定放电功率(KW)")
private BigDecimal ratedDischargePower;
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
package pps.core.base.service.data.base_energy_storage_device;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class DeleteBaseEnergyStorageDeviceOutput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
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 ouId;
@XText("组织机构name")
private String ouName;
@XText("设备名称")
private String deviceName;
@XText("出厂编号")
private String makerNumber;
@XText("储能设备规格型号key(字典获取)")
private String storageModelKey;
@XText("储能设备规格型号name(字典获取)")
private String storageModelName;
@XText("设备容量(KWh)")
private BigDecimal apparatusCapacity;
@XText("额定放电功率(KW)")
private BigDecimal ratedDischargePower;
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
package pps.core.base.service.data.base_energy_storage_device;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class DynamicQueryBaseEnergyStorageDeviceViewOutput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
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 ouId;
@XText("组织机构name")
private String ouName;
@XText("设备名称")
private String deviceName;
@XText("出厂编号")
private String makerNumber;
@XText("储能设备规格型号key(字典获取)")
private String storageModelKey;
@XText("储能设备规格型号name(字典获取)")
private String storageModelName;
@XText("设备容量(KWh)")
private BigDecimal apparatusCapacity;
@XText("额定放电功率(KW)")
private BigDecimal ratedDischargePower;
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
......@@ -6,6 +6,13 @@ import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
/**
* 储能电站
*
* @author ZWT
* @date 2024/03/25
*/
@Data
public class GetBaseEnergyStorageDeviceOutput {
@XText("ID")
......
package pps.core.base.service.data.base_energy_storage_device;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class GetBaseEnergyStorageDeviceViewInput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
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 ouId;
@XText("组织机构name")
private String ouName;
@XText("设备名称")
private String deviceName;
@XText("出厂编号")
private String makerNumber;
@XText("储能设备规格型号key(字典获取)")
private String storageModelKey;
@XText("储能设备规格型号name(字典获取)")
private String storageModelName;
@XText("设备容量(KWh)")
private BigDecimal apparatusCapacity;
@XText("额定放电功率(KW)")
private BigDecimal ratedDischargePower;
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
package pps.core.base.service.data.base_energy_storage_device;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class GetBaseEnergyStorageDeviceViewOutput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
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 ouId;
@XText("组织机构name")
private String ouName;
@XText("设备名称")
private String deviceName;
@XText("出厂编号")
private String makerNumber;
@XText("储能设备规格型号key(字典获取)")
private String storageModelKey;
@XText("储能设备规格型号name(字典获取)")
private String storageModelName;
@XText("设备容量(KWh)")
private BigDecimal apparatusCapacity;
@XText("额定放电功率(KW)")
private BigDecimal ratedDischargePower;
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
package pps.core.base.service.data.base_energy_storage_device;
import lombok.Data;
import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class QueryBaseEnergyStorageDeviceViewInput extends XPageInput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
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 ouId;
@XText("组织机构name")
private String ouName;
@XText("设备名称")
private String deviceName;
@XText("出厂编号")
private String makerNumber;
@XText("储能设备规格型号key(字典获取)")
private String storageModelKey;
@XText("储能设备规格型号name(字典获取)")
private String storageModelName;
@XText("设备容量(KWh)")
private BigDecimal apparatusCapacity;
@XText("额定放电功率(KW)")
private BigDecimal ratedDischargePower;
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
package pps.core.base.service.data.base_energy_storage_device;
import lombok.Data;
import xstartup.annotation.XText;
import xstartup.base.data.XPageInput;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class QueryBaseEnergyStorageDeviceViewOutput extends XPageInput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
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 ouId;
@XText("组织机构name")
private String ouName;
@XText("设备名称")
private String deviceName;
@XText("出厂编号")
private String makerNumber;
@XText("储能设备规格型号key(字典获取)")
private String storageModelKey;
@XText("储能设备规格型号name(字典获取)")
private String storageModelName;
@XText("设备容量(KWh)")
private BigDecimal apparatusCapacity;
@XText("额定放电功率(KW)")
private BigDecimal ratedDischargePower;
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
package pps.core.base.service.data.base_energy_storage_device;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class UpdateBaseEnergyStorageDeviceOutput {
@XText("ID")
private String id;
@XText("是否删除(1_是;0_否)")
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 ouId;
@XText("组织机构name")
private String ouName;
@XText("设备名称")
private String deviceName;
@XText("出厂编号")
private String makerNumber;
@XText("储能设备规格型号key(字典获取)")
private String storageModelKey;
@XText("储能设备规格型号name(字典获取)")
private String storageModelName;
@XText("设备容量(KWh)")
private BigDecimal apparatusCapacity;
@XText("额定放电功率(KW)")
private BigDecimal ratedDischargePower;
@XText("额定充电功率(KW)")
private BigDecimal ratedChargingPower;
}
......@@ -2,19 +2,31 @@ package pps.core.prediction.service;
import cn.hutool.core.text.CharSequenceUtil;
import pps.cloud.base.service.BasePhotovoltaicPlantCloudService;
import pps.cloud.base.service.IBaseEnergyStorageCloudService;
import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.data.base_energy_storage_device.DynamicQueryBaseEnergyStorageDeviceInput;
import pps.cloud.base.service.data.base_energy_storage_device.DynamicQueryBaseEnergyStorageDeviceOutput;
import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudInput;
import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudOutput;
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_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.data.GetSysOrganizationViewOutput;
import pps.core.prediction.service.data.home_page.GetOverviewViewOutput;
import pps.core.prediction.service.data.home_page.GetStationViewInput;
import pps.core.prediction.service.data.home_page.GetStationViewOutput;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.data.XSingleResult;
import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
......@@ -55,13 +67,9 @@ public class HomePageService {
});
} else {
//查电站
BasePhotovoltaicPlantCloudService service = context.getBean(BasePhotovoltaicPlantCloudService.class);
XListResult<GetBasePhotovoltaicPlantCloudOutput> result = service.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
.ouId(stationId)
.build());
result.throwIfFail();
outputs = new ArrayList<>(result.getResult().size());
result.getResult().forEach(item -> {
List<GetBasePhotovoltaicPlantCloudOutput> plantList = this.getPlantList(context, stationId);
outputs = new ArrayList<>(plantList.size());
plantList.forEach(item -> {
GetStationViewOutput output = new GetStationViewOutput();
output.setStationId(item.getId());
output.setStationName(item.getStationName());
......@@ -75,4 +83,103 @@ public class HomePageService {
}
return XListResult.success(outputs);
}
/**
* 首页模块--总览
*
* @param context 上下文
* @param input 输入
* @return {@link XSingleResult}<{@link GetOverviewViewOutput}>
*/
@XApiAnonymous
@XText("首页模块--总览")
@XApiGet
public XSingleResult<GetOverviewViewOutput> getOverview(XContext context, GetStationViewInput input) {
String stationId = input.getStationId();
List<DynamicQueryBaseWellheadOutput> wellList = this.getWellList(context, stationId);
List<GetBasePhotovoltaicPlantCloudOutput> plantList = this.getPlantList(context, stationId);
List<DynamicQueryBasePowerLineOutput> lineList = this.getLineList(context, stationId);
List<DynamicQueryBaseEnergyStorageDeviceOutput> storageList = this.getStorageList(context, stationId);
return XSingleResult.success(GetOverviewViewOutput.builder()
.wellNumber(wellList.size())
.stationNumber(plantList.size())
.lineNumber(lineList.size())
.operatingLoad(wellList.stream()
.map(DynamicQueryBaseWellheadOutput::getServiceRating)
.reduce(BigDecimal.ZERO, BigDecimal::add))
.photovoltaicPower(plantList.stream()
.map(GetBasePhotovoltaicPlantCloudOutput::getTotalPower)
.reduce(BigDecimal.ZERO, BigDecimal::add))
.storagePower(storageList.stream()
.map(DynamicQueryBaseEnergyStorageDeviceOutput::getApparatusCapacity)
.reduce(BigDecimal.ZERO, BigDecimal::add))
.build());
}
/*------------------------------------------------- private ---------------------------------------------------------*/
/**
* 获取井口列表
*
* @param context 上下文
* @param stationId 工作站id
* @return {@link List}<{@link DynamicQueryBaseWellheadOutput}>
*/
private List<DynamicQueryBaseWellheadOutput> getWellList(XContext context, String stationId) {
IBaseWellheadCloudService service = context.getBean(IBaseWellheadCloudService.class);
XListResult<DynamicQueryBaseWellheadOutput> result = service.queryBaseWellheadListByParam(context, DynamicQueryBaseWellheadInput.builder()
.ouId(stationId)
.build());
result.throwIfFail();
return result.getResult();
}
/**
* 光伏电站列表
*
* @param context 上下文
* @param stationId 工作站id
* @return {@link List}<{@link GetBasePhotovoltaicPlantCloudOutput}>
*/
private List<GetBasePhotovoltaicPlantCloudOutput> getPlantList(XContext context, String stationId) {
BasePhotovoltaicPlantCloudService service = context.getBean(BasePhotovoltaicPlantCloudService.class);
XListResult<GetBasePhotovoltaicPlantCloudOutput> result = service.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
.ouId(stationId)
.build());
result.throwIfFail();
return result.getResult();
}
/**
* 输电线路列表
*
* @param context 上下文
* @param stationId 工作站id
* @return {@link List}<{@link DynamicQueryBasePowerLineOutput}>
*/
private List<DynamicQueryBasePowerLineOutput> getLineList(XContext context, String stationId) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineOutput> result = service.getBasePowerLineList(context, DynamicQueryBasePowerLineInput.builder()
.ouId(stationId)
.lineTypeKey("10")
.build());
result.throwIfFail();
return result.getResult();
}
/**
* 获取储能列表
*
* @param context 上下文
* @param stationId 工作站id
* @return {@link List}<{@link DynamicQueryBaseEnergyStorageDeviceOutput}>
*/
private List<DynamicQueryBaseEnergyStorageDeviceOutput> getStorageList(XContext context, String stationId) {
IBaseEnergyStorageCloudService service = context.getBean(IBaseEnergyStorageCloudService.class);
XListResult<DynamicQueryBaseEnergyStorageDeviceOutput> result = service.queryBaseStorageListByParam(context, DynamicQueryBaseEnergyStorageDeviceInput.builder()
.ouId(stationId)
.build());
result.throwIfFail();
return result.getResult();
}
}
\ No newline at end of file
package pps.core.prediction.service.data.home_page;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText;
import java.math.BigDecimal;
/**
* 总览数据
*
* @author ZWT
* @date 2024/03/25 20:19
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GetOverviewViewOutput {
@XText("井口数量")
private Integer wellNumber;
@XText("电站数量")
private Integer stationNumber;
@XText("线路数量")
private Integer lineNumber;
@XText("井场运行负荷")
private BigDecimal operatingLoad;
@XText("光伏装机总量")
private BigDecimal photovoltaicPower;
@XText("储能装机总量")
private BigDecimal storagePower;
}
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