Support for Loan Transaction Processing Strategy Code

This commit is contained in:
Jose Alberto Hernandez
2022-11-01 17:06:26 -06:00
parent 1b9df689d9
commit fc8d2fae8f
2 changed files with 15 additions and 20 deletions
@@ -120,11 +120,6 @@
<ng-container *ngIf="loansAccountTemplate?.isLoanProductLinkedToFloatingRate"> <ng-container *ngIf="loansAccountTemplate?.isLoanProductLinkedToFloatingRate">
<!-- <mat-form-field fxFlex="48%">
<mat-label>Interest Rate Differential</mat-label>
<input matInput formControlName="interestRateDifferential">
</mat-form-field> -->
<div fxFlex="48%" fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column"> <div fxFlex="48%" fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%"> <mat-form-field fxFlex="48%">
@@ -185,13 +180,12 @@
<mat-form-field fxFlex="48%"> <mat-form-field fxFlex="48%">
<mat-label>Repayment strategy</mat-label> <mat-label>Repayment strategy</mat-label>
<mat-select required formControlName="transactionProcessingStrategyId"> <mat-select formControlName="transactionProcessingStrategyCode">
<mat-option *ngFor="let transactionProcessingStrategy of transactionProcessingStrategyData" <mat-option *ngFor="let transactionProcessingStrategy of transactionProcessingStrategyOptions" [value]="transactionProcessingStrategy.code">
[value]="transactionProcessingStrategy.id">
{{ transactionProcessingStrategy.name }} {{ transactionProcessingStrategy.name }}
</mat-option> </mat-option>
</mat-select> </mat-select>
<mat-error *ngIf="loansAccountTermsForm.controls.transactionProcessingStrategyId.hasError('required')"> <mat-error *ngIf="loansAccountTermsForm.controls.transactionProcessingStrategyCode.hasError('required')">
Repayment Strategy is <strong>required</strong> Repayment Strategy is <strong>required</strong>
</mat-error> </mat-error>
</mat-form-field> </mat-form-field>
@@ -10,6 +10,7 @@ import { FormDialogComponent } from 'app/shared/form-dialog/form-dialog.componen
import { DatepickerBase } from 'app/shared/form-dialog/formfield/model/datepicker-base'; import { DatepickerBase } from 'app/shared/form-dialog/formfield/model/datepicker-base';
import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base'; import { FormfieldBase } from 'app/shared/form-dialog/formfield/model/formfield-base';
import { InputBase } from 'app/shared/form-dialog/formfield/model/input-base'; import { InputBase } from 'app/shared/form-dialog/formfield/model/input-base';
import { any } from 'cypress/types/bluebird';
/** /**
* Create Loans Account Terms Step * Create Loans Account Terms Step
@@ -54,13 +55,13 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
amortizationTypeData: any; amortizationTypeData: any;
/** Interest Calculation Period Type Data */ /** Interest Calculation Period Type Data */
interestCalculationPeriodTypeData: any; interestCalculationPeriodTypeData: any;
/** Transaction Processing Strategy Data */
transactionProcessingStrategyData: any;
/** Client Active Loan Data */ /** Client Active Loan Data */
clientActiveLoanData: any; clientActiveLoanData: any;
/** Multi Disbursement Data */ /** Multi Disbursement Data */
disbursementDataSource: {}[] = []; disbursementDataSource: {}[] = [];
currencyDisplaySymbol = '$'; currencyDisplaySymbol = '$';
/** Loan Transaction strategies */
transactionProcessingStrategyOptions: any = [];
/** Check if value of collateral added is more than principal amount */ /** Check if value of collateral added is more than principal amount */
isCollateralSufficient = false; isCollateralSufficient = false;
@@ -122,10 +123,10 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
'graceOnPrincipalPayment': this.loansAccountTermsData.graceOnPrincipalPayment, 'graceOnPrincipalPayment': this.loansAccountTermsData.graceOnPrincipalPayment,
'graceOnInterestPayment': this.loansAccountTermsData.graceOnInterestPayment, 'graceOnInterestPayment': this.loansAccountTermsData.graceOnInterestPayment,
'graceOnArrearsAgeing': this.loansAccountTermsData.graceOnArrearsAgeing, 'graceOnArrearsAgeing': this.loansAccountTermsData.graceOnArrearsAgeing,
'transactionProcessingStrategyId': this.loansAccountTermsData.transactionProcessingStrategyId,
'graceOnInterestCharged': this.loansAccountTermsData.graceOnInterestCharged, 'graceOnInterestCharged': this.loansAccountTermsData.graceOnInterestCharged,
'fixedEmiAmount': this.loansAccountTermsData.fixedEmiAmount, 'fixedEmiAmount': this.loansAccountTermsData.fixedEmiAmount,
'maxOutstandingLoanBalance': this.loansAccountTermsData.maxOutstandingLoanBalance 'maxOutstandingLoanBalance': this.loansAccountTermsData.maxOutstandingLoanBalance,
'transactionProcessingStrategyCode': this.loansAccountTermsData.transactionProcessingStrategyCode
}); });
this.multiDisburseLoan = this.loansAccountTermsData.multiDisburseLoan; this.multiDisburseLoan = this.loansAccountTermsData.multiDisburseLoan;
@@ -157,8 +158,8 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
if (!allowAttributeOverrides.inArrearsTolerance) { if (!allowAttributeOverrides.inArrearsTolerance) {
this.loansAccountTermsForm.controls.inArrearsTolerance.disable(); this.loansAccountTermsForm.controls.inArrearsTolerance.disable();
} }
if (!allowAttributeOverrides.transactionProcessingStrategyId) { if (!allowAttributeOverrides.transactionProcessingStrategyCode) {
this.loansAccountTermsForm.controls.transactionProcessingStrategyId.disable(); this.loansAccountTermsForm.controls.transactionProcessingStrategyCode.disable();
} }
if (!allowAttributeOverrides.graceOnPrincipalAndInterestPayment) { if (!allowAttributeOverrides.graceOnPrincipalAndInterestPayment) {
this.loansAccountTermsForm.controls.graceOnPrincipalPayment.disable(); this.loansAccountTermsForm.controls.graceOnPrincipalPayment.disable();
@@ -204,10 +205,10 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
'graceOnPrincipalPayment': this.loansAccountTermsData.graceOnPrincipalPayment, 'graceOnPrincipalPayment': this.loansAccountTermsData.graceOnPrincipalPayment,
'graceOnInterestPayment': this.loansAccountTermsData.graceOnInterestPayment, 'graceOnInterestPayment': this.loansAccountTermsData.graceOnInterestPayment,
'graceOnArrearsAgeing': this.loansAccountTermsData.graceOnArrearsAgeing, 'graceOnArrearsAgeing': this.loansAccountTermsData.graceOnArrearsAgeing,
'transactionProcessingStrategyId': this.loansAccountTermsData.transactionProcessingStrategyId,
'graceOnInterestCharged': this.loansAccountTermsData.graceOnInterestCharged, 'graceOnInterestCharged': this.loansAccountTermsData.graceOnInterestCharged,
'fixedEmiAmount': this.loansAccountTermsData.fixedEmiAmount, 'fixedEmiAmount': this.loansAccountTermsData.fixedEmiAmount,
'maxOutstandingLoanBalance': this.loansAccountTermsData.maxOutstandingLoanBalance 'maxOutstandingLoanBalance': this.loansAccountTermsData.maxOutstandingLoanBalance,
'transactionProcessingStrategyCode': this.loansAccountTermsData.transactionProcessingStrategyCode
}); });
} }
this.createloansAccountTermsForm(); this.createloansAccountTermsForm();
@@ -261,14 +262,14 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
'allowPartialPeriodInterestCalcualtion': [''], 'allowPartialPeriodInterestCalcualtion': [''],
'inArrearsTolerance': [''], 'inArrearsTolerance': [''],
'graceOnInterestCharged': [''], 'graceOnInterestCharged': [''],
'transactionProcessingStrategyId': ['', Validators.required],
'graceOnPrincipalPayment': [''], 'graceOnPrincipalPayment': [''],
'graceOnInterestPayment': [''], 'graceOnInterestPayment': [''],
'graceOnArrearsAgeing': [''], 'graceOnArrearsAgeing': [''],
'loanIdToClose': [''], 'loanIdToClose': [''],
'fixedEmiAmount': [''], 'fixedEmiAmount': [''],
'isTopup': [''], 'isTopup': [''],
'maxOutstandingLoanBalance': [''] 'maxOutstandingLoanBalance': [''],
'transactionProcessingStrategyCode': ['', Validators.required]
}); });
} }
@@ -404,8 +405,8 @@ export class LoansAccountTermsStepComponent implements OnInit, OnChanges {
this.interestTypeData = this.loansAccountProductTemplate.interestTypeOptions; this.interestTypeData = this.loansAccountProductTemplate.interestTypeOptions;
this.amortizationTypeData = this.loansAccountProductTemplate.amortizationTypeOptions; this.amortizationTypeData = this.loansAccountProductTemplate.amortizationTypeOptions;
this.interestCalculationPeriodTypeData = this.loansAccountProductTemplate.interestCalculationPeriodTypeOptions; this.interestCalculationPeriodTypeData = this.loansAccountProductTemplate.interestCalculationPeriodTypeOptions;
this.transactionProcessingStrategyData = this.loansAccountProductTemplate.transactionProcessingStrategyOptions;
this.clientActiveLoanData = this.loansAccountProductTemplate.clientActiveLoanOptions; this.clientActiveLoanData = this.loansAccountProductTemplate.clientActiveLoanOptions;
this.transactionProcessingStrategyOptions = this.loansAccountProductTemplate.transactionProcessingStrategyOptions;
} }
/** /**