Commit acc15a14 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.排查并修复各时段间开优化功能执行异常导致未执行间开优化问题;
2.排查并修复15天间开优化功能执行后,优化结果时间段展示错乱问题;
3.排查并修复光伏功率预测展示功能,实际功率未展示问题;
4.排查并修复天气数据获取服务,数据处理后入库缺少数据问题;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 4d6ed0de
......@@ -245,7 +245,7 @@ public class EnergyConsumptionAnalysisService {
if (ObjectUtil.isNotNull(statistics)) {
output.setAccumulatePowerGeneration(statistics.getPhotovoltaicPower().setScale(2, RoundingMode.HALF_UP));
output.setDailyElectricityConsumption(statistics.getDailyElectricityConsumption().setScale(2, RoundingMode.HALF_UP));
output.setEconomicBenefit(ServiceUtil.getEconomicBenefit(statistics.getPhotovoltaicPower(), BusinessConstant.ENV_SY));
output.setEconomicBenefit(ServiceUtil.getEconomicBenefitYuan(statistics.getPhotovoltaicPower(), BusinessConstant.ENV_SY));
output.setCarbonReduction(ServiceUtil.calculateCarbonReductionTon(statistics.getPhotovoltaicPower()));
}
return XSingleResult.success(output);
......@@ -1469,8 +1469,8 @@ public class EnergyConsumptionAnalysisService {
);
liquidProduction = ent.getDailyLiquidProduction();
electricityConsumption = ent.getDailyElectricityConsumption();
economicBenefit = ServiceUtil.getEconomicBenefit(ent.getPhotovoltaicPower(), oilFieldCode);
carbonReduction = ServiceUtil.calculateCarbonReduction(ent.getPhotovoltaicPower());
economicBenefit = ServiceUtil.getEconomicBenefitYuan(ent.getPhotovoltaicPower(), oilFieldCode);
carbonReduction = ServiceUtil.calculateCarbonReductionTon(ent.getPhotovoltaicPower());
}
return XSingleResult.success(GetWellProductionStatusOutput.builder()
.sumWellNumber(sumWellNumber)
......
......@@ -426,37 +426,25 @@ public class ServiceUtil {
}
/**
* 获得经济效益
* 获得经济效益(万元)
*
* @param photovoltaicPower 光伏发电
* @param oilFieldCode 油田代码
* @return {@link BigDecimal }
*/
public static BigDecimal getEconomicBenefit(BigDecimal photovoltaicPower, String oilFieldCode) {
//经济效益
BigDecimal economicBenefit;
//平均电价
String avgFee;
//度电成本
String cost;
if (CharSequenceUtil.equals(oilFieldCode, BusinessConstant.ENV_SY)) {
avgFee = "0.6669";
cost = "0.3587";
} else {
avgFee = "0.65";
cost = "0.28";
}
//计算经济效益(万元):光伏累计发电*平均电价-光伏累计发电*度电成本
if (photovoltaicPower.compareTo(BigDecimal.ZERO) > 0) {
economicBenefit = photovoltaicPower
.multiply(new BigDecimal(avgFee))
.subtract(photovoltaicPower
.multiply(new BigDecimal(cost)))
.divide(BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
} else {
economicBenefit = BigDecimal.ZERO;
return economicBenefit(photovoltaicPower, oilFieldCode, false);
}
return economicBenefit;
/**
* 获得经济效益(元)
*
* @param photovoltaicPower 光伏发电
* @param oilFieldCode 油田代码
* @return {@link BigDecimal }
*/
public static BigDecimal getEconomicBenefitYuan(BigDecimal photovoltaicPower, String oilFieldCode) {
return economicBenefit(photovoltaicPower, oilFieldCode, true);
}
/**
......@@ -500,6 +488,41 @@ public class ServiceUtil {
return carbonReduction;
}
/**
* 计算经济效益
*
* @param photovoltaicPower 光伏发电
* @param oilFieldCode 油田代码
* @param isYuan 是元
* @return {@link BigDecimal }
*/
private static BigDecimal economicBenefit(BigDecimal photovoltaicPower, String oilFieldCode, boolean isYuan) {
//经济效益
BigDecimal economicBenefit;
//平均电价
String avgFee;
//度电成本
String cost;
if (CharSequenceUtil.equals(oilFieldCode, BusinessConstant.ENV_SY)) {
avgFee = "0.6669";
cost = "0.3587";
} else {
avgFee = "0.65";
cost = "0.28";
}
//计算经济效益(万元):光伏累计发电*平均电价-光伏累计发电*度电成本
if (photovoltaicPower.compareTo(BigDecimal.ZERO) > 0) {
economicBenefit = photovoltaicPower
.multiply(new BigDecimal(avgFee))
.subtract(photovoltaicPower
.multiply(new BigDecimal(cost)))
.divide(isYuan ? BigDecimal.ONE : BusinessConstant.BIG_DECIMAL_10000, 2, RoundingMode.HALF_UP);
} else {
economicBenefit = BigDecimal.ZERO;
}
return economicBenefit;
}
/**
* 获取长庆接口Token
*
......
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