diff --git a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-currency-step/fixed-deposit-product-currency-step.component.scss b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-currency-step/fixed-deposit-product-currency-step.component.scss
index f32a534a6..0c037753d 100644
--- a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-currency-step/fixed-deposit-product-currency-step.component.scss
+++ b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-currency-step/fixed-deposit-product-currency-step.component.scss
@@ -15,7 +15,6 @@ $gray-900: #202124;
.fdpc-section {
border: 1px solid $border;
border-radius: 10px;
- overflow: hidden;
background: #fff;
& + & {
diff --git a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-currency-step/fixed-deposit-product-currency-step.component.ts b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-currency-step/fixed-deposit-product-currency-step.component.ts
index 6e0466dfa..c8ff0a435 100644
--- a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-currency-step/fixed-deposit-product-currency-step.component.ts
+++ b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-currency-step/fixed-deposit-product-currency-step.component.ts
@@ -51,8 +51,10 @@ export class FixedDepositProductCurrencyStepComponent implements OnInit {
this.fixedDepositProductsTemplate.currency?.decimalPlaces ??
2,
dormancyAlert: this.fixedDepositProductsTemplate.dormancyAlert ?? false,
- balanceSwapOption: this.fixedDepositProductsTemplate.balanceSwapOption ?? false,
- msme: this.fixedDepositProductsTemplate.msme ?? false,
+ isDormancyTrackingActive: this.fixedDepositProductsTemplate.isDormancyTrackingActive ?? false,
+ daysToInactive: this.fixedDepositProductsTemplate.daysToInactive ?? 30,
+ daysToDormancy: this.fixedDepositProductsTemplate.daysToDormancy ?? 60,
+ daysToEscheat: this.fixedDepositProductsTemplate.daysToEscheat ?? 90,
nominationFacility: this.fixedDepositProductsTemplate.nominationFacility ?? false,
autoDebitFacility: this.fixedDepositProductsTemplate.autoDebitFacility ?? false
});
@@ -72,8 +74,10 @@ export class FixedDepositProductCurrencyStepComponent implements OnInit {
]
],
dormancyAlert: [false],
- balanceSwapOption: [false],
- msme: [false],
+ isDormancyTrackingActive: [false],
+ daysToInactive: [30],
+ daysToDormancy: [60],
+ daysToEscheat: [90],
nominationFacility: [false],
autoDebitFacility: [false]
});
@@ -81,14 +85,21 @@ export class FixedDepositProductCurrencyStepComponent implements OnInit {
get fixedDepositProductCurrency() {
const formValue = this.fixedDepositProductCurrencyForm.value;
- return {
+ const result: any = {
currencyCode: formValue.currencyCode,
digitsAfterDecimal: formValue.digitsAfterDecimal,
dormancyAlert: formValue.dormancyAlert,
- balanceSwapOption: formValue.balanceSwapOption,
- msme: formValue.msme,
nominationFacility: formValue.nominationFacility,
autoDebitFacility: formValue.autoDebitFacility
};
+ if (formValue.dormancyAlert) {
+ result.isDormancyTrackingActive = true;
+ result.daysToInactive = formValue.daysToInactive;
+ result.daysToDormancy = formValue.daysToDormancy;
+ result.daysToEscheat = formValue.daysToEscheat;
+ } else {
+ result.isDormancyTrackingActive = false;
+ }
+ return result;
}
}
diff --git a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.html b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.html
index 98add2dc8..a00fbdef9 100644
--- a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.html
+++ b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.html
@@ -79,12 +79,13 @@
- Customer Segment
-
- @for (customerSegment of customerSegmentData; track customerSegment) {
- {{ customerSegment }}
- }
+ FD Type
+
+ FD Single (Days < 1 Year)
+ FD Double (≥ 1 Year)
+ FD Special (Monthly Interest Payout)
+ FD Type is required
@@ -110,15 +111,6 @@
-
- Introducer Required
-
- @for (option of yesNoOptions; track option.value) {
- {{ option.label }}
- }
-
-
-
Deposit Account Link
diff --git a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.scss b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.scss
index 59c20ba02..2e487792e 100644
--- a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.scss
+++ b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.scss
@@ -15,7 +15,6 @@ $gray-900: #202124;
.fdpd-section {
border: 1px solid $border;
border-radius: 10px;
- overflow: hidden;
background: #fff;
& + & {
diff --git a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.ts b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.ts
index 30b91dffb..76efeae01 100644
--- a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.ts
+++ b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-details-step/fixed-deposit-product-details-step.component.ts
@@ -34,12 +34,12 @@ export class FixedDepositProductDetailsStepComponent implements OnInit, OnChange
fixedDepositProductDetailsForm: UntypedFormGroup;
accountTypeData: string[] = [];
- customerSegmentData: string[] = [];
- liabilityAccountOptions: any[] = [];
- yesNoOptions: Array<{ value: boolean; label: string }> = [
- { value: true, label: 'Yes' },
- { value: false, label: 'No' }
+ fdTypeOptions: string[] = [
+ 'SINGLE',
+ 'DOUBLE',
+ 'SPECIAL'
];
+ liabilityAccountOptions: any[] = [];
constructor() {
this.createFixedDepositProductDetailsForm();
@@ -72,11 +72,13 @@ export class FixedDepositProductDetailsStepComponent implements OnInit, OnChange
null,
Validators.required
],
- customerSegment: [null],
+ fdType: [
+ null,
+ Validators.required
+ ],
glAccountId: [null],
effectiveTo: [''],
endDate: [''],
- introducerRequired: [false],
shareLinkingEnabled: [false]
});
}
@@ -99,7 +101,6 @@ export class FixedDepositProductDetailsStepComponent implements OnInit, OnChange
private applyTemplate(template: any) {
this.accountTypeData = this.getOptionNames(template.accountTypeOptions);
- this.customerSegmentData = this.getOptionNames(template.customerSegmentOptions);
this.liabilityAccountOptions = template.accountingMappingOptions?.liabilityAccountOptions ?? [];
this.cdr.detectChanges();
@@ -109,11 +110,10 @@ export class FixedDepositProductDetailsStepComponent implements OnInit, OnChange
shortName: isEditing ? template.shortName : template.shortName || '',
description: template.description || '',
accountType: template.accountType ?? this.accountTypeData[0] ?? null,
- customerSegment: template.customerSegment ?? this.customerSegmentData[0] ?? null,
+ fdType: template.fdType ?? null,
glAccountId: template.glAccountId ?? null,
effectiveTo: this.parseDate(template.effectiveTo),
endDate: this.parseDate(template.endDate),
- introducerRequired: template.introducerRequired === true || template.introducerRequired === 'Yes',
shareLinkingEnabled: !!template.shareLinkingEnabled
});
}
diff --git a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-preview-step/fixed-deposit-product-preview-step.component.html b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-preview-step/fixed-deposit-product-preview-step.component.html
index 716482fcf..e92b052fd 100644
--- a/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-preview-step/fixed-deposit-product-preview-step.component.html
+++ b/src/app/products/fixed-deposit-products/fixed-deposit-product-stepper/fixed-deposit-product-preview-step/fixed-deposit-product-preview-step.component.html
@@ -6,589 +6,665 @@
file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
-
-
-
{{ fixedDepositProduct.name }}
+
+
{{ fixedDepositProduct.name }}
-
-
-
-
-
- {{ 'labels.inputs.Short Name' | translate }}:
- {{ fixedDepositProduct.shortName }}
-
- @if (fixedDepositProduct.description) {
-
- {{ 'labels.inputs.Description' | translate }}:
- {{ fixedDepositProduct.description }}
-
- }
-
+
+
{{ 'labels.inputs.Details' | translate }}
+
+
+
+ {{ 'labels.inputs.Short Name' | translate }}:
+ {{ fixedDepositProduct.shortName }}
-
-
-
-
-
- {{ 'labels.inputs.Currency' | translate }}:
- {{
- fixedDepositProduct.currencyCode | find: fixedDepositProductsTemplate.currencyOptions : 'code' : 'name'
- }}
-
-
- {{ 'labels.inputs.Decimal Places' | translate }}:
- {{
- fixedDepositProduct.digitsAfterDecimal ?? fixedDepositProduct.currency?.decimalPlaces
- }}
-
- @if (fixedDepositProduct.inMultiplesOf) {
-
- {{ 'labels.inputs.Currency in multiples of' | translate }}:
- {{ fixedDepositProduct.inMultiplesOf }}
-
- }
-
-
-
-
-
-
-
-
- {{ 'labels.inputs.Deposit Amount' | translate }}:
- {{
- fixedDepositProduct.depositAmount +
- ' (Min: ' +
- (fixedDepositProduct.minDepositAmount
- ? fixedDepositProduct.minDepositAmount
- : fixedDepositProduct.depositAmount) +
- ', Max: ' +
- (fixedDepositProduct.maxDepositAmount
- ? fixedDepositProduct.maxDepositAmount
- : fixedDepositProduct.depositAmount) +
- ')'
- }}
-
-
- {{ 'labels.inputs.Interest Compounding Period' | translate }}:
- {{
- fixedDepositProduct.interestCompoundingPeriodType
- | find: fixedDepositProductsTemplate.interestCompoundingPeriodTypeOptions : 'id' : 'value'
- }}
-
-
- {{ 'labels.inputs.Interest Posting Period' | translate }}:
- {{
- fixedDepositProduct.interestPostingPeriodType
- | find: fixedDepositProductsTemplate.interestPostingPeriodTypeOptions : 'id' : 'value'
- }}
-
-
- {{ 'labels.inputs.Interest Calculated using' | translate }}:
- {{
- fixedDepositProduct.interestCalculationType
- | find: fixedDepositProductsTemplate.interestCalculationTypeOptions : 'id' : 'value'
- }}
-
-
- {{ 'labels.inputs.Days in Year' | translate }}:
- {{
- fixedDepositProduct.interestCalculationDaysInYearType
- | find: fixedDepositProductsTemplate.interestCalculationDaysInYearTypeOptions : 'id' : 'value'
- }}
-
-
-
-
-
-
-
-
- @if (fixedDepositProduct.lockinPeriodFrequency) {
-
- {{ 'labels.inputs.Lock-in Period' | translate }}:
- {{
- fixedDepositProduct.lockinPeriodFrequency +
- ' ' +
- (fixedDepositProduct.lockinPeriodFrequencyType
- | find: fixedDepositProductsTemplate.lockinPeriodFrequencyTypeOptions : 'id' : 'value')
- }}
-
- }
-
- {{ 'labels.inputs.Minimum Deposit Term' | translate }}:
- {{
- fixedDepositProduct.minDepositTerm +
- ' ' +
- (fixedDepositProduct.minDepositTermTypeId
- | find: fixedDepositProductsTemplate.periodFrequencyTypeOptions : 'id' : 'value')
- }}
-
- @if (fixedDepositProduct.inMultiplesOfDepositTerm) {
-
- {{ 'labels.inputs.And thereafter, in Multiples of' | translate }}:
- {{
- fixedDepositProduct.inMultiplesOfDepositTerm +
- ' ' +
- (fixedDepositProduct.inMultiplesOfDepositTermTypeId
- | find: fixedDepositProductsTemplate.periodFrequencyTypeOptions : 'id' : 'value')
- }}
-
- }
- @if (fixedDepositProduct.maxDepositTerm) {
-
- {{ 'labels.inputs.Maximum Deposit Term' | translate }}:
- {{
- fixedDepositProduct.maxDepositTerm +
- ' ' +
- (fixedDepositProduct.maxDepositTermTypeId
- | find: fixedDepositProductsTemplate.periodFrequencyTypeOptions : 'id' : 'value')
- }}
-
- }
-
- {{ 'labels.inputs.Apply Penal Interest (less)' | translate }}:
- {{ fixedDepositProduct.preClosurePenalApplicable | yesNo }}
-
- @if (fixedDepositProduct.preClosurePenalApplicable) {
-
- {{ 'labels.inputs.Penal Interest' | translate }} (%):
- {{
- fixedDepositProduct.preClosurePenalInterest +
- '% (' +
- (fixedDepositProduct.preClosurePenalInterestOnTypeId
- | find: fixedDepositProductsTemplate.preClosurePenalInterestOnTypeOptions : 'id' : 'value') +
- ')'
- }}
-
- }
-
- {{ 'labels.inputs.Withhold Tax is Applicable' | translate }}:
- {{ fixedDepositProduct.withHoldTax | yesNo }}
-
- @if (fixedDepositProduct.withHoldTax) {
-
- {{ 'labels.inputs.Tax Group' | translate }}:
- {{
- fixedDepositProduct.taxGroupId | find: fixedDepositProductsTemplate.taxGroupOptions : 'id' : 'name'
- }}
-
- }
-
-
-
-
- @if (fixedDepositProduct.charts.length !== 0) {
-
-
-
- @for (chart of fixedDepositProduct.charts; track chart; let chartIndex = $index) {
-
-
- @if (chart.name) {
-
- {{ 'labels.inputs.Name' | translate }}:
- {{ chart.name }}
-
- }
- @if (chart.description) {
-
- {{ 'labels.inputs.Description' | translate }}:
- {{ chart.description }}
-
- }
-
- {{ 'labels.inputs.From Date' | translate }}:
- {{ chart.fromDate | dateFormat }}
-
- @if (chart.endDate) {
-
- {{ 'labels.inputs.End Date' | translate }}:
- {{ chart.endDate | dateFormat }}
-
- }
-
- {{ 'labels.inputs.Primary Grouping by Amount' | translate }}:
- {{ fixedDepositProduct.isPrimaryGroupingByAmount | yesNo }}
-
-
-
- @if (chart.chartSlabs.length !== 0) {
-
-
-
- | {{ 'labels.inputs.Period' | translate }} |
-
- {{
- chartSlab.fromPeriod +
- ' - ' +
- chartSlab.toPeriod +
- ' ' +
- (chartSlab.periodType
- | find: fixedDepositProductsTemplate.chartTemplate.periodTypes : 'id' : 'value')
- }}
- |
-
-
- {{ 'labels.inputs.Amount Range' | translate }} |
-
- {{ chartSlab.amountRangeFrom + ' - ' + chartSlab.amountRangeTo }}
- |
-
-
- {{ 'labels.inputs.Interest' | translate }} |
-
- {{ chartSlab.annualInterestRate }}
- |
-
-
- {{ 'labels.inputs.Description' | translate }} |
-
- {{ chartSlab.description }}
- |
-
-
- {{ 'labels.inputs.Actions' | translate }} |
-
-
- |
-
-
-
-
-
- {{ 'labels.heading.Incentives' | translate }}
-
-
-
- | {{ 'labels.inputs.Entity Type' | translate }} |
-
- {{
- incentive.entityType
- | find
- : fixedDepositProductsTemplate.chartTemplate.entityTypeOptions
- : 'id'
- : 'value'
- }}
- |
-
-
-
- {{ 'labels.inputs.Attribute Name' | translate }}
- |
-
- {{
- incentive.attributeName
- | find
- : fixedDepositProductsTemplate.chartTemplate.attributeNameOptions
- : 'id'
- : 'value'
- }}
- |
-
-
-
- {{ 'labels.inputs.Condition Type' | translate }}
- |
-
- {{
- incentive.conditionType
- | find
- : fixedDepositProductsTemplate.chartTemplate.conditionTypeOptions
- : 'id'
- : 'value'
- }}
- |
-
-
-
- {{ 'labels.inputs.Attribute Value' | translate }}
- |
-
- @switch (incentive.attributeName) {
- @case (2) {
- {{
- incentive.attributeValue
- | find
- : fixedDepositProductsTemplate.chartTemplate.genderOptions
- : 'id'
- : 'name'
- }}
- }
- @case (3) {
- {{ incentive.attributeValue }}
- }
- @case (4) {
- {{
- incentive.attributeValue
- | find
- : fixedDepositProductsTemplate.chartTemplate.clientTypeOptions
- : 'id'
- : 'name'
- }}
- }
- @case (5) {
- {{
- incentive.attributeValue
- | find
- : fixedDepositProductsTemplate.chartTemplate.clientClassificationOptions
- : 'id'
- : 'name'
- }}
- }
- }
- |
-
-
-
- {{ 'labels.inputs.Incentive Type' | translate }}
- |
-
- {{
- incentive.incentiveType
- | find
- : fixedDepositProductsTemplate.chartTemplate.incentiveTypeOptions
- : 'id'
- : 'value'
- }}
- |
-
-
- {{ 'labels.inputs.Amount' | translate }} |
-
- {{ incentive.amount | formatNumber }}
- |
-
-
-
-
-
-
-
- |
-
-
-
-
-
-
- }
-
- }
-
+ @if (fixedDepositProduct.description) {
+
+ {{ 'labels.inputs.Description' | translate }}:
+ {{ fixedDepositProduct.description }}
}
-
- @if (fixedDepositProduct.charges.length) {
-
-