From 51e9e8546284981fd7a7ca93aec519bab32b9618 Mon Sep 17 00:00:00 2001 From: Jose Alberto Hernandez Date: Wed, 15 May 2024 00:52:38 -0600 Subject: [PATCH] Update Loan account view to use Delinquency installment --- .../loans-account-schedule-step.component.ts | 1 + .../loans-account-terms-step.component.html | 74 +++++++++++-------- .../loans-account-terms-step.component.ts | 16 +++- .../account-details.component.html | 22 +++--- .../general-tab/general-tab.component.html | 4 +- 5 files changed, 70 insertions(+), 47 deletions(-) diff --git a/src/app/loans/loans-account-stepper/loans-account-schedule-step/loans-account-schedule-step.component.ts b/src/app/loans/loans-account-stepper/loans-account-schedule-step/loans-account-schedule-step.component.ts index cd2068ed1..5c7fea2b7 100644 --- a/src/app/loans/loans-account-stepper/loans-account-schedule-step/loans-account-schedule-step.component.ts +++ b/src/app/loans/loans-account-stepper/loans-account-schedule-step/loans-account-schedule-step.component.ts @@ -37,6 +37,7 @@ export class LoansAccountScheduleStepComponent implements OnInit { const dateFormat = this.settingsService.dateFormat; const payload = this.loansService.buildLoanRequestPayload(this.loansAccount, this.loansAccountTemplate, this.loansAccountProductTemplate.calendarOptions, locale, dateFormat); + delete payload['enableInstallmentLevelDelinquency']; this.loansService.calculateLoanSchedule(payload).subscribe((response: any) => { this.repaymentScheduleDetails = response; diff --git a/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.html b/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.html index 872002eb7..df3c03f1f 100644 --- a/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.html +++ b/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.html @@ -25,7 +25,7 @@ {{"labels.inputs.Frequency" | translate}} - {{ type.value }} + {{ type.value | translateCatalog }} @@ -81,7 +81,7 @@ {{"labels.inputs.Frequency" | translate}} - {{ repaymentFrequencyType.value }} + {{ repaymentFrequencyType.value | translateCatalog }} @@ -91,7 +91,7 @@ - {{ repaymentFrequencyNthDayType.value }} + {{ repaymentFrequencyNthDayType.value | translateCatalog }} @@ -101,7 +101,7 @@ - {{ repaymentFrequencyDayOfWeekType.value }} + {{ repaymentFrequencyDayOfWeekType.value | translateCatalog }} @@ -111,24 +111,36 @@ - {{"labels.inputs.Nominal interest rate" | translate}} + {{"labels.inputs.Nominal interest rate" | translate}} % + + {{'labels.inputs.Frequency' | translate}} + + + {{ interestRateFrequencyType.value | translateCatalog }} + + + + {{'labels.inputs.Nominal interest rate frequency' | translate}} {{'labels.commons.is' | translate}} {{'labels.commons.required' | translate}} + + + {{"labels.inputs.Interest method" | translate}} - {{ interestType.value }} + {{ interestType.value | translateCatalog }} - + {{"labels.inputs.Amortization" | translate}} - {{ amortizationType.value }} + {{ amortizationType.value | translateCatalog }} @@ -136,12 +148,12 @@ - + {{"labels.inputs.Principal Percentage Per Installment" | translate}} -

{{"labels.inputs.Is Equal Amortization" | translate}}

@@ -149,14 +161,13 @@
-
{{"labels.inputs.Interest Method" | translate}} - {{ interestType.value }} + {{ interestType.value | translateCatalog }} @@ -165,7 +176,7 @@ {{"labels.inputs.Amortization" | translate}} - {{ amortizationType.value }} + {{ amortizationType.value | translateCatalog }} @@ -176,22 +187,21 @@

{{"labels.inputs.Is Floating Rate" | translate}}?

-
-
+

{{"labels.inputs.Loan Schedule" | translate}}

{{"labels.inputs.Loan Schedule Type" | translate}}

-

{{ loanScheduleType.value }}

+

{{ loanScheduleType.value | translateCatalog }}

{{"labels.inputs.Repayment Strategy" | translate}} - {{ transactionProcessingStrategy.name }} + {{ transactionProcessingStrategy.name | translateCatalog }} @@ -206,7 +216,7 @@ - {{ interestCalculationPeriodType.value }} + {{ interestCalculationPeriodType.value | translateCatalog }} @@ -242,18 +252,18 @@ - - {{"labels.inputs.Installment Amount" | translate}} - - +
+

{{"labels.inputs.Delinquency Bucket" | translate}} + {{ loanProduct?.delinquencyBucket.name }}

+
- - + +

{{'labels.inputs.Enable installment level Delinquency' | translate}}

- +

{{"labels.inputs.Is Topup Loan" | translate}}?

@@ -270,16 +280,21 @@
+ + {{"labels.inputs.Installment Amount" | translate}} + + +
- {{"labels.inputs.Recalculate Interest" | translate}} + {{"labels.inputs.Recalculate Interest" | translate}} {{ loansAccountTermsData?.isInterestRecalculationEnabled| yesNo }}
{{"labels.inputs.Days in year" | translate}} - {{ loansAccountTermsData.daysInYearType.value}} + {{ loansAccountTermsData.daysInYearType.value | translateCatalog }}
@@ -291,7 +306,7 @@
{{"labels.inputs.Days in month" | translate}} - {{ loansAccountTermsData.daysInMonthType.value }} + {{ loansAccountTermsData.daysInMonthType.value | translateCatalog }}
@@ -300,8 +315,7 @@
{{"labels.inputs.Interest recalculation compounding on" | translate}} - {{ loansAccountTermsData.interestRecalculationData.interestRecalculationCompoundingType.value - }} + {{ loansAccountTermsData.interestRecalculationData.interestRecalculationCompoundingType.value | translateCatalog }}
diff --git a/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.ts b/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.ts index 5ac5e4b2a..1fa27b1e2 100644 --- a/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.ts +++ b/src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.ts @@ -89,6 +89,8 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges { loanScheduleType: OptionData | null = null; loanProduct: LoanProduct | null = null; + interestRateFrequencyTypeData: any[] = []; + /** * Create Loans Account Terms Form * @param formBuilder FormBuilder @@ -116,6 +118,10 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges { this.loanProduct = this.loansAccountTermsData.product; } + this.interestRateFrequencyTypeData = this.loansAccountTermsData.interestRateFrequencyTypeOptions; + console.log(this.loansAccountTermsData); + console.log(this.loanProduct); + this.loansAccountTermsForm.patchValue({ 'principalAmount': this.loansAccountTermsData.principal, 'loanTermFrequency': this.loansAccountTermsData.termFrequency, @@ -138,7 +144,8 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges { 'maxOutstandingLoanBalance': this.loansAccountTermsData.maxOutstandingLoanBalance, 'transactionProcessingStrategyCode': this.loansAccountTermsData.transactionProcessingStrategyCode, 'interestRateDifferential': this.loansAccountTermsData.interestRateDifferential, - 'multiDisburseLoan': this.loansAccountTermsData.multiDisburseLoan + 'multiDisburseLoan': this.loansAccountTermsData.multiDisburseLoan, + 'interestRateFrequencyType': this.loansAccountTermsData.interestRateFrequencyType.id }); this.setAdvancedPaymentStrategyControls(); @@ -156,7 +163,6 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges { }); } if (this.isDelinquencyEnabled()) { - console.log("TEST " + this.loansAccountTermsData.enableInstallmentLevelDelinquency); this.loansAccountTermsForm.addControl('enableInstallmentLevelDelinquency', new UntypedFormControl(this.loansAccountTermsData.enableInstallmentLevelDelinquency || this.loanProduct.enableInstallmentLevelDelinquency)); } this.collateralDataSource = this.loansAccountTermsData.collateral || []; @@ -230,7 +236,8 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges { 'maxOutstandingLoanBalance': this.loansAccountTermsData.maxOutstandingLoanBalance, 'transactionProcessingStrategyCode': this.loansAccountTermsData.transactionProcessingStrategyCode, 'interestRateDifferential': this.loansAccountTermsData.interestRateDifferential, - 'multiDisburseLoan': this.loansAccountTermsData.multiDisburseLoan + 'multiDisburseLoan': this.loansAccountTermsData.multiDisburseLoan, + 'interestRateFrequencyType': this.loansAccountTermsData.interestRateFrequencyType.id }); } this.createloansAccountTermsForm(); @@ -349,7 +356,8 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges { 'maxOutstandingLoanBalance': [''], 'interestRateDifferential': [''], 'transactionProcessingStrategyCode': ['', Validators.required], - 'multiDisburseLoan': [false] + 'multiDisburseLoan': [false], + 'interestRateFrequencyType': [''] }); } diff --git a/src/app/loans/loans-view/account-details/account-details.component.html b/src/app/loans/loans-view/account-details/account-details.component.html index 499a3f88f..1e31452cc 100644 --- a/src/app/loans/loans-view/account-details/account-details.component.html +++ b/src/app/loans/loans-view/account-details/account-details.component.html @@ -5,26 +5,26 @@
{{"labels.inputs.Repayment Strategy" | translate}} - {{ loanDetails.transactionProcessingStrategyName }} + {{ loanDetails.transactionProcessingStrategyName | translateCatalog }}
{{"labels.inputs.Repayments" | translate}} - {{loanDetails.numberOfRepayments}} every {{loanDetails.repaymentEvery}} {{loanDetails.repaymentFrequencyType.value}} + {{loanDetails.numberOfRepayments}} every {{loanDetails.repaymentEvery}} {{loanDetails.repaymentFrequencyType.value | translateCatalog }} - {{"labels.commons.on" | translate}}{{loanDetails.repaymentFrequencyNthDayType?.value}} {{loanDetails.repaymentFrequencyDayOfWeekType?.value}} + {{"labels.commons.on" | translate}}{{loanDetails.repaymentFrequencyNthDayType?.value}} {{loanDetails.repaymentFrequencyDayOfWeekType?.value | translateCatalog }}
{{"labels.inputs.Fixed Length" | translate}} - {{loanDetails.fixedLength}} {{loanDetails.repaymentFrequencyType.value}} + {{loanDetails.fixedLength}} {{loanDetails.repaymentFrequencyType.value | translateCatalog }}
{{"labels.inputs.Amortization" | translate}} - {{loanDetails.amortizationType.value}} + {{loanDetails.amortizationType.value | translateCatalog }}
@@ -39,7 +39,7 @@
{{"labels.inputs.Interest" | translate}} - {{loanDetails.annualInterestRate | formatNumber}} % {{"labels.text.per annum" | translate}} ({{loanDetails.interestRatePerPeriod}} %  {{loanDetails.interestRateFrequencyType.value}}) + {{loanDetails.annualInterestRate | formatNumber}} % {{"labels.text.per annum" | translate}} ({{loanDetails.interestRatePerPeriod}} %  {{loanDetails.interestRateFrequencyType.value | translateCatalog }})
@@ -80,7 +80,7 @@
{{"labels.inputs.Interest Calculation Period" | translate}} - {{loanDetails.interestCalculationPeriodType.value}} + {{loanDetails.interestCalculationPeriodType.value | translateCatalog }}
@@ -135,22 +135,22 @@
{{"labels.inputs.Days in year" | translate}} - {{loanDetails.daysInYearType.value}} + {{loanDetails.daysInYearType.value | translateCatalog }}
{{"labels.inputs.Days in month" | translate}} - {{loanDetails.daysInMonthType.value }} + {{loanDetails.daysInMonthType.value | translateCatalog }}
{{"labels.inputs.Interest recalculation compounding on" | translate}} - {{loanDetails.interestRecalculationData.interestRecalculationCompoundingType.value}} + {{loanDetails.interestRecalculationData.interestRecalculationCompoundingType.value | translateCatalog }}
{{"labels.inputs.Advance payments adjustment type" | translate}} - {{loanDetails.interestRecalculationData.rescheduleStrategyType.value}} + {{loanDetails.interestRecalculationData.rescheduleStrategyType.value | translateCatalog }}
diff --git a/src/app/loans/loans-view/general-tab/general-tab.component.html b/src/app/loans/loans-view/general-tab/general-tab.component.html index 51b47fbcb..83d0d620b 100644 --- a/src/app/loans/loans-view/general-tab/general-tab.component.html +++ b/src/app/loans/loans-view/general-tab/general-tab.component.html @@ -81,7 +81,7 @@ - + @@ -133,7 +133,7 @@
{{ ele.key }} {{ 'labels.inputs.' + ele.key | translate }}
- +
{{ ele.key }} {{ 'labels.inputs.' + ele.key | translate }}