fix: 优化完善能源消耗量测算模型。

master
魔神煜修罗皇 10 months ago
parent b3276494a5
commit 174b1b8d5c
  1. 6
      dntd-common/src/main/java/com/dky/utils/entity/SysModelParam.java
  2. 11
      dntd-tool/src/main/java/com/dky/stirtpar/StirparModelCalculate.java
  3. 39
      dntd-tool/src/main/java/com/dky/test/TestMain.java

@ -8,7 +8,7 @@ public class SysModelParam {
private String paramName ;
/** 系数值 */
private Double paramValue ;
/** 该系数适用于【0能源, 1电力】 */
/** 该系数适用于【0:能源, 1:电力】 */
private Integer paramModel ;
public SysModelParam() { }
@ -44,11 +44,11 @@ public class SysModelParam {
public void setParamValue(Double paramValue){
this.paramValue=paramValue;
}
/** 该系数适用于【0能源, 1电力】 */
/** 该系数适用于【0:能源, 1:电力】 */
public Integer getParamModel(){
return this.paramModel;
}
/** 该系数适用于【0能源, 1电力】 */
/** 该系数适用于【0:能源, 1:电力】 */
public void setParamModel(Integer paramModel){
this.paramModel=paramModel;
}

@ -52,7 +52,7 @@ public class StirparModelCalculate {
b3 = (Double) param.get("value");
} else if ("b4".equals(param.get("key"))) {
b4 = (Double) param.get("value");
} else if ("b55".equals(param.get("key"))) {
} else if ("b5".equals(param.get("key"))) {
b5 = (Double) param.get("value");
} else if ("b6".equals(param.get("key"))) {
b6 = (Double) param.get("value");
@ -106,7 +106,7 @@ public class StirparModelCalculate {
b3 = (Double) param.get("value");
} else if ("b4".equals(param.get("key"))) {
b4 = (Double) param.get("value");
} else if ("b55".equals(param.get("key"))) {
} else if ("b5".equals(param.get("key"))) {
b5 = (Double) param.get("value");
} else if ("b6".equals(param.get("key"))) {
b6 = (Double) param.get("value");
@ -180,12 +180,13 @@ public class StirparModelCalculate {
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());
Integer peopleNum2 = Integer.parseInt(new DecimalFormat("#").format(electricInfo.get("peopleNum")));
Double averageGdp2 = Double.parseDouble(electricInfo.get("averageGdp").toString());
Double PR = Double.parseDouble(electricInfo.get("PR").toString());
Double U2 = Double.parseDouble(electricInfo.get("ut").toString());
Double CT = Double.parseDouble(electricInfo.get("CT").toString());
Double T = Double.parseDouble(electricInfo.get("T").toString());

@ -13,6 +13,7 @@ package com.dky.test;
import cn.hutool.json.JSONObject;
import com.dky.tool.ModelTool;
import com.dky.utils.entity.SysDeviceHeatScene;
import com.dky.utils.entity.SysModelParam;
import java.util.ArrayList;
import java.util.HashMap;
@ -58,16 +59,21 @@ public class TestMain {
.put("energyCode", 1)
.put("energyPrice", 1.04)
.put("lastYearFee", 2100000));*/
/*param.put("energyInfo", new JSONObject()
param.put("energyInfo", new JSONObject()
.put("ut", 1180.0)
.put("i1", 888.987)
.put("i2", 1000.0)
.put("peopleNum", 10000000.0)
.put("averageGdp", 10000.0));
param.put("electricInfo", new JSONObject()
.put("peopleNum", 10000000.0)
.put("averageGdp", 10000.0)
.put("ut", 1180.0)
.put("PR", 11800)
.put("CT", 12444888.987)
.put("T", 1000000.0));*/
.put("T", 1000000.0));
String key = "BPTfj7kSlu6fJHpn/t2IQ1R83MPuA3sjgySntyYRo8GEgUNnTYoxaOX2FTK+X/bPllVx8Ly4/1l2FUb9JwRRbzbMPIdIfal7qO4ftJKJTN1M555BUSyGUOEBHivrarFiliiwnZH5dD4YV+kRUUD70o/1zEysm5M6/FrzXebRcH9EsnLEGta9D+urvisjamjQmunV3razxlsd+SYvbSsYmDRp8QjbJLpkfrlJBL484cB5Nhj8XWx8IZb3lvINkkq+";
String s2 = "BESZ4zci0tScfygc0kiOy+ETyL5I0GouR1CkHnIQYDQjAXH3LXoC8VvQ/lvVmOOV0st5sMH+tDo197vN+2rTdfM6ZmZH1GSzoh4BcnxpsnA7tkHCZZUkF032" +
@ -82,7 +88,34 @@ public class TestMain {
// 将这个JSONObject对象list作为入参调用ModelTool的create方法实现产品库初始化。
ModelTool modelTool = ModelTool.create(list2);
// 调用ModelTool的唯一入口函数exeModel2Report,将场景参数param和密钥key作为入参传进去,得到输出结果电能替代报告。
System.out.println(modelTool.exeModel2Report(param, s3, list));
List<SysModelParam> entities = new ArrayList<>();
// 填充数据【模拟从数据库当中查询得到】
entities.add(new SysModelParam(1, "a", 1.00, 0));
entities.add(new SysModelParam(2, "b1", 1.00, 0));
entities.add(new SysModelParam(3, "b2", 1.00, 0));
entities.add(new SysModelParam(4, "b3", 1.00, 0));
entities.add(new SysModelParam(5, "b4", 1.00, 0));
entities.add(new SysModelParam(6, "b5", 1.00, 0));
entities.add(new SysModelParam(7, "b6", 1.00, 0));
entities.add(new SysModelParam(8, "e", 1.00, 0));
entities.add(new SysModelParam(9, "a", 1.00, 1));
entities.add(new SysModelParam(10, "b1", 1.00, 1));
entities.add(new SysModelParam(11, "b2", 1.00, 1));
entities.add(new SysModelParam(12, "b3", 1.00, 1));
entities.add(new SysModelParam(13, "b4", 1.00, 1));
entities.add(new SysModelParam(14, "b5", 1.00, 1));
entities.add(new SysModelParam(15, "b6", 1.00, 1));
entities.add(new SysModelParam(16, "b7", 1.00, 1));
entities.add(new SysModelParam(17, "e", 1.00, 1));
param.set("sysModelParam",entities);
// 得到模型计算结果
JSONObject energyUseInfos = ModelTool.getEnergyUseInfos(param);
System.out.println(energyUseInfos);
}

Loading…
Cancel
Save