Commit dde9bc7d authored by ZWT's avatar ZWT

得到的

parent cfa5e22c
......@@ -1511,20 +1511,27 @@ public class EnergyConsumptionAnalysisService {
//查电站列表,计算统计数据
List<DynamicQueryBasePowerLineOutput> powerLineList = ServiceUtil.getPowerLineList(context, lineParam);
if (CollUtil.isNotEmpty(powerLineList)) {
String oilFieldCode = ServiceUtil.getOilFieldCode(context);
Set<String> lineNameSet = powerLineList.stream().map(DynamicQueryBasePowerLineOutput::getLineName).collect(Collectors.toSet());
QueryWrapper<StationDailyProductionSituationEnt> queryWrapper = new QueryWrapper<>();
if (CharSequenceUtil.equals(context.getProperty("x.db.databaseId"), BusinessConstant.ORACLE)) {
queryWrapper.select("NVL( ROUND( AVG( DAILY_ELECTRICITY_CONSUMPTION ), 2 ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION",
"NVL( ROUND( AVG( DAILY_LIQUID_PRODUCTION ), 2 ), 0 ) AS DAILY_LIQUID_PRODUCTION",
"NVL( ROUND( SUM( PHOTOVOLTAIC_POWER ), 2 ), 0 ) AS PHOTOVOLTAIC_POWER"
);
} else {
queryWrapper.select("IFNULL( ROUND( AVG( DAILY_ELECTRICITY_CONSUMPTION ), 2 ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION",
"IFNULL( ROUND( AVG( DAILY_LIQUID_PRODUCTION ), 2 ), 0 ) AS DAILY_LIQUID_PRODUCTION",
"IFNULL( ROUND( SUM( PHOTOVOLTAIC_POWER ), 2 ), 0 ) AS PHOTOVOLTAIC_POWER"
);
}
StationDailyProductionSituationMapper mapper = context.getBean(StationDailyProductionSituationMapper.class);
StationDailyProductionSituationEnt ent = mapper.selectOne(new QueryWrapper<StationDailyProductionSituationEnt>()
.select("IFNULL( ROUND( AVG( daily_electricity_consumption ), 2 ), 0 ) AS daily_electricity_consumption",
"IFNULL( ROUND( AVG( daily_liquid_production ), 2 ), 0 ) AS daily_liquid_production",
"IFNULL( ROUND( SUM( photovoltaic_power ), 2 ), 0 ) AS photovoltaic_power"
)
.lambda()
.in(StationDailyProductionSituationEnt::getStationName, lineNameSet)
StationDailyProductionSituationEnt ent = mapper.selectOne(queryWrapper.lambda()
.in(StationDailyProductionSituationEnt::getStationName, powerLineList.stream()
.map(DynamicQueryBasePowerLineOutput::getLineName)
.collect(Collectors.toSet()))
);
liquidProduction = ent.getDailyLiquidProduction();
electricityConsumption = ent.getDailyElectricityConsumption();
economicBenefit = ServiceUtil.getEconomicBenefitYuan(ent.getPhotovoltaicPower(), oilFieldCode);
economicBenefit = ServiceUtil.getEconomicBenefitYuan(ent.getPhotovoltaicPower(), ServiceUtil.getOilFieldCode(context));
carbonReduction = ServiceUtil.calculateCarbonReduction(ent.getPhotovoltaicPower());
}
return XSingleResult.success(GetWellProductionStatusOutput.builder()
......
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