|
|
@@ -389,43 +389,52 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
if (pariPassuData == null) {
|
|
|
pariPassuData = BigDecimal.ZERO;
|
|
|
}
|
|
|
+ BigDecimal cost = BigDecimal.ZERO;
|
|
|
|
|
|
BigDecimal coalAmount = data.multiply(coal).setScale(2, RoundingMode.UP);
|
|
|
BigDecimal co2Amount = coalAmount.multiply(co2Factor).setScale(2, RoundingMode.UP);
|
|
|
|
|
|
+ BigDecimal plantTree = BigDecimal.ZERO;
|
|
|
+ if (co2Amount.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ plantTree = co2Amount.divide(new BigDecimal("18"), 2, RoundingMode.UP);
|
|
|
+ }
|
|
|
+
|
|
|
BigDecimal sequentialCon = BigDecimal.ZERO;
|
|
|
BigDecimal sequentialCost = BigDecimal.ZERO;
|
|
|
BigDecimal sequentialCoal = BigDecimal.ZERO;
|
|
|
BigDecimal sequentialCo2 = BigDecimal.ZERO;
|
|
|
+ BigDecimal sequentialPlantTree = BigDecimal.ZERO;
|
|
|
if (sequentialData.compareTo(BigDecimal.ZERO) != 0) {
|
|
|
BigDecimal sequentialCoalAmountData = sequentialData.multiply(coal).setScale(2, RoundingMode.UP);
|
|
|
BigDecimal sequentialCo2AmountData = sequentialCoalAmountData.multiply(co2Factor)
|
|
|
.setScale(2, RoundingMode.UP);
|
|
|
+ BigDecimal sequentialPlantTreeAmountData = sequentialCo2AmountData.divide(new BigDecimal("18"), 2, RoundingMode.UP);
|
|
|
sequentialCon = data.subtract(sequentialData).divide(sequentialData, 2, RoundingMode.UP);
|
|
|
sequentialCoal = coalAmount.subtract(sequentialCoalAmountData)
|
|
|
.divide(sequentialCoalAmountData, 2, RoundingMode.UP);
|
|
|
sequentialCo2 = co2Amount.subtract(sequentialCo2AmountData)
|
|
|
.divide(sequentialCo2AmountData, 2, RoundingMode.UP);
|
|
|
+ sequentialPlantTree = plantTree.subtract(sequentialPlantTreeAmountData)
|
|
|
+ .divide(sequentialPlantTreeAmountData, 2, RoundingMode.UP);
|
|
|
}
|
|
|
|
|
|
BigDecimal pariPassCon = BigDecimal.ZERO;
|
|
|
BigDecimal pariPassCost = BigDecimal.ZERO;
|
|
|
BigDecimal pariPassCoal = BigDecimal.ZERO;
|
|
|
BigDecimal pariPassCo2 = BigDecimal.ZERO;
|
|
|
+ BigDecimal pariPassPlantTree = BigDecimal.ZERO;
|
|
|
if (pariPassuData.compareTo(BigDecimal.ZERO) != 0) {
|
|
|
BigDecimal pariPassCoalAmountData = pariPassuData.multiply(coal).setScale(2, RoundingMode.UP);
|
|
|
BigDecimal pariPassCo2AmountData = pariPassCoalAmountData.multiply(co2Factor)
|
|
|
.setScale(2, RoundingMode.UP);
|
|
|
+ BigDecimal pariPassPlantTreeAmount = pariPassCo2AmountData.divide(new BigDecimal("18"), 2, RoundingMode.UP);
|
|
|
pariPassCon = data.subtract(pariPassuData).divide(pariPassuData, 2, RoundingMode.UP);
|
|
|
pariPassCoal = coalAmount.subtract(pariPassCoalAmountData)
|
|
|
.divide(pariPassCoalAmountData, 2, RoundingMode.UP);
|
|
|
pariPassCo2 = co2Amount.subtract(pariPassCo2AmountData)
|
|
|
.divide(pariPassCo2AmountData, 2, RoundingMode.UP);
|
|
|
- }
|
|
|
-
|
|
|
- BigDecimal cost = BigDecimal.ZERO;
|
|
|
- if (co2Amount.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
- cost = co2Amount.divide(new BigDecimal("18"), 2, RoundingMode.UP);
|
|
|
+ pariPassPlantTree = plantTree.subtract(pariPassPlantTreeAmount)
|
|
|
+ .divide(pariPassPlantTreeAmount, 2, RoundingMode.UP);
|
|
|
}
|
|
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
@@ -443,6 +452,9 @@ public class EmsOverviewServiceImpl implements EmsOverviewService {
|
|
|
map.put("co2Amount", co2Amount);
|
|
|
map.put("sequentialCo2", sequentialCo2);
|
|
|
map.put("pariPassCo2", pariPassCo2);
|
|
|
+ map.put("plantTree", plantTree);
|
|
|
+ map.put("sequentialPlantTree", sequentialPlantTree);
|
|
|
+ map.put("pariPassPlantTree", pariPassPlantTree);
|
|
|
return map;
|
|
|
}
|
|
|
|