winter 1 год назад
Родитель
Сommit
6841f84f96
1 измененных файлов: 7 добавлений и 6 удалений
  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 Просмотреть файл

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


Загрузка…
Отмена
Сохранить