Multi-dlnqcy - Configuration of Installment level delinquency

This commit is contained in:
Jose Alberto Hernandez
2023-10-18 09:30:28 +02:00
committed by Adam Saghy
parent 41b49c2c03
commit 3e1067bfc6
6 changed files with 45 additions and 11 deletions
@@ -23,7 +23,7 @@
<div fxFlexFill> <div fxFlexFill>
<span fxFlex="50%"> Equal Amortization </span> <span fxFlex="50%"> Equal Amortization </span>
<span fxFlex="50%"> {{loanDetails.isEqualAmortization}} </span> <span fxFlex="50%"> {{loanDetails.isEqualAmortization | yesNo}} </span>
</div> </div>
<div fxFlexFill> <div fxFlexFill>
@@ -46,6 +46,11 @@
<span fxFlex="50%"> {{loanDetails.graceOnArrearsAgeing}} </span> <span fxFlex="50%"> {{loanDetails.graceOnArrearsAgeing}} </span>
</div> </div>
<div fxFlexFill>
<span fxFlex="50%"> Enable Installment Level Delinquency </span>
<span fxFlex="50%"> {{loanDetails.enableInstallmentLevelDelinquency | yesNo}} </span>
</div>
<div fxFlexFill> <div fxFlexFill>
<span fxFlex="50%"> Fund Source</span> <span fxFlex="50%"> Fund Source</span>
<span fxFlex="50%"> {{loanDetails.fundName}} </span> <span fxFlex="50%"> {{loanDetails.fundName}} </span>
@@ -98,7 +103,7 @@
<div fxFlexFill *ngIf="loanDetails.isTopup"> <div fxFlexFill *ngIf="loanDetails.isTopup">
<span fxFlex="50%"> Is Topup Loan?</span> <span fxFlex="50%"> Is Topup Loan?</span>
<span fxFlex="50%"> {{loanDetails.isTopup}} </span> <span fxFlex="50%"> {{loanDetails.isTopup | yesNo}} </span>
</div> </div>
<div fxFlexFill *ngIf="loanDetails.isTopup"> <div fxFlexFill *ngIf="loanDetails.isTopup">
@@ -113,7 +118,7 @@
<div fxFlexFill> <div fxFlexFill>
<span fxFlex="50%"> Recalculate Interest based on new terms</span> <span fxFlex="50%"> Recalculate Interest based on new terms</span>
<span fxFlex="50%"> {{loanDetails.isInterestRecalculationEnabled ? 'Yes' : 'No' }} </span> <span fxFlex="50%"> {{loanDetails.isInterestRecalculationEnabled | yesNo}} </span>
</div> </div>
<div fxFlexFill> <div fxFlexFill>
@@ -148,7 +153,7 @@
<div fxFlexFill *ngIf="loanDetails.isVariableInstallmentsAllowed"> <div fxFlexFill *ngIf="loanDetails.isVariableInstallmentsAllowed">
<span fxFlex="50%"> Variable Installments Allowed</span> <span fxFlex="50%"> Variable Installments Allowed</span>
<span fxFlex="50%"> {{loanDetails.isVariableInstallmentsAllowed}} </span> <span fxFlex="50%"> {{loanDetails.isVariableInstallmentsAllowed | yesNo}} </span>
</div> </div>
<div fxFlexFill *ngIf="loanDetails.isVariableInstallmentsAllowed"> <div fxFlexFill *ngIf="loanDetails.isVariableInstallmentsAllowed">
@@ -389,7 +389,12 @@
<div fxFlexFill> <div fxFlexFill>
<span fxFlex="40%">Delinquency Bucket:</span> <span fxFlex="40%">Delinquency Bucket:</span>
<span fxFlex="60%">{{ loanProduct.delinquencyBucketId | yesNo }}</span> <span fxFlex="60%">{{ loanProduct.delinquencyBucketId }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Enable installment level Delinquency:</span>
<span fxFlex="60%">{{ loanProduct.enableInstallmentLevelDelinquency | yesNo }}</span>
</div> </div>
<div fxFlexFill> <div fxFlexFill>
@@ -21,8 +21,16 @@ mat-divider {
margin: 0 0 0.5em 0; margin: 0 0 0.5em 0;
} }
.margin-t { .mat-h3 {
margin-top: 1em; margin-top: 10px !important;
font-weight: 300;
color: $status-approved;
}
.mat-h4 {
margin-top: 10px !important;
font-weight: 200;
color: $status-approved;
} }
.repayment-strategy { .repayment-strategy {
@@ -76,6 +76,8 @@
<input type="number" matInput formControlName="graceOnInterestPayment"> <input type="number" matInput formControlName="graceOnInterestPayment">
</mat-form-field> </mat-form-field>
<mat-divider fxFlex="98%"></mat-divider>
<mat-form-field fxFlex="48%"> <mat-form-field fxFlex="48%">
<mat-label>Delinquency Bucket</mat-label> <mat-label>Delinquency Bucket</mat-label>
<mat-select formControlName="delinquencyBucketId" required> <mat-select formControlName="delinquencyBucketId" required>
@@ -85,6 +87,10 @@
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
<mat-checkbox fxFlex="48%" labelPosition="before" formControlName="enableInstallmentLevelDelinquency" class="margin-v">
Enable installment level Delinquency
</mat-checkbox>
<mat-divider fxFlex="98%"></mat-divider> <mat-divider fxFlex="98%"></mat-divider>
<mat-form-field fxFlex="48%"> <mat-form-field fxFlex="48%">
@@ -93,7 +93,8 @@ export class LoanProductSettingsStepComponent implements OnInit {
'outstandingLoanBalance': this.loanProductsTemplate.outstandingLoanBalance, 'outstandingLoanBalance': this.loanProductsTemplate.outstandingLoanBalance,
'dueDaysForRepaymentEvent': this.loanProductsTemplate.dueDaysForRepaymentEvent, 'dueDaysForRepaymentEvent': this.loanProductsTemplate.dueDaysForRepaymentEvent,
'overDueDaysForRepaymentEvent': this.loanProductsTemplate.overDueDaysForRepaymentEvent, 'overDueDaysForRepaymentEvent': this.loanProductsTemplate.overDueDaysForRepaymentEvent,
'enableDownPayment': this.loanProductsTemplate.enableDownPayment 'enableDownPayment': this.loanProductsTemplate.enableDownPayment,
'enableInstallmentLevelDelinquency': this.loanProductsTemplate.enableInstallmentLevelDelinquency
}); });
if (this.loanProductsTemplate.delinquencyBucket) { if (this.loanProductsTemplate.delinquencyBucket) {
@@ -199,7 +200,8 @@ export class LoanProductSettingsStepComponent implements OnInit {
'delinquencyBucketId': ['', Validators.required], 'delinquencyBucketId': ['', Validators.required],
'dueDaysForRepaymentEvent': [''], 'dueDaysForRepaymentEvent': [''],
'overDueDaysForRepaymentEvent': [''], 'overDueDaysForRepaymentEvent': [''],
'enableDownPayment': [false] 'enableDownPayment': [false],
'enableInstallmentLevelDelinquency': [false]
}); });
} }
@@ -343,6 +343,16 @@
</span> </span>
</div> </div>
<div fxFlexFill>
<span fxFlex="40%">Delinquency Bucket:</span>
<span fxFlex="60%">{{ loanProduct.delinquencyBucket.name }}</span>
</div>
<div fxFlexFill>
<span fxFlex="40%">Enable installment level Delinquency:</span>
<span fxFlex="60%">{{ loanProduct.enableInstallmentLevelDelinquency | yesNo }}</span>
</div>
<div fxFlexFill *ngIf="loanProduct.graceOnPrincipalPayment"> <div fxFlexFill *ngIf="loanProduct.graceOnPrincipalPayment">
<span fxFlex="40%">Grace on principal payment:</span> <span fxFlex="40%">Grace on principal payment:</span>
<span fxFlex="60%">{{ loanProduct.graceOnPrincipalPayment }}</span> <span fxFlex="60%">{{ loanProduct.graceOnPrincipalPayment }}</span>
@@ -587,8 +597,6 @@
<span fxFlex="60%">{{ loanProduct.allowAttributeOverrides.graceOnPrincipalAndInterestPayment | yesNo }}</span> <span fxFlex="60%">{{ loanProduct.allowAttributeOverrides.graceOnPrincipalAndInterestPayment | yesNo }}</span>
<span fxFlex="40%">Number of days a loan may be overdue before moving into arrears:</span> <span fxFlex="40%">Number of days a loan may be overdue before moving into arrears:</span>
<span fxFlex="60%">{{ loanProduct.allowAttributeOverrides.graceOnArrearsAgeing | yesNo }}</span> <span fxFlex="60%">{{ loanProduct.allowAttributeOverrides.graceOnArrearsAgeing | yesNo }}</span>
<span fxFlex="40%">Delinquency Bucket:</span>
<span fxFlex="60%">{{ loanProduct.delinquencyBucket.id }}</span>
</div> </div>
<div fxFlexFill *ngIf="loanProduct.charges.length" fxLayout="row wrap" fxLayout.lt-md="column"> <div fxFlexFill *ngIf="loanProduct.charges.length" fxLayout="row wrap" fxLayout.lt-md="column">