FINERACT-2050: Fix client transfer loan status staying in TRANSFER_IN_PROGRESS
This commit is contained in:
+12
@@ -202,6 +202,18 @@ public class DefaultLoanLifecycleStateMachine implements LoanLifecycleStateMachi
|
||||
newState = activeTransition();
|
||||
}
|
||||
break;
|
||||
case LOAN_COMPLETE_TRANSFER:
|
||||
if (anyOfAllowedWhenComingFrom(from, LoanStatus.TRANSFER_IN_PROGRESS)) {
|
||||
boolean isOverpaid = loan.getTotalOverpaid() != null && loan.getTotalOverpaid().compareTo(BigDecimal.ZERO) > 0;
|
||||
if (isOverpaid) {
|
||||
newState = overpaidTransition();
|
||||
} else if (loan.getSummary().isRepaidInFull(loan.getCurrency())) {
|
||||
newState = closeObligationsMetTransition();
|
||||
} else {
|
||||
newState = activeTransition();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case WRITE_OFF_OUTSTANDING_UNDO:
|
||||
if (anyOfAllowedWhenComingFrom(from, LoanStatus.CLOSED_WRITTEN_OFF)) {
|
||||
newState = activeTransition();
|
||||
|
||||
+1
@@ -48,6 +48,7 @@ public enum LoanEvent {
|
||||
LOAN_INITIATE_TRANSFER, //
|
||||
LOAN_REJECT_TRANSFER, //
|
||||
LOAN_WITHDRAW_TRANSFER, //
|
||||
LOAN_COMPLETE_TRANSFER, //
|
||||
LOAN_CREDIT_BALANCE_REFUND, //
|
||||
LOAN_CHARGEBACK, //
|
||||
LOAN_CHARGE_ADDED, //
|
||||
|
||||
Reference in New Issue
Block a user