diff --git a/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.ts b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.ts
index 0e36cfd3b..7e8fc7e59 100644
--- a/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.ts
+++ b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.ts
@@ -6,7 +6,7 @@ import { ActivatedRoute } from '@angular/router';
templateUrl: './loan-term-variations-tab.component.html',
styleUrls: ['./loan-term-variations-tab.component.scss']
})
-export class LoanTermVariationsTabComponent implements OnInit {
+export class LoanTermVariationsTabComponent {
/** Loan Details Data */
loanTermVariationsData: any[] = [];
@@ -21,8 +21,4 @@ export class LoanTermVariationsTabComponent implements OnInit {
});
this.loanId = this.route.parent.parent.snapshot.params['loanId'];
}
-
- ngOnInit(): void {
- }
-
}
diff --git a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html
index f627c9f23..0ea1ff088 100644
--- a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html
+++ b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.html
@@ -542,15 +542,19 @@
{{ 'labels.inputs.Frequency Interval for recalculation' | translate}}:
-
{{ loanProduct.interestRecalculationData.recalculationRestFrequencyInterval }}
+
{{ loanProduct.interestRecalculationData.recalculationRestFrequencyInterval }}
{{ 'labels.inputs.Rest Frequency Date' | translate}}:
- {{ loanProduct.interestRecalculationData.recalculationRestFrequencyDate }}
+ {{ loanProduct.interestRecalculationData.recalculationRestFrequencyDate }}
{{ 'labels.inputs.Is Arrears recognization based on original schedule' | translate}}:
- {{ loanProduct.isArrearsBasedOnOriginalSchedule | yesNo }}
+ {{ loanProduct.interestRecalculationData.isArrearsBasedOnOriginalSchedule | yesNo }}
+
+
+ {{ 'labels.inputs.Do not calculate interest on past due principal balances' | translate}}:
+ {{ loanProduct.interestRecalculationData.disallowInterestCalculationOnPastDue | yesNo }}
diff --git a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts
index 6cf47424c..d79904493 100644
--- a/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts
+++ b/src/app/products/loan-products/common/loan-product-summary/loan-product-summary.component.ts
@@ -160,7 +160,8 @@ export class LoanProductSummaryComponent implements OnInit, OnChanges {
allowCompoundingOnEod: this.loanProduct.allowCompoundingOnEod,
isArrearsBasedOnOriginalSchedule: this.loanProduct.isArrearsBasedOnOriginalSchedule,
isCompoundingToBePostedAsTransaction: this.loanProduct.isCompoundingToBePostedAsTransaction,
- recalculationRestFrequencyInterval: this.loanProduct.recalculationRestFrequencyInterval
+ recalculationRestFrequencyInterval: this.loanProduct.recalculationRestFrequencyInterval,
+ disallowInterestCalculationOnPastDue: this.loanProduct.disallowInterestCalculationOnPastDue,
};
}
diff --git a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html
index 357497e84..ba26d00de 100644
--- a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html
+++ b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html
@@ -433,6 +433,10 @@
{{'labels.inputs.Is Arrears recognization based on original schedule' | translate}}?
+
+ {{'labels.inputs.Do not calculate interest on past due principal balances' | translate}}
+
+
diff --git a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.ts b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.ts
index 96ac1abbf..45b6d3f7f 100644
--- a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.ts
+++ b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.ts
@@ -370,6 +370,7 @@ export class LoanProductSettingsStepComponent implements OnInit {
this.loanProductSettingsForm.removeControl('recalculationRestFrequencyType');
this.loanProductSettingsForm.removeControl('isArrearsBasedOnOriginalSchedule');
}
+ this.enableFieldsWhenScheduleTypeIsProgressiveAndInterestRateRecalculationEnabled();
});
this.loanProductSettingsForm.get('holdGuaranteeFunds').valueChanges
@@ -491,9 +492,25 @@ export class LoanProductSettingsStepComponent implements OnInit {
this.setRescheduleStrategies();
}
this.processingStrategyService.initialize(this.isAdvancedTransactionProcessingStrategy);
+ this.enableFieldsWhenScheduleTypeIsProgressiveAndInterestRateRecalculationEnabled();
});
}
+ private enableFieldsWhenScheduleTypeIsProgressiveAndInterestRateRecalculationEnabled() {
+ const isProgressiveLoan = this.loanProductSettingsForm.get('loanScheduleType').value === LoanProducts.LOAN_SCHEDULE_TYPE_PROGRESSIVE;
+ const isInterestRecalculationEnabled = this.loanProductSettingsForm.get('isInterestRecalculationEnabled').value == true;
+ const shouldControlExists = isProgressiveLoan && isInterestRecalculationEnabled;
+ const isControlExists = this.loanProductSettingsForm.contains('disallowInterestCalculationOnPastDue');
+
+ if (shouldControlExists && !isControlExists) {
+ this.loanProductSettingsForm.addControl('disallowInterestCalculationOnPastDue', new UntypedFormControl(''));
+ this.loanProductSettingsForm.patchValue({'disallowInterestCalculationOnPastDue': this.loanProductsTemplate.interestRecalculationData?.disallowInterestCalculationOnPastDue ?? false});
+ } else if (isControlExists && !shouldControlExists) {
+ this.loanProductSettingsForm.patchValue({'disallowInterestCalculationOnPastDue': undefined });
+ this.loanProductSettingsForm.removeControl('disallowInterestCalculationOnPastDue');
+ }
+ }
+
private setRescheduleStrategies() {
if (this.advancedTransactionProcessingStrategyDisabled) {
this.rescheduleStrategyTypeData = this.rescheduleStrategyTypeDataBase.filter(
diff --git a/src/app/products/loan-products/models/loan-product.model.ts b/src/app/products/loan-products/models/loan-product.model.ts
index b72d8b99e..e0e08e729 100644
--- a/src/app/products/loan-products/models/loan-product.model.ts
+++ b/src/app/products/loan-products/models/loan-product.model.ts
@@ -52,6 +52,7 @@ export interface LoanProduct {
recalculationCompoundingFrequencyType?: number;
recalculationRestFrequencyType?: number;
allowCompoundingOnEod?: boolean;
+ disallowInterestCalculationOnPastDue?: boolean;
isArrearsBasedOnOriginalSchedule?: boolean;
isCompoundingToBePostedAsTransaction?: boolean;
recalculationRestFrequencyInterval?: number;
@@ -168,4 +169,5 @@ export interface InterestRecalculationData {
isCompoundingToBePostedAsTransaction: boolean;
preClosureInterestCalculationStrategy: OptionData;
allowCompoundingOnEod: boolean;
+ disallowInterestCalculationOnPastDue: boolean;
}
diff --git a/src/assets/translations/cs-CS.json b/src/assets/translations/cs-CS.json
index 766649349..1f6ff1efd 100644
--- a/src/assets/translations/cs-CS.json
+++ b/src/assets/translations/cs-CS.json
@@ -1505,6 +1505,7 @@
"Dividend Period End Date": "Datum ukončení dividendového období",
"Dividend Period Start Date": "Datum zahájení dividendového období",
"Dividends": "Dividendy",
+ "Do not calculate interest on past due principal balances": "Neúčtovat úroky z dlužných hlavních zůstatků",
"Documents": "Dokumenty",
"Document Key": "Klíč dokumentu",
"Document Type": "Typ dokumentu",
diff --git a/src/assets/translations/de-DE.json b/src/assets/translations/de-DE.json
index a51e819ab..da0ec2d2c 100644
--- a/src/assets/translations/de-DE.json
+++ b/src/assets/translations/de-DE.json
@@ -1505,6 +1505,7 @@
"Dividend Period End Date": "Enddatum des Dividendenzeitraums",
"Dividend Period Start Date": "Startdatum des Dividendenzeitraums",
"Dividends": "Dividenden",
+ "Do not calculate interest on past due principal balances": "Berechnen Sie keine Zinsen auf überfällige Hauptbeträge",
"Documents": "Unterlagen",
"Document Key": "Dokumentschlüssel",
"Document Type": "Art des Dokuments",
diff --git a/src/assets/translations/en-US.json b/src/assets/translations/en-US.json
index b009717ae..bc009cbf7 100644
--- a/src/assets/translations/en-US.json
+++ b/src/assets/translations/en-US.json
@@ -1506,6 +1506,7 @@
"Dividend Period End Date": "Dividend Period End Date",
"Dividend Period Start Date": "Dividend Period Start Date",
"Dividends": "Dividends",
+ "Do not calculate interest on past due principal balances": "Do not calculate interest on past due principal balances",
"Documents": "Documents",
"Document Key": "Document Key",
"Document Type": "Document Type",
diff --git a/src/assets/translations/es-MX.json b/src/assets/translations/es-MX.json
index 9aad75ddd..b2d14d9c7 100644
--- a/src/assets/translations/es-MX.json
+++ b/src/assets/translations/es-MX.json
@@ -1503,6 +1503,7 @@
"Dividend Period End Date": "Fecha de finalización del período de dividendos",
"Dividend Period Start Date": "Fecha de inicio del período de dividendos",
"Dividends": "Dividendos",
+ "Do not calculate interest on past due principal balances": "No calcular intereses sobre saldos principales vencidos",
"Documents": "Documentos",
"Document Key": "Clave de documento",
"Document Type": "Tipo de Documento",
diff --git a/src/assets/translations/fr-FR.json b/src/assets/translations/fr-FR.json
index 7ddfd7b6e..51e282a76 100644
--- a/src/assets/translations/fr-FR.json
+++ b/src/assets/translations/fr-FR.json
@@ -1505,6 +1505,7 @@
"Dividend Period End Date": "Date de fin de la période de dividende",
"Dividend Period Start Date": "Date de début de la période de dividende",
"Dividends": "Dividendes",
+ "Do not calculate interest on past due principal balances": "Ne pas calculer d'intérêts sur les soldes principaux échus",
"Documents": "Documents",
"Document Key": "Clé du document",
"Document Type": "Type de document",
diff --git a/src/assets/translations/it-IT.json b/src/assets/translations/it-IT.json
index 2d9da1f57..7d135afde 100644
--- a/src/assets/translations/it-IT.json
+++ b/src/assets/translations/it-IT.json
@@ -1505,6 +1505,7 @@
"Dividend Period End Date": "Data di fine del periodo di dividendo",
"Dividend Period Start Date": "Data di inizio del periodo di dividendo",
"Dividends": "Dividendi",
+ "Do not calculate interest on past due principal balances": "Non calcolare interessi sui saldi principali scaduti",
"Documents": "Documenti",
"Document Key": "Chiave del documento",
"Document Type": "tipo di documento",
diff --git a/src/assets/translations/ko-KO.json b/src/assets/translations/ko-KO.json
index 2b35bc693..71c273243 100644
--- a/src/assets/translations/ko-KO.json
+++ b/src/assets/translations/ko-KO.json
@@ -1506,6 +1506,7 @@
"Dividend Period End Date": "배당기간 종료일",
"Dividend Period Start Date": "배당기간 개시일",
"Dividends": "배당금",
+ "Do not calculate interest on past due principal balances": "연체된 원금 잔액에 대한 이자를 계산하지 마십시오",
"Documents": "서류",
"Document Key": "문서 키",
"Document Type": "문서 유형",
diff --git a/src/assets/translations/lt-LT.json b/src/assets/translations/lt-LT.json
index e2915927a..47578dec5 100644
--- a/src/assets/translations/lt-LT.json
+++ b/src/assets/translations/lt-LT.json
@@ -1505,6 +1505,7 @@
"Dividend Period End Date": "Dividendų laikotarpio pabaigos data",
"Dividend Period Start Date": "Dividendų laikotarpio pradžios data",
"Dividends": "Dividendai",
+ "Do not calculate interest on past due principal balances": "Neskaičiuoti palūkanų už pradelstus pagrindinius likučius",
"Documents": "Dokumentai",
"Document Key": "Dokumento raktas",
"Document Type": "dokumento tipas",
diff --git a/src/assets/translations/lv-LV.json b/src/assets/translations/lv-LV.json
index 5f677f204..feab8614a 100644
--- a/src/assets/translations/lv-LV.json
+++ b/src/assets/translations/lv-LV.json
@@ -1505,6 +1505,7 @@
"Dividend Period End Date": "Dividenžu perioda beigu datums",
"Dividend Period Start Date": "Dividenžu perioda sākuma datums",
"Dividends": "Dividendes",
+ "Do not calculate interest on past due principal balances": "Neskaitīt procentus par kavētajiem pamatkapitāla atlikumiem",
"Documents": "Dokumenti",
"Document Key": "Dokumenta atslēga",
"Document Type": "Dokumenta veids",
diff --git a/src/assets/translations/ne-NE.json b/src/assets/translations/ne-NE.json
index 97e57f055..b7d86bd4a 100644
--- a/src/assets/translations/ne-NE.json
+++ b/src/assets/translations/ne-NE.json
@@ -1505,6 +1505,7 @@
"Dividend Period End Date": "लाभांश अवधि समाप्ति मिति",
"Dividend Period Start Date": "लाभांश अवधि सुरु मिति",
"Dividends": "लाभांश",
+ "Do not calculate interest on past due principal balances": "बकाया मूल चित्तको ब्याज गणना नगर्नुहोस्।",
"Documents": "कागजातहरू",
"Document Key": "कागजात कुञ्जी",
"Document Type": "कागजात प्रकार",
diff --git a/src/assets/translations/pt-PT.json b/src/assets/translations/pt-PT.json
index 5522d97b0..e590651fc 100644
--- a/src/assets/translations/pt-PT.json
+++ b/src/assets/translations/pt-PT.json
@@ -1505,6 +1505,7 @@
"Dividend Period End Date": "Data de término do período de dividendos",
"Dividend Period Start Date": "Data de início do período de dividendos",
"Dividends": "Dividendos",
+ "Do not calculate interest on past due principal balances": "Não calcular juros sobre os saldos principais em atraso",
"Documents": "Documentos",
"Document Key": "Chave do documento",
"Document Type": "tipo de documento",
diff --git a/src/assets/translations/sw-SW.json b/src/assets/translations/sw-SW.json
index a65b9e101..eb0d01e2a 100644
--- a/src/assets/translations/sw-SW.json
+++ b/src/assets/translations/sw-SW.json
@@ -1505,6 +1505,7 @@
"Dividend Period End Date": "Tarehe ya Mwisho ya Kipindi cha Gawio",
"Dividend Period Start Date": "Tarehe ya Kuanza kwa Kipindi cha Gawio",
"Dividends": "Gawio",
+ "Do not calculate interest on past due principal balances": "Usihesabu riba juu ya salio la msingi lililokawia",
"Documents": "Nyaraka",
"Document Key": "Ufunguo wa Hati",
"Document Type": "Aina ya Hati",