Commit 58050b64 authored by ZWT's avatar ZWT

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

1.新建油田配置表同时生成相关代码及mapper文件,修改部分第三方数据抽取定时任务,增加针对不同井场开关控制逻辑,同时修改首页页面展示逻辑,通过油田配置功能区分不同首页展示功能;
2.新建定时任务配置表同时生成相关代码及mapper文件,定时任务模块增加mybatis配置,用以操作数据库,修改部分第三方数据抽取定时任务,修改使用方式使其脱离框架方便动态控制;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 8859c948
...@@ -15,6 +15,7 @@ import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPl ...@@ -15,6 +15,7 @@ import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPl
import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudOutput; import pps.cloud.base.service.data.base_photovoltaic_plant.GetBasePhotovoltaicPlantCloudOutput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput; import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput; import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.cloud.base.service.data.config_oil_field.GetConfigOilFieldOutput;
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;
import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerOutput; import pps.cloud.prediction.service.data.third_active_power.GetThirdActivePowerOutput;
...@@ -101,6 +102,9 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -101,6 +102,9 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
placeListResult.throwIfFail(); placeListResult.throwIfFail();
Map<String, String> plantStrategyMap = placeListResult.getResult().stream() Map<String, String> plantStrategyMap = placeListResult.getResult().stream()
.collect(Collectors.toMap(GetBasePhotovoltaicPlantCloudOutput::getStationName, GetBasePhotovoltaicPlantCloudOutput::getStrategyId)); .collect(Collectors.toMap(GetBasePhotovoltaicPlantCloudOutput::getStationName, GetBasePhotovoltaicPlantCloudOutput::getStrategyId));
//获取当前配置
GetConfigOilFieldOutput currentConfig = ServiceUtil.getCurrentConfig(context);
String oilFieldCode = ObjectUtil.defaultIfNull(currentConfig.getOilFieldCode(), "--");
SpaceOptimizeShortDurationView wellInfo; SpaceOptimizeShortDurationView wellInfo;
BigDecimal currentServiceRating; BigDecimal currentServiceRating;
String wellNumber; String wellNumber;
...@@ -203,7 +207,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -203,7 +207,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
photovoltaicPower = photovoltaicPower.add(dailyGreenConsumption); photovoltaicPower = photovoltaicPower.add(dailyGreenConsumption);
//用电趋势结果计算 //用电趋势结果计算
wellSaveList.add(this.getWellDailyElectricityTrendView(wellProductionMap.get(wellNumber), wellNumber, wellSaveList.add(this.getWellDailyElectricityTrendView(wellProductionMap.get(wellNumber), wellNumber,
wellInfo.getRunDuration(), dailyGreenOpenHour, dailyGreenConsumption, yesterday, valleyElectricOpenHour)); wellInfo.getRunDuration(), dailyGreenOpenHour, dailyGreenConsumption, yesterday, valleyElectricOpenHour, oilFieldCode));
//累加总运行时长 //累加总运行时长
sumRunDuration = sumRunDuration.add(wellInfo.getRunDuration()); sumRunDuration = sumRunDuration.add(wellInfo.getRunDuration());
//累加谷电运行时长 //累加谷电运行时长
...@@ -213,7 +217,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -213,7 +217,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
dailyElectricityConsumption = Optional.ofNullable(dailyUpdatePowerMap.get(stationName)).orElse(BigDecimal.ZERO); dailyElectricityConsumption = Optional.ofNullable(dailyUpdatePowerMap.get(stationName)).orElse(BigDecimal.ZERO);
stationSaveList.add( stationSaveList.add(
this.getLineDailyElectricityTrendView(lastElectricityTrendMap.get(stationName), this.getLineDailyElectricityTrendView(lastElectricityTrendMap.get(stationName),
dailyElectricityConsumption, photovoltaicPower, stationName, yesterday, sumRunDuration, sumValleyElectricOpenHour) dailyElectricityConsumption, photovoltaicPower, stationName, yesterday, sumRunDuration, sumValleyElectricOpenHour, oilFieldCode)
); );
} }
} }
...@@ -436,11 +440,12 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -436,11 +440,12 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
* @param dailyGreenConsumption 日常绿色消费 * @param dailyGreenConsumption 日常绿色消费
* @param yesterday 昨天 * @param yesterday 昨天
* @param valleyElectricOpenHour 山谷电力开放时间 * @param valleyElectricOpenHour 山谷电力开放时间
* @param oilFieldCode 环境
* @return {@link WellDailyElectricityTrendView } * @return {@link WellDailyElectricityTrendView }
*/ */
private WellDailyElectricityTrendView getWellDailyElectricityTrendView(GetWellheadDailyProductionSituationOutput productionSituationOutput, private WellDailyElectricityTrendView getWellDailyElectricityTrendView(GetWellheadDailyProductionSituationOutput productionSituationOutput,
String wellNumber, BigDecimal runDuration, BigDecimal dailyGreenOpenHour, String wellNumber, BigDecimal runDuration, BigDecimal dailyGreenOpenHour,
BigDecimal dailyGreenConsumption, Date yesterday, BigDecimal valleyElectricOpenHour) { BigDecimal dailyGreenConsumption, Date yesterday, BigDecimal valleyElectricOpenHour, String oilFieldCode) {
WellDailyElectricityTrendView view; WellDailyElectricityTrendView view;
if (ObjectUtil.isNotNull(productionSituationOutput)) { if (ObjectUtil.isNotNull(productionSituationOutput)) {
view = WellDailyElectricityTrendView.builder() view = WellDailyElectricityTrendView.builder()
...@@ -459,7 +464,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -459,7 +464,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
//谷电占比:所有井的谷电时间开井时长/所有井开井时长保留2位小数 //谷电占比:所有井的谷电时间开井时长/所有井开井时长保留2位小数
.valleyElectricRate(BaseUtils.getRate(valleyElectricOpenHour, runDuration)) .valleyElectricRate(BaseUtils.getRate(valleyElectricOpenHour, runDuration))
.createDate(yesterday) .createDate(yesterday)
.systemSource("长庆") .systemSource(oilFieldCode)
.build(); .build();
} else { } else {
view = WellDailyElectricityTrendView.builder() view = WellDailyElectricityTrendView.builder()
...@@ -478,7 +483,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -478,7 +483,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
//谷电占比:所有井的谷电时间开井时长/所有井开井时长保留2位小数 //谷电占比:所有井的谷电时间开井时长/所有井开井时长保留2位小数
.valleyElectricRate(BaseUtils.getRate(valleyElectricOpenHour, runDuration)) .valleyElectricRate(BaseUtils.getRate(valleyElectricOpenHour, runDuration))
.createDate(yesterday) .createDate(yesterday)
.systemSource("长庆") .systemSource(oilFieldCode)
.build(); .build();
} }
return view; return view;
...@@ -494,10 +499,12 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -494,10 +499,12 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
* @param yesterday 昨天 * @param yesterday 昨天
* @param sumRunDuration 总运行时间 * @param sumRunDuration 总运行时间
* @param sumValleyElectricOpenHour sum valley电力开放时间 * @param sumValleyElectricOpenHour sum valley电力开放时间
* @param oilFieldCode 环境
* @return {@link LineDailyElectricityTrendView } * @return {@link LineDailyElectricityTrendView }
*/ */
private LineDailyElectricityTrendView getLineDailyElectricityTrendView(LineDailyElectricityTrendEnt ent, BigDecimal dailyElectricityConsumption, private LineDailyElectricityTrendView getLineDailyElectricityTrendView(LineDailyElectricityTrendEnt ent, BigDecimal dailyElectricityConsumption,
BigDecimal photovoltaicPower, String stationName, Date yesterday, BigDecimal sumRunDuration, BigDecimal sumValleyElectricOpenHour) { BigDecimal photovoltaicPower, String stationName, Date yesterday, BigDecimal sumRunDuration,
BigDecimal sumValleyElectricOpenHour, String oilFieldCode) {
LineDailyElectricityTrendView view; LineDailyElectricityTrendView view;
BigDecimal municipalPower = dailyElectricityConsumption.subtract(photovoltaicPower); BigDecimal municipalPower = dailyElectricityConsumption.subtract(photovoltaicPower);
if (municipalPower.compareTo(BigDecimal.ZERO) < 0) { if (municipalPower.compareTo(BigDecimal.ZERO) < 0) {
...@@ -521,7 +528,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -521,7 +528,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
//谷电占比:所有井的谷电时间开井时长/所有井开井时长保留2位小数 //谷电占比:所有井的谷电时间开井时长/所有井开井时长保留2位小数
.valleyElectricRate(BaseUtils.getRate(sumValleyElectricOpenHour, sumRunDuration)) .valleyElectricRate(BaseUtils.getRate(sumValleyElectricOpenHour, sumRunDuration))
.createDate(yesterday) .createDate(yesterday)
.systemSource("长庆") .systemSource(oilFieldCode)
.build(); .build();
} else { } else {
view = LineDailyElectricityTrendView.builder() view = LineDailyElectricityTrendView.builder()
...@@ -540,7 +547,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT ...@@ -540,7 +547,7 @@ public class DailyElectricityTrendCloudServiceImpl implements IDailyElectricityT
//谷电占比:所有井的谷电时间开井时长/所有井开井时长保留2位小数 //谷电占比:所有井的谷电时间开井时长/所有井开井时长保留2位小数
.valleyElectricRate(BaseUtils.getRate(sumValleyElectricOpenHour, sumRunDuration)) .valleyElectricRate(BaseUtils.getRate(sumValleyElectricOpenHour, sumRunDuration))
.createDate(yesterday) .createDate(yesterday)
.systemSource("长庆") .systemSource(oilFieldCode)
.build(); .build();
} }
return view; return view;
......
...@@ -8,6 +8,7 @@ import cn.hutool.core.text.CharSequenceUtil; ...@@ -8,6 +8,7 @@ import cn.hutool.core.text.CharSequenceUtil;
import pps.cloud.base.service.IBasePowerLineCloudService; import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.IBasePriceStrategyCloudService; import pps.cloud.base.service.IBasePriceStrategyCloudService;
import pps.cloud.base.service.IBaseWellheadCloudService; import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.IConfigOilFieldCloudService;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineInput; import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput; import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput;
import pps.cloud.base.service.data.base_power_line.GetBasePowerLineInput; import pps.cloud.base.service.data.base_power_line.GetBasePowerLineInput;
...@@ -16,6 +17,7 @@ import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrate ...@@ -16,6 +17,7 @@ import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrate
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput; import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput; import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput; import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.cloud.base.service.data.config_oil_field.GetConfigOilFieldOutput;
import pps.cloud.system.service.SysOrganizationCloudService; import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.SystemDictionaryService; import pps.cloud.system.service.SystemDictionaryService;
import pps.cloud.system.service.data.sys_dictionary.QuerySysDictionaryViewInput; import pps.cloud.system.service.data.sys_dictionary.QuerySysDictionaryViewInput;
...@@ -328,4 +330,17 @@ public class ServiceUtil { ...@@ -328,4 +330,17 @@ public class ServiceUtil {
} }
return openFlag; return openFlag;
} }
/**
* 获取当前配置
*
* @param context 上下文
* @return {@link GetConfigOilFieldOutput }
*/
public static GetConfigOilFieldOutput getCurrentConfig(XContext context) {
IConfigOilFieldCloudService bean = context.getBean(IConfigOilFieldCloudService.class);
XSingleResult<GetConfigOilFieldOutput> currentConfig = bean.getCurrentConfig(context);
currentConfig.throwIfFail();
return currentConfig.getResult();
}
} }
\ No newline at end of file
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