|
|
|
@ -82,7 +82,9 @@ class ComputedAction(var manager: ActionManager, |
|
|
|
getStreetLastSignificantAction()?.action?.let { lastSignificantAction -> |
|
|
|
getStreetLastSignificantAction()?.action?.let { lastSignificantAction -> |
|
|
|
val lastSignificantAmount = lastSignificantAction.amount |
|
|
|
val lastSignificantAmount = lastSignificantAction.amount |
|
|
|
if (lastSignificantAmount != null) { |
|
|
|
if (lastSignificantAmount != null) { |
|
|
|
val minAmount = lastSignificantAmount + lastSignificantAction.effectiveAmount |
|
|
|
val previousSignificantAmount = getStreetSignificantActionBefore(lastSignificantAction.index)?.action?.amount ?: 0.0 |
|
|
|
|
|
|
|
val differenceWithPreviousSignificantAmount = lastSignificantAmount - previousSignificantAmount |
|
|
|
|
|
|
|
val minAmount = lastSignificantAmount + differenceWithPreviousSignificantAmount |
|
|
|
correctedAmount = max(minAmount, correctedAmount) |
|
|
|
correctedAmount = max(minAmount, correctedAmount) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -233,6 +235,10 @@ class ComputedAction(var manager: ActionManager, |
|
|
|
this.setEffectiveAmount(significantAmount - committedAmount) |
|
|
|
this.setEffectiveAmount(significantAmount - committedAmount) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun getStreetSignificantActionBefore(index: Int): ComputedAction? { |
|
|
|
|
|
|
|
return this.manager.getStreetLastSignificantAction(this.street, index - 1) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private fun getStreetLastSignificantAction(): ComputedAction? { |
|
|
|
private fun getStreetLastSignificantAction(): ComputedAction? { |
|
|
|
return this.manager.getStreetLastSignificantAction(this.street, this.action.index - 1) |
|
|
|
return this.manager.getStreetLastSignificantAction(this.street, this.action.index - 1) |
|
|
|
} |
|
|
|
} |
|
|
|
|