parent
d47245ab74
commit
ff059150fd
@ -0,0 +1,47 @@ |
|||||||
|
package com.dky.calculate; |
||||||
|
|
||||||
|
|
||||||
|
import com.dky.utils.result.MatchedDevice; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
public class SchemeRatingRes { |
||||||
|
|
||||||
|
List<MatchedDevice> list; |
||||||
|
|
||||||
|
Double schemeRating; |
||||||
|
|
||||||
|
String planName; |
||||||
|
|
||||||
|
public SchemeRatingRes() { } |
||||||
|
|
||||||
|
public SchemeRatingRes(List<MatchedDevice> list, Double schemeRating, String planName) { |
||||||
|
this.list = list; |
||||||
|
this.schemeRating = schemeRating; |
||||||
|
this.planName = planName; |
||||||
|
} |
||||||
|
|
||||||
|
public List<MatchedDevice> getList() { |
||||||
|
return list; |
||||||
|
} |
||||||
|
|
||||||
|
public void setList(List<MatchedDevice> list) { |
||||||
|
this.list = list; |
||||||
|
} |
||||||
|
|
||||||
|
public Double getSchemeRating() { |
||||||
|
return schemeRating; |
||||||
|
} |
||||||
|
|
||||||
|
public void setSchemeRating(Double schemeRating) { |
||||||
|
this.schemeRating = schemeRating; |
||||||
|
} |
||||||
|
|
||||||
|
public String getPlanName() { |
||||||
|
return planName; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPlanName(String planName) { |
||||||
|
this.planName = planName; |
||||||
|
} |
||||||
|
} |
@ -1,126 +0,0 @@ |
|||||||
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; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,2 +1,2 @@ |
|||||||
0101=generate.BuildHeatingSence |
0101=generate.BuildHeatingScene |
||||||
0102=generate.HeatBoilerSence |
0102=generate.HeatBoilerSence |
Loading…
Reference in new issue