You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
5.3 KiB
124 lines
5.3 KiB
package com.dky.calculate;
|
|
|
|
import com.dky.entity.Heatboiler;
|
|
import com.dky.entity.HeatboilerSpec;
|
|
import com.dky.entity.OriginalDevice;
|
|
import com.dky.utils.enums.EnergyPriceType;
|
|
|
|
public class HeatBoilerModel {
|
|
|
|
// 标准煤转换系数:千克标准煤/千克
|
|
private static final double coalConversionFactor = 0.7143;
|
|
// 电能转换到标准煤的系数:千克标准煤/千瓦时
|
|
private static final double electricityConversionFactor = 0.1229;
|
|
// 标准煤转换到二氧化碳的系数:千克二氧化碳/千克标准煤
|
|
private static final double carbonConversionFactor = 1.9003;
|
|
|
|
/**
|
|
* 计算初次投资费用
|
|
* @param heatboilerSpec 非表中参数
|
|
* @param heatboiler 基础入参
|
|
* @param originalDevice 原设备参数
|
|
* @param d 热效率,后期从设备中获取 TODO
|
|
* @return 初次投资费用
|
|
*/
|
|
public static double calculateInitialInvestment(HeatboilerSpec heatboilerSpec, Heatboiler heatboiler , OriginalDevice originalDevice,Double d) {
|
|
|
|
// 计算电替代设备台数 = 供热设备功率(蒸吨)/(电替代设备功率<A>*热效率)
|
|
double substituteElectricityDevices = heatboiler.getHotDevicePower() / (heatboiler.getHotDevicePower() * d);
|
|
|
|
// 计算初次投资费用
|
|
return substituteElectricityDevices * 1;
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* 计算年运行费用
|
|
* @param devicePower 电替代设备功率
|
|
* @param deviceCount 电替代设备台数
|
|
* @param deviceSubstituteLaborCost 电替代设备人工费用
|
|
* @param deviceAnnualOperationTime 电替代设备年运行时间
|
|
* @return 年运行费用
|
|
*/
|
|
public static double calculateAnnualOperatingCost(Double devicePower, Integer deviceCount, Double deviceSubstituteLaborCost, Integer deviceAnnualOperationTime) {
|
|
|
|
// 电替代设备年耗电量=单台电替代设备的功率<A>*电替代设备台数*电设备年运行时间<B>
|
|
double annualElectricityConsumption = devicePower * deviceCount * deviceAnnualOperationTime;
|
|
// 年运行费用=电替代设备年耗电量*平均电价(0.5元/千瓦时) + 单台电替代设备人工费用成本<A> * 台数
|
|
return annualElectricityConsumption * EnergyPriceType.Industry_Electric_Price.getPrice() + deviceSubstituteLaborCost * deviceCount;
|
|
|
|
}
|
|
|
|
/**
|
|
* 计算年总费用
|
|
* @param devicePower 电替代设备功率
|
|
* @param deviceCount 电替代设备台数
|
|
* @param deviceSubstituteLaborCost 电替代设备人工费用
|
|
* @param deviceAnnualOperationTime 电替代设备年运行时间
|
|
* @param devicePrice 设备价格
|
|
* @param deviceServiceLife 设备使用年限
|
|
* @return
|
|
*/
|
|
public static double calculateAnnualTotalCost(Double devicePower, Integer deviceCount, Double deviceSubstituteLaborCost, Integer deviceAnnualOperationTime, Double devicePrice, Integer deviceServiceLife) {
|
|
//(电替代设备台数*单台电设备价格<A>)/电替代设备的使用年限<A>
|
|
double v = ((devicePrice * deviceCount) / deviceServiceLife);
|
|
// 年总费用=(电替代设备台数*单台电设备价格<A>)/电替代设备的使用年限<A> + 年运行费用
|
|
return v + calculateAnnualOperatingCost(devicePower, deviceCount, deviceSubstituteLaborCost, deviceAnnualOperationTime);
|
|
}
|
|
|
|
/**
|
|
* 计算年减碳量
|
|
* @param previousYearEnergyUsage 替代前原设备碳排放量
|
|
* @param deviceElectric 电替代耗电量
|
|
* @param electricEmission 电替代设备碳排放因子
|
|
* @return 年减碳量
|
|
*/
|
|
public static double calculateAnnualCarbonReduction(Double previousYearEnergyUsage, Double deviceElectric, Double electricEmission) {
|
|
// 计算电替代设备年耗电量对应的标准煤量
|
|
double coalEquivalentFromElectricity = deviceElectric * electricEmission;
|
|
|
|
// 计算年减碳量
|
|
return previousYearEnergyUsage - coalEquivalentFromElectricity;
|
|
}
|
|
|
|
/**
|
|
* 计算电替代设备年耗电量
|
|
* @param devicePower 设备功率
|
|
* @param deviceCount 设备台数
|
|
* @param deviceAnnualOperationTime 单台电设备年运行时间
|
|
* @return
|
|
*/
|
|
public static double calculateSubstituteElectricity(Double devicePower, Integer deviceCount, Integer deviceAnnualOperationTime) {
|
|
// 电替代设备年耗电量 = 电替代设备的功率<A> * 电替代设备台数 * 电设备年运行时间<B>
|
|
return devicePower * deviceCount * deviceAnnualOperationTime;
|
|
|
|
}
|
|
|
|
/**
|
|
* 计算原设备上年运行费用
|
|
* @param laborCost 人工成本
|
|
* @param lastYearEnergyUse 替代前年能源使用量
|
|
* @param energyPrice 平均能源单价
|
|
* @return
|
|
*/
|
|
public static double calLastYearFee(Double laborCost, Double lastYearEnergyUse, Double energyPrice) {
|
|
// 上年运行费用(即原设备运行费用)= 上年能源使用量 * 平均能源单价 + 上年人工成本
|
|
return energyPrice * lastYearEnergyUse + laborCost;
|
|
|
|
}
|
|
|
|
/**
|
|
* 计算原设备年减碳量
|
|
* @param lastYearEnergyUse 替代前年能源使用量
|
|
* @param d 相关能源排放系数
|
|
* @return
|
|
*/
|
|
public static double calLastYearFactor(Double lastYearEnergyUse , Double d) {
|
|
return lastYearEnergyUse * d;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|