|
|
|
@@ -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); |
|
|
|
|