Fixed Length configuration in Loan Accounts
This commit is contained in:
committed by
Jose Alberto Hernandez
parent
e4274c55bb
commit
466efacbd8
+7
-5
@@ -43,11 +43,13 @@ export class TransactionsTabComponent implements OnInit {
|
||||
ngOnInit() {
|
||||
this.hideAccrualsParam = new UntypedFormControl(false);
|
||||
this.dataSource = new MatTableDataSource(this.transactionsData);
|
||||
this.tempTransaction.forEach((element: any) => {
|
||||
if (this.isAccrual(element.transactionType)) {
|
||||
this.tempTransaction = this.removeItem(this.tempTransaction, element);
|
||||
}
|
||||
});
|
||||
if (this.tempTransaction) {
|
||||
this.tempTransaction.forEach((element: any) => {
|
||||
if (this.isAccrual(element.transactionType)) {
|
||||
this.tempTransaction = this.removeItem(this.tempTransaction, element);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private removeItem(arr: any, item: any) {
|
||||
|
||||
+7
-5
@@ -43,11 +43,13 @@ export class TransactionsTabComponent implements OnInit {
|
||||
ngOnInit() {
|
||||
this.dataSource = new MatTableDataSource(this.transactionsData);
|
||||
this.hideAccrualsParam = new UntypedFormControl(false);
|
||||
this.tempTransaction.forEach((element: any) => {
|
||||
if (this.isAccrual(element.transactionType)) {
|
||||
this.tempTransaction = this.removeItem(this.tempTransaction, element);
|
||||
}
|
||||
});
|
||||
if (this.tempTransaction) {
|
||||
this.tempTransaction.forEach((element: any) => {
|
||||
if (this.isAccrual(element.transactionType)) {
|
||||
this.tempTransaction = this.removeItem(this.tempTransaction, element);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private removeItem(arr: any, item: any) {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<div fxLayout="row wrap" fxLayout.lt-md="column">
|
||||
|
||||
<button mat-stroked-button color="primary" (click)="showRepaymentInfo()">
|
||||
<button mat-flat-button color="primary" (click)="showRepaymentInfo()">
|
||||
<fa-icon icon="calendar" class="m-r-10"></fa-icon>{{"labels.inputs.Generate Repayment Schedule" | translate}}
|
||||
</button>
|
||||
|
||||
|
||||
+60
-40
@@ -13,7 +13,7 @@
|
||||
<h4 fxFlex="98%" class="mat-h4">{{"labels.heading.Term Options" | translate}} <i class="fas fa-question" matTooltip="The loan term parameter in loan accounts
|
||||
is the default-calculated field based on the number of repayments and repaid every value entered by the user"></i></h4>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-form-field fxFlex="23%">
|
||||
<mat-label>{{"labels.inputs.Loan Term" | translate}}</mat-label>
|
||||
<input type="number" matInput required disabled formControlName="loanTermFrequency">
|
||||
<mat-error *ngIf="loansAccountTermsForm.controls.loanTermFrequency.hasError('required')">
|
||||
@@ -21,7 +21,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-form-field fxFlex="23%">
|
||||
<mat-label>{{"labels.inputs.Frequency" | translate}}</mat-label>
|
||||
<mat-select required formControlName="loanTermFrequencyType">
|
||||
<mat-option *ngFor="let type of termFrequencyTypeData" [value]="type.id">
|
||||
@@ -33,6 +33,12 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="20%" *ngIf="hasFixedLength()">
|
||||
<mat-label>{{"labels.inputs.Fixed Length" | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="fixedLength">
|
||||
</mat-form-field>
|
||||
<span fxFlex="20%" *ngIf="hasFixedLength()" class="label-field">{{ loansAccountTermsForm.value.loanTermFrequencyType | find:termFrequencyTypeData:'id':'value' }}</span>
|
||||
|
||||
<h4 fxFlex="98%" class="mat-h4">Repayments </h4>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
@@ -44,7 +50,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="48%" (click)="repaymentsPicker.open()">
|
||||
<mat-form-field fxFlex="23%" (click)="repaymentsPicker.open()">
|
||||
<mat-label>{{"labels.inputs.First repayment on" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" matTooltip="{{ 'tooltips.May be entered to override' | translate}}" [matDatepicker]="repaymentsPicker"
|
||||
formControlName="repaymentsStartingFromDate">
|
||||
@@ -52,9 +58,17 @@
|
||||
<mat-datepicker #repaymentsPicker></mat-datepicker>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="23%" (click)="interestPicker.open()">
|
||||
<mat-label>{{"labels.inputs.Interest charged from" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="interestPicker" matTooltip="{{ 'tooltips.May be entered to override the date' | translate}}"
|
||||
formControlName="interestChargedFromDate">
|
||||
<mat-datepicker-toggle matSuffix [for]="interestPicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #interestPicker></mat-datepicker>
|
||||
</mat-form-field>
|
||||
|
||||
<h4 fxFlex="98%" class="mat-h4">{{"labels.heading.Repaid Every" | translate}} <i class="fas fa-question" matTooltip="{{ 'tooltips.Fields are input to calculating the repayment schedule' | translate}}"></i></h4>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-form-field fxFlex="23%">
|
||||
<mat-label>{{"labels.inputs.Repaid every" | translate}}</mat-label>
|
||||
<input type="number" matInput required formControlName="repaymentEvery"
|
||||
matTooltip="These fields are input to calculating the repayment schedule for a loan account and are used to determine when payments are due.">
|
||||
@@ -63,7 +77,7 @@
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-form-field fxFlex="23%">
|
||||
<mat-label>{{"labels.inputs.Frequency" | translate}}</mat-label>
|
||||
<mat-select formControlName="repaymentFrequencyType" disabled required>
|
||||
<mat-option *ngFor="let repaymentFrequencyType of termFrequencyTypeData" [value]="repaymentFrequencyType.id">
|
||||
@@ -72,7 +86,7 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="48%" *ngIf="loansAccountTermsForm.controls.repaymentFrequencyType.value == 2">
|
||||
<mat-form-field fxFlex="20%" *ngIf="loansAccountTermsForm.controls.repaymentFrequencyType.value == 2">
|
||||
<mat-label>{{"labels.inputs.Select On" | translate}}</mat-label>
|
||||
<mat-select formControlName="repaymentFrequencyNthDayType">
|
||||
<mat-option *ngFor="let repaymentFrequencyNthDayType of repaymentFrequencyNthDayTypeData"
|
||||
@@ -82,7 +96,7 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="48%" *ngIf="loansAccountTermsForm.controls.repaymentFrequencyType.value == 2">
|
||||
<mat-form-field fxFlex="20%" *ngIf="loansAccountTermsForm.controls.repaymentFrequencyType.value == 2">
|
||||
<mat-label>{{"labels.inputs.Select Day" | translate}}</mat-label>
|
||||
<mat-select formControlName="repaymentFrequencyDayOfWeekType">
|
||||
<mat-option *ngFor="let repaymentFrequencyDayOfWeekType of repaymentFrequencyDaysOfWeekTypeData"
|
||||
@@ -92,22 +106,16 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="48%" (click)="interestPicker.open()">
|
||||
<mat-label>{{"labels.inputs.Interest charged from" | translate}}</mat-label>
|
||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="interestPicker" matTooltip="{{ 'tooltips.May be entered to override the date' | translate}}"
|
||||
formControlName="interestChargedFromDate">
|
||||
<mat-datepicker-toggle matSuffix [for]="interestPicker"></mat-datepicker-toggle>
|
||||
<mat-datepicker #interestPicker></mat-datepicker>
|
||||
</mat-form-field>
|
||||
<h4 fxFlex="98%" class="mat-h4">{{"labels.inputs.Nominal interest rate" | translate}}</h4>
|
||||
|
||||
<ng-container *ngIf="!loansAccountTermsData?.isLoanProductLinkedToFloatingRate">
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-form-field fxFlex="23%">
|
||||
<mat-label>{{"labels.inputs.Nominal interest rate" | translate}}</mat-label>
|
||||
<input type="number" matInput formControlName="interestRatePerPeriod">
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-form-field fxFlex="23%">
|
||||
<mat-label>{{"labels.inputs.Interest method" | translate}}</mat-label>
|
||||
<mat-select formControlName="interestType" matTooltip="{{ 'tooltips.The Interest method value' | translate}}">
|
||||
<mat-option *ngFor="let interestType of interestTypeData" [value]="interestType.id">
|
||||
@@ -115,29 +123,24 @@
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="23%">
|
||||
<mat-label>{{"labels.inputs.Amortization" | translate}}</mat-label>
|
||||
<mat-select required matTooltip="{{ 'tooltips.The Amortization value' | translate}}" formControlName="amortizationType">
|
||||
<mat-option *ngFor="let amortizationType of amortizationTypeData" [value]="amortizationType.id">
|
||||
{{ amortizationType.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="loansAccountTermsForm.controls.amortizationType.hasError('required')">
|
||||
{{"labels.inputs.Amortization Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-checkbox fxFlex="48%" formControlName="isEqualAmortization"
|
||||
<mat-checkbox fxFlex="23%" formControlName="isEqualAmortization"
|
||||
[checked]="loansAccountTermsData?.isEqualAmortization">
|
||||
<p>{{"labels.inputs.Is Equal Amortization" | translate}}</p>
|
||||
</mat-checkbox>
|
||||
|
||||
<div fxFlex="48%" *ngIf="loanScheduleType">
|
||||
<span fxFlex="40%"><p>{{"labels.inputs.Loan Schedule Type" | translate}}</p></span>
|
||||
<span fxFlex="60%"><p>{{ loanScheduleType.value }}</p></span>
|
||||
</div>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-label>{{"labels.inputs.Repayment Strategy" | translate}}</mat-label>
|
||||
<mat-select formControlName="transactionProcessingStrategyCode" matTooltip="{{ 'tooltips.The repayment strategy' | translate}}" [disabled]="repaymentStrategyDisabled">
|
||||
<mat-option *ngFor="let transactionProcessingStrategy of transactionProcessingStrategyOptions" [value]="transactionProcessingStrategy.code">
|
||||
{{ transactionProcessingStrategy.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="loansAccountTermsForm.controls.transactionProcessingStrategyCode.hasError('required')">
|
||||
{{"labels.inputs.Repayment Strategy" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngIf="loansAccountTermsData?.isLoanProductLinkedToFloatingRate">
|
||||
@@ -153,6 +156,18 @@
|
||||
</mat-select>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-label>{{"labels.inputs.Amortization" | translate}}</mat-label>
|
||||
<mat-select required matTooltip="{{ 'tooltips.The Amortization value' | translate}}" formControlName="amortizationType">
|
||||
<mat-option *ngFor="let amortizationType of amortizationTypeData" [value]="amortizationType.id">
|
||||
{{ amortizationType.value }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="loansAccountTermsForm.controls.amortizationType.hasError('required')">
|
||||
{{"labels.inputs.Amortization Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
<mat-checkbox fxFlex="48%" formControlName="isFloatingInterestRate">
|
||||
<p>{{"labels.inputs.Is Floating Rate" | translate}}?</p>
|
||||
</mat-checkbox>
|
||||
@@ -161,15 +176,20 @@
|
||||
|
||||
</ng-container>
|
||||
|
||||
<div fxFlex="48%" *ngIf="loanScheduleType">
|
||||
<span fxFlex="40%"><p>{{"labels.inputs.Loan Schedule Type" | translate}}</p></span>
|
||||
<span fxFlex="60%"><p>{{ loanScheduleType.value }}</p></span>
|
||||
</div>
|
||||
|
||||
<mat-form-field fxFlex="48%">
|
||||
<mat-label>{{"labels.inputs.Amortization" | translate}}</mat-label>
|
||||
<mat-select required matTooltip="{{ 'tooltips.The Amortization value' | translate}}" formControlName="amortizationType">
|
||||
<mat-option *ngFor="let amortizationType of amortizationTypeData" [value]="amortizationType.id">
|
||||
{{ amortizationType.value }}
|
||||
<mat-label>{{"labels.inputs.Repayment Strategy" | translate}}</mat-label>
|
||||
<mat-select formControlName="transactionProcessingStrategyCode" matTooltip="{{ 'tooltips.The repayment strategy' | translate}}" [disabled]="repaymentStrategyDisabled">
|
||||
<mat-option *ngFor="let transactionProcessingStrategy of transactionProcessingStrategyOptions" [value]="transactionProcessingStrategy.code">
|
||||
{{ transactionProcessingStrategy.name }}
|
||||
</mat-option>
|
||||
</mat-select>
|
||||
<mat-error *ngIf="loansAccountTermsForm.controls.amortizationType.hasError('required')">
|
||||
{{"labels.inputs.Amortization Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
<mat-error *ngIf="loansAccountTermsForm.controls.transactionProcessingStrategyCode.hasError('required')">
|
||||
{{"labels.inputs.Repayment Strategy" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
|
||||
|
||||
+27
-4
@@ -1,6 +1,6 @@
|
||||
/** Angular Imports */
|
||||
import { Component, OnInit, Input, OnChanges } from '@angular/core';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, Validators, FormArray } from '@angular/forms';
|
||||
import { UntypedFormGroup, UntypedFormBuilder, Validators, FormArray, UntypedFormControl } from '@angular/forms';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { LoansAccountAddCollateralDialogComponent } from 'app/loans/custom-dialog/loans-account-add-collateral-dialog/loans-account-add-collateral-dialog.component';
|
||||
@@ -117,7 +117,6 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
'numberOfRepayments': this.loansAccountTermsData.numberOfRepayments,
|
||||
'repaymentEvery': this.loansAccountTermsData.repaymentEvery,
|
||||
'repaymentFrequencyType': this.loansAccountTermsData.repaymentFrequencyType.id,
|
||||
'interestRatePerPeriod': this.loansAccountTermsData.interestRatePerPeriod,
|
||||
'amortizationType': this.loansAccountTermsData.amortizationType.id,
|
||||
'isEqualAmortization': this.loansAccountTermsData.isEqualAmortization,
|
||||
'interestType': this.loansAccountTermsData.interestType.id,
|
||||
@@ -136,6 +135,8 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
'multiDisburseLoan': this.loansAccountTermsData.multiDisburseLoan
|
||||
});
|
||||
|
||||
this.setAdvancedPaymentStrategyControls();
|
||||
|
||||
if (this.loansAccountTermsData.isLoanProductLinkedToFloatingRate) {
|
||||
this.loansAccountTermsForm.removeControl('interestRatePerPeriod');
|
||||
}
|
||||
@@ -205,7 +206,6 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
'numberOfRepayments': this.loansAccountTermsData.numberOfRepayments,
|
||||
'repaymentEvery': this.loansAccountTermsData.repaymentEvery,
|
||||
'repaymentFrequencyType': this.loansAccountTermsData.repaymentFrequencyType.id,
|
||||
'interestRatePerPeriod': this.loansAccountTermsData.interestRatePerPeriod,
|
||||
'amortizationType': this.loansAccountTermsData.amortizationType.id,
|
||||
'isEqualAmortization': this.loansAccountTermsData.isEqualAmortization,
|
||||
'interestType': this.loansAccountTermsData.interestType.id,
|
||||
@@ -225,6 +225,7 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
});
|
||||
}
|
||||
this.createloansAccountTermsForm();
|
||||
this.setAdvancedPaymentStrategyControls();
|
||||
// this.setCustomValidators();
|
||||
this.setLoanTermListener();
|
||||
}
|
||||
@@ -272,7 +273,27 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
.subscribe(loanTermFrequencyType => {
|
||||
this.loansAccountTermsForm.patchValue({'repaymentFrequencyType': loanTermFrequencyType});
|
||||
});
|
||||
}
|
||||
|
||||
setAdvancedPaymentStrategyControls(): void {
|
||||
// Fixed Length validation
|
||||
if (this.loansAccountTermsData) {
|
||||
this.loansAccountTermsForm.removeControl('interestRatePerPeriod');
|
||||
this.loansAccountTermsForm.removeControl('fixedLength');
|
||||
if (this.loansAccountTermsData.product.fixedLength) {
|
||||
this.loansAccountTermsForm.addControl('interestRatePerPeriod', new UntypedFormControl({value: 0, disabled: true}, Validators.required));
|
||||
this.loansAccountTermsForm.addControl('fixedLength', new UntypedFormControl({value: this.loansAccountTermsData.product.fixedLength, disabled: true}));
|
||||
} else {
|
||||
this.loansAccountTermsForm.addControl('interestRatePerPeriod', new UntypedFormControl(this.loansAccountTermsData.interestRatePerPeriod, Validators.required));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
hasFixedLength(): boolean {
|
||||
if (this.loansAccountTermsData) {
|
||||
return this.loansAccountTermsData.product.fixedLength ? true : false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/** Create Loans Account Terms Form */
|
||||
@@ -472,7 +493,9 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
|
||||
* Returns loans account terms form value.
|
||||
*/
|
||||
get loansAccountTerms() {
|
||||
return this.loansAccountTermsForm.getRawValue();
|
||||
const terms = this.loansAccountTermsForm.getRawValue();
|
||||
delete terms['fixedLength'];
|
||||
return terms;
|
||||
}
|
||||
|
||||
get loanCollateral() {
|
||||
|
||||
@@ -64,11 +64,13 @@ export class TransactionsTabComponent implements OnInit {
|
||||
this.dataSource = new MatTableDataSource(this.transactions);
|
||||
this.dataSource.paginator = this.paginator;
|
||||
this.dataSource.sort = this.sort;
|
||||
this.tempTransaction.forEach((element: any) => {
|
||||
if (this.isAccrual(element.type)) {
|
||||
this.tempTransaction = this.removeItem(this.tempTransaction, element);
|
||||
}
|
||||
});
|
||||
if (this.tempTransaction) {
|
||||
this.tempTransaction.forEach((element: any) => {
|
||||
if (this.isAccrual(element.transactionType)) {
|
||||
this.tempTransaction = this.removeItem(this.tempTransaction, element);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,7 +17,7 @@ import { DeleteDialogComponent } from '../../../shared/delete-dialog/delete-dial
|
||||
templateUrl: './view-collateral.component.html',
|
||||
styleUrls: ['./view-collateral.component.scss']
|
||||
})
|
||||
export class ViewCollateralComponent implements OnInit {
|
||||
export class ViewCollateralComponent {
|
||||
|
||||
/** Collateral Data */
|
||||
collateralData: any;
|
||||
@@ -34,21 +34,18 @@ export class ViewCollateralComponent implements OnInit {
|
||||
private route: ActivatedRoute,
|
||||
private router: Router,
|
||||
private dialog: MatDialog,
|
||||
private translateService:TranslateService) {
|
||||
private translateService: TranslateService) {
|
||||
this.route.data.subscribe((data: { collateral: any }) => {
|
||||
this.collateralData = data.collateral;
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes the collateral and redirects to collaterals
|
||||
*/
|
||||
deleteCollateral() {
|
||||
const deleteCollateralDialogRef = this.dialog.open(DeleteDialogComponent, {
|
||||
data: { deleteContext: this.translateService.instant('labels.text.Collateral') + " " + this.collateralData.id}
|
||||
data: { deleteContext: this.translateService.instant('labels.text.Collateral') + ' ' + this.collateralData.id}
|
||||
});
|
||||
deleteCollateralDialogRef.afterClosed().subscribe((response: any) => {
|
||||
if (response.delete) {
|
||||
|
||||
-4
@@ -21,7 +21,3 @@ mat-divider {
|
||||
.margin-t {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.label-field {
|
||||
margin-top: 32px;
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
</tr>
|
||||
<tr *ngIf="savingsAccountData.enforceMinRequiredBalance">
|
||||
<td>{{'labels.inputs.Enforce Minimum Required Balance' | translate}}</td>
|
||||
<td>{{savingsAccountData.enforceMinRequiredBalance | formatNumber}}</td>
|
||||
<td>{{savingsAccountData.enforceMinRequiredBalance | yesNo}}</td>
|
||||
</tr>
|
||||
<tr *ngIf="savingsAccountData.summary.lastInterestCalculationDate">
|
||||
<td>{{'labels.inputs.Interest Recalculation Date' | translate}}</td>
|
||||
|
||||
@@ -59,11 +59,13 @@ export class TransactionsTabComponent implements OnInit {
|
||||
this.accountWithTransactions = (this.transactionsData && this.transactionsData.length > 0);
|
||||
this.dataSource.paginator = this.paginator;
|
||||
this.dataSource.sort = this.sort;
|
||||
this.tempTransaction.forEach((element: any) => {
|
||||
if (this.isAccrual(element.transactionType)) {
|
||||
this.tempTransaction = this.removeItem(this.tempTransaction, element);
|
||||
}
|
||||
});
|
||||
if (this.tempTransaction) {
|
||||
this.tempTransaction.forEach((element: any) => {
|
||||
if (this.isAccrual(element.transactionType)) {
|
||||
this.tempTransaction = this.removeItem(this.tempTransaction, element);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private removeItem(arr: any, item: any) {
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ export class SavingsTransactionGeneralTabComponent implements OnInit {
|
||||
locale
|
||||
};
|
||||
this.savingsService.executeSavingsAccountTransactionsCommand(this.accountId, 'undo', data, this.transactionData.id).subscribe(() => {
|
||||
this.router.navigate(['../'], { relativeTo: this.route });
|
||||
this.router.navigate(['../..'], { relativeTo: this.route });
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -232,3 +232,7 @@ body {
|
||||
letter-spacing: -3px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.label-field {
|
||||
margin-top: 32px;
|
||||
}
|
||||
|
||||
@@ -1243,6 +1243,7 @@
|
||||
"End Time": "Čas ukončení",
|
||||
"End time": "Čas ukončení",
|
||||
"Enforce Minimum Balance": "Vynutit minimální zůstatek",
|
||||
"Enforce Minimum Required Balance": "Vynutit minimální požadovaný zůstatek",
|
||||
"Entity": "Entita",
|
||||
"Entity Name": "Název entity",
|
||||
"Entity SubType": "SubType entity",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "Produkt s pevným vkladem",
|
||||
"Fixed Deposit Products": "Produkty s pevným vkladem",
|
||||
"Fixed EMI amount": "Pevná částka EMI",
|
||||
"Fixed Length": "Pevná délka",
|
||||
"Floating Interest Rate": "Pohyblivá úroková sazba",
|
||||
"Floating Interest Rate Calculation Allowed": "Výpočet pohyblivé úrokové sazby povolen",
|
||||
"Floating Interest Rates": "Pohyblivé úrokové sazby",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Minimální záruka z vlastních prostředků (%)",
|
||||
"Minimum Opening Balance": "Minimální počáteční zůstatek",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Minimální přečerpání požadované pro výpočet úroku",
|
||||
"Minimum Required Balance": "Minimální požadovaný zůstatek",
|
||||
"Minimum Value": "Minimální hodnota",
|
||||
"Minimum days between disbursal and first repayment date": "Minimální dny mezi výplatou a datem první splátky",
|
||||
"Mobile": "mobilní, pohybliví",
|
||||
|
||||
@@ -1243,6 +1243,7 @@
|
||||
"End Time": "Endzeit",
|
||||
"End time": "Endzeit",
|
||||
"Enforce Minimum Balance": "Mindestguthaben erzwingen",
|
||||
"Enforce Minimum Required Balance": "Erzwingen Sie die erforderliche Mindestbilanz",
|
||||
"Entity": "Juristische Person",
|
||||
"Entity Name": "Entitätsname",
|
||||
"Entity SubType": "Entitätsuntertyp",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "Festgeldprodukt",
|
||||
"Fixed Deposit Products": "Festgeldprodukte",
|
||||
"Fixed EMI amount": "Fester EMI-Betrag",
|
||||
"Fixed Length": "Feste Länge",
|
||||
"Floating Interest Rate": "Variabler Zinssatz",
|
||||
"Floating Interest Rate Calculation Allowed": "Variable Zinssatzberechnung zulässig",
|
||||
"Floating Interest Rates": "Variable Zinssätze",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Mindestgarantie aus Eigenmitteln (%)",
|
||||
"Minimum Opening Balance": "Mindesteröffnungssaldo",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Für die Zinsberechnung erforderlicher Mindestüberziehungskredit",
|
||||
"Minimum Required Balance": "Mindestbetrag erforderlich",
|
||||
"Minimum Value": "Mindestwert",
|
||||
"Minimum days between disbursal and first repayment date": "Mindesttage zwischen Auszahlung und erstem Rückzahlungsdatum",
|
||||
"Mobile": "Handy, Mobiltelefon",
|
||||
|
||||
@@ -1242,6 +1242,7 @@
|
||||
"End Time": "End Time",
|
||||
"End time": "End time",
|
||||
"Enforce Minimum Balance": "Enforce Minimum Balance",
|
||||
"Enforce Minimum Required Balance": "Enforce Minimum Required Balance",
|
||||
"Entity": "Entity",
|
||||
"Entity Name": "Entity Name",
|
||||
"Entity SubType": "Entity SubType",
|
||||
@@ -1293,6 +1294,7 @@
|
||||
"Fixed Deposit Product": "Fixed Deposit Product",
|
||||
"Fixed Deposit Products": "Fixed Deposit Products",
|
||||
"Fixed EMI amount": "Fixed EMI amount",
|
||||
"Fixed Length": "Fixed Length",
|
||||
"Floating Interest Rate": "Floating Interest Rate",
|
||||
"Floating Interest Rate Calculation Allowed": "Floating Interest Rate Calculation Allowed",
|
||||
"Floating Interest Rates": "Floating Interest Rates",
|
||||
@@ -1561,6 +1563,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Minimum Guarantee from Own Funds(%)",
|
||||
"Minimum Opening Balance": "Minimum Opening Balance",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Minimum Overdraft Required for Interest Calculation",
|
||||
"Minimum Required Balance": "Minimum Required Balance",
|
||||
"Minimum Value": "Minimum Value",
|
||||
"Minimum days between disbursal and first repayment date": "Minimum days between disbursal and first repayment date",
|
||||
"Mobile": "Mobile",
|
||||
|
||||
@@ -1242,7 +1242,8 @@
|
||||
"End Point": "Punto final",
|
||||
"End Time": "Hora de finalización",
|
||||
"End time": "Hora de finalización",
|
||||
"Enforce Minimum Balance": "Hacer cumplir el saldo mínimo",
|
||||
"Enforce Minimum Balance": "Saldo mínimo requerido",
|
||||
"Enforce Minimum Required Balance": "Hacer cumplir el saldo mínimo requerido",
|
||||
"Entity": "Entidad",
|
||||
"Entity Name": "Nombre de la entidad",
|
||||
"Entity SubType": "Subtipo de entidad",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "Producto de Depósito Fijo",
|
||||
"Fixed Deposit Products": "Productos de Depósito Fijo",
|
||||
"Fixed EMI amount": "Monto fijo de Cuota",
|
||||
"Fixed Length": "Longitud fija",
|
||||
"Floating Interest Rate": "Tasa de interés variable",
|
||||
"Floating Interest Rate Calculation Allowed": "Se permite el cálculo de la tasa de interés variable",
|
||||
"Floating Interest Rates": "Tasas de interés variables",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Garantía Mínima de Fondos Propios(%)",
|
||||
"Minimum Opening Balance": "Saldo mínimo de apertura",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Sobregiro mínimo requerido para el cálculo de intereses",
|
||||
"Minimum Required Balance": "Balance mínimo requerido",
|
||||
"Minimum Value": "Valor mínimo",
|
||||
"Minimum days between disbursal and first repayment date": "Días mínimos entre el desembolso y la primera fecha de amortización",
|
||||
"Mobile": "Móvil",
|
||||
|
||||
@@ -1243,6 +1243,7 @@
|
||||
"End Time": "Heure de fin",
|
||||
"End time": "Heure de fin",
|
||||
"Enforce Minimum Balance": "Appliquer le solde minimum",
|
||||
"Enforce Minimum Required Balance": "Appliquer le solde minimum requis",
|
||||
"Entity": "Entité",
|
||||
"Entity Name": "Nom de l'entité",
|
||||
"Entity SubType": "Sous-type d'entité",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "Produit de dépôt fixe",
|
||||
"Fixed Deposit Products": "Produits de dépôt fixe",
|
||||
"Fixed EMI amount": "Montant EMI fixe",
|
||||
"Fixed Length": "Longueur fixe",
|
||||
"Floating Interest Rate": "Taux d'intérêt flottant",
|
||||
"Floating Interest Rate Calculation Allowed": "Calcul du taux d'intérêt flottant autorisé",
|
||||
"Floating Interest Rates": "Taux d'intérêt flottants",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Garantie minimale sur fonds propres (%)",
|
||||
"Minimum Opening Balance": "Solde d'ouverture minimum",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Découvert minimum requis pour le calcul des intérêts",
|
||||
"Minimum Required Balance": "Équilibre minimum requis",
|
||||
"Minimum Value": "Valeur minimum",
|
||||
"Minimum days between disbursal and first repayment date": "Jours minimum entre le décaissement et la première date de remboursement",
|
||||
"Mobile": "Mobile",
|
||||
|
||||
@@ -1243,6 +1243,7 @@
|
||||
"End Time": "Tempo scaduto",
|
||||
"End time": "Tempo scaduto",
|
||||
"Enforce Minimum Balance": "Applicare il saldo minimo",
|
||||
"Enforce Minimum Required Balance": "Imporre il saldo minimo richiesto",
|
||||
"Entity": "Entità",
|
||||
"Entity Name": "Nome dell'entità",
|
||||
"Entity SubType": "Sottotipo entità",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "Prodotto a deposito fisso",
|
||||
"Fixed Deposit Products": "Prodotti a deposito fisso",
|
||||
"Fixed EMI amount": "Importo EMI fisso",
|
||||
"Fixed Length": "Lunghezza fissa",
|
||||
"Floating Interest Rate": "Tasso di interesse variabile",
|
||||
"Floating Interest Rate Calculation Allowed": "Calcolo del tasso di interesse variabile consentito",
|
||||
"Floating Interest Rates": "Tassi di interesse variabili",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Garanzia minima dai fondi propri(%)",
|
||||
"Minimum Opening Balance": "Saldo di apertura minimo",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Scoperto minimo richiesto per il calcolo degli interessi",
|
||||
"Minimum Required Balance": "Saldo minimo richiesto",
|
||||
"Minimum Value": "Valore minimo",
|
||||
"Minimum days between disbursal and first repayment date": "Giorni minimi tra la data di erogazione e la data del primo rimborso",
|
||||
"Mobile": "Mobile",
|
||||
|
||||
@@ -1244,6 +1244,7 @@
|
||||
"End Time": "종료 시간",
|
||||
"End time": "종료 시간",
|
||||
"Enforce Minimum Balance": "최소 잔액 시행",
|
||||
"Enforce Minimum Required Balance": "최소 필수 잔액을 시행하십시오",
|
||||
"Entity": "실재",
|
||||
"Entity Name": "엔터티 이름",
|
||||
"Entity SubType": "엔터티 하위 유형",
|
||||
@@ -1295,6 +1296,7 @@
|
||||
"Fixed Deposit Product": "정기예금상품",
|
||||
"Fixed Deposit Products": "정기예금 상품",
|
||||
"Fixed EMI amount": "고정 EMI 양",
|
||||
"Fixed Length": "고정 길이",
|
||||
"Floating Interest Rate": "변동금리",
|
||||
"Floating Interest Rate Calculation Allowed": "변동금리 계산 허용",
|
||||
"Floating Interest Rates": "변동금리",
|
||||
@@ -1563,6 +1565,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "자기자금의 최소보증(%)",
|
||||
"Minimum Opening Balance": "최소 기초 잔액",
|
||||
"Minimum Overdraft Required for Interest Calculation": "이자 계산에 필요한 최소 초과인월",
|
||||
"Minimum Required Balance": "최소 필요한 잔액",
|
||||
"Minimum Value": "최소값",
|
||||
"Minimum days between disbursal and first repayment date": "지불 날짜와 첫 번째 상환 날짜 사이의 최소 일수",
|
||||
"Mobile": "이동하는",
|
||||
|
||||
@@ -1243,6 +1243,7 @@
|
||||
"End Time": "Pabaigos laikas",
|
||||
"End time": "Pabaigos laikas",
|
||||
"Enforce Minimum Balance": "Įgyvendinti minimalų likutį",
|
||||
"Enforce Minimum Required Balance": "Vykdykite minimalų būtiną balansą",
|
||||
"Entity": "Esybė",
|
||||
"Entity Name": "Subjekto pavadinimas",
|
||||
"Entity SubType": "Objekto potipis",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "Fiksuoto indėlio produktas",
|
||||
"Fixed Deposit Products": "Fiksuoto indėlio produktai",
|
||||
"Fixed EMI amount": "Fiksuota EMI suma",
|
||||
"Fixed Length": "Fiksuotas ilgis",
|
||||
"Floating Interest Rate": "Slankioji palūkanų norma",
|
||||
"Floating Interest Rate Calculation Allowed": "Leidžiamas kintamos palūkanų normos skaičiavimas",
|
||||
"Floating Interest Rates": "Kintamos palūkanų normos",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Minimali garantija iš nuosavų lėšų (%)",
|
||||
"Minimum Opening Balance": "Minimalus pradinis likutis",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Palūkanoms apskaičiuoti reikalingas minimalus overdraftas",
|
||||
"Minimum Required Balance": "Minimalus reikiamas balansas",
|
||||
"Minimum Value": "Minimali vertė",
|
||||
"Minimum days between disbursal and first repayment date": "Minimalios dienos nuo išmokėjimo iki pirmojo grąžinimo datos",
|
||||
"Mobile": "Mobilusis",
|
||||
|
||||
@@ -1243,6 +1243,7 @@
|
||||
"End Time": "Beigu laiks",
|
||||
"End time": "Beigu laiks",
|
||||
"Enforce Minimum Balance": "Ieviest minimālo atlikumu",
|
||||
"Enforce Minimum Required Balance": "Ievietot minimālo nepieciešamo līdzsvaru",
|
||||
"Entity": "Vienība",
|
||||
"Entity Name": "Entītijas nosaukums",
|
||||
"Entity SubType": "Entītijas apakštips",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "Fiksētā depozīta produkts",
|
||||
"Fixed Deposit Products": "Fiksētā depozīta produkti",
|
||||
"Fixed EMI amount": "Fiksēta EMI summa",
|
||||
"Fixed Length": "Fiksēts garums",
|
||||
"Floating Interest Rate": "Peldošā procentu likme",
|
||||
"Floating Interest Rate Calculation Allowed": "Atļauts mainīgās procentu likmes aprēķināšana",
|
||||
"Floating Interest Rates": "Peldošās procentu likmes",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Minimālā garantija no pašu līdzekļiem (%)",
|
||||
"Minimum Opening Balance": "Minimālais sākuma atlikums",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Nepieciešamais minimālais overdrafts procentu aprēķināšanai",
|
||||
"Minimum Required Balance": "Minimālais nepieciešamais līdzsvars",
|
||||
"Minimum Value": "Minimālā vērtība",
|
||||
"Minimum days between disbursal and first repayment date": "Minimālās dienas starp izmaksu un pirmo atmaksas datumu",
|
||||
"Mobile": "Mobilais",
|
||||
|
||||
@@ -1243,6 +1243,7 @@
|
||||
"End Time": "अन्त्य समय",
|
||||
"End time": "अन्त्य समय",
|
||||
"Enforce Minimum Balance": "न्यूनतम ब्यालेन्स लागू गर्नुहोस्",
|
||||
"Enforce Minimum Required Balance": "न्यूनतम आवश्यक ब्यालेन्स लागू गर्नुहोस्",
|
||||
"Entity": "संस्था",
|
||||
"Entity Name": "संस्थाको नाम",
|
||||
"Entity SubType": "इकाई उपप्रकार",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "फिक्स्ड डिपोजिट उत्पादन",
|
||||
"Fixed Deposit Products": "फिक्स्ड डिपोजिट उत्पादनहरू",
|
||||
"Fixed EMI amount": "निश्चित EMI रकम",
|
||||
"Fixed Length": "निश्चित लम्बाई",
|
||||
"Floating Interest Rate": "फ्लोटिंग ब्याज दर",
|
||||
"Floating Interest Rate Calculation Allowed": "फ्लोटिंग ब्याज दर गणना अनुमति छ",
|
||||
"Floating Interest Rates": "फ्लोटिंग ब्याज दर",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "आफ्नै कोषबाट न्यूनतम ग्यारेन्टी (%)",
|
||||
"Minimum Opening Balance": "न्यूनतम ओपनिङ ब्यालेन्स",
|
||||
"Minimum Overdraft Required for Interest Calculation": "ब्याज गणनाको लागि न्यूनतम ओभरड्राफ्ट आवश्यक छ",
|
||||
"Minimum Required Balance": "न्यूनतम आवश्यक ब्यालेन्स",
|
||||
"Minimum Value": "न्यूनतम मान",
|
||||
"Minimum days between disbursal and first repayment date": "भुक्तानी र पहिलो भुक्तानी मिति बीचको न्यूनतम दिन",
|
||||
"Mobile": "मोबाइल",
|
||||
|
||||
@@ -1243,6 +1243,7 @@
|
||||
"End Time": "Fim do tempo",
|
||||
"End time": "Fim do tempo",
|
||||
"Enforce Minimum Balance": "Aplicar saldo mínimo",
|
||||
"Enforce Minimum Required Balance": "Aplicar o saldo mínimo necessário",
|
||||
"Entity": "Entidade",
|
||||
"Entity Name": "Nome da entidade",
|
||||
"Entity SubType": "Subtipo de entidade",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "Produto de Depósito Fixo",
|
||||
"Fixed Deposit Products": "Produtos de Depósito Fixo",
|
||||
"Fixed EMI amount": "Valor fixo de EMI",
|
||||
"Fixed Length": "Comprimento fixo",
|
||||
"Floating Interest Rate": "Taxa de juros flutuante",
|
||||
"Floating Interest Rate Calculation Allowed": "Cálculo de taxa de juros flutuante permitido",
|
||||
"Floating Interest Rates": "Taxas de juros flutuantes",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Garantia Mínima de Fundos Próprios(%)",
|
||||
"Minimum Opening Balance": "Saldo Mínimo de Abertura",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Cheque especial mínimo necessário para cálculo de juros",
|
||||
"Minimum Required Balance": "Equilíbrio mínimo necessário",
|
||||
"Minimum Value": "Valor Mínimo",
|
||||
"Minimum days between disbursal and first repayment date": "Dias mínimos entre o desembolso e a data do primeiro reembolso",
|
||||
"Mobile": "Móvel",
|
||||
|
||||
@@ -1243,6 +1243,7 @@
|
||||
"End Time": "Wakati wa Mwisho",
|
||||
"End time": "Wakati wa mwisho",
|
||||
"Enforce Minimum Balance": "Tekeleza Salio la Chini",
|
||||
"Enforce Minimum Required Balance": "Kutekeleza usawa wa chini unaohitajika",
|
||||
"Entity": "Huluki",
|
||||
"Entity Name": "Jina la Huluki",
|
||||
"Entity SubType": "Aina Ndogo ya Huluki",
|
||||
@@ -1294,6 +1295,7 @@
|
||||
"Fixed Deposit Product": "Bidhaa ya Amana isiyobadilika",
|
||||
"Fixed Deposit Products": "Bidhaa za Amana zisizohamishika",
|
||||
"Fixed EMI amount": "Kiasi cha EMI kisichobadilika",
|
||||
"Fixed Length": "Urefu uliowekwa",
|
||||
"Floating Interest Rate": "Kiwango cha Riba kinachoelea",
|
||||
"Floating Interest Rate Calculation Allowed": "Ukokotoaji wa Kiwango cha Riba Unaoelea Unaruhusiwa",
|
||||
"Floating Interest Rates": "Viwango vya Riba vinavyoelea",
|
||||
@@ -1562,6 +1564,7 @@
|
||||
"Minimum Guarantee from Own Funds(%)": "Kiwango cha Chini cha Dhamana kutoka kwa Fedha Mwenyewe(%)",
|
||||
"Minimum Opening Balance": "Salio la chini la Ufunguzi",
|
||||
"Minimum Overdraft Required for Interest Calculation": "Kiwango cha Chini cha Overdrafti Inahitajika kwa Kukokotoa Riba",
|
||||
"Minimum Required Balance": "Mizani ya chini inayohitajika",
|
||||
"Minimum Value": "Thamani ya chini",
|
||||
"Minimum days between disbursal and first repayment date": "Siku chache kati ya malipo na tarehe ya malipo ya kwanza",
|
||||
"Mobile": "Rununu",
|
||||
|
||||
Reference in New Issue
Block a user