Commit 9ebda1ac authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.修改系统首页大屏总览接口,增加区分组织机构逻辑,完成接口冒烟测试;
2.修改系统首页获取井场列表接口,增加区分组织机构逻辑,完成接口冒烟测试;
3.修改系统首页井场功能下钻后提示报错问题,修改用电功率数据获取逻辑,修复报错问题;
4.修改输电线路分页列表查询接口,增加查询条件,在查询父线路列表时只查询10千伏线路,修改线上接口文档同时完成接口冒烟测试;
5.修改系统首页井场实时监控接口,增加区分组织机构逻辑,完成接口冒烟测试;
6.修改系统首页用能分析接口,增加区分组织机构逻辑,完成接口冒烟测试;
7.修改系统首页井场用能分析(双坐标轴)接口,增加区分组织机构逻辑,完成接口冒烟测试;
8.修改系统首页累积用电接口,增加区分组织机构逻辑,完成接口冒烟测试;
9.修改系统首页光伏实时监控接口,增加区分组织机构逻辑,完成接口冒烟测试;
10.修改系统首页井场效果评价接口,增加区分组织机构逻辑,完成接口冒烟测试;
11.修改系统首页先导实验井间开制度接口,增加区分组织机构逻辑,完成接口冒烟测试;
12.修改极短期间开优化模块井口生产情况油井状态接口,增加区分组织机构逻辑,完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent a4506ffb
...@@ -217,6 +217,8 @@ public class BaseUtils { ...@@ -217,6 +217,8 @@ public class BaseUtils {
/** /**
* 计算率 * 计算率
* 示例:
* 消纳率:就地消纳量/累计用电*100%
* *
* @param one 一 * @param one 一
* @param two 二 * @param two 二
...@@ -232,4 +234,24 @@ public class BaseUtils { ...@@ -232,4 +234,24 @@ public class BaseUtils {
} }
return rate; return rate;
} }
/**
* 获取环比
* (本期-上期) /上期*100%
*
* @param currentPeriod 本期
* @param lastPeriod 上期
* @return {@link BigDecimal}
*/
public static BigDecimal getCycleRatio(BigDecimal currentPeriod, BigDecimal lastPeriod) {
BigDecimal cycleRatio;
if (lastPeriod.compareTo(BigDecimal.ZERO) > 0) {
cycleRatio = currentPeriod.subtract(lastPeriod)
.multiply(BusinessConstant.BIG_DECIMAL_100)
.divide(lastPeriod, 2, RoundingMode.HALF_UP);
} else {
cycleRatio = BigDecimal.ZERO;
}
return cycleRatio;
}
} }
\ No newline at end of file
...@@ -10,10 +10,6 @@ import cn.hutool.core.util.ObjectUtil; ...@@ -10,10 +10,6 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.IBaseWellheadCloudService;
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_plant.DynamicQueryBasePowerLinePlantInput; import pps.cloud.base.service.data.base_power_line_plant.DynamicQueryBasePowerLinePlantInput;
import pps.cloud.base.service.data.base_power_line_plant.DynamicQueryBasePowerLinePlantViewOutput; import pps.cloud.base.service.data.base_power_line_plant.DynamicQueryBasePowerLinePlantViewOutput;
import pps.cloud.base.service.data.base_power_line_wellhead.DynamicQueryBasePowerLineWellheadInput; import pps.cloud.base.service.data.base_power_line_wellhead.DynamicQueryBasePowerLineWellheadInput;
...@@ -88,7 +84,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -88,7 +84,7 @@ public class EnergyConsumptionAnalysisService {
plantInput.setOuIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId())); plantInput.setOuIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId()));
} }
List<PowerStatisticsOutput> outputs; List<PowerStatisticsOutput> outputs;
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, plantInput); List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, plantInput);
//电站名称列表有值再查 //电站名称列表有值再查
if (CollUtil.isNotEmpty(plantList)) { if (CollUtil.isNotEmpty(plantList)) {
DateTime today = DateUtil.beginOfDay(DateUtil.date()); DateTime today = DateUtil.beginOfDay(DateUtil.date());
...@@ -165,14 +161,14 @@ public class EnergyConsumptionAnalysisService { ...@@ -165,14 +161,14 @@ public class EnergyConsumptionAnalysisService {
String oilFieldCode = ServiceUtil.getOilFieldCode(context); String oilFieldCode = ServiceUtil.getOilFieldCode(context);
//用电功率 //用电功率
Map<Date, BigDecimal> avgMap = this.queryPowerConsumptionHour(context, Map<Date, BigDecimal> avgMap = this.queryPowerConsumptionHour(context,
this.getPowerLineWellheadList(context, wellheadInput), ServiceUtil.getPowerLineWellheadList(context, wellheadInput),
input.getStartTime(), input.getStartTime(),
endTime, endTime,
oilFieldCode oilFieldCode
); );
//发电功率 //发电功率
Map<Date, BigDecimal> powerMap = this.queryGeneratedPowerHour(context, Map<Date, BigDecimal> powerMap = this.queryGeneratedPowerHour(context,
this.getPowerLinePlantViewList(context, plantInput), ServiceUtil.getPowerLinePlantList(context, plantInput),
input.getStartTime(), input.getStartTime(),
endTime, endTime,
oilFieldCode oilFieldCode
...@@ -198,7 +194,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -198,7 +194,7 @@ public class EnergyConsumptionAnalysisService {
} else { } else {
plantInput.setOuIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId())); plantInput.setOuIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId()));
} }
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, plantInput); List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, plantInput);
Map<Date, BigDecimal> nowMap; Map<Date, BigDecimal> nowMap;
Map<Date, BigDecimal> lastMap; Map<Date, BigDecimal> lastMap;
input.getBetweenDate(); input.getBetweenDate();
...@@ -236,7 +232,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -236,7 +232,7 @@ public class EnergyConsumptionAnalysisService {
.dateFormat(dateTime.toString()) .dateFormat(dateTime.toString())
.powerGeneration(powerGeneration) .powerGeneration(powerGeneration)
.lastPowerGeneration(lastPowerGeneration) .lastPowerGeneration(lastPowerGeneration)
.ratio(this.getAbsorptionRate(powerGeneration, lastPowerGeneration)) .ratio(BaseUtils.getRate(powerGeneration, lastPowerGeneration))
.build()); .build());
} }
return XListResult.success(outputs); return XListResult.success(outputs);
...@@ -259,7 +255,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -259,7 +255,7 @@ public class EnergyConsumptionAnalysisService {
} else { } else {
plantInput.setOuIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId())); plantInput.setOuIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId()));
} }
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, plantInput); List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, plantInput);
Map<Date, BigDecimal> nowMap; Map<Date, BigDecimal> nowMap;
Map<Date, BigDecimal> lastMap; Map<Date, BigDecimal> lastMap;
input.getBetweenDate(); input.getBetweenDate();
...@@ -296,7 +292,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -296,7 +292,7 @@ public class EnergyConsumptionAnalysisService {
.dateFormat(dateTime.toString()) .dateFormat(dateTime.toString())
.photovoltaicConsumption(photovoltaicConsumption) .photovoltaicConsumption(photovoltaicConsumption)
.lastPhotovoltaicConsumption(lastPhotovoltaicConsumption) .lastPhotovoltaicConsumption(lastPhotovoltaicConsumption)
.ratio(this.getAbsorptionRate(photovoltaicConsumption, lastPhotovoltaicConsumption)) .ratio(BaseUtils.getRate(photovoltaicConsumption, lastPhotovoltaicConsumption))
.build()); .build());
} }
return XListResult.success(outputs); return XListResult.success(outputs);
...@@ -321,7 +317,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -321,7 +317,7 @@ public class EnergyConsumptionAnalysisService {
} }
input.getBetweenDate(); input.getBetweenDate();
Map<Date, GetLineDailyElectricityTrendOutput> collect; Map<Date, GetLineDailyElectricityTrendOutput> collect;
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, plantInput); List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, plantInput);
if (CollUtil.isNotEmpty(plantList)) { if (CollUtil.isNotEmpty(plantList)) {
DateTime endTime = DateUtil.offsetDay(input.getEndTime(), 1); DateTime endTime = DateUtil.offsetDay(input.getEndTime(), 1);
collect = this.getDailyElectricityTrendMap(context, GetLineDailyElectricityTrendInput.builder() collect = this.getDailyElectricityTrendMap(context, GetLineDailyElectricityTrendInput.builder()
...@@ -357,7 +353,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -357,7 +353,7 @@ public class EnergyConsumptionAnalysisService {
.municipalConsumption(municipalConsumption) .municipalConsumption(municipalConsumption)
.lastPhotovoltaicConsumption(lastPhotovoltaicConsumption) .lastPhotovoltaicConsumption(lastPhotovoltaicConsumption)
.lastMunicipalConsumption(lastMunicipalConsumption) .lastMunicipalConsumption(lastMunicipalConsumption)
.ratio(this.getAbsorptionRate(photovoltaicConsumption, lastPhotovoltaicConsumption)) .ratio(BaseUtils.getRate(photovoltaicConsumption, lastPhotovoltaicConsumption))
.build()); .build());
} }
return XListResult.success(outputs); return XListResult.success(outputs);
...@@ -398,7 +394,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -398,7 +394,7 @@ public class EnergyConsumptionAnalysisService {
//绿电占比 //绿电占比
BigDecimal greenElectricityRate; BigDecimal greenElectricityRate;
List<String> orgIds = ServiceUtil.getOrgIdsByPath(context, input.getOuId()); List<String> orgIds = ServiceUtil.getOrgIdsByPath(context, input.getOuId());
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, DynamicQueryBasePowerLinePlantInput.builder() List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, DynamicQueryBasePowerLinePlantInput.builder()
.ouIds(orgIds) .ouIds(orgIds)
.build()); .build());
Set<String> plantSet = new HashSet<>(plantList.size()); Set<String> plantSet = new HashSet<>(plantList.size());
...@@ -422,7 +418,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -422,7 +418,7 @@ public class EnergyConsumptionAnalysisService {
inPlaceConsumption = analysisEnt.getInPlaceConsumption(); inPlaceConsumption = analysisEnt.getInPlaceConsumption();
dailyLiquidProduction = analysisEnt.getDailyLiquidProduction(); dailyLiquidProduction = analysisEnt.getDailyLiquidProduction();
dailyElectricityConsumption = analysisEnt.getDailyElectricityConsumption(); dailyElectricityConsumption = analysisEnt.getDailyElectricityConsumption();
greenElectricityRate = this.getAbsorptionRate(analysisEnt.getInPlaceConsumption(), analysisEnt.getDailyElectricityConsumption()); greenElectricityRate = BaseUtils.getRate(analysisEnt.getInPlaceConsumption(), analysisEnt.getDailyElectricityConsumption());
avoidPeakRate = BaseUtils.divide(analysisEnt.getPhotovoltaicPower(), analysisEnt.getInPlaceConsumption()); avoidPeakRate = BaseUtils.divide(analysisEnt.getPhotovoltaicPower(), analysisEnt.getInPlaceConsumption());
//发电功率 //发电功率
ThirdActivePowerDailyUpdateMapper activeMapper = context.getBean(ThirdActivePowerDailyUpdateMapper.class); ThirdActivePowerDailyUpdateMapper activeMapper = context.getBean(ThirdActivePowerDailyUpdateMapper.class);
...@@ -433,7 +429,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -433,7 +429,7 @@ public class EnergyConsumptionAnalysisService {
.in(ThirdActivePowerDailyUpdateEnt::getStationName, plantSet) .in(ThirdActivePowerDailyUpdateEnt::getStationName, plantSet)
); );
powerGeneration = activeEnt.getPhotovoltaicPower(); powerGeneration = activeEnt.getPhotovoltaicPower();
List<DynamicQueryBasePowerLineWellheadViewOutput> wellheadList = this.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder() List<DynamicQueryBasePowerLineWellheadViewOutput> wellheadList = ServiceUtil.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
.ouIds(orgIds) .ouIds(orgIds)
.build()); .build());
Set<String> wellSet = new HashSet<>(wellheadList.size()); Set<String> wellSet = new HashSet<>(wellheadList.size());
...@@ -575,7 +571,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -575,7 +571,7 @@ public class EnergyConsumptionAnalysisService {
String oilFieldCode = ServiceUtil.getOilFieldCode(context); String oilFieldCode = ServiceUtil.getOilFieldCode(context);
//用电功率 //用电功率
Map<Date, BigDecimal> avgMap = this.queryPowerConsumptionHour(context, Map<Date, BigDecimal> avgMap = this.queryPowerConsumptionHour(context,
this.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder() ServiceUtil.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
.ouIds(orgIds) .ouIds(orgIds)
.build()), .build()),
today, today,
...@@ -584,7 +580,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -584,7 +580,7 @@ public class EnergyConsumptionAnalysisService {
); );
//发电功率 //发电功率
Map<Date, BigDecimal> powerMap = this.queryGeneratedPowerHour(context, Map<Date, BigDecimal> powerMap = this.queryGeneratedPowerHour(context,
this.getPowerLinePlantViewList(context, DynamicQueryBasePowerLinePlantInput.builder() ServiceUtil.getPowerLinePlantList(context, DynamicQueryBasePowerLinePlantInput.builder()
.ouIds(orgIds) .ouIds(orgIds)
.build()), .build()),
today, today,
...@@ -608,7 +604,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -608,7 +604,7 @@ public class EnergyConsumptionAnalysisService {
Map<String, BigDecimal> shortMap; Map<String, BigDecimal> shortMap;
Map<Integer, BigDecimal> powerMap; Map<Integer, BigDecimal> powerMap;
DateTime today = DateUtil.beginOfDay(DateUtil.date()); DateTime today = DateUtil.beginOfDay(DateUtil.date());
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, DynamicQueryBasePowerLinePlantInput.builder() List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, DynamicQueryBasePowerLinePlantInput.builder()
.ouIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId())) .ouIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId()))
.build()); .build());
if (CollUtil.isNotEmpty(plantList)) { if (CollUtil.isNotEmpty(plantList)) {
...@@ -677,7 +673,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -677,7 +673,7 @@ public class EnergyConsumptionAnalysisService {
BigDecimal economicBenefit = BigDecimal.ZERO; BigDecimal economicBenefit = BigDecimal.ZERO;
BigDecimal carbonReduction = BigDecimal.ZERO; BigDecimal carbonReduction = BigDecimal.ZERO;
DateTime end = DateUtil.beginOfDay(DateUtil.date()); DateTime end = DateUtil.beginOfDay(DateUtil.date());
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, plantInput); List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, plantInput);
if (CollUtil.isNotEmpty(plantList)) { if (CollUtil.isNotEmpty(plantList)) {
DateTime start = DateUtil.beginOfMonth(end); DateTime start = DateUtil.beginOfMonth(end);
//累计发电 //累计发电
...@@ -695,9 +691,9 @@ public class EnergyConsumptionAnalysisService { ...@@ -695,9 +691,9 @@ public class EnergyConsumptionAnalysisService {
); );
accumulatePowerGeneration = analysisEnt.getPhotovoltaicPower(); accumulatePowerGeneration = analysisEnt.getPhotovoltaicPower();
dailyElectricityConsumption = analysisEnt.getDailyElectricityConsumption(); dailyElectricityConsumption = analysisEnt.getDailyElectricityConsumption();
greenElectricityRate = this.getAbsorptionRate(analysisEnt.getInPlaceConsumption(), analysisEnt.getDailyElectricityConsumption()); greenElectricityRate = BaseUtils.getRate(analysisEnt.getInPlaceConsumption(), analysisEnt.getDailyElectricityConsumption());
economicBenefit = this.calculateEconomicBenefit(analysisEnt.getPhotovoltaicPower()); economicBenefit = this.calculateEconomicBenefit(analysisEnt.getPhotovoltaicPower());
carbonReduction = this.calculateCarbonReduction(analysisEnt.getPhotovoltaicPower()); carbonReduction = ServiceUtil.calculateCarbonReduction(analysisEnt.getPhotovoltaicPower());
} }
ISpaceOptimizeShortCloudService service = context.getBean(ISpaceOptimizeShortCloudService.class); ISpaceOptimizeShortCloudService service = context.getBean(ISpaceOptimizeShortCloudService.class);
XSingleResult<GetMonthlyWellCountOutput> result = service.monthlyWellCount(context, GetMonthlyWellCountInput.builder() XSingleResult<GetMonthlyWellCountOutput> result = service.monthlyWellCount(context, GetMonthlyWellCountInput.builder()
...@@ -732,7 +728,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -732,7 +728,7 @@ public class EnergyConsumptionAnalysisService {
} else { } else {
plantInput.setOuIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId())); plantInput.setOuIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId()));
} }
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, plantInput); List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, plantInput);
DateTime end = DateUtil.beginOfDay(DateUtil.yesterday()); DateTime end = DateUtil.beginOfDay(DateUtil.yesterday());
DateTime start; DateTime start;
Map<Date, BigDecimal> map; Map<Date, BigDecimal> map;
...@@ -767,7 +763,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -767,7 +763,7 @@ public class EnergyConsumptionAnalysisService {
for (DateTime dateTime : rangeToList) { for (DateTime dateTime : rangeToList) {
if (map.containsKey(dateTime)) { if (map.containsKey(dateTime)) {
economicBenefit = this.calculateEconomicBenefit(map.get(dateTime)); economicBenefit = this.calculateEconomicBenefit(map.get(dateTime));
carbonReduction = this.calculateCarbonReduction(map.get(dateTime)); carbonReduction = ServiceUtil.calculateCarbonReduction(map.get(dateTime));
} else { } else {
economicBenefit = BigDecimal.ZERO; economicBenefit = BigDecimal.ZERO;
carbonReduction = BigDecimal.ZERO; carbonReduction = BigDecimal.ZERO;
...@@ -783,7 +779,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -783,7 +779,7 @@ public class EnergyConsumptionAnalysisService {
for (DateTime dateTime : rangeToList) { for (DateTime dateTime : rangeToList) {
if (map.containsKey(dateTime)) { if (map.containsKey(dateTime)) {
saveElectricity = map.get(dateTime); saveElectricity = map.get(dateTime);
carbonReduction = this.calculateCarbonReduction(map.get(dateTime)); carbonReduction = ServiceUtil.calculateCarbonReduction(map.get(dateTime));
electricityFees = this.calculateElectricityFees(map.get(dateTime)); electricityFees = this.calculateElectricityFees(map.get(dateTime));
} else { } else {
saveElectricity = BigDecimal.ZERO; saveElectricity = BigDecimal.ZERO;
...@@ -821,7 +817,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -821,7 +817,7 @@ public class EnergyConsumptionAnalysisService {
List<String> orgIds = ServiceUtil.getOrgIdsByPath(context, input.getOuId()); List<String> orgIds = ServiceUtil.getOrgIdsByPath(context, input.getOuId());
wellheadInput.setOuIds(orgIds); wellheadInput.setOuIds(orgIds);
} }
List<DynamicQueryBasePowerLineWellheadViewOutput> wellheadList = this.getPowerLineWellheadList(context, wellheadInput); List<DynamicQueryBasePowerLineWellheadViewOutput> wellheadList = ServiceUtil.getPowerLineWellheadList(context, wellheadInput);
if (CollUtil.isNotEmpty(wellheadList)) { if (CollUtil.isNotEmpty(wellheadList)) {
DateTime yesterday = DateUtil.beginOfDay(DateUtil.yesterday()); DateTime yesterday = DateUtil.beginOfDay(DateUtil.yesterday());
IDailyElectricityTrendCloudService service = context.getBean(IDailyElectricityTrendCloudService.class); IDailyElectricityTrendCloudService service = context.getBean(IDailyElectricityTrendCloudService.class);
...@@ -856,7 +852,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -856,7 +852,7 @@ public class EnergyConsumptionAnalysisService {
@XText("井组监控--光伏电站发电详情") @XText("井组监控--光伏电站发电详情")
@XApiGet @XApiGet
public XListResult<GetPowerGenerationDetailsOutput> powerGenerationDetails(XContext context, GetEnergyConsumptionAnalysisInput input) { public XListResult<GetPowerGenerationDetailsOutput> powerGenerationDetails(XContext context, GetEnergyConsumptionAnalysisInput input) {
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, DynamicQueryBasePowerLinePlantInput.builder() List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, DynamicQueryBasePowerLinePlantInput.builder()
.ouIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId())) .ouIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId()))
.build()); .build());
Map<Date, BigDecimal> nowMap; Map<Date, BigDecimal> nowMap;
...@@ -964,7 +960,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -964,7 +960,7 @@ public class EnergyConsumptionAnalysisService {
electricityConsumption = result.getDailyElectricityConsumption(); electricityConsumption = result.getDailyElectricityConsumption();
} }
//累计数据 //累计数据
List<DynamicQueryBasePowerLinePlantViewOutput> plantList = this.getPowerLinePlantViewList(context, DynamicQueryBasePowerLinePlantInput.builder() List<DynamicQueryBasePowerLinePlantViewOutput> plantList = ServiceUtil.getPowerLinePlantList(context, DynamicQueryBasePowerLinePlantInput.builder()
.ouIds(orgIdsByPath) .ouIds(orgIdsByPath)
.build()); .build());
if (CollUtil.isNotEmpty(plantList)) { if (CollUtil.isNotEmpty(plantList)) {
...@@ -978,7 +974,7 @@ public class EnergyConsumptionAnalysisService { ...@@ -978,7 +974,7 @@ public class EnergyConsumptionAnalysisService {
.collect(Collectors.toList())) .collect(Collectors.toList()))
); );
economicBenefit = this.calculateEconomicBenefit(analysisEnt.getPhotovoltaicPower()); economicBenefit = this.calculateEconomicBenefit(analysisEnt.getPhotovoltaicPower());
carbonReduction = this.calculateCarbonReduction(analysisEnt.getPhotovoltaicPower()); carbonReduction = ServiceUtil.calculateCarbonReduction(analysisEnt.getPhotovoltaicPower());
} }
return XSingleResult.success(GetWellProductionStatusOutput.builder() return XSingleResult.success(GetWellProductionStatusOutput.builder()
.sumWellNumber(sumWellNumber) .sumWellNumber(sumWellNumber)
...@@ -1002,7 +998,10 @@ public class EnergyConsumptionAnalysisService { ...@@ -1002,7 +998,10 @@ public class EnergyConsumptionAnalysisService {
@XApiGet @XApiGet
public XListResult<GetRealTimeInfoOutput> wellRealTimeInfo(XContext context, GetEnergyConsumptionAnalysisInput input) { public XListResult<GetRealTimeInfoOutput> wellRealTimeInfo(XContext context, GetEnergyConsumptionAnalysisInput input) {
List<GetRealTimeInfoOutput> currentList = Collections.emptyList(); List<GetRealTimeInfoOutput> currentList = Collections.emptyList();
List<DynamicQueryBaseWellheadOutput> wellList = this.getWellListByOuId(context, ServiceUtil.getOrgIdsByPath(context, input.getOuId()), input.getRunTypeKey()); List<DynamicQueryBaseWellheadOutput> wellList = ServiceUtil.getBaseWellheadList(context, DynamicQueryBaseWellheadInput.builder()
.ouIds(ServiceUtil.getOrgIdsByPath(context, input.getOuId()))
.runTypeKey(input.getRunTypeKey())
.build());
if (CollUtil.isNotEmpty(wellList)) { if (CollUtil.isNotEmpty(wellList)) {
String wellStatus = input.getWellStatus(); String wellStatus = input.getWellStatus();
Map<String, DynamicQueryBaseWellheadOutput> collect = new HashMap<>(wellList.size()); Map<String, DynamicQueryBaseWellheadOutput> collect = new HashMap<>(wellList.size());
...@@ -1107,91 +1106,6 @@ public class EnergyConsumptionAnalysisService { ...@@ -1107,91 +1106,6 @@ public class EnergyConsumptionAnalysisService {
/*-----------------------------------private-----------------------------------*/ /*-----------------------------------private-----------------------------------*/
/**
* 分页功能封装查询条件
*
* @param lineNames 线路名称
* @param startTime 开始时间
* @param endTime 结束时间
* @return {@link LambdaQueryWrapper}<{@link EnergyConsumptionAnalysisEnt}>
*/
private LambdaQueryWrapper<ThirdDailyAccumulationUpdateEnt> getQueryWrapper4Page(Collection<String> lineNames, Date startTime, Date endTime) {
return new QueryWrapper<ThirdDailyAccumulationUpdateEnt>()
.select("IFNULL( SUM( photovoltaic_power ), 0 ) AS photovoltaic_power",
"IFNULL( SUM( daily_electricity_consumption ), 0 ) AS daily_electricity_consumption",
"IFNULL( SUM( daily_liquid_production ), 0 ) AS daily_liquid_production",
"IFNULL( SUM( in_place_consumption ), 0 ) AS in_place_consumption",
"station_name")
.lambda()
.in(ThirdDailyAccumulationUpdateEnt::getStationName, lineNames)
.between(ThirdDailyAccumulationUpdateEnt::getCreateDate, startTime, endTime)
.groupBy(ThirdDailyAccumulationUpdateEnt::getStationName)
.orderByAsc(ThirdDailyAccumulationUpdateEnt::getPhotovoltaicPower);
}
/**
* 获取消纳率
* 消纳率:就地消纳量/累计用电*100%
*
* @param powerGeneration 发电
* @param powerConsumption 功耗
* @return {@link BigDecimal}
*/
private BigDecimal getAbsorptionRate(BigDecimal powerGeneration, BigDecimal powerConsumption) {
BigDecimal absorptionRate;
if (powerConsumption.compareTo(BigDecimal.ZERO) > 0) {
absorptionRate = powerGeneration.divide(powerConsumption, 4, RoundingMode.HALF_UP)
.multiply(BusinessConstant.BIG_DECIMAL_100);
} else {
absorptionRate = BigDecimal.ZERO;
}
return absorptionRate;
}
/**
* 查询组织列表下所有线路
*
* @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();
}
/**
* 获取输电线井口列表
*
* @param context 上下文
* @param input 入参
* @return {@link List}<{@link DynamicQueryBasePowerLineWellheadViewOutput}>
*/
private List<DynamicQueryBasePowerLineWellheadViewOutput> getPowerLineWellheadList(XContext context, DynamicQueryBasePowerLineWellheadInput input) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineWellheadViewOutput> result = service.getPowerLineWellheadList(context, input);
result.throwIfFail();
return result.getResult();
}
/**
* 获取输电线电站列表
*
* @param context 上下文
* @param input 入参
* @return {@link List}<{@link DynamicQueryBasePowerLinePlantViewOutput}>
*/
private List<DynamicQueryBasePowerLinePlantViewOutput> getPowerLinePlantViewList(XContext context, DynamicQueryBasePowerLinePlantInput input) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLinePlantViewOutput> result = service.getPowerLinePlantViewList(context, input);
result.throwIfFail();
return result.getResult();
}
/** /**
* 电量统计 * 电量统计
* *
...@@ -1236,30 +1150,9 @@ public class EnergyConsumptionAnalysisService { ...@@ -1236,30 +1150,9 @@ public class EnergyConsumptionAnalysisService {
* @return {@link List }<{@link DynamicQueryBaseWellheadOutput }> * @return {@link List }<{@link DynamicQueryBaseWellheadOutput }>
*/ */
private List<DynamicQueryBaseWellheadOutput> getWellListByOuId(XContext context, List<String> ouIds) { private List<DynamicQueryBaseWellheadOutput> getWellListByOuId(XContext context, List<String> ouIds) {
IBaseWellheadCloudService service = context.getBean(IBaseWellheadCloudService.class); return ServiceUtil.getBaseWellheadList(context, DynamicQueryBaseWellheadInput.builder()
XListResult<DynamicQueryBaseWellheadOutput> result = service.queryBaseWellheadListByParam(context, DynamicQueryBaseWellheadInput.builder()
.ouIds(ouIds)
.build());
result.throwIfFail();
return result.getResult();
}
/**
* 获取井口列表
*
* @param context 上下文
* @param ouIds ou-ids
* @param runTypeKey 运行类型键
* @return {@link List }<{@link DynamicQueryBaseWellheadOutput }>
*/
private List<DynamicQueryBaseWellheadOutput> getWellListByOuId(XContext context, List<String> ouIds, String runTypeKey) {
IBaseWellheadCloudService service = context.getBean(IBaseWellheadCloudService.class);
XListResult<DynamicQueryBaseWellheadOutput> result = service.queryBaseWellheadListByParam(context, DynamicQueryBaseWellheadInput.builder()
.ouIds(ouIds) .ouIds(ouIds)
.runTypeKey(runTypeKey)
.build()); .build());
result.throwIfFail();
return result.getResult();
} }
/** /**
...@@ -1417,42 +1310,4 @@ public class EnergyConsumptionAnalysisService { ...@@ -1417,42 +1310,4 @@ public class EnergyConsumptionAnalysisService {
} }
return economicBenefit; return economicBenefit;
} }
/**
* 计算累计减碳量
*
* @param photovoltaicPower 光伏发电
* @return {@link BigDecimal }
*/
private BigDecimal calculateCarbonReduction(BigDecimal photovoltaicPower) {
BigDecimal carbonReduction;
if (photovoltaicPower.compareTo(BigDecimal.ZERO) > 0) {
carbonReduction = photovoltaicPower
.multiply(BusinessConstant.BIG_DECIMAL_6_67)
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
} else {
carbonReduction = BigDecimal.ZERO;
}
return carbonReduction;
}
/**
* 获取环比
* (本期-上期) /上期*100%
*
* @param currentPeriod 本期
* @param lastPeriod 上期
* @return {@link BigDecimal}
*/
private BigDecimal getCycleRatio(BigDecimal currentPeriod, BigDecimal lastPeriod) {
BigDecimal cycleRatio;
if (lastPeriod.compareTo(BigDecimal.ZERO) > 0) {
cycleRatio = currentPeriod.subtract(lastPeriod)
.divide(lastPeriod, 4, RoundingMode.HALF_UP)
.multiply(BusinessConstant.BIG_DECIMAL_100);
} else {
cycleRatio = BigDecimal.ZERO;
}
return cycleRatio;
}
} }
\ No newline at end of file
...@@ -8,10 +8,7 @@ import cn.hutool.core.text.CharSequenceUtil; ...@@ -8,10 +8,7 @@ import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import pps.cloud.base.service.BasePhotovoltaicPlantCloudService;
import pps.cloud.base.service.IBaseEnergyStorageCloudService; 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.DynamicQueryBaseEnergyStorageDeviceInput;
import pps.cloud.base.service.data.base_energy_storage_device.DynamicQueryBaseEnergyStorageDeviceOutput; 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.GetBasePhotovoltaicPlantCloudInput;
...@@ -93,7 +90,9 @@ public class HomePageService { ...@@ -93,7 +90,9 @@ public class HomePageService {
}); });
} else { } else {
//查电站 //查电站
List<GetBasePhotovoltaicPlantCloudOutput> plantList = this.getPlantList(context, stationId, null); List<GetBasePhotovoltaicPlantCloudOutput> plantList = ServiceUtil.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
.ouId(stationId)
.build());
outputs = new ArrayList<>(plantList.size()); outputs = new ArrayList<>(plantList.size());
plantList.forEach(item -> { plantList.forEach(item -> {
outputs.add(GetStationViewOutput.builder() outputs.add(GetStationViewOutput.builder()
...@@ -446,7 +445,7 @@ public class HomePageService { ...@@ -446,7 +445,7 @@ public class HomePageService {
.ouLevel(BusinessConstant.PLANT_FLAG) .ouLevel(BusinessConstant.PLANT_FLAG)
.build()).stream() .build()).stream()
.collect(Collectors.toMap(GetSysOrganizationViewOutput::getId, GetSysOrganizationViewOutput::getOuName)); .collect(Collectors.toMap(GetSysOrganizationViewOutput::getId, GetSysOrganizationViewOutput::getOuName));
Map<String, List<DynamicQueryBasePowerLineOutput>> listMap = this.getBasePowerLineListByOuIdList(context, collect.keySet()).stream() Map<String, List<DynamicQueryBasePowerLineOutput>> listMap = ServiceUtil.getBasePowerLineListByOuIdList(context, collect.keySet()).stream()
.collect(Collectors.groupingBy(DynamicQueryBasePowerLineOutput::getOuId)); .collect(Collectors.groupingBy(DynamicQueryBasePowerLineOutput::getOuId));
stationList = new ArrayList<>(4); stationList = new ArrayList<>(4);
for (Map.Entry<String, List<DynamicQueryBasePowerLineOutput>> entry : listMap.entrySet()) { for (Map.Entry<String, List<DynamicQueryBasePowerLineOutput>> entry : listMap.entrySet()) {
...@@ -467,7 +466,7 @@ public class HomePageService { ...@@ -467,7 +466,7 @@ public class HomePageService {
powerConsumption = powerConsumption.add(ent.getPowerConsumption()); powerConsumption = powerConsumption.add(ent.getPowerConsumption());
} }
} else { } else {
List<String> lineNameList = this.getBasePowerLineListByOuIdList(context, CollUtil.list(false, stationId)).stream() List<String> lineNameList = ServiceUtil.getBasePowerLineListByOuIdList(context, CollUtil.list(false, stationId)).stream()
.map(DynamicQueryBasePowerLineOutput::getLineName) .map(DynamicQueryBasePowerLineOutput::getLineName)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (CollUtil.isNotEmpty(lineNameList)) { if (CollUtil.isNotEmpty(lineNameList)) {
...@@ -512,10 +511,11 @@ public class HomePageService { ...@@ -512,10 +511,11 @@ public class HomePageService {
List<String> plantIds; List<String> plantIds;
if (CharSequenceUtil.isNotBlank(plantId)) { if (CharSequenceUtil.isNotBlank(plantId)) {
input.setStationId(null); input.setStationId(null);
plantList = this.getPlantList(context, null, plantId); plantList = ServiceUtil.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
.id(plantId)
.build());
} else { } else {
List<String> ouIds = ServiceUtil.getOrgIdsByPath(context, context.getSession(PpsUserSession.class).getOuId()); plantList = this.getPlantList(context, ServiceUtil.getOrgIdsByPath(context, context.getSession(PpsUserSession.class).getOuId()));
plantList = this.getPlantList(context, ouIds);
} }
plantIds = plantList.stream() plantIds = plantList.stream()
.map(GetBasePhotovoltaicPlantCloudOutput::getId) .map(GetBasePhotovoltaicPlantCloudOutput::getId)
...@@ -594,7 +594,7 @@ public class HomePageService { ...@@ -594,7 +594,7 @@ public class HomePageService {
stationId = context.getSession(PpsUserSession.class).getOuId(); stationId = context.getSession(PpsUserSession.class).getOuId();
} }
List<String> ouIds = ServiceUtil.getOrgIdsByPath(context, stationId); List<String> ouIds = ServiceUtil.getOrgIdsByPath(context, stationId);
List<DynamicQueryBasePowerLineOutput> lineList = this.getLineList(context, DynamicQueryBasePowerLineInput.builder() List<DynamicQueryBasePowerLineOutput> lineList = ServiceUtil.getPowerLineList(context, DynamicQueryBasePowerLineInput.builder()
.ouIdList(ouIds) .ouIdList(ouIds)
.build()); .build());
if (CollUtil.isNotEmpty(lineList)) { if (CollUtil.isNotEmpty(lineList)) {
...@@ -624,9 +624,7 @@ public class HomePageService { ...@@ -624,9 +624,7 @@ public class HomePageService {
dailyElectricityConsumption = analysisEnt.getDailyElectricityConsumption() dailyElectricityConsumption = analysisEnt.getDailyElectricityConsumption()
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP); .divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//累计减碳量 //累计减碳量
carbonReduction = analysisEnt.getPhotovoltaicPower() carbonReduction = ServiceUtil.calculateCarbonReduction(analysisEnt.getPhotovoltaicPower());
.multiply(BusinessConstant.BIG_DECIMAL_6_67)
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//经济效益(万元):光伏累计发电*0.65-光伏累计发电*0.28 //经济效益(万元):光伏累计发电*0.65-光伏累计发电*0.28
economicBenefit = analysisEnt.getPhotovoltaicPower() economicBenefit = analysisEnt.getPhotovoltaicPower()
.multiply(BigDecimal.valueOf(0.65)) .multiply(BigDecimal.valueOf(0.65))
...@@ -706,7 +704,9 @@ public class HomePageService { ...@@ -706,7 +704,9 @@ public class HomePageService {
Integer continuousWellNumber = 0; Integer continuousWellNumber = 0;
BigDecimal operatingLoad = BigDecimal.ZERO; BigDecimal operatingLoad = BigDecimal.ZERO;
//井口统计 //井口统计
List<DynamicQueryBaseWellheadOutput> wellList = this.getWellList(context, stationId); List<DynamicQueryBaseWellheadOutput> wellList = ServiceUtil.getBaseWellheadList(context, DynamicQueryBaseWellheadInput.builder()
.ouId(stationId)
.build());
for (DynamicQueryBaseWellheadOutput well : wellList) { for (DynamicQueryBaseWellheadOutput well : wellList) {
if (CharSequenceUtil.equals(BusinessConstant.CONTINUOUS_PUMPING_WELL, well.getRunTypeKey())) { if (CharSequenceUtil.equals(BusinessConstant.CONTINUOUS_PUMPING_WELL, well.getRunTypeKey())) {
continuousWellNumber++; continuousWellNumber++;
...@@ -716,11 +716,15 @@ public class HomePageService { ...@@ -716,11 +716,15 @@ public class HomePageService {
operatingLoad = operatingLoad.add(Optional.ofNullable(well.getRatedPower()).orElse(BigDecimal.ZERO)); operatingLoad = operatingLoad.add(Optional.ofNullable(well.getRatedPower()).orElse(BigDecimal.ZERO));
} }
//线路统计 //线路统计
List<DynamicQueryBasePowerLineOutput> lineList = this.getLineList(context, stationId, "10", null); List<DynamicQueryBasePowerLineOutput> lineList = this.getLineList(context, stationId, "10");
//光伏电站 //光伏电站
List<GetBasePhotovoltaicPlantCloudOutput> plantList = this.getPlantList(context, stationId, null); List<GetBasePhotovoltaicPlantCloudOutput> plantList = ServiceUtil.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
.ouId(stationId)
.build());
//储能电站 //储能电站
List<DynamicQueryBaseEnergyStorageDeviceOutput> storageList = this.getStorageList(context, stationId); List<DynamicQueryBaseEnergyStorageDeviceOutput> storageList = this.getStorageList(context, DynamicQueryBaseEnergyStorageDeviceInput.builder()
.ouId(stationId)
.build());
return XSingleResult.success(GetOilExtractionPlantOutput.builder() return XSingleResult.success(GetOilExtractionPlantOutput.builder()
.wellNumber(wellList.size()) .wellNumber(wellList.size())
.intervalWellNumber(intervalWellNumber) .intervalWellNumber(intervalWellNumber)
...@@ -753,14 +757,17 @@ public class HomePageService { ...@@ -753,14 +757,17 @@ public class HomePageService {
return XListResult.error(context, BusinessError.MissingoilExtractionPlantID); return XListResult.error(context, BusinessError.MissingoilExtractionPlantID);
} }
//十千伏线路 //十千伏线路
List<DynamicQueryBasePowerLineOutput> lineList = this.getLineList(context, stationId, "10", null); List<DynamicQueryBasePowerLineOutput> lineList = this.getLineList(context, stationId, "10");
List<GetBranchingProgramOutput> outputs = new ArrayList<>(lineList.size()); List<GetBranchingProgramOutput> outputs = new ArrayList<>(lineList.size());
for (DynamicQueryBasePowerLineOutput line : lineList) { for (DynamicQueryBasePowerLineOutput line : lineList) {
outputs.add(GetBranchingProgramOutput.builder() outputs.add(GetBranchingProgramOutput.builder()
.mainLineId(line.getId()) .mainLineId(line.getId())
.mainLineName(line.getLineName()) .mainLineName(line.getLineName())
.subLineList(this.getSubLineList(context, line.getId())) .subLineList(ServiceUtil.getPowerLineList(context, DynamicQueryBasePowerLineInput.builder()
.upperLineId(line.getId())
.build()))
.build()); .build());
} }
return XListResult.success(outputs); return XListResult.success(outputs);
} }
...@@ -777,14 +784,18 @@ public class HomePageService { ...@@ -777,14 +784,18 @@ public class HomePageService {
public XSingleResult<GetLineViewOutput> getLineView(XContext context, GetLineViewInput input) { public XSingleResult<GetLineViewOutput> getLineView(XContext context, GetLineViewInput input) {
//查线路关联的井口 //查线路关联的井口
BigDecimal operatingLoad = BigDecimal.ZERO; BigDecimal operatingLoad = BigDecimal.ZERO;
List<DynamicQueryBasePowerLineWellheadViewOutput> wellheadList = this.getPowerLineWellheadList(context, input.getLineId()); List<DynamicQueryBasePowerLineWellheadViewOutput> wellheadList = ServiceUtil.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
.lineId(input.getLineId())
.build());
if (CollUtil.isNotEmpty(wellheadList)) { if (CollUtil.isNotEmpty(wellheadList)) {
for (DynamicQueryBasePowerLineWellheadViewOutput well : wellheadList) { for (DynamicQueryBasePowerLineWellheadViewOutput well : wellheadList) {
operatingLoad = operatingLoad.add(Optional.ofNullable(well.getRatedPower()).orElse(BigDecimal.ZERO)); operatingLoad = operatingLoad.add(Optional.ofNullable(well.getRatedPower()).orElse(BigDecimal.ZERO));
} }
} }
//查线路关联的电站 //查线路关联的电站
List<DynamicQueryBasePowerLinePlantViewOutput> plantViewList = this.getPowerLinePlantViewList(context, input.getLineId()); List<DynamicQueryBasePowerLinePlantViewOutput> plantViewList = ServiceUtil.getPowerLinePlantList(context, DynamicQueryBasePowerLinePlantInput.builder()
.lineId(input.getLineId())
.build());
String areaName; String areaName;
if (CollUtil.isNotEmpty(plantViewList)) { if (CollUtil.isNotEmpty(plantViewList)) {
areaName = this.getSysAreaPath(context, plantViewList.get(0).getAreaCode()); areaName = this.getSysAreaPath(context, plantViewList.get(0).getAreaCode());
...@@ -842,22 +853,6 @@ public class HomePageService { ...@@ -842,22 +853,6 @@ public class HomePageService {
/*------------------------------------------------- private ---------------------------------------------------------*/ /*------------------------------------------------- private ---------------------------------------------------------*/
/**
* 通过电站ID查井口
*
* @param context 上下文
* @param plantIds 植物id
* @return {@link List}<{@link DynamicQueryBasePowerLineWellheadViewOutput}>
*/
private List<DynamicQueryBasePowerLineWellheadViewOutput> getPowerLineWellheadListByPlant(XContext context, List<String> plantIds) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineWellheadViewOutput> result = service.getPowerLineWellheadListByPlant(context, DynamicQueryBasePowerLineWellheadInput.builder()
.plantIds(plantIds)
.build());
result.throwIfFail();
return result.getResult();
}
/** /**
* 获取区域路径 * 获取区域路径
* *
...@@ -874,105 +869,6 @@ public class HomePageService { ...@@ -874,105 +869,6 @@ public class HomePageService {
return result.getResult().getName(); return result.getResult().getName();
} }
/**
* 获取输电线电站列表
*
* @param context 上下文
* @param lineId 线路id
* @return {@link List}<{@link DynamicQueryBasePowerLinePlantViewOutput}>
*/
private List<DynamicQueryBasePowerLinePlantViewOutput> getPowerLinePlantViewList(XContext context, String lineId) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLinePlantViewOutput> result = service.getPowerLinePlantViewList(context, DynamicQueryBasePowerLinePlantInput.builder()
.lineId(lineId)
.build());
result.throwIfFail();
return result.getResult();
}
/**
* 获取输电线井口列表
*
* @param context 上下文
* @param lineId 线路id
* @return {@link List}<{@link DynamicQueryBasePowerLineWellheadViewOutput}>
*/
private List<DynamicQueryBasePowerLineWellheadViewOutput> getPowerLineWellheadList(XContext context, String lineId) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineWellheadViewOutput> result = service.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
.lineId(lineId)
.build());
result.throwIfFail();
return result.getResult();
}
/**
* 获取输电线井口列表
*
* @param context 上下文
* @param lineIds 线路ID
* @return {@link List }<{@link DynamicQueryBasePowerLineWellheadViewOutput }>
*/
private List<DynamicQueryBasePowerLineWellheadViewOutput> getPowerLineWellheadList(XContext context, List<String> lineIds) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineWellheadViewOutput> result = service.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
.lineIds(lineIds)
.build());
result.throwIfFail();
return result.getResult();
}
/**
* 查询组织列表下所有线路
*
* @param context 上下文
* @param ouIdList ou-id列表
* @return {@link List}<{@link DynamicQueryBasePowerLineOutput}>
*/
private List<DynamicQueryBasePowerLineOutput> getBasePowerLineListByOuIdList(XContext context, Collection<String> ouIdList) {
IBasePowerLineCloudService basePowerLineCloudService = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineOutput> lineList = basePowerLineCloudService.getBasePowerLineListByOuIdList(context, DynamicQueryBasePowerLineInput.builder()
.ouIdList(ouIdList)
.build());
lineList.throwIfFail();
return lineList.getResult();
}
/**
* 获取井口列表
*
* @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
* @param plantId 电站id
* @return {@link List}<{@link GetBasePhotovoltaicPlantCloudOutput}>
*/
private List<GetBasePhotovoltaicPlantCloudOutput> getPlantList(XContext context, String stationId, String plantId) {
BasePhotovoltaicPlantCloudService service = context.getBean(BasePhotovoltaicPlantCloudService.class);
XListResult<GetBasePhotovoltaicPlantCloudOutput> result = service.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
.ouId(stationId)
.id(plantId)
.build());
result.throwIfFail();
return result.getResult();
}
/** /**
* 获取井口列表 * 获取井口列表
* *
...@@ -981,12 +877,9 @@ public class HomePageService { ...@@ -981,12 +877,9 @@ public class HomePageService {
* @return {@link List }<{@link DynamicQueryBaseWellheadOutput }> * @return {@link List }<{@link DynamicQueryBaseWellheadOutput }>
*/ */
private List<DynamicQueryBaseWellheadOutput> getWellList(XContext context, List<String> ouIds) { private List<DynamicQueryBaseWellheadOutput> getWellList(XContext context, List<String> ouIds) {
IBaseWellheadCloudService service = context.getBean(IBaseWellheadCloudService.class); return ServiceUtil.getBaseWellheadList(context, DynamicQueryBaseWellheadInput.builder()
XListResult<DynamicQueryBaseWellheadOutput> result = service.queryBaseWellheadListByParam(context, DynamicQueryBaseWellheadInput.builder()
.ouIds(ouIds) .ouIds(ouIds)
.build()); .build());
result.throwIfFail();
return result.getResult();
} }
/** /**
...@@ -997,12 +890,9 @@ public class HomePageService { ...@@ -997,12 +890,9 @@ public class HomePageService {
* @return {@link List }<{@link GetBasePhotovoltaicPlantCloudOutput }> * @return {@link List }<{@link GetBasePhotovoltaicPlantCloudOutput }>
*/ */
private List<GetBasePhotovoltaicPlantCloudOutput> getPlantList(XContext context, List<String> ouIds) { private List<GetBasePhotovoltaicPlantCloudOutput> getPlantList(XContext context, List<String> ouIds) {
BasePhotovoltaicPlantCloudService service = context.getBean(BasePhotovoltaicPlantCloudService.class); return ServiceUtil.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
XListResult<GetBasePhotovoltaicPlantCloudOutput> result = service.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
.ouIds(ouIds) .ouIds(ouIds)
.build()); .build());
result.throwIfFail();
return result.getResult();
} }
/** /**
...@@ -1027,60 +917,10 @@ public class HomePageService { ...@@ -1027,60 +917,10 @@ public class HomePageService {
* @param lineTypeKey 线型键 * @param lineTypeKey 线型键
* @return {@link List}<{@link DynamicQueryBasePowerLineOutput}> * @return {@link List}<{@link DynamicQueryBasePowerLineOutput}>
*/ */
private List<DynamicQueryBasePowerLineOutput> getLineList(XContext context, String stationId, String lineTypeKey, String lineId) { private List<DynamicQueryBasePowerLineOutput> getLineList(XContext context, String stationId, String lineTypeKey) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class); return ServiceUtil.getPowerLineList(context, DynamicQueryBasePowerLineInput.builder()
XListResult<DynamicQueryBasePowerLineOutput> result = service.getBasePowerLineList(context, DynamicQueryBasePowerLineInput.builder()
.lineId(lineId)
.ouId(stationId) .ouId(stationId)
.lineTypeKey(lineTypeKey) .lineTypeKey(lineTypeKey)
.build()); .build());
result.throwIfFail();
return result.getResult();
}
/**
* 输电线路列表
*
* @param context 上下文
* @param input 输入
* @return {@link List }<{@link DynamicQueryBasePowerLineOutput }>
*/
private List<DynamicQueryBasePowerLineOutput> getLineList(XContext context, DynamicQueryBasePowerLineInput input) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineOutput> result = service.getBasePowerLineList(context, input);
result.throwIfFail();
return result.getResult();
}
/**
* 获取子线路列表
*
* @param context 上下文
* @param upperLineId 上级线路ID
* @return {@link List}<{@link DynamicQueryBasePowerLineOutput}>
*/
private List<DynamicQueryBasePowerLineOutput> getSubLineList(XContext context, String upperLineId) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineOutput> result = service.getBasePowerLineList(context, DynamicQueryBasePowerLineInput.builder()
.upperLineId(upperLineId)
.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
...@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil; ...@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput; import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput; import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.cloud.prediction.service.IPlantPredictedPowerCloudService; import pps.cloud.prediction.service.IPlantPredictedPowerCloudService;
...@@ -197,12 +196,9 @@ public class PlantPredictedPowerCloudServiceImpl implements IPlantPredictedPower ...@@ -197,12 +196,9 @@ public class PlantPredictedPowerCloudServiceImpl implements IPlantPredictedPower
List<String> collect = list.stream() List<String> collect = list.stream()
.map(WellheadDailyProductionSituationJob::getWellNumber) .map(WellheadDailyProductionSituationJob::getWellNumber)
.collect(Collectors.toList()); .collect(Collectors.toList());
IBaseWellheadCloudService bean = context.getBean(IBaseWellheadCloudService.class); Map<String, String> map = ServiceUtil.getBaseWellheadList(context, DynamicQueryBaseWellheadInput.builder()
XListResult<DynamicQueryBaseWellheadOutput> result = bean.queryBaseWellheadListByParam(context, DynamicQueryBaseWellheadInput.builder()
.wellNumbers(collect) .wellNumbers(collect)
.build()); .build()).stream()
result.throwIfFail();
Map<String, String> map = result.getResult().stream()
.collect(Collectors.toMap(DynamicQueryBaseWellheadOutput::getWellNumber, DynamicQueryBaseWellheadOutput::getId)); .collect(Collectors.toMap(DynamicQueryBaseWellheadOutput::getWellNumber, DynamicQueryBaseWellheadOutput::getId));
List<WellheadDailyProductionSituationView> dtoList = new ArrayList<>(list.size()); List<WellheadDailyProductionSituationView> dtoList = new ArrayList<>(list.size());
for (WellheadDailyProductionSituationJob wellhead : list) { for (WellheadDailyProductionSituationJob wellhead : list) {
......
...@@ -4,7 +4,6 @@ import cn.hutool.core.date.DateField; ...@@ -4,7 +4,6 @@ import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import pps.cloud.base.service.BasePhotovoltaicPlantCloudService;
import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudInput; 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_photovoltaic_plant.GetBasePhotovoltaicPlantCloudOutput;
import pps.cloud.prediction.service.PlantPredictedPowerLongTermDataCloudService; import pps.cloud.prediction.service.PlantPredictedPowerLongTermDataCloudService;
...@@ -13,11 +12,11 @@ import pps.core.prediction.entity.PlantPredictedPowerLongTermDataEnt; ...@@ -13,11 +12,11 @@ import pps.core.prediction.entity.PlantPredictedPowerLongTermDataEnt;
import pps.core.prediction.mapper.PlantPowerDataMapper; import pps.core.prediction.mapper.PlantPowerDataMapper;
import pps.core.prediction.mapper.PlantPredictedPowerLongTermDataMapper; import pps.core.prediction.mapper.PlantPredictedPowerLongTermDataMapper;
import pps.core.prediction.mapper.PlantPredictedPowerLongTermDataViewMapper; import pps.core.prediction.mapper.PlantPredictedPowerLongTermDataViewMapper;
import pps.core.prediction.utils.ServiceUtil;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
import xstartup.data.XListResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
...@@ -42,12 +41,7 @@ public class PlantPredictedPowerLongTermDataCloudServiceImpl implements PlantPre ...@@ -42,12 +41,7 @@ public class PlantPredictedPowerLongTermDataCloudServiceImpl implements PlantPre
@XText("定时运行预测长期数据") @XText("定时运行预测长期数据")
public XServiceResult runPlantPredictedPowerLongTermData(XContext context) { public XServiceResult runPlantPredictedPowerLongTermData(XContext context) {
//获取所有的电站 //获取所有的电站
BasePhotovoltaicPlantCloudService cloudService = context.getBean(BasePhotovoltaicPlantCloudService.class); List<GetBasePhotovoltaicPlantCloudOutput> list = ServiceUtil.getBasePhotovoltaicPlantList(context, new GetBasePhotovoltaicPlantCloudInput());
XListResult<GetBasePhotovoltaicPlantCloudOutput> result = cloudService.getBasePhotovoltaicPlantList(context, new GetBasePhotovoltaicPlantCloudInput());
if (!result.isSuccess()) {
return XServiceResult.error(500, "未查询到电站数据");
}
List<GetBasePhotovoltaicPlantCloudOutput> list = result.getResult();
PlantPowerDataMapper powerDataMapper = context.getBean(PlantPowerDataMapper.class); PlantPowerDataMapper powerDataMapper = context.getBean(PlantPowerDataMapper.class);
Date currentDate = new Date(); Date currentDate = new Date();
for (GetBasePhotovoltaicPlantCloudOutput output : list) { for (GetBasePhotovoltaicPlantCloudOutput output : list) {
......
...@@ -5,7 +5,6 @@ import cn.hutool.core.date.DateTime; ...@@ -5,7 +5,6 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.base.service.BasePhotovoltaicPlantCloudService;
import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudInput; 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_photovoltaic_plant.GetBasePhotovoltaicPlantCloudOutput;
import pps.core.prediction.entity.PlantPredictedPowerMidTermEnt; import pps.core.prediction.entity.PlantPredictedPowerMidTermEnt;
...@@ -15,6 +14,7 @@ import pps.core.prediction.mapper.PlantPredictedPowerShortTermMapper; ...@@ -15,6 +14,7 @@ import pps.core.prediction.mapper.PlantPredictedPowerShortTermMapper;
import pps.core.prediction.service.data.predicted_api.PredictedApiInput; import pps.core.prediction.service.data.predicted_api.PredictedApiInput;
import pps.core.prediction.service.data.predicted_api.PredictedApiOutput; import pps.core.prediction.service.data.predicted_api.PredictedApiOutput;
import pps.core.prediction.service.data.predicted_api.PredictedApiPredictOutput; import pps.core.prediction.service.data.predicted_api.PredictedApiPredictOutput;
import pps.core.prediction.utils.ServiceUtil;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
...@@ -171,11 +171,8 @@ public class PredictedApiService { ...@@ -171,11 +171,8 @@ public class PredictedApiService {
* @return {@link List}<{@link GetBasePhotovoltaicPlantCloudOutput}> * @return {@link List}<{@link GetBasePhotovoltaicPlantCloudOutput}>
*/ */
private List<GetBasePhotovoltaicPlantCloudOutput> getPhotovoltaicPlant(XContext context, String stationName) { private List<GetBasePhotovoltaicPlantCloudOutput> getPhotovoltaicPlant(XContext context, String stationName) {
BasePhotovoltaicPlantCloudService bean = context.getBean(BasePhotovoltaicPlantCloudService.class); return ServiceUtil.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
XListResult<GetBasePhotovoltaicPlantCloudOutput> result = bean.getBasePhotovoltaicPlantList(context, GetBasePhotovoltaicPlantCloudInput.builder()
.stationName(stationName) .stationName(stationName)
.build()); .build());
result.throwIfFail();
return result.getResult();
} }
} }
...@@ -3,7 +3,6 @@ package pps.core.prediction.service; ...@@ -3,7 +3,6 @@ package pps.core.prediction.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.base.service.IBasePowerLineCloudService;
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.common.constant.BusinessConstant; import pps.core.common.constant.BusinessConstant;
...@@ -46,13 +45,9 @@ public class ThirdCurrentWellConditionService { ...@@ -46,13 +45,9 @@ public class ThirdCurrentWellConditionService {
@XText("井口生产情况--油井状态") @XText("井口生产情况--油井状态")
@XApiPost @XApiPost
public XListResult<QueryThirdCurrentWellConditionOutput> queryWellRealPvData(XContext context, QueryThirdCurrentWellConditionInput input) { public XListResult<QueryThirdCurrentWellConditionOutput> queryWellRealPvData(XContext context, QueryThirdCurrentWellConditionInput input) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class); List<DynamicQueryBasePowerLineWellheadViewOutput> list = ServiceUtil.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
XListResult<DynamicQueryBasePowerLineWellheadViewOutput> result = service.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
.lineId(input.getLineId()) .lineId(input.getLineId())
.build() .build());
);
result.throwIfFail();
List<DynamicQueryBasePowerLineWellheadViewOutput> list = result.getResult();
if (CollUtil.isEmpty(list)) { if (CollUtil.isEmpty(list)) {
return XListResult.success(Collections.emptyList()); return XListResult.success(Collections.emptyList());
} }
......
...@@ -5,7 +5,6 @@ import cn.hutool.core.date.DateTime; ...@@ -5,7 +5,6 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.base.service.BasePhotovoltaicPlantCloudService;
import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudInput; 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_photovoltaic_plant.GetBasePhotovoltaicPlantCloudOutput;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineInput; import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineInput;
...@@ -24,7 +23,6 @@ import pps.core.prediction.utils.ServiceUtil; ...@@ -24,7 +23,6 @@ import pps.core.prediction.utils.ServiceUtil;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
import xstartup.helper.XTransactionHelper; import xstartup.helper.XTransactionHelper;
...@@ -226,9 +224,11 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer ...@@ -226,9 +224,11 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
return XServiceResult.OK; return XServiceResult.OK;
} }
//通过场站名查线路ID //通过场站名查线路ID
Map<String, String> lineMap = this.getBasePowerLineListByNames(context, powerList.stream() Map<String, String> lineMap = ServiceUtil.getPowerLineList(context, DynamicQueryBasePowerLineInput.builder()
.lineNames(powerList.stream()
.map(ThirdPhotovoltaicPowerEnt::getStationName) .map(ThirdPhotovoltaicPowerEnt::getStationName)
.collect(Collectors.toList())).stream() .collect(Collectors.toList()))
.build()).stream()
.collect(Collectors.toMap(DynamicQueryBasePowerLineOutput::getLineName, DynamicQueryBasePowerLineOutput::getId)); .collect(Collectors.toMap(DynamicQueryBasePowerLineOutput::getLineName, DynamicQueryBasePowerLineOutput::getId));
//查昨日井口耗电量 //查昨日井口耗电量
WellheadDailyProductionSituationViewMapper mapper = context.getBean(WellheadDailyProductionSituationViewMapper.class); WellheadDailyProductionSituationViewMapper mapper = context.getBean(WellheadDailyProductionSituationViewMapper.class);
...@@ -503,22 +503,7 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer ...@@ -503,22 +503,7 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
* @return {@link Map}<{@link String}, {@link String}> * @return {@link Map}<{@link String}, {@link String}>
*/ */
private Map<String, String> getPhotovoltaicPlantMap(XContext context) { private Map<String, String> getPhotovoltaicPlantMap(XContext context) {
XListResult<GetBasePhotovoltaicPlantCloudOutput> result = context.getBean(BasePhotovoltaicPlantCloudService.class) return ServiceUtil.getBasePhotovoltaicPlantList(context, new GetBasePhotovoltaicPlantCloudInput()).stream()
.getBasePhotovoltaicPlantList(context, new GetBasePhotovoltaicPlantCloudInput());
return result.getResult().stream()
.collect(Collectors.toMap(GetBasePhotovoltaicPlantCloudOutput::getStationName, GetBasePhotovoltaicPlantCloudOutput::getId)); .collect(Collectors.toMap(GetBasePhotovoltaicPlantCloudOutput::getStationName, GetBasePhotovoltaicPlantCloudOutput::getId));
} }
/**
* 查询线路列表通过线路名称
*
* @param context 上下文
* @param lineNames ou-id列表
* @return {@link List}<{@link DynamicQueryBasePowerLineOutput}>
*/
private List<DynamicQueryBasePowerLineOutput> getBasePowerLineListByNames(XContext context, List<String> lineNames) {
return ServiceUtil.getPowerLineList(context, DynamicQueryBasePowerLineInput.builder()
.lineNames(lineNames)
.build());
}
} }
\ No newline at end of file
...@@ -2,8 +2,6 @@ package pps.core.prediction.service; ...@@ -2,8 +2,6 @@ package pps.core.prediction.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput;
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;
...@@ -18,7 +16,6 @@ import pps.core.prediction.utils.ServiceUtil; ...@@ -18,7 +16,6 @@ import pps.core.prediction.utils.ServiceUtil;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.data.XSingleResult; import xstartup.data.XSingleResult;
import xstartup.feature.api.annotation.XApiPost; import xstartup.feature.api.annotation.XApiPost;
...@@ -48,7 +45,7 @@ public class ThirdPhotovoltaicPowerService { ...@@ -48,7 +45,7 @@ public class ThirdPhotovoltaicPowerService {
@XApiPost @XApiPost
public XSingleResult<GetThirdPhotovoltaicPowerOutput> getPhotovoltaicPowerOverview(XContext context, GetThirdPhotovoltaicPowerInput input) { public XSingleResult<GetThirdPhotovoltaicPowerOutput> getPhotovoltaicPowerOverview(XContext context, GetThirdPhotovoltaicPowerInput input) {
GetThirdPhotovoltaicPowerOutput output = new GetThirdPhotovoltaicPowerOutput(); GetThirdPhotovoltaicPowerOutput output = new GetThirdPhotovoltaicPowerOutput();
List<DynamicQueryBasePowerLineOutput> lineList = this.getBasePowerLineListByOuIdList(context, ServiceUtil.getOrgIdsByPath(context, input.getOuId())); List<DynamicQueryBasePowerLineOutput> lineList = ServiceUtil.getBasePowerLineListByOuIdList(context, ServiceUtil.getOrgIdsByPath(context, input.getOuId()));
if (CollUtil.isEmpty(lineList)) { if (CollUtil.isEmpty(lineList)) {
output.setPowerGeneration(BigDecimal.ZERO); output.setPowerGeneration(BigDecimal.ZERO);
output.setPowerConsumption(BigDecimal.ZERO); output.setPowerConsumption(BigDecimal.ZERO);
...@@ -63,7 +60,9 @@ public class ThirdPhotovoltaicPowerService { ...@@ -63,7 +60,9 @@ public class ThirdPhotovoltaicPowerService {
input.getBetweenDate(); input.getBetweenDate();
BigDecimal powerConsumption; BigDecimal powerConsumption;
//查井口 //查井口
List<DynamicQueryBasePowerLineWellheadViewOutput> wellheadList = this.getBaseWellheadListByLineIdList(context, lineIdList); List<DynamicQueryBasePowerLineWellheadViewOutput> wellheadList = ServiceUtil.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
.lineIds(lineIdList)
.build());
if (CollUtil.isEmpty(lineList)) { if (CollUtil.isEmpty(lineList)) {
powerConsumption = BigDecimal.ONE; powerConsumption = BigDecimal.ONE;
} else { } else {
...@@ -93,38 +92,4 @@ public class ThirdPhotovoltaicPowerService { ...@@ -93,38 +92,4 @@ public class ThirdPhotovoltaicPowerService {
} }
return XSingleResult.success(output); return XSingleResult.success(output);
} }
/*-----------------------------------private-----------------------------------*/
/**
* 查询组织列表下所有线路
*
* @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();
}
/**
* 查询线路列表下所有井口
*
* @param context 上下文
* @param lineIdList 行id列表
* @return {@link List}<{@link DynamicQueryBasePowerLineWellheadViewOutput}>
*/
private List<DynamicQueryBasePowerLineWellheadViewOutput> getBaseWellheadListByLineIdList(XContext context, List<String> lineIdList) {
IBasePowerLineCloudService basePowerLineCloudService = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineWellheadViewOutput> wellheadList = basePowerLineCloudService.getPowerLineWellheadList(context, DynamicQueryBasePowerLineWellheadInput.builder()
.lineIds(lineIdList)
.build());
wellheadList.throwIfFail();
return wellheadList.getResult();
}
} }
...@@ -9,7 +9,6 @@ import com.alibaba.fastjson2.JSONObject; ...@@ -9,7 +9,6 @@ import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput; import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput; import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.core.auth.HttpRequestClient; import pps.core.auth.HttpRequestClient;
...@@ -645,15 +644,13 @@ public class WellheadDailyProductionSituationService { ...@@ -645,15 +644,13 @@ public class WellheadDailyProductionSituationService {
"\t}\n" + "\t}\n" +
"]"; "]";
List<GetThirdCurrentWellConditionViewOutput> wellList = JSON.parseArray(wellResult, GetThirdCurrentWellConditionViewOutput.class); List<GetThirdCurrentWellConditionViewOutput> wellList = JSON.parseArray(wellResult, GetThirdCurrentWellConditionViewOutput.class);
IBaseWellheadCloudService service = context.getBean(IBaseWellheadCloudService.class); Set<String> collect = ServiceUtil.getBaseWellheadList(context, DynamicQueryBaseWellheadInput.builder()
XListResult<DynamicQueryBaseWellheadOutput> result = service.queryBaseWellheadListByParam(context, DynamicQueryBaseWellheadInput.builder() .build()).stream()
.build()); .map(DynamicQueryBaseWellheadOutput::getWellNumber).collect(Collectors.toSet());
result.throwIfFail();
Set<String> collect = result.getResult().stream().map(DynamicQueryBaseWellheadOutput::getWellNumber).collect(Collectors.toSet());
Set<String> apiCollect = wellList.stream().map(GetThirdCurrentWellConditionViewOutput::getWellNumber).collect(Collectors.toSet()); Set<String> apiCollect = wellList.stream().map(GetThirdCurrentWellConditionViewOutput::getWellNumber).collect(Collectors.toSet());
System.out.println("-------------------系统里的井口:"); System.out.println("-------------------系统里的井口:");
for (DynamicQueryBaseWellheadOutput output : result.getResult()) { for (String output : collect) {
System.out.println(output.getWellNumber()); System.out.println(output);
} }
System.out.println("-------------------长庆接口里的井口:"); System.out.println("-------------------长庆接口里的井口:");
for (GetThirdCurrentWellConditionViewOutput output : wellList) { for (GetThirdCurrentWellConditionViewOutput output : wellList) {
......
...@@ -10,10 +10,20 @@ import cn.hutool.core.util.ObjectUtil; ...@@ -10,10 +10,20 @@ import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.base.service.BasePhotovoltaicPlantCloudService;
import pps.cloud.base.service.IBasePowerLineCloudService; import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.IConfigOilFieldCloudService; import pps.cloud.base.service.IConfigOilFieldCloudService;
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.DynamicQueryBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput; import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput;
import pps.cloud.base.service.data.base_power_line_plant.DynamicQueryBasePowerLinePlantInput;
import pps.cloud.base.service.data.base_power_line_plant.DynamicQueryBasePowerLinePlantViewOutput;
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_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.cloud.base.service.data.config_oil_field.GetConfigOilFieldOutput; import pps.cloud.base.service.data.config_oil_field.GetConfigOilFieldOutput;
import pps.cloud.system.service.SysOrganizationCloudService; import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.data.sys_organization.GetAllOuListByOuIdInput; import pps.cloud.system.service.data.sys_organization.GetAllOuListByOuIdInput;
...@@ -39,6 +49,7 @@ import xstartup.data.XListResult; ...@@ -39,6 +49,7 @@ import xstartup.data.XListResult;
import xstartup.data.XSingleResult; import xstartup.data.XSingleResult;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -342,6 +353,95 @@ public class ServiceUtil { ...@@ -342,6 +353,95 @@ public class ServiceUtil {
return result.getResult(); return result.getResult();
} }
/**
* 查询组织列表下所有线路
*
* @param context 上下文
* @param ouIdList ou id列表
* @return {@link List }<{@link DynamicQueryBasePowerLineOutput }>
*/
public static List<DynamicQueryBasePowerLineOutput> getBasePowerLineListByOuIdList(XContext context, Collection<String> ouIdList) {
IBasePowerLineCloudService basePowerLineCloudService = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineOutput> lineList = basePowerLineCloudService.getBasePowerLineListByOuIdList(context, DynamicQueryBasePowerLineInput.builder()
.ouIdList(ouIdList)
.build());
lineList.throwIfFail();
return lineList.getResult();
}
/**
* 查询线路列表下所有井口
*
* @param context 上下文
* @param input 输入
* @return {@link List }<{@link DynamicQueryBasePowerLineWellheadViewOutput }>
*/
public static List<DynamicQueryBasePowerLineWellheadViewOutput> getPowerLineWellheadList(XContext context, DynamicQueryBasePowerLineWellheadInput input) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineWellheadViewOutput> result = service.getPowerLineWellheadList(context, input);
result.throwIfFail();
return result.getResult();
}
/**
* 获取光伏电站列表
*
* @param context 上下文
* @param input 输入
* @return {@link List }<{@link GetBasePhotovoltaicPlantCloudOutput }>
*/
public static List<GetBasePhotovoltaicPlantCloudOutput> getBasePhotovoltaicPlantList(XContext context, GetBasePhotovoltaicPlantCloudInput input) {
BasePhotovoltaicPlantCloudService service = context.getBean(BasePhotovoltaicPlantCloudService.class);
XListResult<GetBasePhotovoltaicPlantCloudOutput> result = service.getBasePhotovoltaicPlantList(context, input);
result.throwIfFail();
return result.getResult();
}
/**
* 获取井口列表
*
* @param context 上下文
* @return {@link List }<{@link DynamicQueryBaseWellheadOutput }>
*/
public static List<DynamicQueryBaseWellheadOutput> getBaseWellheadList(XContext context, DynamicQueryBaseWellheadInput input) {
IBaseWellheadCloudService service = context.getBean(IBaseWellheadCloudService.class);
XListResult<DynamicQueryBaseWellheadOutput> result = service.queryBaseWellheadListByParam(context, input);
result.throwIfFail();
return result.getResult();
}
/**
* 获取输电线电站列表
*
* @param context 上下文
* @param input 入参
* @return {@link List}<{@link DynamicQueryBasePowerLinePlantViewOutput}>
*/
public static List<DynamicQueryBasePowerLinePlantViewOutput> getPowerLinePlantList(XContext context, DynamicQueryBasePowerLinePlantInput input) {
IBasePowerLineCloudService service = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLinePlantViewOutput> result = service.getPowerLinePlantViewList(context, input);
result.throwIfFail();
return result.getResult();
}
/**
* 计算累计减碳量
*
* @param photovoltaicPower 光伏发电
* @return {@link BigDecimal }
*/
public static BigDecimal calculateCarbonReduction(BigDecimal photovoltaicPower) {
BigDecimal carbonReduction;
if (photovoltaicPower.compareTo(BigDecimal.ZERO) > 0) {
carbonReduction = photovoltaicPower
.multiply(BusinessConstant.BIG_DECIMAL_6_67)
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
} else {
carbonReduction = BigDecimal.ZERO;
}
return carbonReduction;
}
/*----------------------------------- 私有方法 -----------------------------------*/ /*----------------------------------- 私有方法 -----------------------------------*/
/** /**
......
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