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; ...@@ -5,6 +5,7 @@ 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 cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.prediction.service.IThirdPowerCloudService; import pps.cloud.prediction.service.IThirdPowerCloudService;
import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerInput; import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerInput;
...@@ -80,7 +81,6 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -80,7 +81,6 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
Map<Integer, List<SpaceOptimizeShortDurationView>> startSeqMap; Map<Integer, List<SpaceOptimizeShortDurationView>> startSeqMap;
List<SpaceOptimizeShortDurationView> durationList; List<SpaceOptimizeShortDurationView> durationList;
GetThirdActivePowerOutput thirdActivePower; GetThirdActivePowerOutput thirdActivePower;
GetWellheadDailyProductionSituationOutput productionSituationOutput;
//遍历全量电站 //遍历全量电站
for (String stationName : powerMap.keySet()) { for (String stationName : powerMap.keySet()) {
//取存在的间开 //取存在的间开
...@@ -130,43 +130,8 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -130,43 +130,8 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
} }
} }
//用电趋势结果计算 //用电趋势结果计算
BigDecimal runDuration = wellInfo.getRunDuration(); wellSaveList.add(this.getWellDailyElectricityTrendView(wellProductionMap.get(wellNumber), wellNumber,
WellDailyElectricityTrendView view; wellInfo.getRunDuration(), dailyGreenOpenHour, photovoltaicPower, yesterday));
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);
} }
//计算封装数据 //计算封装数据
...@@ -334,4 +299,55 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -334,4 +299,55 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
} }
return rate; 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