Commit b2346929 authored by ZWT's avatar ZWT

feat(零碳): 长庆演示系统新增功能

1.修改第三方日累计数据推送表表结构,增加日累计储能放电量字段,同时修改代码对应实体及mapper文件,修改相关接口增加储能日累计放电量接收逻辑;
2.修改首页井场收益分析模块接口,修改获取储能累计放电量逻辑;
3.设计并创建井口日用电趋势表,生成对应实体类及mapper文件;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent cf107255
......@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.prediction.service.IThirdPowerCloudService;
import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerInput;
......@@ -80,7 +81,6 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
Map<Integer, List<SpaceOptimizeShortDurationView>> startSeqMap;
List<SpaceOptimizeShortDurationView> durationList;
GetThirdActivePowerOutput thirdActivePower;
GetWellheadDailyProductionSituationOutput productionSituationOutput;
//遍历全量电站
for (String stationName : powerMap.keySet()) {
//取存在的间开
......@@ -130,43 +130,8 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
}
}
//用电趋势结果计算
BigDecimal runDuration = wellInfo.getRunDuration();
WellDailyElectricityTrendView view;
if (wellProductionMap.containsKey(wellNumber)) {
productionSituationOutput = wellProductionMap.get(wellNumber);
view = WellDailyElectricityTrendView.builder()
.wellNumber(wellNumber)
.spaceRunDuration(runDuration)
.dailyOpenHour(productionSituationOutput.getProductionTime())
.dailyGreenOpenHour(dailyGreenOpenHour)
.dailyGreenConsumption(photovoltaicPower)
.dailyElectricityConsumption(productionSituationOutput.getDailyElectricityConsumption())
.dailyLiquidProduction(productionSituationOutput.getDailyLiquidProduction())
//日减碳量:日绿电用电量*6.67
.dailyCarbonReduction(photovoltaicPower.multiply(BusinessConstant.BIG_DECIMAL_6_67))
//绿电占比:绿电开井时长/开井时长*100%
.greenElectricityRate(this.getRate(dailyGreenOpenHour, runDuration))
.createDate(yesterday)
.systemSource("长庆")
.build();
} else {
view = WellDailyElectricityTrendView.builder()
.wellNumber(wellNumber)
.spaceRunDuration(runDuration)
.dailyOpenHour(BigDecimal.ZERO)
.dailyGreenOpenHour(dailyGreenOpenHour)
.dailyGreenConsumption(photovoltaicPower)
.dailyElectricityConsumption(BigDecimal.ZERO)
.dailyLiquidProduction(BigDecimal.ZERO)
//日减碳量:日绿电用电量*6.67
.dailyCarbonReduction(photovoltaicPower.multiply(BusinessConstant.BIG_DECIMAL_6_67))
//绿电占比:绿电开井时长/开井时长*100%
.greenElectricityRate(this.getRate(dailyGreenOpenHour, runDuration))
.createDate(yesterday)
.systemSource("长庆")
.build();
}
wellSaveList.add(view);
wellSaveList.add(this.getWellDailyElectricityTrendView(wellProductionMap.get(wellNumber), wellNumber,
wellInfo.getRunDuration(), dailyGreenOpenHour, photovoltaicPower, yesterday));
}
//计算封装数据
......@@ -334,4 +299,55 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
}
return rate;
}
/**
* 获取井口日用电趋势信息
*
* @param productionSituationOutput 生产情况输出
* @param wellNumber 井号
* @param runDuration 运行持续时间
* @param dailyGreenOpenHour 每日绿色开放时间
* @param photovoltaicPower 光伏发电
* @param yesterday 昨天
* @return {@link WellDailyElectricityTrendView }
*/
private WellDailyElectricityTrendView getWellDailyElectricityTrendView(GetWellheadDailyProductionSituationOutput productionSituationOutput,
String wellNumber, BigDecimal runDuration, BigDecimal dailyGreenOpenHour,
BigDecimal photovoltaicPower, Date yesterday) {
WellDailyElectricityTrendView view;
if (ObjectUtil.isNotNull(productionSituationOutput)) {
view = WellDailyElectricityTrendView.builder()
.wellNumber(wellNumber)
.spaceRunDuration(runDuration)
.dailyOpenHour(productionSituationOutput.getProductionTime())
.dailyGreenOpenHour(dailyGreenOpenHour)
.dailyGreenConsumption(photovoltaicPower)
.dailyElectricityConsumption(productionSituationOutput.getDailyElectricityConsumption())
.dailyLiquidProduction(productionSituationOutput.getDailyLiquidProduction())
//日减碳量:日绿电用电量*6.67
.dailyCarbonReduction(photovoltaicPower.multiply(BusinessConstant.BIG_DECIMAL_6_67))
//绿电占比:绿电开井时长/开井时长*100%
.greenElectricityRate(this.getRate(dailyGreenOpenHour, runDuration))
.createDate(yesterday)
.systemSource("长庆")
.build();
} else {
view = WellDailyElectricityTrendView.builder()
.wellNumber(wellNumber)
.spaceRunDuration(runDuration)
.dailyOpenHour(BigDecimal.ZERO)
.dailyGreenOpenHour(dailyGreenOpenHour)
.dailyGreenConsumption(photovoltaicPower)
.dailyElectricityConsumption(BigDecimal.ZERO)
.dailyLiquidProduction(BigDecimal.ZERO)
//日减碳量:日绿电用电量*6.67
.dailyCarbonReduction(photovoltaicPower.multiply(BusinessConstant.BIG_DECIMAL_6_67))
//绿电占比:绿电开井时长/开井时长*100%
.greenElectricityRate(this.getRate(dailyGreenOpenHour, runDuration))
.createDate(yesterday)
.systemSource("长庆")
.build();
}
return view;
}
}
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