Browse Source

fix

release_toaliyun_real
winter 1 year ago
parent
commit
6841f84f96
1 changed files with 7 additions and 6 deletions
  1. +7
    -6
      mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java

+ 7
- 6
mallinkService/src/main/java/com/iformall/service/helper/WxEnergyHelper.java View File

@@ -87,6 +87,7 @@ public class WxEnergyHelper {
if (StringUtils.isBlank(formula)) {
return null;
}
formula = formula.replaceAll("\\{.*?\\}", "");
List<String> buildingAreaList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#buildingArea_", "#");
List<String> floorAreaList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#floorArea_", "#");
List<String> meterList = PlaceholderExtractorWithPrefixAndSuffix.extractPlaceholders(formula, "#meter_", "#");
@@ -97,7 +98,7 @@ public class WxEnergyHelper {
if (null != bs && bs.length > 1) {
BigDecimal buildingArea = buildingAreaMap.get(Long.parseLong(bs[1]));
if (null != buildingArea) {
formula = formula.replaceAll("{#buildingArea_"+Long.parseLong(bs[1])+"#}", buildingArea.toPlainString());
formula = formula.replaceAll("#buildingArea_"+Long.parseLong(bs[1])+"#", buildingArea.toPlainString());
}
}
}
@@ -110,7 +111,7 @@ public class WxEnergyHelper {
if (null != bs && bs.length > 1) {
BigDecimal floorarea = floorAreaMap.get(Long.parseLong(bs[1]));
if (null != floorarea) {
formula = formula.replaceAll("{#floorArea_"+Long.parseLong(bs[1])+"#}", floorarea.toPlainString());
formula = formula.replaceAll("#floorArea_"+Long.parseLong(bs[1])+"#", floorarea.toPlainString());
}
}
@@ -124,13 +125,13 @@ public class WxEnergyHelper {
if (null != bs && bs.length > 1) {
BigDecimal mu = meterNumberMap.get(Long.parseLong(bs[1]));
if (null != mu ) {
formula = formula.replaceAll("{#meter_"+Long.parseLong(bs[1])+"#}", mu.toPlainString());
formula = formula.replaceAll("#meter_"+Long.parseLong(bs[1])+"#", mu.toPlainString());
}
}
}
}
formula = formula.replaceAll("{#totalArea#}", totalArea.toPlainString());
formula = formula.replaceAll("{#shopPublicRax#}", shop.getBuildArea());
formula = formula.replaceAll("#totalArea#", totalArea.toPlainString());
formula = formula.replaceAll("#shopPublicRax#", shop.getBuildArea());
return formula;
}
@@ -142,7 +143,7 @@ public class WxEnergyHelper {
if (null != buildingAreaList && buildingAreaList.size() > 0 ) {
for (int i = 0 ; i < buildingAreaList.size(); i ++) {
String floorArea = buildingAreaList.get(i);
formula = formula.replaceAll(floorArea, "1");
formula = formula.replaceAll("\\{.*?\\}", "").replaceAll(floorArea.substring(1,floorArea.length()-1), "1");
}
}
FormulaParser.evaluate(formula);


Loading…
Cancel
Save