update account code current,saving and RD

This commit is contained in:
Nitesh Yadav
2026-04-24 16:14:13 +05:30
parent 691a3fc471
commit efb0511725
12 changed files with 39190 additions and 27988 deletions
@@ -302,6 +302,9 @@ public final class DepositsApiConstants {
recurringDepositRequestData.add("shareLinkingEnabled");
// Custom CBS fields — Currency step
recurringDepositRequestData.add("dormancyAlert");
recurringDepositRequestData.add(SavingsApiConstants.daysToInactiveParamName);
recurringDepositRequestData.add(SavingsApiConstants.daysToDormancyParamName);
recurringDepositRequestData.add(SavingsApiConstants.daysToEscheatParamName);
recurringDepositRequestData.add("balanceSwapOption");
recurringDepositRequestData.add("msme");
recurringDepositRequestData.add("nominationFacility");
@@ -135,6 +135,10 @@ public final class SavingsAccountData implements Serializable {
private Boolean shareLinkingEnabled;
private Boolean nominationFacility;
private Boolean dormancyAlert;
private Boolean isDormancyTrackingActiveFromProduct;
private Long daysToInactiveFromProduct;
private Long daysToDormancyFromProduct;
private Long daysToEscheatFromProduct;
private String interestCalculationTypeName;
private Boolean enableLockinPeriod;
private String balanceFrequency;
@@ -116,10 +116,10 @@ public final class SavingsProductData implements Serializable {
private final Collection<CodeValueData> yesNoOptions;
private final Collection<CodeValueData> accountTypeOptions;
private final Collection<CodeValueData> customerSegmentOptions;
private final Boolean isDormancyTrackingActive;
private final Long daysToInactive;
private final Long daysToDormancy;
private final Long daysToEscheat;
@Getter private final Boolean isDormancyTrackingActive;
@Getter private final Long daysToInactive;
@Getter private final Long daysToDormancy;
@Getter private final Long daysToEscheat;
private final List<Map<String, Object>> otherGlMappings;
// Enhanced Savings Product Fields
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -176,6 +176,10 @@ public class CurrentAccountTemplateReadPlatformServiceImpl implements CurrentAcc
if (productData != null) {
// Feature flags
template.setDormancyAlert(productData.getDormancyAlert() != null && productData.getDormancyAlert());
template.setIsDormancyTrackingActiveFromProduct(productData.getIsDormancyTrackingActive());
template.setDaysToInactiveFromProduct(productData.getDaysToInactive());
template.setDaysToDormancyFromProduct(productData.getDaysToDormancy());
template.setDaysToEscheatFromProduct(productData.getDaysToEscheat());
template.setBalanceSwapOption(productData.getBalanceSwapOption() != null && productData.getBalanceSwapOption());
template.setMsme(productData.getMsme() != null && productData.getMsme());
template.setNominationFacility(productData.getNominationFacility() != null && productData.getNominationFacility());
@@ -1485,6 +1485,10 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
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.is_dormancy_tracking_active as isDormancyTrackingActive, ");
sqlBuilder.append("sa.days_to_inactive as daysToInactive, ");
sqlBuilder.append("sa.days_to_dormancy as daysToDormancy, ");
sqlBuilder.append("sa.days_to_escheat as daysToEscheat, ");
sqlBuilder.append("sa.interest_calculate_selector as interestCalculateSelector, ");
sqlBuilder.append("icv.code_value as interestCalculationTypeName, ");
sqlBuilder.append("sa.average_period as averagePeriod, ");
@@ -1574,6 +1578,10 @@ public class DepositAccountReadPlatformServiceImpl implements DepositAccountRead
rs.getBoolean("shareLinkingEnabled"),
rs.getBoolean("nominationFacility"),
rs.getBoolean("dormancyAlert"),
rs.getBoolean("isDormancyTrackingActive"),
JdbcSupport.getInteger(rs, "daysToInactive"),
JdbcSupport.getInteger(rs, "daysToDormancy"),
JdbcSupport.getInteger(rs, "daysToEscheat"),
JdbcSupport.getInteger(rs, "interestCalculateSelector"),
rs.getString("interestCalculationTypeName"),
rs.getString("averagePeriod"),
@@ -198,6 +198,10 @@ public class SavingsAccountTemplateReadPlatformServiceImpl implements SavingsAcc
template.setShareLinkingEnabled(fullProduct.getShareLinkingEnabled());
template.setNominationFacility(fullProduct.getNominationFacility());
template.setDormancyAlert(fullProduct.getDormancyAlert());
template.setIsDormancyTrackingActiveFromProduct(fullProduct.getIsDormancyTrackingActive());
template.setDaysToInactiveFromProduct(fullProduct.getDaysToInactive());
template.setDaysToDormancyFromProduct(fullProduct.getDaysToDormancy());
template.setDaysToEscheatFromProduct(fullProduct.getDaysToEscheat());
template.setInterestCalculationTypeName(fullProduct.getInterestCalculationTypeName());
template.setLastInterestDate(fullProduct.getLastInterestDate());
template.setEnableLockinPeriod(fullProduct.getEnableLockinPeriod());
@@ -94,6 +94,10 @@ public final class RecurringDepositAccountData extends DepositAccountData {
private Boolean shareLinkingEnabled;
private Boolean nominationFacility;
private Boolean dormancyAlert;
private Boolean isDormancyTrackingActive;
private Integer daysToInactive;
private Integer daysToDormancy;
private Integer daysToEscheat;
private Integer interestCalculateSelector;
private String interestCalculationTypeName;
private String averagePeriod;
@@ -130,6 +134,10 @@ public final class RecurringDepositAccountData extends DepositAccountData {
this.shareLinkingEnabled = src.shareLinkingEnabled;
this.nominationFacility = src.nominationFacility;
this.dormancyAlert = src.dormancyAlert;
this.isDormancyTrackingActive = src.isDormancyTrackingActive;
this.daysToInactive = src.daysToInactive;
this.daysToDormancy = src.daysToDormancy;
this.daysToEscheat = src.daysToEscheat;
this.interestCalculateSelector = src.interestCalculateSelector;
this.interestCalculationTypeName = src.interestCalculationTypeName;
this.averagePeriod = src.averagePeriod;
@@ -158,6 +166,7 @@ public final class RecurringDepositAccountData extends DepositAccountData {
public void setCbsProductFields(String accountType, String customerSegment, String productCode,
LocalDate effectiveDate, LocalDate effectiveTo, LocalDate endDate,
Boolean introducerRequired, Boolean shareLinkingEnabled, Boolean nominationFacility, Boolean dormancyAlert,
Boolean isDormancyTrackingActive, Integer daysToInactive, Integer daysToDormancy, Integer daysToEscheat,
Integer interestCalculateSelector, String interestCalculationTypeName, String averagePeriod,
Boolean autoPost, Integer frequencyFixDay, LocalDate lastInterestDate,
Boolean enableLockinPeriod, String balanceFrequency, Boolean accountClosedZeroBalanceInDayClosing,
@@ -176,6 +185,10 @@ public final class RecurringDepositAccountData extends DepositAccountData {
this.shareLinkingEnabled = shareLinkingEnabled;
this.nominationFacility = nominationFacility;
this.dormancyAlert = dormancyAlert;
this.isDormancyTrackingActive = isDormancyTrackingActive;
this.daysToInactive = daysToInactive;
this.daysToDormancy = daysToDormancy;
this.daysToEscheat = daysToEscheat;
this.interestCalculateSelector = interestCalculateSelector;
this.interestCalculationTypeName = interestCalculationTypeName;
this.averagePeriod = averagePeriod;
@@ -291,7 +291,19 @@ public class DepositProductAssembler {
recurringDepositProduct.setIntroducerRequired(command.booleanPrimitiveValueOfParameterNamed("introducerRequired"));
recurringDepositProduct.setShareLinkingEnabled(command.booleanPrimitiveValueOfParameterNamed("shareLinkingEnabled"));
recurringDepositProduct.setNominationFacility(command.booleanPrimitiveValueOfParameterNamed("nominationFacility"));
recurringDepositProduct.setDormancyAlert(command.booleanPrimitiveValueOfParameterNamed("dormancyAlert"));
final boolean dormancyAlertValue = command.booleanPrimitiveValueOfParameterNamed("dormancyAlert");
recurringDepositProduct.setDormancyAlert(dormancyAlertValue);
// isDormancyTrackingActive is driven by dormancyAlert for RD products (no separate UI field)
recurringDepositProduct.setIsDormancyTrackingActive(dormancyAlertValue);
if (command.parameterExists("daysToInactive")) {
recurringDepositProduct.setDaysToInactive(command.longValueOfParameterNamed("daysToInactive"));
}
if (command.parameterExists("daysToDormancy")) {
recurringDepositProduct.setDaysToDormancy(command.longValueOfParameterNamed("daysToDormancy"));
}
if (command.parameterExists("daysToEscheat")) {
recurringDepositProduct.setDaysToEscheat(command.longValueOfParameterNamed("daysToEscheat"));
}
recurringDepositProduct.setInterestCalculateSelector(command.integerValueOfParameterNamed("interestCalculateSelector"));
recurringDepositProduct.setAveragePeriod(command.stringValueOfParameterNamed("averagePeriod"));
recurringDepositProduct.setAutoPost(command.booleanPrimitiveValueOfParameterNamed("autoPost"));
@@ -1296,6 +1296,11 @@ public class SavingsProduct extends AbstractPersistableCustom<Long> {
public boolean isAllowDebitTxnAfterDueDate() { return allowDebitTxnAfterDueDate; }
public void setAllowDebitTxnAfterDueDate(boolean v) { this.allowDebitTxnAfterDueDate = v; }
public void setIsDormancyTrackingActive(Boolean v) { this.isDormancyTrackingActive = v; }
public void setDaysToInactive(Long v) { this.daysToInactive = v; }
public void setDaysToDormancy(Long v) { this.daysToDormancy = v; }
public void setDaysToEscheat(Long v) { this.daysToEscheat = v; }
public SavingsProductFacilityConfig getFacilityConfig() {
return facilityConfig;
}