add:编写锅炉供热场景

master
林颖晨 1 year ago
parent dc0382096b
commit d9f77f0753
  1. 11
      dntd-model-heatboiler/src/main/java/com/dky/calculate/Advantage.java
  2. 126
      dntd-model-heatboiler/src/main/java/com/dky/calculate/HeatBoilerModel.java
  3. 8
      dntd-model-heatboiler/src/main/java/com/dky/entity/Heatboiler.java
  4. 47
      dntd-model-heatboiler/src/main/java/com/dky/entity/HeatboilerSpec.java
  5. 61
      dntd-model-heatboiler/src/main/java/com/dky/entity/OriginalDevice.java

@ -11,12 +11,13 @@ public class Advantage {
double js = Math.round((lastYearFee - yearRunFee)*100.0)/100.0;
return "本次改造投资回收期为"+hsq+"年,本改造方案相比较原技术节省年运行费用成本"+js+"元。";
}
//智能性
public String intelligence(){
// 智能性
public String intelligence() {
return "以电锅炉替代和实现精准控温。";
}
//环保性
public String environment(Double yearReduceCarbon){
return "本次改造方案减排"+yearReduceCarbon+"吨";
// 环保性
public String environment(Double yearReduceCarbon) {
return "本次改造方案减排" + yearReduceCarbon + "吨";
}
}

@ -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);
}
}

@ -1,13 +1,17 @@
package com.dky.entity;
public class Heatboiler {
// 出口温度
private Double exportTemperature;
// 传热介质(1水,2油,3汽)
private String hotMedium;
//供热设备功率(蒸吨)(t/h)
private Double hotDevicePower;
//年能源用量
//替代前年能源用量
private Double yearEnergy;
//执行电价
//执行电价(万元)
private Double electricityPrice;
private OriginalDevice originalDevice;

@ -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…
Cancel
Save