saving , current and RD account code update

This commit is contained in:
Nitesh Yadav
2026-04-22 18:15:46 +05:30
parent 05c5adb034
commit 691a3fc471
8 changed files with 27487 additions and 13413 deletions
@@ -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,
@@ -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,