loan term changes..

This commit is contained in:
Keith Woodlock
2012-08-07 14:38:26 +01:00
parent c65c185b61
commit 20a8d08475
4 changed files with 62 additions and 14 deletions
@@ -27,6 +27,7 @@ public class LoanProductData {
private BigDecimal interestRatePerPeriod = BigDecimal.ZERO;
private BigDecimal annualInterestRate = BigDecimal.ZERO;
private EnumOptionData loanTermFrequencyType;
private EnumOptionData repaymentFrequencyType;
private EnumOptionData interestRateFrequencyType;
private EnumOptionData amortizationType;
@@ -44,6 +45,7 @@ public class LoanProductData {
private List<EnumOptionData> interestCalculationPeriodTypeOptions = new ArrayList<EnumOptionData>();
private List<EnumOptionData> repaymentFrequencyTypeOptions = new ArrayList<EnumOptionData>();
private List<EnumOptionData> interestRateFrequencyTypeOptions = new ArrayList<EnumOptionData>();
private List<EnumOptionData> loanTermFrequencyTypeOptions = new ArrayList<EnumOptionData>();
public LoanProductData() {
//
@@ -54,6 +56,7 @@ public class LoanProductData {
MoneyData tolerance, Integer numberOfRepayments,
Integer repaymentEvery, BigDecimal interestRatePerPeriod,
BigDecimal annualInterestRate,
EnumOptionData loanTermFrequencyType,
EnumOptionData repaymentFrequencyType,
EnumOptionData interestRateFrequencyType,
EnumOptionData amortizationType, EnumOptionData interestType,
@@ -70,6 +73,7 @@ public class LoanProductData {
this.repaymentEvery = repaymentEvery;
this.interestRatePerPeriod = interestRatePerPeriod;
this.annualInterestRate = annualInterestRate;
this.loanTermFrequencyType = loanTermFrequencyType;
this.repaymentFrequencyType = repaymentFrequencyType;
this.interestRateFrequencyType = interestRateFrequencyType;
this.amortizationType = amortizationType;
@@ -261,6 +265,23 @@ public class LoanProductData {
List<EnumOptionData> interestRateFrequencyTypeOptions) {
this.interestRateFrequencyTypeOptions = interestRateFrequencyTypeOptions;
}
public EnumOptionData getLoanTermFrequencyType() {
return loanTermFrequencyType;
}
public void setLoanTermFrequencyType(EnumOptionData loanTermFrequencyType) {
this.loanTermFrequencyType = loanTermFrequencyType;
}
public List<EnumOptionData> getLoanTermFrequencyTypeOptions() {
return loanTermFrequencyTypeOptions;
}
public void setLoanTermFrequencyTypeOptions(
List<EnumOptionData> loanTermFrequencyTypeOptions) {
this.loanTermFrequencyTypeOptions = loanTermFrequencyTypeOptions;
}
public List<CurrencyData> getCurrencyOptions() {
return currencyOptions;
@@ -1,7 +1,11 @@
package org.mifosng.platform.loan.domain;
public enum PeriodFrequencyType {
DAYS(0, "periodFrequencyType.days"), WEEKS(1, "periodFrequencyType.weeks"), MONTHS(2, "periodFrequencyType.months"), YEARS(3, "periodFrequencyType.years"), INVALID(4, "periodFrequencyType.invalid");
DAYS(0, "periodFrequencyType.days"), //
WEEKS(1, "periodFrequencyType.weeks"), //
MONTHS(2, "periodFrequencyType.months"), //
YEARS(3, "periodFrequencyType.years"), //
INVALID(4, "periodFrequencyType.invalid");
private final Integer value;
private final String code;
@@ -9,6 +9,33 @@ import org.mifosng.platform.loan.domain.PeriodFrequencyType;
public class LoanEnumerations {
public static EnumOptionData loanTermFrequencyType(final int id) {
return loanTermFrequencyType(PeriodFrequencyType.fromInt(id));
}
public static EnumOptionData loanTermFrequencyType(final PeriodFrequencyType type) {
final String codePrefix = "loanTermFrequency.";
EnumOptionData optionData = null;
switch (type) {
case DAYS:
optionData = new EnumOptionData(PeriodFrequencyType.DAYS.getValue().longValue(), codePrefix + PeriodFrequencyType.DAYS.getCode(), "Days");
break;
case WEEKS:
optionData = new EnumOptionData(PeriodFrequencyType.WEEKS.getValue().longValue(), codePrefix + PeriodFrequencyType.WEEKS.getCode(), "Weeks");
break;
case MONTHS:
optionData = new EnumOptionData(PeriodFrequencyType.MONTHS.getValue().longValue(), codePrefix + PeriodFrequencyType.MONTHS.getCode(), "Months");
break;
case YEARS:
optionData = new EnumOptionData(PeriodFrequencyType.YEARS.getValue().longValue(), codePrefix + PeriodFrequencyType.YEARS.getCode(), "Years");
break;
default:
optionData = new EnumOptionData(PeriodFrequencyType.INVALID.getValue().longValue(), PeriodFrequencyType.INVALID.getCode(), "Invalid");
break;
}
return optionData;
}
public static EnumOptionData repaymentFrequencyType(final int id) {
return repaymentFrequencyType(PeriodFrequencyType.fromInt(id));
}
@@ -31,8 +31,7 @@ import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;
@Service
public class LoanProductReadPlatformServiceImpl implements
LoanProductReadPlatformService {
public class LoanProductReadPlatformServiceImpl implements LoanProductReadPlatformService {
private final PlatformSecurityContext context;
private final CurrencyReadPlatformService currencyReadPlatformService;
@@ -188,24 +187,21 @@ public class LoanProductReadPlatformServiceImpl implements
BigDecimal annualInterestRate = rs
.getBigDecimal("annualInterestRate");
int repaymentFrequencyTypeId = JdbcSupport.getInteger(rs,
"repaymentPeriodFrequency");
EnumOptionData repaymentFrequencyType = LoanEnumerations
.repaymentFrequencyType(repaymentFrequencyTypeId);
int repaymentFrequencyTypeId = JdbcSupport.getInteger(rs, "repaymentPeriodFrequency");
EnumOptionData repaymentFrequencyType = LoanEnumerations.repaymentFrequencyType(repaymentFrequencyTypeId);
EnumOptionData loanTermFrequencyType = LoanEnumerations.loanTermFrequencyType(repaymentFrequencyTypeId);
int amortizationTypeId = JdbcSupport.getInteger(rs,
"amortizationMethod");
EnumOptionData amortizationType = LoanEnumerations
.amortizationType(amortizationTypeId);
int interestRateFrequencyTypeId = JdbcSupport.getInteger(rs,
"interestRatePerPeriodFreq");
EnumOptionData interestRateFrequencyType = LoanEnumerations
.interestRateFrequencyType(interestRateFrequencyTypeId);
int interestRateFrequencyTypeId = JdbcSupport.getInteger(rs,"interestRatePerPeriodFreq");
EnumOptionData interestRateFrequencyType = LoanEnumerations.interestRateFrequencyType(interestRateFrequencyTypeId);
int interestTypeId = JdbcSupport.getInteger(rs, "interestMethod");
EnumOptionData interestType = LoanEnumerations
.interestType(interestTypeId);
EnumOptionData interestType = LoanEnumerations.interestType(interestTypeId);
int interestCalculationPeriodTypeId = JdbcSupport.getInteger(rs,
"interestCalculationInPeriodMethod");
@@ -218,7 +214,7 @@ public class LoanProductReadPlatformServiceImpl implements
return new LoanProductData(createdOn, lastModifedOn, id, name,
description, principalMoney, toleranceMoney,
numberOfRepayments, repaymentEvery, interestRatePerPeriod,
annualInterestRate, repaymentFrequencyType,
annualInterestRate, loanTermFrequencyType, repaymentFrequencyType,
interestRateFrequencyType, amortizationType, interestType,
interestCalculationPeriodType, fundId, fundName, transactionStrategyId, transactionStrategyName);
}