some update logic update on showing option

This commit is contained in:
Nitesh Yadav
2026-04-21 13:19:19 +05:30
parent 800e114a4d
commit 98dd941712
15 changed files with 22874 additions and 39956 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -216,8 +216,9 @@ public class DepositProductDataValidator {
validateRecurringDepositUpdate(element, baseDataValidator);
// RD products now use the CBS base chart as a read-only template, so
// product updates no longer require a charts payload.
if (!hasRdSlabsForUpdate) {
validateChartsData(element, baseDataValidator);
validateDepositAmountForUpdate(element, baseDataValidator);
}
@@ -304,7 +304,7 @@ public class DepositProductReadPlatformServiceImpl implements DepositProductRead
sqlBuilder.append("sp.effective_date as effectiveDate, sp.effective_to as effectiveTo, sp.end_date as endDate, ");
sqlBuilder.append("sp.introducer_required as introducerRequired, sp.share_linking_enabled as shareLinkingEnabled, ");
sqlBuilder.append("sp.nomination_facility as nominationFacility, sp.dormancy_alert as dormancyAlert, ");
sqlBuilder.append("sp.interest_calculate_selector as interestCalculateSelector, ");
sqlBuilder.append("sp.interest_calculate_selector as interestCalculateSelector, icv.code_value as interestCalculationTypeName, ");
sqlBuilder.append("sp.average_period as averagePeriod, ");
sqlBuilder.append("sp.auto_post as autoPost, sp.frequency_fix_day as frequencyFixDay, ");
sqlBuilder.append("sp.last_interest_date as lastInterestDate, sp.enable_lockin_period as enableLockinPeriod, ");
@@ -325,7 +325,8 @@ public class DepositProductReadPlatformServiceImpl implements DepositProductRead
sqlBuilder.append("left join m_deposit_product_term_and_preclosure dptp on sp.id=dptp.savings_product_id ");
sqlBuilder.append("left join m_deposit_product_recurring_detail dprd on sp.id=dprd.savings_product_id ");
sqlBuilder.append("join m_currency curr on curr.code = sp.currency_code ");
sqlBuilder.append(" left join m_tax_group tg on tg.id = sp.tax_group_id ");
sqlBuilder.append(" left join m_tax_group tg on tg.id = sp.tax_group_id ");
sqlBuilder.append("left join m_code_value icv on icv.id = sp.interest_calculate_selector ");
this.schemaSql = sqlBuilder.toString();
}
@@ -414,6 +415,7 @@ public class DepositProductReadPlatformServiceImpl implements DepositProductRead
result.setNominationFacility(nominationFacility);
result.setDormancyAlert(dormancyAlert);
result.setInterestCalculateSelector(interestCalculateSelector);
result.setInterestCalculationTypeName(rs.getString("interestCalculationTypeName"));
result.setAveragePeriod(averagePeriod);
result.setAutoPost(autoPost);
result.setFrequencyFixDay(frequencyFixDay);
@@ -176,6 +176,29 @@ public class SavingsAccountTemplateReadPlatformServiceImpl implements SavingsAcc
interestCompoundingPeriodTypeOptions, interestPostingPeriodTypeOptions, interestCalculationTypeOptions,
interestCalculationDaysInYearTypeOptions, lockinPeriodFrequencyTypeOptions, withdrawalFeeTypeOptions, transactions,
charges, chargeOptions);
// Enrich template with full CBS product data (classification, digital facilities, etc.)
final SavingsProductData fullProduct = this.savingsProductReadPlatformService.retrieveOne(productId);
if (fullProduct != null) {
template.setAccountType(fullProduct.getAccountType());
template.setCustomerSegment(fullProduct.getCustomerSegment());
template.setProductCode(fullProduct.getProductCode());
template.setIntroducerRequired(fullProduct.getIntroducerRequired());
template.setShareLinkingEnabled(fullProduct.getShareLinkingEnabled());
template.setNominationFacility(fullProduct.getNominationFacility());
template.setDormancyAlert(fullProduct.getDormancyAlert());
template.setEnableLockinPeriod(fullProduct.getEnableLockinPeriod());
template.setBalanceFrequency(fullProduct.getBalanceFrequency());
template.setAccountClosedZeroBalanceInDayClosing(fullProduct.getAccountClosedZeroBalanceInDayClosing());
template.setAccountFacilityConfig(fullProduct.getAccountFacilityConfig());
template.setAccountFacilityLimits(fullProduct.getAccountFacilityLimits());
template.setDepositLimitKyc(fullProduct.getDepositLimitKyc());
// CBS Term fields
template.setInterestCalculateSelector(fullProduct.getInterestCalculateSelector());
template.setAveragePeriod(fullProduct.getAveragePeriod());
template.setAutoPost(fullProduct.getAutoPost());
template.setFrequencyFixDay(fullProduct.getFrequencyFixDay());
}
} else {
String clientName = null;
@@ -213,7 +213,7 @@ public class SavingsProductReadPlatformServiceImpl implements SavingsProductRead
sqlBuilder.append("sp.effective_date as effectiveDate, sp.effective_to as effectiveTo, sp.end_date as endDate, ");
sqlBuilder.append("sp.introducer_required as introducerRequired, sp.share_linking_enabled as shareLinkingEnabled, ");
sqlBuilder.append("sp.nomination_facility as nominationFacility, sp.dormancy_alert as dormancyAlert, ");
sqlBuilder.append("sp.interest_calculate_selector as interestCalculateSelector, sp.average_period as averagePeriod, ");
sqlBuilder.append("sp.interest_calculate_selector as interestCalculateSelector, icv.code_value as interestCalculationTypeName, sp.average_period as averagePeriod, ");
sqlBuilder.append("sp.auto_post as autoPost, sp.frequency_fix_day as frequencyFixDay, sp.last_interest_date as lastInterestDate, ");
sqlBuilder.append("sp.enable_lockin_period as enableLockinPeriod, ");
sqlBuilder.append("sp.balance_frequency as balanceFrequency, ");
@@ -221,7 +221,8 @@ public class SavingsProductReadPlatformServiceImpl implements SavingsProductRead
sqlBuilder.append("from m_savings_product sp ");
sqlBuilder.append("join m_currency curr on curr.code = sp.currency_code ");
sqlBuilder.append("left join m_tax_group tg on tg.id = sp.tax_group_id ");
sqlBuilder.append("left join m_tax_group tg on tg.id = sp.tax_group_id ");
sqlBuilder.append("left join m_code_value icv on icv.id = sp.interest_calculate_selector ");
this.schemaSql = sqlBuilder.toString();
}
@@ -328,6 +329,7 @@ public class SavingsProductReadPlatformServiceImpl implements SavingsProductRead
productData.setNominationFacility(rs.getBoolean("nominationFacility"));
productData.setDormancyAlert(rs.getBoolean("dormancyAlert"));
productData.setInterestCalculateSelector(JdbcSupport.getInteger(rs, "interestCalculateSelector"));
productData.setInterestCalculationTypeName(rs.getString("interestCalculationTypeName"));
productData.setAveragePeriod(rs.getString("averagePeriod"));
productData.setAutoPost(rs.getBoolean("autoPost"));
productData.setFrequencyFixDay(JdbcSupport.getInteger(rs, "frequencyFixDay"));