Commit ef219c0a authored by ZWT's avatar ZWT

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

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent b2346929
......@@ -106,6 +106,8 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
serviceRating.add(currentServiceRating);
//绿电开井时间(h)
BigDecimal dailyGreenOpenHour = BigDecimal.ZERO;
//绿电用电量
BigDecimal dailyGreenConsumption = BigDecimal.ZERO;
//记录每一次计算结束位置
int index = 0;
for (SpaceOptimizeShortDurationView duration : durationList) {
......@@ -123,7 +125,9 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
//在时间范围内,并且总运行功率满足运行
if (DateUtil.isIn(thirdActivePower.getCreateDate(), openWellTime, closeWellTime) && thirdActivePower.getPhotovoltaicPower().compareTo(serviceRating) >= 0) {
//单井绿电用电:运行功率*绿电阶段开井时间(0.25h)
photovoltaicPower = photovoltaicPower.add(currentServiceRating.multiply(BusinessConstant.BIG_DECIMAL_0_25));
dailyGreenConsumption = dailyGreenConsumption.add(currentServiceRating.multiply(BusinessConstant.BIG_DECIMAL_0_25));
//井场绿电用电累加
photovoltaicPower = photovoltaicPower.add(dailyGreenConsumption);
//当前井口绿电运行时长
dailyGreenOpenHour = dailyGreenOpenHour.add(BusinessConstant.BIG_DECIMAL_0_25);
}
......@@ -131,7 +135,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
}
//用电趋势结果计算
wellSaveList.add(this.getWellDailyElectricityTrendView(wellProductionMap.get(wellNumber), wellNumber,
wellInfo.getRunDuration(), dailyGreenOpenHour, photovoltaicPower, yesterday));
wellInfo.getRunDuration(), dailyGreenOpenHour, dailyGreenConsumption, yesterday));
}
//计算封装数据
......@@ -307,13 +311,13 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
* @param wellNumber 井号
* @param runDuration 运行持续时间
* @param dailyGreenOpenHour 每日绿色开放时间
* @param photovoltaicPower 光伏发
* @param dailyGreenConsumption 绿电用
* @param yesterday 昨天
* @return {@link WellDailyElectricityTrendView }
*/
private WellDailyElectricityTrendView getWellDailyElectricityTrendView(GetWellheadDailyProductionSituationOutput productionSituationOutput,
String wellNumber, BigDecimal runDuration, BigDecimal dailyGreenOpenHour,
BigDecimal photovoltaicPower, Date yesterday) {
BigDecimal dailyGreenConsumption, Date yesterday) {
WellDailyElectricityTrendView view;
if (ObjectUtil.isNotNull(productionSituationOutput)) {
view = WellDailyElectricityTrendView.builder()
......@@ -321,11 +325,11 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
.spaceRunDuration(runDuration)
.dailyOpenHour(productionSituationOutput.getProductionTime())
.dailyGreenOpenHour(dailyGreenOpenHour)
.dailyGreenConsumption(photovoltaicPower)
.dailyGreenConsumption(dailyGreenConsumption)
.dailyElectricityConsumption(productionSituationOutput.getDailyElectricityConsumption())
.dailyLiquidProduction(productionSituationOutput.getDailyLiquidProduction())
//日减碳量:日绿电用电量*6.67
.dailyCarbonReduction(photovoltaicPower.multiply(BusinessConstant.BIG_DECIMAL_6_67))
.dailyCarbonReduction(dailyGreenConsumption.multiply(BusinessConstant.BIG_DECIMAL_6_67))
//绿电占比:绿电开井时长/开井时长*100%
.greenElectricityRate(this.getRate(dailyGreenOpenHour, runDuration))
.createDate(yesterday)
......@@ -337,11 +341,11 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
.spaceRunDuration(runDuration)
.dailyOpenHour(BigDecimal.ZERO)
.dailyGreenOpenHour(dailyGreenOpenHour)
.dailyGreenConsumption(photovoltaicPower)
.dailyGreenConsumption(dailyGreenConsumption)
.dailyElectricityConsumption(BigDecimal.ZERO)
.dailyLiquidProduction(BigDecimal.ZERO)
//日减碳量:日绿电用电量*6.67
.dailyCarbonReduction(photovoltaicPower.multiply(BusinessConstant.BIG_DECIMAL_6_67))
.dailyCarbonReduction(dailyGreenConsumption.multiply(BusinessConstant.BIG_DECIMAL_6_67))
//绿电占比:绿电开井时长/开井时长*100%
.greenElectricityRate(this.getRate(dailyGreenOpenHour, runDuration))
.createDate(yesterday)
......
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