parent
dc0382096b
commit
d9f77f0753
@ -0,0 +1,126 @@ |
||||
package com.dky.calculate; |
||||
|
||||
import com.dky.entity.Heatboiler; |
||||
import com.dky.entity.HeatboilerSpec; |
||||
import com.dky.entity.OriginalDevice; |
||||
import com.dky.utils.entity.DevSpec; |
||||
|
||||
public class HeatBoilerModel { |
||||
|
||||
|
||||
/** |
||||
* 计算初次投资费用 |
||||
* @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 * heatboilerSpec.getDevModel(); |
||||
|
||||
} |
||||
|
||||
|
||||
/** |
||||
* 计算年运行费用 |
||||
* @param heatboilerSpec 非表中参数 |
||||
* @param heatboiler 基础入参 |
||||
* @param originalDevice 原设备参数 |
||||
* @param count 电替代设备台数 TODO |
||||
* @return 年运行费用 |
||||
*/ |
||||
public static double calculateAnnualOperatingCost(HeatboilerSpec heatboilerSpec, Heatboiler heatboiler , OriginalDevice originalDevice ,Integer count) { |
||||
|
||||
// 电替代设备年耗电量=单台电替代设备的功率<A>*电替代设备台数*电设备年运行时间<B>
|
||||
double annualElectricityConsumption = heatboilerSpec.getSubstitutePower() * count * heatboilerSpec.getAnnualOperationTime(); |
||||
// 年运行费用=电替代设备年耗电量*平均电价(0.5元/千瓦时)+电替代设备人工费用成本<A>
|
||||
return annualElectricityConsumption * 0.5 + heatboilerSpec.getSubstituteLaborCost(); |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 计算年总费用 |
||||
* @param heatboilerSpec 非表中参数 |
||||
* @param heatboiler 基础入参 |
||||
* @param originalDevice 原设备参数 |
||||
* @param count 电替代设备台数 TODO |
||||
* @return 年总费用 |
||||
*/ |
||||
public static double calculateAnnualTotalCost(HeatboilerSpec heatboilerSpec, Heatboiler heatboiler , OriginalDevice originalDevice ,Integer count) { |
||||
//(电替代设备台数*单台电设备价格<A>)/电替代设备的使用年限<A>+年运行费用
|
||||
return (count * heatboilerSpec.getDevModel()) / heatboilerSpec.getServiceLife() + calculateAnnualOperatingCost( heatboilerSpec, heatboiler , originalDevice,count); |
||||
} |
||||
|
||||
/** |
||||
* 计算年减碳量 |
||||
* @param heatboilerSpec 非表中参数 |
||||
* @param heatboiler 基础入参 |
||||
* @param originalDevice 原设备参数 |
||||
* @return 年减碳量 |
||||
*/ |
||||
public static double calculateAnnualCarbonReduction(HeatboilerSpec heatboilerSpec, Heatboiler heatboiler , OriginalDevice originalDevice) { |
||||
|
||||
//年减碳量=(替代前年能源用量*0.7143千克标准煤/千克-电替代设备年耗电量*0.1229千克标准煤/千瓦时)*1.9003千克二氧化碳/千克
|
||||
final double standardCoalCoefficient = 0.7143; // 千克标准煤/千克
|
||||
final double electricityConsumptionCoefficient = 0.1229; // 千克标准煤/千瓦时
|
||||
final double carbonDioxideCoefficient = 1.9003; // 千克二氧化碳/千克
|
||||
|
||||
//单台电替代设备年耗电量 = 电替代设备年运行时间 * 电替代设备功率
|
||||
double electricSubstitutionEquipmentYearlyElectricityConsumption = heatboilerSpec.getAnnualOperationTime() * heatboilerSpec.getSubstitutePower(); |
||||
|
||||
return (originalDevice.getSubstituteBeforeEnergyConsumption() * standardCoalCoefficient |
||||
- electricSubstitutionEquipmentYearlyElectricityConsumption * electricityConsumptionCoefficient) |
||||
* carbonDioxideCoefficient; |
||||
} |
||||
|
||||
/** |
||||
* 计算替代电量 |
||||
* @param heatboilerSpec 非表中参数 |
||||
* @param heatboiler 基础入参 |
||||
* @param originalDevice 原设备参数 |
||||
* @param count 电替代设备台数 TODO |
||||
* @return 替代电量 |
||||
*/ |
||||
public static double calculateSubstituteElectricity(HeatboilerSpec heatboilerSpec, Heatboiler heatboiler , OriginalDevice originalDevice,Integer count) { |
||||
// 电替代设备年耗电量=电替代设备的功率<A>*电替代设备台数*电设备年运行时间<B>
|
||||
return heatboilerSpec.getSubstitutePower() * count * heatboilerSpec.getAnnualOperationTime(); |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 计算运行收益 |
||||
* @param heatboilerSpec 非表中参数 |
||||
* @param heatboiler 基础入参 |
||||
* @param originalDevice 原设备参数 |
||||
* @param currentYearOperatingCost 年运行费用 TODO |
||||
* @return 运行收益 |
||||
*/ |
||||
public static double calculateOperatingIncome(HeatboilerSpec heatboilerSpec, Heatboiler heatboiler , OriginalDevice originalDevice,Double currentYearOperatingCost) { |
||||
//运行收益=年运行费用-上年运行费用(即原设备运行费用)
|
||||
return currentYearOperatingCost - originalDevice.getPreviousYearOperatingCost(); |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 计算投资回收期 |
||||
* @param heatboilerSpec 非表中参数 |
||||
* @param heatboiler 基础入参 |
||||
* @param originalDevice 原设备参数 |
||||
* @param d 热效率,后期从设备中获取 TODO |
||||
* @param currentYearOperatingCost 年运行费用 TODO |
||||
* @return 投资回收期 |
||||
*/ |
||||
public static double calculatePaybackPeriod(HeatboilerSpec heatboilerSpec, Heatboiler heatboiler , OriginalDevice originalDevice,Double currentYearOperatingCost,Double d) { |
||||
return calculateInitialInvestment( heatboilerSpec, heatboiler , originalDevice,d)/calculateOperatingIncome( heatboilerSpec, heatboiler , originalDevice,currentYearOperatingCost); |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,47 @@ |
||||
package com.dky.entity; |
||||
|
||||
import com.dky.utils.entity.DevSpec; |
||||
|
||||
public class HeatboilerSpec extends DevSpec { |
||||
|
||||
private double substitutePower; // 电替代设备功率
|
||||
private double substituteLaborCost; // 电替代设备人工费用
|
||||
private int serviceLife; // 电替代设备的使用年限
|
||||
private int annualOperationTime; // 电设备年运行时间
|
||||
|
||||
// Getter 和 Setter 方法
|
||||
|
||||
public double getSubstitutePower() { |
||||
return substitutePower; |
||||
} |
||||
|
||||
public void setSubstitutePower(double substitutePower) { |
||||
this.substitutePower = substitutePower; |
||||
} |
||||
|
||||
public double getSubstituteLaborCost() { |
||||
return substituteLaborCost; |
||||
} |
||||
|
||||
public void setSubstituteLaborCost(double substituteLaborCost) { |
||||
this.substituteLaborCost = substituteLaborCost; |
||||
} |
||||
|
||||
public int getServiceLife() { |
||||
return serviceLife; |
||||
} |
||||
|
||||
public void setServiceLife(int serviceLife) { |
||||
this.serviceLife = serviceLife; |
||||
} |
||||
|
||||
public int getAnnualOperationTime() { |
||||
return annualOperationTime; |
||||
} |
||||
|
||||
public void setAnnualOperationTime(int annualOperationTime) { |
||||
this.annualOperationTime = annualOperationTime; |
||||
} |
||||
|
||||
|
||||
} |
@ -1,40 +1,61 @@ |
||||
package com.dky.entity; |
||||
|
||||
public class OriginalDevice { |
||||
private String deviceType; |
||||
private Integer deviceNum; |
||||
private String deviceEnergyType; |
||||
private Double lastYearFee; |
||||
private int equipmentType; // 设备类型(1锅炉,2窑炉,3灶台)
|
||||
private int quantity; // 台数(台)
|
||||
private int energyType; // 能源类型(1煤,2油,3气)
|
||||
private double previousYearOperatingCost; // 上年运行费用(万元)
|
||||
private double substituteBeforeEnergyConsumption; // 替代前年能源用量
|
||||
private double electricityPrice; // 执行电价(万元)
|
||||
|
||||
public String getDeviceType() { |
||||
return deviceType; |
||||
// 构造方法(可以根据需要添加其他构造方法)
|
||||
|
||||
// Getter 和 Setter 方法
|
||||
public int getEquipmentType() { |
||||
return equipmentType; |
||||
} |
||||
|
||||
public void setEquipmentType(int equipmentType) { |
||||
this.equipmentType = equipmentType; |
||||
} |
||||
|
||||
public int getQuantity() { |
||||
return quantity; |
||||
} |
||||
|
||||
public void setQuantity(int quantity) { |
||||
this.quantity = quantity; |
||||
} |
||||
|
||||
public int getEnergyType() { |
||||
return energyType; |
||||
} |
||||
|
||||
public void setDeviceType(String deviceType) { |
||||
this.deviceType = deviceType; |
||||
public void setEnergyType(int energyType) { |
||||
this.energyType = energyType; |
||||
} |
||||
|
||||
public Integer getDeviceNum() { |
||||
return deviceNum; |
||||
public double getPreviousYearOperatingCost() { |
||||
return previousYearOperatingCost; |
||||
} |
||||
|
||||
public void setDeviceNum(Integer deviceNum) { |
||||
this.deviceNum = deviceNum; |
||||
public void setPreviousYearOperatingCost(double previousYearOperatingCost) { |
||||
this.previousYearOperatingCost = previousYearOperatingCost; |
||||
} |
||||
|
||||
public String getDeviceEnergyType() { |
||||
return deviceEnergyType; |
||||
public double getSubstituteBeforeEnergyConsumption() { |
||||
return substituteBeforeEnergyConsumption; |
||||
} |
||||
|
||||
public void setDeviceEnergyType(String deviceEnergyType) { |
||||
this.deviceEnergyType = deviceEnergyType; |
||||
public void setSubstituteBeforeEnergyConsumption(double substituteBeforeEnergyConsumption) { |
||||
this.substituteBeforeEnergyConsumption = substituteBeforeEnergyConsumption; |
||||
} |
||||
|
||||
public Double getLastYearFee() { |
||||
return lastYearFee; |
||||
public double getElectricityPrice() { |
||||
return electricityPrice; |
||||
} |
||||
|
||||
public void setLastYearFee(Double lastYearFee) { |
||||
this.lastYearFee = lastYearFee; |
||||
public void setElectricityPrice(double electricityPrice) { |
||||
this.electricityPrice = electricityPrice; |
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue