parent
470756724a
commit
d47245ab74
@ -1,7 +1,11 @@ |
||||
package com.dky.modelI; |
||||
|
||||
import cn.hutool.json.JSONObject; |
||||
import com.dky.utils.entity.SysDeviceHeatScene; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
public interface DntdModelI { |
||||
JSONObject createReport(JSONObject jsonObject); |
||||
JSONObject createReport(JSONObject jsonObject, List<SysDeviceHeatScene> alternateDeviceList); |
||||
} |
@ -0,0 +1,197 @@ |
||||
package com.dky.generate; |
||||
|
||||
|
||||
import cn.hutool.json.JSONObject; |
||||
import com.dky.calculate.BuildHeatingAdvantage; |
||||
import com.dky.calculate.BuildHeatingModel; |
||||
import com.dky.calculate.Scheme; |
||||
import com.dky.calculate.SchemeRating; |
||||
import com.dky.modelI.DntdModelI; |
||||
import com.dky.utils.entity.SysDeviceHeatScene; |
||||
import com.dky.utils.result.MatchedDevice; |
||||
|
||||
import java.text.DecimalFormat; |
||||
import java.util.ArrayList; |
||||
import java.util.HashMap; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
public class BuildHeatingScene implements DntdModelI { |
||||
|
||||
DecimalFormat decimalFormat = new DecimalFormat("#.00"); |
||||
|
||||
//首先A=由运行/合同容量折合成kW(x0.9)x85%,
|
||||
static final Double COEFFICIENT_1 = 0.9; |
||||
static final Double COEFFICIENT_2 = 0.85; |
||||
|
||||
@Override |
||||
public JSONObject createReport(JSONObject jsonObject,List<SysDeviceHeatScene> alternateDeviceList) { |
||||
|
||||
JSONObject distInfo = new JSONObject(); |
||||
JSONObject buildInfo = new JSONObject(); |
||||
JSONObject originalDevInfo = new JSONObject(); |
||||
|
||||
try{ |
||||
distInfo = (JSONObject) jsonObject.get("distInfo"); |
||||
buildInfo = (JSONObject) jsonObject.get("buildInfo"); |
||||
originalDevInfo = (JSONObject) jsonObject.get("originalDevInfo"); |
||||
} catch (Exception e){ |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
// 运行容量
|
||||
Double runCapacity = Double.parseDouble(distInfo.get("runCapacity").toString()); |
||||
// 上年最大需量
|
||||
Double lastYearNeed = Double.parseDouble(distInfo.get("lastYearNeed").toString()); |
||||
// 建筑面积
|
||||
Double heatingArea = Double.parseDouble(buildInfo.get("heatingArea").toString()); |
||||
// 年采暖时间(天)
|
||||
Integer days = Integer.parseInt(buildInfo.get("days").toString()); |
||||
// 上年运行费用(万元)
|
||||
Double lastYearFee = Double.parseDouble(buildInfo.get("lastYearFee").toString()); |
||||
|
||||
/* |
||||
实际可承载容量A = 运行(或合同容量)x0.9[将运行容量或合同容量折算成容量]x85% |
||||
*/ |
||||
double A = runCapacity * COEFFICIENT_1 * COEFFICIENT_2; |
||||
/* |
||||
替代前设备总功率C |
||||
*/ |
||||
Double C = 0.0; |
||||
if (originalDevInfo != null) { |
||||
//若存在原设备信息,则获取原设备中设备总功率,累加得出C
|
||||
} else { |
||||
// C=建筑面积(万平方米)x770
|
||||
C = (heatingArea / 10000) * 770; |
||||
} |
||||
/* |
||||
根据建筑面积计算出不同技术类型下所需要不同功率设备数据 |
||||
*/ |
||||
List<List<MatchedDevice>> matchedDeviceGroupList = Scheme.calScheme(heatingArea, alternateDeviceList); |
||||
/* |
||||
替代后设备总功率C1 |
||||
*/ |
||||
double C1 = 0.0; |
||||
if (originalDevInfo != null){ |
||||
//若存在原设备信息,则根据建筑面积计算每个技术类型下需要的不同功率的设备的数量,然后将不同功率及对应的数量进行计算得出总功率C1
|
||||
|
||||
} else { |
||||
C1 = C/2.5; |
||||
} |
||||
|
||||
/* |
||||
改造前最大需量D |
||||
*/ |
||||
double D = lastYearNeed + C; |
||||
|
||||
/* |
||||
改造后最大需量D1 |
||||
*/ |
||||
double D1 = lastYearNeed + C1; |
||||
|
||||
/* |
||||
判断计算占比,默认效率0.8,成本0.2 |
||||
*/ |
||||
double costRatio = 0.2; |
||||
double effRatio = 0.8; |
||||
try{ |
||||
double costRatio1 = Double.parseDouble(jsonObject.get("costRatio").toString()); |
||||
double effRatio1 = Double.parseDouble(jsonObject.get("effRatio").toString()); |
||||
if(costRatio1 < 1 && costRatio1 + costRatio1 == 1){ |
||||
costRatio = costRatio1; |
||||
effRatio = effRatio1; |
||||
} |
||||
}catch (Exception e){ |
||||
e.printStackTrace(); |
||||
} |
||||
|
||||
List<MatchedDevice> matchedDeviceList ; |
||||
Map<Double, List<MatchedDevice>> listMap ; |
||||
/* |
||||
根据具体容量与需量判断可使用的技术并计算评分 |
||||
*/ |
||||
//计算不同细类下成本最小值与效率最大值
|
||||
Map<String, Double> maxEffMap = SchemeRating.getMaxEfficiencyGroupByDevSubType(alternateDeviceList); |
||||
Map<String, Double> minPriceMap = SchemeRating.getMinPriceGroupByDevSubType(alternateDeviceList); |
||||
String remark = ""; |
||||
if (D1 < A && A < D) { |
||||
// 判断只能用热泵
|
||||
List<List<MatchedDevice>> heatPumpDevList = new ArrayList<>(); |
||||
matchedDeviceGroupList.forEach((matchedDevices -> { |
||||
MatchedDevice matchedDevice = matchedDevices.get(0); |
||||
if (!"供冷/暖电锅炉".equals(matchedDevice.getDeviceHeatScene().getDevSubType())){ |
||||
heatPumpDevList.add(matchedDevices); |
||||
} |
||||
})); |
||||
|
||||
listMap = SchemeRating.getOptimalList(heatPumpDevList,costRatio,effRatio,maxEffMap,minPriceMap); |
||||
matchedDeviceList = SchemeRating.getOptimalScheme(listMap); |
||||
} else { |
||||
//同时考虑热泵和电锅炉
|
||||
if ( A < D1){ |
||||
remark = "本方案存在扩容投资需求,扩容投资不计入初次投资费用"; |
||||
} |
||||
listMap = SchemeRating.getOptimalList(matchedDeviceGroupList,costRatio,effRatio,maxEffMap,minPriceMap); |
||||
matchedDeviceList = SchemeRating.getOptimalScheme(listMap); |
||||
} |
||||
|
||||
List<Map<String, Object>> maps = new ArrayList<>(); |
||||
listMap.forEach((k,v)->{ |
||||
Map<String, Object> map = new HashMap<>(); |
||||
map.put("rating", decimalFormat.format(k)); |
||||
map.put("plan", v); |
||||
map.put("planName", v.get(0).getDeviceHeatScene().getDevTechType()); |
||||
maps.add(map); |
||||
}); |
||||
|
||||
|
||||
/* |
||||
封装返回 |
||||
*/ |
||||
JSONObject returnJsonObject = new JSONObject(); |
||||
Double startCost = 0.0; |
||||
Double runCost = 0.0; |
||||
Double allCost = 0.0; |
||||
Double calculateAnnualCarbon = 0.0; |
||||
Double electric = 0.0; |
||||
List<HashMap<String,Object>> deviceList = new ArrayList<>(); |
||||
for (MatchedDevice matchedDevice : matchedDeviceList){ |
||||
HashMap<String, Object> map = new HashMap<>(); |
||||
map.put("devSubType",matchedDevice.getDeviceHeatScene().getDevSubType()); |
||||
map.put("devTechType",matchedDevice.getDeviceHeatScene().getDevTechType()); |
||||
map.put("devCount",matchedDevice.getCount()); |
||||
map.put("devPrice",matchedDevice.getDeviceHeatScene().getDevPrice()); |
||||
deviceList.add(map); |
||||
startCost = startCost + (matchedDevice.getCount() * matchedDevice.getDeviceHeatScene().getDevPrice()); |
||||
runCost = runCost + (BuildHeatingModel.getRunCost(matchedDevice.getCount(), matchedDevice.getDeviceHeatScene().getDevPower(), days, matchedDevice.getDeviceHeatScene().getDevSubstituteLaborCost())); |
||||
allCost = allCost + (BuildHeatingModel.getYearCost(matchedDevice.getCount(), matchedDevice.getDeviceHeatScene().getDevPrice(), matchedDevice.getDeviceHeatScene().getDevServiceLife(), matchedDevice.getDeviceHeatScene().getDevPower(), days, matchedDevice.getDeviceHeatScene().getDevSubstituteLaborCost())); |
||||
calculateAnnualCarbon = calculateAnnualCarbon + (BuildHeatingModel.calculateAnnualCarbonReduction(lastYearFee, matchedDevice.getDeviceHeatScene().getLaborCost(), matchedDevice.getCount(), matchedDevice.getDeviceHeatScene().getDevPower(), days)); |
||||
electric = electric + (BuildHeatingModel.getElectric(matchedDevice.getCount(), matchedDevice.getDeviceHeatScene().getDevPower(), days)); |
||||
} |
||||
//初次投资费用
|
||||
returnJsonObject.set("startCost", decimalFormat.format(startCost)); |
||||
//年运行费用
|
||||
returnJsonObject.set("yearRunCost", decimalFormat.format(runCost)); |
||||
//年总费用
|
||||
returnJsonObject.set("yearCost", decimalFormat.format(allCost)); |
||||
//年减碳量
|
||||
returnJsonObject.set("calculate", decimalFormat.format(calculateAnnualCarbon)); |
||||
//替代电量
|
||||
returnJsonObject.set("electric", decimalFormat.format(electric)); |
||||
//备注
|
||||
returnJsonObject.set("remark",remark); |
||||
//封装需配置设备情况
|
||||
returnJsonObject.set("deviceList",deviceList); |
||||
|
||||
//封装方案优势
|
||||
returnJsonObject.set("safety", BuildHeatingAdvantage.safety()); |
||||
returnJsonObject.set("economy", BuildHeatingAdvantage.economy(startCost, allCost, runCost, lastYearFee)); |
||||
returnJsonObject.set("intelligence", BuildHeatingAdvantage.intelligence()); |
||||
returnJsonObject.set("environment", BuildHeatingAdvantage.environment(Double.valueOf(decimalFormat.format(calculateAnnualCarbon)))); |
||||
|
||||
//封装方案评分
|
||||
returnJsonObject.set("matchedDeviceList", maps); |
||||
|
||||
return returnJsonObject; |
||||
} |
||||
} |
@ -1,154 +0,0 @@ |
||||
package com.dky.generate; |
||||
|
||||
|
||||
import cn.hutool.json.JSONObject; |
||||
import com.dky.calculate.*; |
||||
import com.dky.modelI.DntdModelI; |
||||
import com.dky.tool.ModelTool; |
||||
import com.dky.utils.entity.SysDeviceHeatScene; |
||||
import com.dky.utils.result.MatchedDevice; |
||||
|
||||
import java.text.DecimalFormat; |
||||
import java.util.ArrayList; |
||||
import java.util.HashMap; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import java.util.concurrent.atomic.AtomicReference; |
||||
|
||||
public class BuildHeatingSence implements DntdModelI { |
||||
|
||||
DecimalFormat decimalFormat = new DecimalFormat("#.00"); |
||||
|
||||
//首先A=由运行/合同容量折合成kW(x0.9)x85%,
|
||||
static final Double COEFFICIENT_1 = 0.9; |
||||
static final Double COEFFICIENT_2 = 0.85; |
||||
|
||||
@Override |
||||
public JSONObject createReport(JSONObject jsonObject2) { |
||||
List<SysDeviceHeatScene> list = ModelTool.specList; |
||||
JSONObject distInfo = (JSONObject) jsonObject2.get("distInfo"); |
||||
JSONObject buildInfo = (JSONObject) jsonObject2.get("buildInfo"); |
||||
System.out.println("时间: " + Integer.parseInt(buildInfo.get("days").toString())); |
||||
// 运行容量
|
||||
Double runCapacity = Double.parseDouble(distInfo.get("runCapacity").toString()); |
||||
// 上年最大需量
|
||||
Double lastYearNeed = Double.parseDouble(distInfo.get("lastYearNeed").toString()); |
||||
// 建筑面积
|
||||
Double heatingArea = Double.parseDouble(buildInfo.get("heatingArea").toString()); |
||||
// 年采暖时间(天)
|
||||
Integer days = Integer.parseInt(buildInfo.get("days").toString()); |
||||
// 上年运行费用(万元)
|
||||
Double lastYearFee = Double.parseDouble(buildInfo.get("lastYearFee").toString()); |
||||
|
||||
// A=由运行/合同容量折合成kW(x0.9)x85%,
|
||||
Double A = runCapacity * COEFFICIENT_1 * COEFFICIENT_2; |
||||
// 冗余容量
|
||||
Double B = A - lastYearNeed; |
||||
//投入供热设备总功率C
|
||||
AtomicReference<Double> C = new AtomicReference<>(); |
||||
//投入供热设备总功率C1
|
||||
AtomicReference<Double> C1 = new AtomicReference<>(); |
||||
List<Map<String, List<List<MatchedDevice>>>> calScheme = Scheme.calScheme(heatingArea, list); |
||||
List<Map<String, Double>> mapsC = CalC.getC(calScheme); |
||||
for (Map<String, Double> map : mapsC) { |
||||
map.forEach((k, v) -> { |
||||
if (k.contains("电锅炉")) { |
||||
C.set(v); |
||||
System.out.println("C" + C.get()); |
||||
} else { |
||||
C1.set(v); |
||||
System.out.println("C1" + C1.get()); |
||||
} |
||||
}); |
||||
} |
||||
Double D = lastYearNeed + C.get(); |
||||
Double D1 = lastYearNeed + C1.get(); |
||||
|
||||
List<MatchedDevice> matchedDeviceList; |
||||
Map<Double, List<MatchedDevice>> listMap; |
||||
Double costRatio = 0.2; |
||||
Double effRatio = 0.8; |
||||
//获取计算占比
|
||||
try{ |
||||
Double costRatio1 = Double.parseDouble(jsonObject2.get("costRatio").toString()); |
||||
Double effRatio1 = Double.parseDouble(jsonObject2.get("effRatio").toString()); |
||||
if(costRatio1 < 1 && costRatio1 + costRatio1 == 1){ |
||||
costRatio = costRatio1; |
||||
effRatio = effRatio1; |
||||
} |
||||
}catch (Exception e){ |
||||
e.printStackTrace(); |
||||
} |
||||
if (D1 < A && A < D) { |
||||
// 判断只能用热泵
|
||||
List<SysDeviceHeatScene> deviceList = new ArrayList<>(); |
||||
list.parallelStream().forEach((sysDeviceHeatScene -> { |
||||
if (!sysDeviceHeatScene.getDevTechType().contains("电锅炉")) { |
||||
deviceList.add(sysDeviceHeatScene); |
||||
} |
||||
})); |
||||
listMap = SchemeRating.getOptimalList(Scheme.calScheme(heatingArea, deviceList),costRatio,effRatio); |
||||
matchedDeviceList = SchemeRating.getOptimalScheme(listMap); |
||||
} else { |
||||
listMap = SchemeRating.getOptimalList(calScheme,costRatio,effRatio); |
||||
matchedDeviceList = SchemeRating.getOptimalScheme(listMap); |
||||
} |
||||
|
||||
List<Map<String, Object>> maps = new ArrayList<>(); |
||||
listMap.forEach((k,v)->{ |
||||
Map<String, Object> map = new HashMap<>(); |
||||
map.put("rating", decimalFormat.format(k)); |
||||
map.put("plan", v); |
||||
map.put("planName", v.get(0).getDeviceHeatScene().getDevTechType()); |
||||
maps.add(map); |
||||
}); |
||||
|
||||
JSONObject jsonObject = new JSONObject(); |
||||
Double startCost = 0.0; |
||||
Double runCost = 0.0; |
||||
Double allCost = 0.0; |
||||
Double calculateAnnualCarbon = 0.0; |
||||
Double electric = 0.0; |
||||
|
||||
|
||||
List<HashMap<String,Object>> deviceList = new ArrayList<>(); |
||||
|
||||
//封装整体情况
|
||||
for (MatchedDevice matchedDevice : matchedDeviceList){ |
||||
HashMap<String, Object> map = new HashMap<>(); |
||||
map.put("devSubType",matchedDevice.getDeviceHeatScene().getDevSubType()); |
||||
map.put("devTechType",matchedDevice.getDeviceHeatScene().getDevTechType()); |
||||
map.put("devCount",matchedDevice.getCount()); |
||||
map.put("devPrice",matchedDevice.getDeviceHeatScene().getDevPrice()); |
||||
deviceList.add(map); |
||||
startCost = startCost + (matchedDevice.getCount() * matchedDevice.getDeviceHeatScene().getDevPrice()); |
||||
runCost = runCost + (BuildHeatingModel.getRunCost(matchedDevice.getCount(), matchedDevice.getDeviceHeatScene().getDevPower(), days, matchedDevice.getDeviceHeatScene().getDevSubstituteLaborCost())); |
||||
allCost = allCost + (BuildHeatingModel.getYearCost(matchedDevice.getCount(), matchedDevice.getDeviceHeatScene().getDevPrice(), matchedDevice.getDeviceHeatScene().getDevServiceLife(), matchedDevice.getDeviceHeatScene().getDevPower(), days, matchedDevice.getDeviceHeatScene().getDevSubstituteLaborCost())); |
||||
calculateAnnualCarbon = calculateAnnualCarbon + (BuildHeatingModel.calculateAnnualCarbonReduction(lastYearFee, matchedDevice.getDeviceHeatScene().getLaborCost(), matchedDevice.getCount(), matchedDevice.getDeviceHeatScene().getDevPower(), days)); |
||||
electric = electric + (BuildHeatingModel.getElectric(matchedDevice.getCount(), matchedDevice.getDeviceHeatScene().getDevPower(), days)); |
||||
} |
||||
//初次投资费用
|
||||
jsonObject.put("startCost", decimalFormat.format(startCost)); |
||||
//年运行费用
|
||||
jsonObject.put("yearRunCost", decimalFormat.format(runCost)); |
||||
//年总费用
|
||||
jsonObject.put("yearCost", decimalFormat.format(allCost)); |
||||
//年减碳量
|
||||
jsonObject.put("calculate", decimalFormat.format(calculateAnnualCarbon)); |
||||
//替代电量
|
||||
jsonObject.put("electric", decimalFormat.format(electric)); |
||||
//封装需配置设备情况
|
||||
jsonObject.put("deviceList",deviceList); |
||||
|
||||
//封装方案优势
|
||||
jsonObject.put("safety", BuildHeatingAdvantage.safety()); |
||||
jsonObject.put("economy", BuildHeatingAdvantage.economy(startCost, allCost, runCost, lastYearFee)); |
||||
jsonObject.put("intelligence", BuildHeatingAdvantage.intelligence()); |
||||
jsonObject.put("environment", BuildHeatingAdvantage.environment(Double.valueOf(decimalFormat.format(calculateAnnualCarbon)))); |
||||
|
||||
//封装方案评分
|
||||
jsonObject.put("matchedDeviceList", maps); |
||||
|
||||
return jsonObject; |
||||
} |
||||
} |
@ -0,0 +1,126 @@ |
||||
package com.dky.test; |
||||
|
||||
import com.dky.calculate.Scheme; |
||||
import com.dky.calculate.SchemeRating; |
||||
import com.dky.utils.entity.SysDeviceHeatScene; |
||||
import com.dky.utils.result.MatchedDevice; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
public class TestMain { |
||||
|
||||
public static void main(String[] args) { |
||||
|
||||
List<SysDeviceHeatScene> alternateDeviceList = createDevList(); |
||||
|
||||
// List<List<MatchedDevice>> alternateDeviceList = calSchemeMethodTest(14000.0, devList);
|
||||
|
||||
// getMaxEfficiencyGroupByDevSubTypeTest(alternateDeviceList);
|
||||
// getMinPriceGroupByDevSubTypeTest(alternateDeviceList);
|
||||
|
||||
/* |
||||
根据建筑面积计算出不同技术类型下所需要不同功率设备数据 |
||||
*/ |
||||
List<List<MatchedDevice>> matchedDeviceGroupList = Scheme.calScheme(44000.0, alternateDeviceList); |
||||
|
||||
|
||||
/* |
||||
判断计算占比,默认效率0.8,成本0.2 |
||||
*/ |
||||
double costRatio = 0.2; |
||||
double effRatio = 0.8; |
||||
|
||||
|
||||
List<MatchedDevice> matchedDeviceList ; |
||||
Map<Double, List<MatchedDevice>> listMap ; |
||||
/* |
||||
根据具体容量与需量判断可使用的技术并计算评分 |
||||
*/ |
||||
//计算不同细类下成本最小值与效率最大值
|
||||
Map<String, Double> maxEffMap = SchemeRating.getMaxEfficiencyGroupByDevSubType(alternateDeviceList); |
||||
Map<String, Double> minPriceMap = SchemeRating.getMinPriceGroupByDevSubType(alternateDeviceList); |
||||
listMap = SchemeRating.getOptimalList(matchedDeviceGroupList,costRatio,effRatio,maxEffMap,minPriceMap); |
||||
matchedDeviceList = SchemeRating.getOptimalScheme(listMap); |
||||
|
||||
} |
||||
|
||||
|
||||
public static List<List<MatchedDevice>> calSchemeMethodTest(Double buildArea, List<SysDeviceHeatScene> SysDeviceHeatSceneList) { |
||||
return Scheme.calScheme(buildArea, SysDeviceHeatSceneList); |
||||
|
||||
} |
||||
|
||||
public static void getMaxEfficiencyGroupByDevSubTypeTest(List<SysDeviceHeatScene> sysDeviceHeatSceneList){ |
||||
SchemeRating.getMaxEfficiencyGroupByDevSubType(sysDeviceHeatSceneList); |
||||
} |
||||
|
||||
public static void getMinPriceGroupByDevSubTypeTest(List<SysDeviceHeatScene> sysDeviceHeatSceneList){ |
||||
SchemeRating.getMinPriceGroupByDevSubType(sysDeviceHeatSceneList); |
||||
} |
||||
|
||||
public static List<SysDeviceHeatScene>createDevList(){ |
||||
List<SysDeviceHeatScene> deviceList = new ArrayList<>(); |
||||
|
||||
// 模拟从数据库中检索数据
|
||||
Object[][] data = |
||||
{ |
||||
{19, "电锅炉", "供冷/暖电锅炉", "直热式电锅炉(电阻类)", 0.95, 360.00, 80000.00, 60000.00, 180000.00, 3000.00, 15, null, null}, |
||||
{20, "电锅炉", "供冷/暖电锅炉", "直热式电锅炉(电阻类)", 0.95, 720.00, 100000.00, 60000.00, 180000.00, 6000.00, 15, null, null}, |
||||
{21, "电锅炉", "供冷/暖电锅炉", "直热式电锅炉(电阻类)", 0.95, 1440.00, 160000.00, 60000.00, 180000.00, 12000.00, 15, null, null}, |
||||
{22, "电锅炉", "供冷/暖电锅炉", "直热式电锅炉(电极类)", 0.97, 360.00, 280000.00, 60000.00, 180000.00, 3000.00, 15, null, null}, |
||||
{23, "电锅炉", "供冷/暖电锅炉", "直热式电锅炉(电极类)", 0.97, 720.00, 460000.00, 60000.00, 180000.00, 6000.00, 15, null, null}, |
||||
{24, "电锅炉", "供冷/暖电锅炉", "直热式电锅炉(电极类)", 0.97, 1440.00, 900000.00, 60000.00, 180000.00, 12000.00, 15, null, null}, |
||||
{25, "电锅炉", "供冷/暖电锅炉", "直热式电锅炉(电磁涡流类)", 0.98, 360.00, 150000.00, 60000.00, 180000.00, 3000.00, 15, null, null}, |
||||
{26, "电锅炉", "供冷/暖电锅炉", "直热式电锅炉(电磁涡流类)", 0.98, 720.00, 180000.00, 60000.00, 180000.00, 6000.00, 15, null, null}, |
||||
{27, "电锅炉", "供冷/暖电锅炉", "直热式电锅炉(电磁涡流类)", 0.98, 1440.00, 300000.00, 60000.00, 180000.00, 12000.00, 15, null, null}, |
||||
{28, "电锅炉", "供冷/暖电锅炉", "蓄热式电锅炉(固体蓄热)", 0.95, 360.00, 360000.00, 60000.00, 180000.00, 3000.00, 15, null, null}, |
||||
{29, "电锅炉", "供冷/暖电锅炉", "蓄热式电锅炉(固体蓄热)", 0.95, 720.00, 720000.00, 60000.00, 180000.00, 6000.00, 15, null, null}, |
||||
{30, "电锅炉", "供冷/暖电锅炉", "蓄热式电锅炉(固体蓄热)", 0.95, 1440.00, 1440000.00, 60000.00, 180000.00, 12000.00, 15, null, null}, |
||||
{31, "电锅炉", "供冷/暖电锅炉", "蓄热式电锅炉(相变蓄热)", 0.98, 360.00, 120000.00, 60000.00, 180000.00, 3000.00, 15, null, null}, |
||||
{32, "电锅炉", "供冷/暖电锅炉", "蓄热式电锅炉(相变蓄热)", 0.98, 720.00, 160000.00, 60000.00, 180000.00, 6000.00, 15, null, null}, |
||||
{33, "电锅炉", "供冷/暖电锅炉", "蓄热式电锅炉(相变蓄热)", 0.98, 1440.00, 280000.00, 60000.00, 180000.00, 12000.00, 15, null, null}, |
||||
{34, "电锅炉", "供冷/暖电锅炉", "蓄热式电锅炉(水蓄)", 0.97, 360.00, 110000.00, 60000.00, 180000.00, 3000.00, 15, null, null}, |
||||
{35, "电锅炉", "供冷/暖电锅炉", "蓄热式电锅炉(水蓄)", 0.97, 720.00, 150000.00, 60000.00, 180000.00, 6000.00, 15, null, null}, |
||||
{36, "电锅炉", "供冷/暖电锅炉", "蓄热式电锅炉(水蓄)", 0.97, 1440.00, 260000.00, 60000.00, 180000.00, 12000.00, 15, null, null}, |
||||
{37, "热泵", "供冷/暖", "水源热泵", 4.00, 25.00, 45000.00, 60000.00, 180000.00, 500.00, 15, null, null}, |
||||
{38, "热泵", "供冷/暖", "水源热泵", 4.00, 45.00, 75000.00, 60000.00, 180000.00, 1000.00, 15, null, null}, |
||||
{39, "热泵", "供冷/暖", "水源热泵", 4.00, 90.00, 140000.00, 60000.00, 180000.00, 2000.00, 15, null, null}, |
||||
{40, "热泵", "供冷/暖", "土壤源热泵", 4.00, 25.00, 45000.00, 60000.00, 180000.00, 500.00, 15, null, null}, |
||||
{41, "热泵", "供冷/暖", "土壤源热泵", 4.00, 45.00, 75000.00, 60000.00, 180000.00, 1000.00, 15, null, null}, |
||||
{42, "热泵", "供冷/暖", "土壤源热泵", 4.00, 90.00, 140000.00, 60000.00, 180000.00, 2000.00, 15, null, null}, |
||||
{43, "热泵", "供冷/暖", "空气源热泵", 4.00, 25.00, 45000.00, 60000.00, 180000.00, 500.00, 15, null, null}, |
||||
{44, "热泵", "供冷/暖", "空气源热泵", 4.00, 45.00, 75000.00, 60000.00, 180000.00, 1000.00, 15, null, null}, |
||||
{45, "热泵", "供冷/暖", "空气源热泵", 4.00, 90.00, 140000.00, 60000.00, 180000.00, 2000.00, 15, null, null}, |
||||
{46, "热泵", "供冷/暖", "低品位余热源(如电厂低温循环水)热泵", 4.00, 25.00, 45000.00, 60000.00, 180000.00, 500.00, 15, null, null}, |
||||
{47, "热泵", "供冷/暖", "低品位余热源(如电厂低温循环水)热泵", 4.00, 45.00, 75000.00, 60000.00, 180000.00, 1000.00, 15, null, null}, |
||||
{48, "热泵", "供冷/暖", "低品位余热源(如电厂低温循环水)热泵", 4.00, 90.00, 140000.00, 60000.00, 180000.00, 2000.00, 15, null, null}, |
||||
{49, "热泵", "供冷/暖", "高温蒸汽热泵", 3.00, 45.00, 380000.00, 60000.00, 180000.00, 1000.00, 15, null, null}, |
||||
{50, "热泵", "供冷/暖", "高温蒸汽热泵", 3.00, 120.00, 550000.00, 60000.00, 180000.00, 2000.00, 15, null, null}, |
||||
}; |
||||
|
||||
// 创建对象并添加到列表
|
||||
for (Object[] row : data) { |
||||
int id = (int) row[0]; |
||||
String devType = (String) row[1]; |
||||
String devSubType = (String) row[2]; |
||||
String devTechType = (String) row[3]; |
||||
double heatEfficiency = (double) row[4]; |
||||
double devPower = (double) row[5]; |
||||
double devPrice = (double) row[6]; |
||||
double devSubstituteLaborCost = (double) row[7]; |
||||
double laborCost = (double) row[8]; |
||||
double devReferenceArea = (double) row[9]; |
||||
int devServiceLife = (int) row[10]; |
||||
|
||||
SysDeviceHeatScene device = new SysDeviceHeatScene( |
||||
id, devType, devSubType, devTechType, heatEfficiency, devPower, devPrice, |
||||
devSubstituteLaborCost, laborCost, devReferenceArea, devServiceLife, null, null); |
||||
|
||||
deviceList.add(device); |
||||
} |
||||
return deviceList; |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue