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; |
package com.dky.entity; |
||||||
|
|
||||||
public class OriginalDevice { |
public class OriginalDevice { |
||||||
private String deviceType; |
private int equipmentType; // 设备类型(1锅炉,2窑炉,3灶台)
|
||||||
private Integer deviceNum; |
private int quantity; // 台数(台)
|
||||||
private String deviceEnergyType; |
private int energyType; // 能源类型(1煤,2油,3气)
|
||||||
private Double lastYearFee; |
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) { |
public void setEnergyType(int energyType) { |
||||||
this.deviceType = deviceType; |
this.energyType = energyType; |
||||||
} |
} |
||||||
|
|
||||||
public Integer getDeviceNum() { |
public double getPreviousYearOperatingCost() { |
||||||
return deviceNum; |
return previousYearOperatingCost; |
||||||
} |
} |
||||||
|
|
||||||
public void setDeviceNum(Integer deviceNum) { |
public void setPreviousYearOperatingCost(double previousYearOperatingCost) { |
||||||
this.deviceNum = deviceNum; |
this.previousYearOperatingCost = previousYearOperatingCost; |
||||||
} |
} |
||||||
|
|
||||||
public String getDeviceEnergyType() { |
public double getSubstituteBeforeEnergyConsumption() { |
||||||
return deviceEnergyType; |
return substituteBeforeEnergyConsumption; |
||||||
} |
} |
||||||
|
|
||||||
public void setDeviceEnergyType(String deviceEnergyType) { |
public void setSubstituteBeforeEnergyConsumption(double substituteBeforeEnergyConsumption) { |
||||||
this.deviceEnergyType = deviceEnergyType; |
this.substituteBeforeEnergyConsumption = substituteBeforeEnergyConsumption; |
||||||
} |
} |
||||||
|
|
||||||
public Double getLastYearFee() { |
public double getElectricityPrice() { |
||||||
return lastYearFee; |
return electricityPrice; |
||||||
} |
} |
||||||
|
|
||||||
public void setLastYearFee(Double lastYearFee) { |
public void setElectricityPrice(double electricityPrice) { |
||||||
this.lastYearFee = lastYearFee; |
this.electricityPrice = electricityPrice; |
||||||
} |
} |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue