diff --git a/dntd-common/src/main/java/com/dky/utils/enums/EnergyEmissions.java b/dntd-common/src/main/java/com/dky/utils/enums/EnergyEmissions.java new file mode 100644 index 0000000..655a666 --- /dev/null +++ b/dntd-common/src/main/java/com/dky/utils/enums/EnergyEmissions.java @@ -0,0 +1,52 @@ +package com.dky.utils.enums; + + +public enum EnergyEmissions { + + Raw_Coal(101, "原煤", 20934.0, 26.37, 0.94, 1.9003), + COAL(100, "煤炭", 28470.0, 29.5, 0.93, 2.8604), + Crude_Oil(301, "原油", 41816.0, 20.1, 0.98, 3.0229), + Fuel_Oil(305, "燃料油", 41816.0, 21.1, 0.98, 3.1733), + GASOLINE(302, "汽油", 43070.0, 18.9, 0.98, 2.9277), + KEROSENE(303, "煤油", 43070.0, 19.6, 0.98, 3.0361), + Diesel_Oil(304, "柴油", 42652.0, 20.2, 0.98, 3.0987), + Natural_Gas(204, "天然气", 35608.5, 15.3, 0.98, 1.97945), + Refinery_Gas(207, "炼厂干气", 50242.0, 18.2, 0.98, 3.0119), + Oilfield_Natural_Gas(206, "油田天然气", 46055.0, 15.3, 0.99, 2.1622), + ; + + + /** + * 编码 + */ + private final Integer code; + /** + * 中文描述 + */ + private final String desc; + /** + * 平均低位发热量 + */ + private final Double calorificValue; + /** + * 单位热值含碳量 + */ + private final Double carbonContent; + /** + * 碳氧化率 + */ + private final Double coRate; + /** + * 二氧化碳排放系数 + */ + private final Double co2EmissionFactor; + + EnergyEmissions(Integer code, String desc, Double calorificValue, Double carbonContent, Double coRate, Double co2EmissionFactor) { + this.code = code; + this.desc = desc; + this.calorificValue = calorificValue; + this.carbonContent = carbonContent; + this.coRate = coRate; + this.co2EmissionFactor = co2EmissionFactor; + } +} diff --git a/dntd-common/src/main/java/com/dky/utils/enums/EnergyPriceType.java b/dntd-common/src/main/java/com/dky/utils/enums/EnergyPriceType.java index 8e5e743..59d90d1 100644 --- a/dntd-common/src/main/java/com/dky/utils/enums/EnergyPriceType.java +++ b/dntd-common/src/main/java/com/dky/utils/enums/EnergyPriceType.java @@ -3,11 +3,24 @@ package com.dky.utils.enums; public enum EnergyPriceType { - Residential_Electric_Price(0.55, "居民电价"), - Industry_Electric_Price(1.2, "工业电价"), - COAL_PRICE_PER_KILOGRAM(0.9, "煤炭平均价格/千克"); - + Residential_Electric_Price(98,0.55, "居民电价"), + Industry_Electric_Price(99, 1.2, "工业电价"), + Raw_Coal_Price_Per_Kilogram(101, 0.788, "原煤平均价格/千克"), + Coal_Price_Per_Kilogram(100, 0.9, "煤炭平均价格/千克"), + Crude_Oil_Price_Per_Kilogram(301,8.0, "原油平均价格/千克"), + Fuel_Oil_Price_Per_Kilogram(305,8.1, "燃料油平均价格/千克"), + Gasoline_Price_Per_Kilogram(302,8.2, "汽油平均价格/千克"), + Kerosene_Price_Per_Kilogram(303, 8.3, "煤油平均价格/千克"), + Diesel_Oil_Price_Per_Kilogram(304, 8.4, "柴油平均价格/千克"), + Natural_Gas_Price_Per_Kilogram(204, 3.83, "天然气平均价格/千克"), + Refinery_Gas_Price_Per_Kilogram(207, 4.3, "炼厂干气平均价格/千克"), + Oilfield_Natural_Gas_Price_Per_Kilogram(206, 1.96, "油田天然气平均价格/千克"), + ; + /** + * 编码 + */ + private final Integer code; /** * 能源价格 */ @@ -25,7 +38,8 @@ public enum EnergyPriceType { return desc; } - EnergyPriceType(Double price, String desc) { + EnergyPriceType(Integer code, Double price, String desc) { + this.code = code; this.price = price; this.desc = desc; } diff --git a/dntd-model-materialkiln/src/main/java/com/dky/calculate/MaterialKilnModel.java b/dntd-model-materialkiln/src/main/java/com/dky/calculate/MaterialKilnModel.java index 6a2be52..809a608 100644 --- a/dntd-model-materialkiln/src/main/java/com/dky/calculate/MaterialKilnModel.java +++ b/dntd-model-materialkiln/src/main/java/com/dky/calculate/MaterialKilnModel.java @@ -95,7 +95,7 @@ public class MaterialKilnModel { ) { // 计算节约的煤炭量(转换为标准煤)=(上年运行费用-原设备的人工费用)/煤炭平均价格(0.9元/千克)*0.7143千克标准煤/千克 double savedCoalInStandardCoal = (previousYearOperatingCost - originalEquipmentLaborCost) / - EnergyPriceType.COAL_PRICE_PER_KILOGRAM.getPrice() * coalConversionFactor; + EnergyPriceType.Coal_Price_Per_Kilogram.getPrice() * coalConversionFactor; // 计算电替代设备消耗的电量转换为标准煤的量 double electricityInStandardCoal = electricitySubstitutionAnnualConsumption * electricityConversionFactor; diff --git a/dntd-tool/src/main/java/com/dky/stirtpar/StirparModelCalculate.java b/dntd-tool/src/main/java/com/dky/stirtpar/StirparModelCalculate.java index 19ce4d1..929ee6e 100644 --- a/dntd-tool/src/main/java/com/dky/stirtpar/StirparModelCalculate.java +++ b/dntd-tool/src/main/java/com/dky/stirtpar/StirparModelCalculate.java @@ -183,6 +183,9 @@ public class StirparModelCalculate implements DntdModelI { Integer peopleNum = Integer.parseInt(new DecimalFormat("#").format(energyInfo.get("peopleNum"))); Double averageGdp = Double.parseDouble(energyInfo.get("averageGdp").toString()); Double U = Double.parseDouble(energyInfo.get("ut").toString()); + Integer peopleNum2 = Integer.parseInt(new DecimalFormat("#").format(electricInfo.get("peopleNum"))); + Double averageGdp2 = Double.parseDouble(electricInfo.get("averageGdp").toString()); + Double U2 = Double.parseDouble(electricInfo.get("ut").toString()); Double I = Double.parseDouble(energyInfo.get("i1").toString()); Double II = Double.parseDouble(energyInfo.get("i2").toString()); Double PR = Double.parseDouble(electricInfo.get("PR").toString()); @@ -191,7 +194,7 @@ public class StirparModelCalculate implements DntdModelI { JSONObject resultJsonObject = new JSONObject(); resultJsonObject.put("CT", df.format(energyConsumeStirCoefficient(sysParamList, peopleNum, averageGdp, U, I, II))); - resultJsonObject.put("CE", df.format(electricConsumeStirCoefficient(sysParamList, CT, peopleNum, averageGdp, U, PR, T))); + resultJsonObject.put("CE", df.format(electricConsumeStirCoefficient(sysParamList, CT, peopleNum2, averageGdp2, U2, PR, T))); return resultJsonObject; }