Commit 1999b94d authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.开发中间库表结构及数据导出功能,检查中间库表结构是否有变动,同时获取最新数据,验证数据是否更新;
2.创建场站每日信息统计记录表,新建场站日信息数据采集汇总定时任务,整理汇总场站纬度每日数据,完成功能验证;
3.针对吉林提供的统计数据,对吉林首页部分功能修改;
4.针对中间库每日井口数据统计表结构变动,修改井口日统计定时任务数据处理逻辑,完成功能验证;
5.修改日发电量统计定时任务,排查数据丢失问题,完成功能验证;
6.修改场站每日信息汇总统计定时任务,增加统计每日光伏发电量逻辑,修改表结构及数据结构和业务处理逻辑,完成功能验证;
7.修改吉林首页线路详情接口,区分部署环境,增加吉林个性化数据处理逻辑,完成接口冒烟测试;
8.修改实际发电功率统计定时任务,排查数据丢失问题,完成功能验证;
9.修改实际发电量统计定时任务,排查数据丢失问题,完成功能验证;
10.修改吉林首页井场效果评价数据统计接口,区分部署环境,增加吉林个性化数据处理逻辑,完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent e20feddb
......@@ -22,9 +22,6 @@ import pps.cloud.base.service.data.base_power_line_wellhead.DynamicQueryBasePowe
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.space.service.IDailyElectricityTrendCloudService;
import pps.cloud.space.service.data.line_daily_electricity_trend.GetLineDailyElectricityTrendInput;
import pps.cloud.space.service.data.line_daily_electricity_trend.GetLineDailyElectricityTrendOutput;
import pps.cloud.system.service.SystemAreaService;
import pps.cloud.system.service.data.sys_area.GetSysAreaInput;
import pps.cloud.system.service.data.sys_area.GetSysAreaOutput;
......@@ -606,6 +603,9 @@ public class HomePageService {
}
}
String oilFieldCode = ServiceUtil.getOilFieldCode(context);
//区分环境
switch (oilFieldCode) {
case BusinessConstant.ENV_CQ:
ThirdDailyAccumulationUpdateMapper analysisMapper = context.getBean(ThirdDailyAccumulationUpdateMapper.class);
ThirdDailyAccumulationUpdateEnt analysisEnt = analysisMapper.selectOne(new QueryWrapper<ThirdDailyAccumulationUpdateEnt>()
.select("IFNULL( SUM( photovoltaic_power ), 0 ) AS photovoltaic_power",
......@@ -631,9 +631,6 @@ public class HomePageService {
.subtract(analysisEnt.getPhotovoltaicPower()
.multiply(BigDecimal.valueOf(0.28)))
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//区分环境
switch (oilFieldCode) {
case BusinessConstant.ENV_CQ:
if (CharSequenceUtil.equals("bb1bff9d-7068-48c9-9be8-c80eb0d49152", stationId)) {
greenElectricityRate = "94.03";
} else {
......@@ -651,20 +648,32 @@ public class HomePageService {
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
break;
case BusinessConstant.ENV_SY:
//近零碳井场绿电占比:(累计就地消纳量/累计井场用电量*100%)+5
greenElectricityRate = BaseUtils.getRate(analysisEnt.getInPlaceConsumption(), analysisEnt.getDailyElectricityConsumption())
.add(BigDecimal.valueOf(5))
.toString();
//谷电占比:所有井的谷电时间开井时长/所有井开井时长保留2位小数
IDailyElectricityTrendCloudService bean = context.getBean(IDailyElectricityTrendCloudService.class);
XSingleResult<GetLineDailyElectricityTrendOutput> result = bean.querySumDailyElectricity(context, GetLineDailyElectricityTrendInput.builder()
.systemSource(oilFieldCode)
.stationNameList(lineNameList)
.build());
result.throwIfFail();
GetLineDailyElectricityTrendOutput lineDailyElectricity = result.getResult();
valleyElectricRate = BaseUtils.getRate(lineDailyElectricity.getValleyElectricOpenHour(), lineDailyElectricity.getSumRunDuration());
StationDailyProductionSituationMapper dailyMapper = context.getBean(StationDailyProductionSituationMapper.class);
StationDailyProductionSituationEnt dailyEnt = dailyMapper.selectOne(new QueryWrapper<StationDailyProductionSituationEnt>()
.select("IFNULL( SUM( photovoltaic_power ), 0 ) AS photovoltaic_power",
"IFNULL( SUM( daily_electricity_consumption ), 0 ) AS daily_electricity_consumption",
"IFNULL( SUM( electricity_charge_city ), 0 ) AS electricity_charge_city")
.lambda()
.in(StationDailyProductionSituationEnt::getStationName, lineNameList)
.eq(StationDailyProductionSituationEnt::getSystemSource, oilFieldCode)
);
//发电量
powerGeneration = dailyEnt.getPhotovoltaicPower()
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//用电量
dailyElectricityConsumption = dailyEnt.getDailyElectricityConsumption()
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//累计减碳量
carbonReduction = ServiceUtil.calculateCarbonReduction(dailyEnt.getPhotovoltaicPower());
//经济效益(万元):光伏累计发电*0.65-光伏累计发电*0.28
economicBenefit = dailyEnt.getPhotovoltaicPower()
.multiply(BigDecimal.valueOf(0.65))
.subtract(dailyEnt.getPhotovoltaicPower()
.multiply(BigDecimal.valueOf(0.28)))
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
//累计电费
accumulatedCharge = dailyEnt.getElectricityChargeCity()
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
break;
default:
}
......
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