saving , current and RD account code update
This commit is contained in:
+34
@@ -450,6 +450,40 @@ public final class DepositsApiConstants {
|
||||
recurringDepositResponseData.addAll(PRECLOSURE_RESPONSE_DATA_PARAMETERS);
|
||||
recurringDepositResponseData.addAll(DEPOSIT_TERM_RESPONSE_DATA_PARAMETERS);
|
||||
recurringDepositResponseData.addAll(RECURRING_DETAILS_RESPONSE_DATA_PARAMETERS);
|
||||
// CBS product fields — included in template response when productId is provided
|
||||
recurringDepositResponseData.add("accountType");
|
||||
recurringDepositResponseData.add("customerSegment");
|
||||
recurringDepositResponseData.add("productCode");
|
||||
recurringDepositResponseData.add("effectiveDate");
|
||||
recurringDepositResponseData.add("effectiveTo");
|
||||
recurringDepositResponseData.add("endDate");
|
||||
recurringDepositResponseData.add("introducerRequired");
|
||||
recurringDepositResponseData.add("shareLinkingEnabled");
|
||||
recurringDepositResponseData.add("nominationFacility");
|
||||
recurringDepositResponseData.add("dormancyAlert");
|
||||
recurringDepositResponseData.add("interestCalculateSelector");
|
||||
recurringDepositResponseData.add("interestCalculationTypeName");
|
||||
recurringDepositResponseData.add("averagePeriod");
|
||||
recurringDepositResponseData.add("autoPost");
|
||||
recurringDepositResponseData.add("frequencyFixDay");
|
||||
recurringDepositResponseData.add("lastInterestDate");
|
||||
recurringDepositResponseData.add("enableLockinPeriod");
|
||||
recurringDepositResponseData.add("balanceFrequency");
|
||||
recurringDepositResponseData.add("accountClosedZeroBalanceInDayClosing");
|
||||
recurringDepositResponseData.add("balanceSwapOption");
|
||||
recurringDepositResponseData.add("msme");
|
||||
recurringDepositResponseData.add("autoDebitFacility");
|
||||
recurringDepositResponseData.add("loanFacility");
|
||||
recurringDepositResponseData.add("prematureWithdrawalOption");
|
||||
recurringDepositResponseData.add("tenureFlexibility");
|
||||
recurringDepositResponseData.add("lienMarked");
|
||||
recurringDepositResponseData.add("maturityInstructions");
|
||||
recurringDepositResponseData.add("creditMaturityProceeds");
|
||||
recurringDepositResponseData.add("penaltyGracePeriodMissedInstallments");
|
||||
recurringDepositResponseData.add("panelRequestApplicable");
|
||||
recurringDepositResponseData.add("noPenaltyNomineeHeirClosure");
|
||||
recurringDepositResponseData.add("deceasedSettlement");
|
||||
recurringDepositResponseData.add("allowDebitTxnAfterDueDate");
|
||||
return recurringDepositResponseData;
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+8924
-12174
File diff suppressed because it is too large
Load Diff
+85
-7
@@ -140,7 +140,7 @@ public class CurrentAccountTemplateReadPlatformServiceImpl implements CurrentAcc
|
||||
final Collection<EnumOptionData> withdrawalFeeTypeOptions = this.dropdownReadPlatformService.retrievewithdrawalFeeTypeOptions();
|
||||
|
||||
final Collection<SavingsAccountTransactionData> transactions = null;
|
||||
final Collection<ChargeData> productCharges = this.chargeReadPlatformService.retrieveSavingsProductCharges(productId);
|
||||
final Collection<ChargeData> productCharges = this.chargeReadPlatformService.retrieveCurrentProductCharges(productId);
|
||||
final Collection<SavingsAccountChargeData> charges = fromChargesToSavingsCharges(productCharges);
|
||||
|
||||
final boolean feeChargesOnly = false;
|
||||
@@ -170,6 +170,44 @@ public class CurrentAccountTemplateReadPlatformServiceImpl implements CurrentAcc
|
||||
interestCompoundingPeriodTypeOptions, interestPostingPeriodTypeOptions, interestCalculationTypeOptions,
|
||||
interestCalculationDaysInYearTypeOptions, lockinPeriodFrequencyTypeOptions, withdrawalFeeTypeOptions, transactions,
|
||||
charges, chargeOptions);
|
||||
|
||||
// Re-apply CBS fields from full product data (withTemplateOptions creates a new object and loses setter fields)
|
||||
final SavingsProductData productData = this.currentProductReadPlatformService.retrieveOne(productId);
|
||||
if (productData != null) {
|
||||
// Feature flags
|
||||
template.setDormancyAlert(productData.getDormancyAlert() != null && productData.getDormancyAlert());
|
||||
template.setBalanceSwapOption(productData.getBalanceSwapOption() != null && productData.getBalanceSwapOption());
|
||||
template.setMsme(productData.getMsme() != null && productData.getMsme());
|
||||
template.setNominationFacility(productData.getNominationFacility() != null && productData.getNominationFacility());
|
||||
template.setAutoDebitFacility(productData.getAutoDebitFacility() != null && productData.getAutoDebitFacility());
|
||||
template.setAutoPost(productData.getAutoPost() != null && productData.getAutoPost());
|
||||
template.setFrequencyFixDay(productData.getFrequencyFixDay());
|
||||
template.setLastInterestDate(productData.getLastInterestDate());
|
||||
template.setInterestCalculateSelector(productData.getInterestCalculateSelector());
|
||||
template.setAveragePeriod(productData.getAveragePeriod());
|
||||
template.setAccountClosedZeroBalanceInDayClosing(
|
||||
productData.getAccountClosedZeroBalanceInDayClosing() != null && productData.getAccountClosedZeroBalanceInDayClosing());
|
||||
// Facility data
|
||||
template.setAccountFacilityConfig(productData.getAccountFacilityConfig());
|
||||
template.setAccountFacilityLimits(productData.getAccountFacilityLimits());
|
||||
template.setDepositLimitKyc(productData.getDepositLimitKyc());
|
||||
// Classification fields
|
||||
template.setAccountType(productData.getAccountType());
|
||||
template.setCustomerSegment(productData.getCustomerSegment());
|
||||
template.setProductCode(productData.getProductCode());
|
||||
template.setEffectiveDate(productData.getEffectiveDate());
|
||||
template.setEffectiveTo(productData.getEffectiveTo());
|
||||
template.setEndDate(productData.getEndDate());
|
||||
template.setIntroducerRequired(productData.getIntroducerRequired());
|
||||
template.setShareLinkingEnabled(productData.getShareLinkingEnabled());
|
||||
// Settings fields
|
||||
template.setEnableLockinPeriod(productData.getEnableLockinPeriod());
|
||||
template.setBalanceFrequency(productData.getBalanceFrequency());
|
||||
template.setAvgBalanceCalcPeriod(productData.getAvgBalanceCalcPeriod());
|
||||
template.setValidForPeriod(productData.getValidForPeriod());
|
||||
template.setOdAccountClosedZeroBalanceInDayClosing(
|
||||
productData.getOdAccountClosedZeroBalanceInDayClosing() != null && productData.getOdAccountClosedZeroBalanceInDayClosing());
|
||||
}
|
||||
} else {
|
||||
|
||||
String clientName = null;
|
||||
@@ -247,7 +285,22 @@ public class CurrentAccountTemplateReadPlatformServiceImpl implements CurrentAcc
|
||||
sqlBuilder.append("cp.min_required_balance as minRequiredBalance, ");
|
||||
sqlBuilder.append("cp.enforce_min_required_balance as enforceMinRequiredBalance, ");
|
||||
sqlBuilder.append("0 as maxAllowedLienLimit, ");
|
||||
sqlBuilder.append("0 as lienAllowed ");
|
||||
sqlBuilder.append("0 as lienAllowed, ");
|
||||
sqlBuilder.append("cp.dormancy_alert as dormancyAlert, ");
|
||||
sqlBuilder.append("cp.balance_swap_option as balanceSwapOption, ");
|
||||
sqlBuilder.append("cp.msme as msme, ");
|
||||
sqlBuilder.append("cp.nomination_facility as nominationFacility, ");
|
||||
sqlBuilder.append("cp.auto_debit_facility as autoDebitFacility, ");
|
||||
sqlBuilder.append("cp.auto_post as autoPost, ");
|
||||
sqlBuilder.append("cp.frequency_fix_day as frequencyFixDay, ");
|
||||
sqlBuilder.append("cp.last_interest_date as lastInterestDate, ");
|
||||
sqlBuilder.append("cp.interest_calculate_selector as interestCalculateSelector, ");
|
||||
sqlBuilder.append("cp.average_period as averagePeriod, ");
|
||||
sqlBuilder.append("cp.account_closed_zero_balance_in_day_closing as accountClosedZeroBalanceInDayClosing, ");
|
||||
sqlBuilder.append("cp.is_dormancy_tracking_active as isDormancyTrackingActive, ");
|
||||
sqlBuilder.append("cp.days_to_inactive as daysToInactive, ");
|
||||
sqlBuilder.append("cp.days_to_dormancy as daysToDormancy, ");
|
||||
sqlBuilder.append("cp.days_to_escheat as daysToEscheat ");
|
||||
sqlBuilder.append("from m_current_product cp ");
|
||||
sqlBuilder.append("join m_currency curr on curr.code = cp.currency_code ");
|
||||
sqlBuilder.append("left join m_tax_group tg on tg.id = cp.tax_group_id ");
|
||||
@@ -346,14 +399,26 @@ public class CurrentAccountTemplateReadPlatformServiceImpl implements CurrentAcc
|
||||
final SavingsAccountSubStatusEnumData subStatus = null;
|
||||
final String reasonForBlock = null;
|
||||
final LocalDate lastActiveTransactionDate = null;
|
||||
final boolean isDormancyTrackingActive = false;
|
||||
final Integer daysToInactive = null;
|
||||
final Integer daysToDormancy = null;
|
||||
final Integer daysToEscheat = null;
|
||||
final boolean isDormancyTrackingActive = rs.getBoolean("isDormancyTrackingActive");
|
||||
final Integer daysToInactive = JdbcSupport.getInteger(rs, "daysToInactive");
|
||||
final Integer daysToDormancy = JdbcSupport.getInteger(rs, "daysToDormancy");
|
||||
final Integer daysToEscheat = JdbcSupport.getInteger(rs, "daysToEscheat");
|
||||
|
||||
final boolean dormancyAlert = rs.getBoolean("dormancyAlert");
|
||||
final boolean balanceSwapOption = rs.getBoolean("balanceSwapOption");
|
||||
final boolean msme = rs.getBoolean("msme");
|
||||
final boolean nominationFacility = rs.getBoolean("nominationFacility");
|
||||
final boolean autoDebitFacility = rs.getBoolean("autoDebitFacility");
|
||||
final boolean autoPost = rs.getBoolean("autoPost");
|
||||
final Integer frequencyFixDay = JdbcSupport.getInteger(rs, "frequencyFixDay");
|
||||
final LocalDate lastInterestDate = JdbcSupport.getLocalDate(rs, "lastInterestDate");
|
||||
final Integer interestCalculateSelector = JdbcSupport.getInteger(rs, "interestCalculateSelector");
|
||||
final String averagePeriod = rs.getString("averagePeriod");
|
||||
final boolean accountClosedZeroBalanceInDayClosing = rs.getBoolean("accountClosedZeroBalanceInDayClosing");
|
||||
|
||||
final SavingsAccountApplicationTimelineData timeline = SavingsAccountApplicationTimelineData.templateDefault();
|
||||
final EnumOptionData depositType = null;
|
||||
return SavingsAccountData.instance(null, null, depositType, null, groupId, groupName, clientId, clientName, productId,
|
||||
final SavingsAccountData accountData = SavingsAccountData.instance(null, null, depositType, null, groupId, groupName, clientId, clientName, productId,
|
||||
productName, fieldOfficerId, fieldOfficerName, status, subStatus, reasonForBlock, timeline, currency,
|
||||
nominalAnnualIterestRate, interestCompoundingPeriodType, interestPostingPeriodType, interestCalculationType,
|
||||
interestCalculationDaysInYearType, minRequiredOpeningBalance, lockinPeriodFrequency, lockinPeriodFrequencyType,
|
||||
@@ -361,6 +426,19 @@ public class CurrentAccountTemplateReadPlatformServiceImpl implements CurrentAcc
|
||||
maxAllowedLienLimit, lienAllowed, minBalanceForInterestCalculation, onHoldFunds, nominalAnnualInterestRateOverdraft,
|
||||
minOverdraftForInterestCalculation, withHoldTax, taxGroupData, lastActiveTransactionDate, isDormancyTrackingActive,
|
||||
daysToInactive, daysToDormancy, daysToEscheat, savingsAmountOnHold);
|
||||
|
||||
accountData.setDormancyAlert(dormancyAlert);
|
||||
accountData.setBalanceSwapOption(balanceSwapOption);
|
||||
accountData.setMsme(msme);
|
||||
accountData.setNominationFacility(nominationFacility);
|
||||
accountData.setAutoDebitFacility(autoDebitFacility);
|
||||
accountData.setAutoPost(autoPost);
|
||||
accountData.setFrequencyFixDay(frequencyFixDay);
|
||||
accountData.setLastInterestDate(lastInterestDate);
|
||||
accountData.setInterestCalculateSelector(interestCalculateSelector);
|
||||
accountData.setAveragePeriod(averagePeriod);
|
||||
accountData.setAccountClosedZeroBalanceInDayClosing(accountClosedZeroBalanceInDayClosing);
|
||||
return accountData;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+70
-3
@@ -396,13 +396,17 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
|
||||
|
||||
template = FixedDepositAccountData.withInterestChart((FixedDepositAccountData) template, accountChart);
|
||||
} else if (depositAccountType.isRecurringDeposit()) {
|
||||
template = RecurringDepositAccountData.withTemplateOptions((RecurringDepositAccountData) template, productOptions,
|
||||
// Save CBS fields from mapper result before factory methods create new objects
|
||||
final RecurringDepositAccountData rdTemplateWithCbs = (RecurringDepositAccountData) template;
|
||||
template = RecurringDepositAccountData.withTemplateOptions(rdTemplateWithCbs, productOptions,
|
||||
fieldOfficerOptions, interestCompoundingPeriodTypeOptions, interestPostingPeriodTypeOptions,
|
||||
interestCalculationTypeOptions, interestCalculationDaysInYearTypeOptions, lockinPeriodFrequencyTypeOptions,
|
||||
withdrawalFeeTypeOptions, transactions, charges, chargeOptions, preClosurePenalInterestOnTypeOptions,
|
||||
periodFrequencyTypeOptions);
|
||||
template = RecurringDepositAccountData.withInterestChartAndRecurringDetails((RecurringDepositAccountData) template,
|
||||
accountChart, null, null);
|
||||
// Re-apply CBS product fields lost during factory method object creation
|
||||
((RecurringDepositAccountData) template).copyCbsFieldsFrom(rdTemplateWithCbs);
|
||||
|
||||
}
|
||||
|
||||
@@ -1475,10 +1479,33 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
|
||||
sqlBuilder.append("dptp.min_deposit_term_type_enum as minDepositTermTypeId, ");
|
||||
sqlBuilder.append("dptp.max_deposit_term_type_enum as maxDepositTermTypeId, ");
|
||||
sqlBuilder.append("dptp.in_multiples_of_deposit_term as inMultiplesOfDepositTerm, ");
|
||||
sqlBuilder.append("dptp.in_multiples_of_deposit_term_type_enum as inMultiplesOfDepositTermTypeId ");
|
||||
sqlBuilder.append("dptp.in_multiples_of_deposit_term_type_enum as inMultiplesOfDepositTermTypeId, ");
|
||||
sqlBuilder.append("sa.account_type as accountType, sa.customer_segment as customerSegment, ");
|
||||
sqlBuilder.append("sa.product_code as productCode, ");
|
||||
sqlBuilder.append("sa.effective_date as effectiveDate, sa.effective_to as effectiveTo, sa.end_date as endDate, ");
|
||||
sqlBuilder.append("sa.introducer_required as introducerRequired, sa.share_linking_enabled as shareLinkingEnabled, ");
|
||||
sqlBuilder.append("sa.nomination_facility as nominationFacility, sa.dormancy_alert as dormancyAlert, ");
|
||||
sqlBuilder.append("sa.interest_calculate_selector as interestCalculateSelector, ");
|
||||
sqlBuilder.append("icv.code_value as interestCalculationTypeName, ");
|
||||
sqlBuilder.append("sa.average_period as averagePeriod, ");
|
||||
sqlBuilder.append("sa.auto_post as autoPost, sa.frequency_fix_day as frequencyFixDay, ");
|
||||
sqlBuilder.append("sa.last_interest_date as lastInterestDate, sa.enable_lockin_period as enableLockinPeriod, ");
|
||||
sqlBuilder.append("sa.balance_frequency as balanceFrequency, ");
|
||||
sqlBuilder.append("sa.account_closed_zero_balance_in_day_closing as accountClosedZeroBalanceInDayClosing, ");
|
||||
sqlBuilder.append("sa.balance_swap_option as balanceSwapOption, sa.msme as msme, ");
|
||||
sqlBuilder.append("sa.auto_debit_facility as autoDebitFacility, sa.loan_facility as loanFacility, ");
|
||||
sqlBuilder.append("sa.premature_withdrawal_option as prematureWithdrawalOption, sa.tenure_flexibility as tenureFlexibility, ");
|
||||
sqlBuilder.append("sa.lien_marked as lienMarked, sa.maturity_instructions as maturityInstructions, ");
|
||||
sqlBuilder.append("sa.credit_maturity_proceeds as creditMaturityProceeds, ");
|
||||
sqlBuilder.append("sa.penalty_grace_period_missed_installments as penaltyGracePeriodMissedInstallments, ");
|
||||
sqlBuilder.append("sa.panel_request_applicable as panelRequestApplicable, ");
|
||||
sqlBuilder.append("sa.no_penalty_nominee_heir_closure as noPenaltyNomineeHeirClosure, ");
|
||||
sqlBuilder.append("sa.deceased_settlement as deceasedSettlement, ");
|
||||
sqlBuilder.append("sa.allow_debit_txn_after_due_date as allowDebitTxnAfterDueDate ");
|
||||
|
||||
sqlBuilder.append(this.selectTablesSql());
|
||||
sqlBuilder.append("left join m_deposit_product_recurring_detail dprd on sa.id = dprd.savings_product_id ");
|
||||
sqlBuilder.append("left join m_code_value icv on icv.id = sa.interest_calculate_selector ");
|
||||
|
||||
this.schemaSql = sqlBuilder.toString();
|
||||
}
|
||||
@@ -1527,12 +1554,52 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
|
||||
final BigDecimal totalOverdueAmount = null;
|
||||
final Integer noOfOverdueInstallments = null;
|
||||
|
||||
return RecurringDepositAccountData.instance(depositAccountData, preClosurePenalApplicable, preClosurePenalInterest,
|
||||
final RecurringDepositAccountData result = RecurringDepositAccountData.instance(depositAccountData,
|
||||
preClosurePenalApplicable, preClosurePenalInterest,
|
||||
preClosurePenalInterestOnType, minDepositTerm, maxDepositTerm, minDepositTermType, maxDepositTermType,
|
||||
inMultiplesOfDepositTerm, inMultiplesOfDepositTermType, depositAmount, maturityAmount, maturityDate, depositPeriod,
|
||||
depositPeriodFrequencyType, mandatoryRecommendedDepositAmount, onAccountClosureType, expectedFirstDepositOnDate,
|
||||
totalOverdueAmount, noOfOverdueInstallments, isMandatoryDeposit, allowWithdrawal, adjustAdvanceTowardsFuturePayments,
|
||||
isCalendarInherited);
|
||||
|
||||
// CBS product fields
|
||||
result.setCbsProductFields(
|
||||
rs.getString("accountType"),
|
||||
rs.getString("customerSegment"),
|
||||
rs.getString("productCode"),
|
||||
JdbcSupport.getLocalDate(rs, "effectiveDate"),
|
||||
JdbcSupport.getLocalDate(rs, "effectiveTo"),
|
||||
JdbcSupport.getLocalDate(rs, "endDate"),
|
||||
rs.getBoolean("introducerRequired"),
|
||||
rs.getBoolean("shareLinkingEnabled"),
|
||||
rs.getBoolean("nominationFacility"),
|
||||
rs.getBoolean("dormancyAlert"),
|
||||
JdbcSupport.getInteger(rs, "interestCalculateSelector"),
|
||||
rs.getString("interestCalculationTypeName"),
|
||||
rs.getString("averagePeriod"),
|
||||
rs.getBoolean("autoPost"),
|
||||
JdbcSupport.getInteger(rs, "frequencyFixDay"),
|
||||
JdbcSupport.getLocalDate(rs, "lastInterestDate"),
|
||||
rs.getBoolean("enableLockinPeriod"),
|
||||
rs.getString("balanceFrequency"),
|
||||
rs.getBoolean("accountClosedZeroBalanceInDayClosing"),
|
||||
rs.getBoolean("balanceSwapOption"),
|
||||
rs.getBoolean("msme"),
|
||||
rs.getBoolean("autoDebitFacility"),
|
||||
rs.getBoolean("loanFacility"),
|
||||
rs.getBoolean("prematureWithdrawalOption"),
|
||||
rs.getBoolean("tenureFlexibility"),
|
||||
rs.getBoolean("lienMarked"),
|
||||
rs.getBoolean("maturityInstructions"),
|
||||
rs.getBoolean("creditMaturityProceeds"),
|
||||
rs.getBoolean("penaltyGracePeriodMissedInstallments"),
|
||||
rs.getBoolean("panelRequestApplicable"),
|
||||
rs.getBoolean("noPenaltyNomineeHeirClosure"),
|
||||
rs.getBoolean("deceasedSettlement"),
|
||||
rs.getBoolean("allowDebitTxnAfterDueDate")
|
||||
);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-1
@@ -85,7 +85,10 @@ public class SavingsApiSetConstants extends SavingsApiConstants {
|
||||
"accountType", "customerSegment", "productCode", "effectiveTo", "endDate", "introducerRequired", "shareLinkingEnabled",
|
||||
"nominationFacility", "dormancyAlert", "enableLockinPeriod", "balanceFrequency",
|
||||
"accountClosedZeroBalanceInDayClosing", "accountFacilityConfig", "accountFacilityLimits", "depositLimitKyc",
|
||||
"interestCalculateSelector", "averagePeriod", "autoPost", "frequencyFixDay"));
|
||||
"interestCalculateSelector", "averagePeriod", "autoPost", "frequencyFixDay", "lastInterestDate",
|
||||
"balanceSwapOption", "msme", "autoDebitFacility", "interestCalculationTypeOption",
|
||||
"effectiveDate", "isDormancyTrackingActive", "daysToInactive", "daysToDormancy", "daysToEscheat",
|
||||
"avgBalanceCalcPeriod", "validForPeriod", "odAccountClosedZeroBalanceInDayClosing"));
|
||||
|
||||
protected static final Set<String> SAVINGS_TRANSACTION_RESPONSE_DATA_PARAMETERS = new HashSet<>(
|
||||
Arrays.asList(idParamName, "accountId", accountNoParamName, "currency", "amount", dateParamName, paymentDetailDataParamName,
|
||||
|
||||
+118
@@ -83,6 +83,124 @@ public final class RecurringDepositAccountData extends DepositAccountData {
|
||||
private LocalDate submittedOnDate;
|
||||
private Long depositPeriodFrequencyId;
|
||||
|
||||
// CBS product fields (populated from product template)
|
||||
private String accountType;
|
||||
private String customerSegment;
|
||||
private String productCode;
|
||||
private LocalDate effectiveDate;
|
||||
private LocalDate effectiveTo;
|
||||
private LocalDate endDate;
|
||||
private Boolean introducerRequired;
|
||||
private Boolean shareLinkingEnabled;
|
||||
private Boolean nominationFacility;
|
||||
private Boolean dormancyAlert;
|
||||
private Integer interestCalculateSelector;
|
||||
private String interestCalculationTypeName;
|
||||
private String averagePeriod;
|
||||
private Boolean autoPost;
|
||||
private Integer frequencyFixDay;
|
||||
private LocalDate lastInterestDate;
|
||||
private Boolean enableLockinPeriod;
|
||||
private String balanceFrequency;
|
||||
private Boolean accountClosedZeroBalanceInDayClosing;
|
||||
private Boolean balanceSwapOption;
|
||||
private Boolean msme;
|
||||
private Boolean autoDebitFacility;
|
||||
private Boolean loanFacility;
|
||||
private Boolean prematureWithdrawalOption;
|
||||
private Boolean tenureFlexibility;
|
||||
private Boolean lienMarked;
|
||||
private Boolean maturityInstructions;
|
||||
private Boolean creditMaturityProceeds;
|
||||
private Boolean penaltyGracePeriodMissedInstallments;
|
||||
private Boolean panelRequestApplicable;
|
||||
private Boolean noPenaltyNomineeHeirClosure;
|
||||
private Boolean deceasedSettlement;
|
||||
private Boolean allowDebitTxnAfterDueDate;
|
||||
|
||||
public void copyCbsFieldsFrom(final RecurringDepositAccountData src) {
|
||||
if (src == null) return;
|
||||
this.accountType = src.accountType;
|
||||
this.customerSegment = src.customerSegment;
|
||||
this.productCode = src.productCode;
|
||||
this.effectiveDate = src.effectiveDate;
|
||||
this.effectiveTo = src.effectiveTo;
|
||||
this.endDate = src.endDate;
|
||||
this.introducerRequired = src.introducerRequired;
|
||||
this.shareLinkingEnabled = src.shareLinkingEnabled;
|
||||
this.nominationFacility = src.nominationFacility;
|
||||
this.dormancyAlert = src.dormancyAlert;
|
||||
this.interestCalculateSelector = src.interestCalculateSelector;
|
||||
this.interestCalculationTypeName = src.interestCalculationTypeName;
|
||||
this.averagePeriod = src.averagePeriod;
|
||||
this.autoPost = src.autoPost;
|
||||
this.frequencyFixDay = src.frequencyFixDay;
|
||||
this.lastInterestDate = src.lastInterestDate;
|
||||
this.enableLockinPeriod = src.enableLockinPeriod;
|
||||
this.balanceFrequency = src.balanceFrequency;
|
||||
this.accountClosedZeroBalanceInDayClosing = src.accountClosedZeroBalanceInDayClosing;
|
||||
this.balanceSwapOption = src.balanceSwapOption;
|
||||
this.msme = src.msme;
|
||||
this.autoDebitFacility = src.autoDebitFacility;
|
||||
this.loanFacility = src.loanFacility;
|
||||
this.prematureWithdrawalOption = src.prematureWithdrawalOption;
|
||||
this.tenureFlexibility = src.tenureFlexibility;
|
||||
this.lienMarked = src.lienMarked;
|
||||
this.maturityInstructions = src.maturityInstructions;
|
||||
this.creditMaturityProceeds = src.creditMaturityProceeds;
|
||||
this.penaltyGracePeriodMissedInstallments = src.penaltyGracePeriodMissedInstallments;
|
||||
this.panelRequestApplicable = src.panelRequestApplicable;
|
||||
this.noPenaltyNomineeHeirClosure = src.noPenaltyNomineeHeirClosure;
|
||||
this.deceasedSettlement = src.deceasedSettlement;
|
||||
this.allowDebitTxnAfterDueDate = src.allowDebitTxnAfterDueDate;
|
||||
}
|
||||
|
||||
public void setCbsProductFields(String accountType, String customerSegment, String productCode,
|
||||
LocalDate effectiveDate, LocalDate effectiveTo, LocalDate endDate,
|
||||
Boolean introducerRequired, Boolean shareLinkingEnabled, Boolean nominationFacility, Boolean dormancyAlert,
|
||||
Integer interestCalculateSelector, String interestCalculationTypeName, String averagePeriod,
|
||||
Boolean autoPost, Integer frequencyFixDay, LocalDate lastInterestDate,
|
||||
Boolean enableLockinPeriod, String balanceFrequency, Boolean accountClosedZeroBalanceInDayClosing,
|
||||
Boolean balanceSwapOption, Boolean msme, Boolean autoDebitFacility, Boolean loanFacility,
|
||||
Boolean prematureWithdrawalOption, Boolean tenureFlexibility, Boolean lienMarked,
|
||||
Boolean maturityInstructions, Boolean creditMaturityProceeds, Boolean penaltyGracePeriodMissedInstallments,
|
||||
Boolean panelRequestApplicable, Boolean noPenaltyNomineeHeirClosure, Boolean deceasedSettlement,
|
||||
Boolean allowDebitTxnAfterDueDate) {
|
||||
this.accountType = accountType;
|
||||
this.customerSegment = customerSegment;
|
||||
this.productCode = productCode;
|
||||
this.effectiveDate = effectiveDate;
|
||||
this.effectiveTo = effectiveTo;
|
||||
this.endDate = endDate;
|
||||
this.introducerRequired = introducerRequired;
|
||||
this.shareLinkingEnabled = shareLinkingEnabled;
|
||||
this.nominationFacility = nominationFacility;
|
||||
this.dormancyAlert = dormancyAlert;
|
||||
this.interestCalculateSelector = interestCalculateSelector;
|
||||
this.interestCalculationTypeName = interestCalculationTypeName;
|
||||
this.averagePeriod = averagePeriod;
|
||||
this.autoPost = autoPost;
|
||||
this.frequencyFixDay = frequencyFixDay;
|
||||
this.lastInterestDate = lastInterestDate;
|
||||
this.enableLockinPeriod = enableLockinPeriod;
|
||||
this.balanceFrequency = balanceFrequency;
|
||||
this.accountClosedZeroBalanceInDayClosing = accountClosedZeroBalanceInDayClosing;
|
||||
this.balanceSwapOption = balanceSwapOption;
|
||||
this.msme = msme;
|
||||
this.autoDebitFacility = autoDebitFacility;
|
||||
this.loanFacility = loanFacility;
|
||||
this.prematureWithdrawalOption = prematureWithdrawalOption;
|
||||
this.tenureFlexibility = tenureFlexibility;
|
||||
this.lienMarked = lienMarked;
|
||||
this.maturityInstructions = maturityInstructions;
|
||||
this.creditMaturityProceeds = creditMaturityProceeds;
|
||||
this.penaltyGracePeriodMissedInstallments = penaltyGracePeriodMissedInstallments;
|
||||
this.panelRequestApplicable = panelRequestApplicable;
|
||||
this.noPenaltyNomineeHeirClosure = noPenaltyNomineeHeirClosure;
|
||||
this.deceasedSettlement = deceasedSettlement;
|
||||
this.allowDebitTxnAfterDueDate = allowDebitTxnAfterDueDate;
|
||||
}
|
||||
|
||||
public static RecurringDepositAccountData importInstance(Long clientId, Long productId, Long fieldOfficerId, LocalDate submittedOnDate,
|
||||
EnumOptionData interestCompoundingPeriodTypeEnum, EnumOptionData interestPostingPeriodTypeEnum,
|
||||
EnumOptionData interestCalculationTypeEnum, EnumOptionData interestCalculationDaysInYearTypeEnum, Integer lockinPeriodFrequency,
|
||||
|
||||
Reference in New Issue
Block a user