parent
6e617608a4
commit
99a1ad074c
@ -0,0 +1,135 @@ |
|||||||
|
package com.dky.test; |
||||||
|
|
||||||
|
/** |
||||||
|
* @Author:戴仕崑 |
||||||
|
* @Project:dntd-model-tools |
||||||
|
* @Filename:Test |
||||||
|
* @Slogan 致敬大师,致敬未来的你 |
||||||
|
* @Date:2024/3/7 16:14 |
||||||
|
* @Version 1.0 |
||||||
|
*/ |
||||||
|
|
||||||
|
|
||||||
|
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 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