updates for payment details

This commit is contained in:
Vishwas Babu AJ
2013-04-12 20:40:42 +05:30
parent 850981d4a9
commit 45bf43de5e
6 changed files with 136 additions and 92 deletions
@@ -7,6 +7,7 @@ package org.mifosplatform.portfolio.loanaccount.api;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;
import javax.ws.rs.Consumes; import javax.ws.rs.Consumes;
@@ -26,12 +27,15 @@ import org.mifosplatform.commands.service.CommandWrapperBuilder;
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService; import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
import org.mifosplatform.infrastructure.core.api.ApiRequestParameterHelper; import org.mifosplatform.infrastructure.core.api.ApiRequestParameterHelper;
import org.mifosplatform.infrastructure.core.data.CommandProcessingResult; import org.mifosplatform.infrastructure.core.data.CommandProcessingResult;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.exception.UnrecognizedQueryParamException; import org.mifosplatform.infrastructure.core.exception.UnrecognizedQueryParamException;
import org.mifosplatform.infrastructure.core.serialization.ApiRequestJsonSerializationSettings; import org.mifosplatform.infrastructure.core.serialization.ApiRequestJsonSerializationSettings;
import org.mifosplatform.infrastructure.core.serialization.DefaultToApiJsonSerializer; import org.mifosplatform.infrastructure.core.serialization.DefaultToApiJsonSerializer;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext; import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData; import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
import org.mifosplatform.portfolio.loanaccount.domain.PaymentType;
import org.mifosplatform.portfolio.loanaccount.service.LoanReadPlatformService; import org.mifosplatform.portfolio.loanaccount.service.LoanReadPlatformService;
import org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -104,9 +108,13 @@ public class LoanTransactionsApiResource {
context.authenticatedUser().validateHasReadPermission(resourceNameForPermissions); context.authenticatedUser().validateHasReadPermission(resourceNameForPermissions);
final LoanTransactionData transactionData = this.loanReadPlatformService.retrieveLoanTransaction(loanId, transactionId); LoanTransactionData transactionData = this.loanReadPlatformService.retrieveLoanTransaction(loanId, transactionId);
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters()); final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
if (settings.isTemplate()) {
final List<EnumOptionData> paymentTypeOptions = LoanEnumerations.paymentTypes(PaymentType.values());
transactionData = LoanTransactionData.templateOnTop(transactionData, paymentTypeOptions);
}
return this.toApiJsonSerializer.serialize(settings, transactionData, RESPONSE_DATA_PARAMETERS); return this.toApiJsonSerializer.serialize(settings, transactionData, RESPONSE_DATA_PARAMETERS);
} }
@@ -150,10 +158,10 @@ public class LoanTransactionsApiResource {
CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(apiRequestBodyAsJson); CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(apiRequestBodyAsJson);
final CommandWrapper commandRequest = builder.adjustTransaction(loanId, transactionId).build(); final CommandWrapper commandRequest = builder.adjustTransaction(loanId, transactionId).build();
final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest); final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest);
return this.toApiJsonSerializer.serialize(result); return this.toApiJsonSerializer.serialize(result);
} }
} }
@@ -6,8 +6,10 @@
package org.mifosplatform.portfolio.loanaccount.data; package org.mifosplatform.portfolio.loanaccount.data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
import org.joda.time.LocalDate; import org.joda.time.LocalDate;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.organisation.monetary.data.CurrencyData; import org.mifosplatform.organisation.monetary.data.CurrencyData;
/** /**
@@ -15,32 +17,42 @@ import org.mifosplatform.organisation.monetary.data.CurrencyData;
*/ */
public class LoanTransactionData { public class LoanTransactionData {
@SuppressWarnings("unused")
private final Long id; private final Long id;
private final LoanTransactionEnumData type; private final LoanTransactionEnumData type;
private final LocalDate date; private final LocalDate date;
@SuppressWarnings("unused")
private final CurrencyData currency; private final CurrencyData currency;
@SuppressWarnings("unused")
private final PaymentDetailData paymentDetailData; private final PaymentDetailData paymentDetailData;
@SuppressWarnings("unused")
private final BigDecimal amount; private final BigDecimal amount;
@SuppressWarnings("unused")
private final BigDecimal principalPortion; private final BigDecimal principalPortion;
@SuppressWarnings("unused")
private final BigDecimal interestPortion; private final BigDecimal interestPortion;
@SuppressWarnings("unused")
private final BigDecimal feeChargesPortion; private final BigDecimal feeChargesPortion;
@SuppressWarnings("unused")
private final BigDecimal penaltyChargesPortion; private final BigDecimal penaltyChargesPortion;
// templates
final List<EnumOptionData> paymentTypeOptions;
public static LoanTransactionData templateOnTop(LoanTransactionData loanTransactionData, List<EnumOptionData> paymentTypeOptions) {
return new LoanTransactionData(loanTransactionData.id, loanTransactionData.type, loanTransactionData.paymentDetailData,
loanTransactionData.currency, loanTransactionData.date, loanTransactionData.amount, loanTransactionData.principalPortion,
loanTransactionData.interestPortion, loanTransactionData.feeChargesPortion, loanTransactionData.penaltyChargesPortion,
paymentTypeOptions);
}
public LoanTransactionData(final Long id, final LoanTransactionEnumData transactionType, final PaymentDetailData paymentDetailData, public LoanTransactionData(final Long id, final LoanTransactionEnumData transactionType, final PaymentDetailData paymentDetailData,
final CurrencyData currency, final LocalDate date, final BigDecimal amount, final BigDecimal principalPortion, final CurrencyData currency, final LocalDate date, final BigDecimal amount, final BigDecimal principalPortion,
final BigDecimal interestPortion, final BigDecimal feeChargesPortion, final BigDecimal penaltyChargesPortion) { final BigDecimal interestPortion, final BigDecimal feeChargesPortion, final BigDecimal penaltyChargesPortion) {
this(id, transactionType, paymentDetailData, currency, date, amount, principalPortion, interestPortion, feeChargesPortion,
penaltyChargesPortion, null);
}
public LoanTransactionData(final Long id, final LoanTransactionEnumData transactionType, final PaymentDetailData paymentDetailData,
final CurrencyData currency, final LocalDate date, final BigDecimal amount, final BigDecimal principalPortion,
final BigDecimal interestPortion, final BigDecimal feeChargesPortion, final BigDecimal penaltyChargesPortion,
final List<EnumOptionData> paymentTypeOptions) {
this.id = id; this.id = id;
this.type = transactionType; this.type = transactionType;
this.paymentDetailData = paymentDetailData; this.paymentDetailData = paymentDetailData;
@@ -51,6 +63,7 @@ public class LoanTransactionData {
this.interestPortion = interestPortion; this.interestPortion = interestPortion;
this.feeChargesPortion = feeChargesPortion; this.feeChargesPortion = feeChargesPortion;
this.penaltyChargesPortion = penaltyChargesPortion; this.penaltyChargesPortion = penaltyChargesPortion;
this.paymentTypeOptions = paymentTypeOptions;
} }
public LocalDate dateOf() { public LocalDate dateOf() {
@@ -10,6 +10,7 @@ import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import org.joda.time.Days; import org.joda.time.Days;
import org.joda.time.LocalDate; import org.joda.time.LocalDate;
@@ -47,6 +48,7 @@ import org.mifosplatform.portfolio.loanaccount.exception.LoanTransactionNotFound
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanScheduleData; import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanScheduleData;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanSchedulePeriodData; import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanSchedulePeriodData;
import org.mifosplatform.portfolio.loanproduct.data.LoanProductData; import org.mifosplatform.portfolio.loanproduct.data.LoanProductData;
import org.mifosplatform.portfolio.loanproduct.service.LoanDropdownReadPlatformService;
import org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations; import org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations;
import org.mifosplatform.portfolio.loanproduct.service.LoanProductReadPlatformService; import org.mifosplatform.portfolio.loanproduct.service.LoanProductReadPlatformService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -68,13 +70,15 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
private final ClientReadPlatformService clientReadPlatformService; private final ClientReadPlatformService clientReadPlatformService;
private final GroupReadPlatformService groupReadPlatformService; private final GroupReadPlatformService groupReadPlatformService;
private final LoanTransactionRepository loanTransactionRepository; private final LoanTransactionRepository loanTransactionRepository;
private final LoanDropdownReadPlatformService loanDropdownReadPlatformService;
@Autowired @Autowired
public LoanReadPlatformServiceImpl(final PlatformSecurityContext context, final LoanRepository loanRepository, public LoanReadPlatformServiceImpl(final PlatformSecurityContext context, final LoanRepository loanRepository,
final LoanTransactionRepository loanTransactionRepository, final LoanTransactionRepository loanTransactionRepository,
final ApplicationCurrencyRepositoryWrapper applicationCurrencyRepository, final ApplicationCurrencyRepositoryWrapper applicationCurrencyRepository,
final LoanProductReadPlatformService loanProductReadPlatformService, final ClientReadPlatformService clientReadPlatformService, final LoanProductReadPlatformService loanProductReadPlatformService, final ClientReadPlatformService clientReadPlatformService,
final GroupReadPlatformService groupReadPlatformService, final TenantAwareRoutingDataSource dataSource) { final GroupReadPlatformService groupReadPlatformService, final LoanDropdownReadPlatformService loanDropdownReadPlatformService,
final TenantAwareRoutingDataSource dataSource) {
this.context = context; this.context = context;
this.loanRepository = loanRepository; this.loanRepository = loanRepository;
this.loanTransactionRepository = loanTransactionRepository; this.loanTransactionRepository = loanTransactionRepository;
@@ -82,6 +86,7 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
this.loanProductReadPlatformService = loanProductReadPlatformService; this.loanProductReadPlatformService = loanProductReadPlatformService;
this.clientReadPlatformService = clientReadPlatformService; this.clientReadPlatformService = clientReadPlatformService;
this.groupReadPlatformService = groupReadPlatformService; this.groupReadPlatformService = groupReadPlatformService;
this.loanDropdownReadPlatformService = loanDropdownReadPlatformService;
this.jdbcTemplate = new JdbcTemplate(dataSource); this.jdbcTemplate = new JdbcTemplate(dataSource);
} }
@@ -210,8 +215,9 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService {
final Money possibleNextRepaymentAmount = loan.possibleNextRepaymentAmount(); final Money possibleNextRepaymentAmount = loan.possibleNextRepaymentAmount();
final LoanTransactionEnumData transactionType = LoanEnumerations.transactionType(LoanTransactionType.REPAYMENT); final LoanTransactionEnumData transactionType = LoanEnumerations.transactionType(LoanTransactionType.REPAYMENT);
final List<EnumOptionData> paymentOptions = loanDropdownReadPlatformService.retrievePaymentTypeOptions();
return new LoanTransactionData(null, transactionType, null, currencyData, earliestUnpaidInstallmentDate, return new LoanTransactionData(null, transactionType, null, currencyData, earliestUnpaidInstallmentDate,
possibleNextRepaymentAmount.getAmount(), null, null, null, null); possibleNextRepaymentAmount.getAmount(), null, null, null, null, paymentOptions);
} }
@Override @Override
@@ -13,19 +13,21 @@ import org.mifosplatform.portfolio.loanproduct.data.TransactionProcessingStrateg
public interface LoanDropdownReadPlatformService { public interface LoanDropdownReadPlatformService {
List<EnumOptionData> retrieveLoanAmortizationTypeOptions(); List<EnumOptionData> retrieveLoanAmortizationTypeOptions();
List<EnumOptionData> retrieveLoanInterestTypeOptions(); List<EnumOptionData> retrieveLoanInterestTypeOptions();
List<EnumOptionData> retrieveLoanInterestRateCalculatedInPeriodOptions();
List<EnumOptionData> retrieveLoanTermFrequencyTypeOptions(); List<EnumOptionData> retrieveLoanInterestRateCalculatedInPeriodOptions();
List<EnumOptionData> retrieveRepaymentFrequencyTypeOptions();
List<EnumOptionData> retrieveInterestRateFrequencyTypeOptions(); List<EnumOptionData> retrieveLoanTermFrequencyTypeOptions();
Collection<TransactionProcessingStrategyData> retreiveTransactionProcessingStrategies(); List<EnumOptionData> retrieveRepaymentFrequencyTypeOptions();
List<EnumOptionData> retrieveAccountingRuleTypeOptions(); List<EnumOptionData> retrieveInterestRateFrequencyTypeOptions();
Collection<TransactionProcessingStrategyData> retreiveTransactionProcessingStrategies();
List<EnumOptionData> retrieveAccountingRuleTypeOptions();
List<EnumOptionData> retrievePaymentTypeOptions();
} }
@@ -20,6 +20,7 @@ import java.util.List;
import org.mifosplatform.infrastructure.core.data.EnumOptionData; import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransactionProcessingStrategyRepository; import org.mifosplatform.portfolio.loanaccount.domain.LoanTransactionProcessingStrategyRepository;
import org.mifosplatform.portfolio.loanaccount.domain.PaymentType;
import org.mifosplatform.portfolio.loanproduct.data.TransactionProcessingStrategyData; import org.mifosplatform.portfolio.loanproduct.data.TransactionProcessingStrategyData;
import org.mifosplatform.portfolio.loanproduct.domain.AccountingRuleType; import org.mifosplatform.portfolio.loanproduct.domain.AccountingRuleType;
import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod; import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod;
@@ -33,88 +34,85 @@ import org.springframework.stereotype.Service;
@Service @Service
public class LoanDropdownReadPlatformServiceImpl implements LoanDropdownReadPlatformService { public class LoanDropdownReadPlatformServiceImpl implements LoanDropdownReadPlatformService {
private final LoanTransactionProcessingStrategyRepository loanTransactionProcessingStrategyRepository; private final LoanTransactionProcessingStrategyRepository loanTransactionProcessingStrategyRepository;
@Autowired @Autowired
public LoanDropdownReadPlatformServiceImpl(final LoanTransactionProcessingStrategyRepository loanTransactionProcessingStrategyRepository) { public LoanDropdownReadPlatformServiceImpl(final LoanTransactionProcessingStrategyRepository loanTransactionProcessingStrategyRepository) {
this.loanTransactionProcessingStrategyRepository = loanTransactionProcessingStrategyRepository; this.loanTransactionProcessingStrategyRepository = loanTransactionProcessingStrategyRepository;
} }
@Override
public List<EnumOptionData> retrieveLoanAmortizationTypeOptions() {
List<EnumOptionData> allowedAmortizationMethods = Arrays.asList( @Override
amortizationType(AmortizationMethod.EQUAL_INSTALLMENTS), public List<EnumOptionData> retrieveLoanAmortizationTypeOptions() {
amortizationType(AmortizationMethod.EQUAL_PRINCIPAL));
return allowedAmortizationMethods; List<EnumOptionData> allowedAmortizationMethods = Arrays.asList(amortizationType(AmortizationMethod.EQUAL_INSTALLMENTS),
} amortizationType(AmortizationMethod.EQUAL_PRINCIPAL));
@Override return allowedAmortizationMethods;
public List<EnumOptionData> retrieveLoanInterestTypeOptions() { }
List<EnumOptionData> allowedRepaymentScheduleCalculationMethods = Arrays
.asList(interestType(InterestMethod.FLAT),
interestType(InterestMethod.DECLINING_BALANCE));
return allowedRepaymentScheduleCalculationMethods; @Override
} public List<EnumOptionData> retrieveLoanInterestTypeOptions() {
List<EnumOptionData> allowedRepaymentScheduleCalculationMethods = Arrays.asList(interestType(InterestMethod.FLAT),
interestType(InterestMethod.DECLINING_BALANCE));
@Override return allowedRepaymentScheduleCalculationMethods;
public List<EnumOptionData> retrieveLoanInterestRateCalculatedInPeriodOptions() { }
List<EnumOptionData> allowedOptions = Arrays @Override
.asList(interestCalculationPeriodType(InterestCalculationPeriodMethod.DAILY), public List<EnumOptionData> retrieveLoanInterestRateCalculatedInPeriodOptions() {
interestCalculationPeriodType(InterestCalculationPeriodMethod.SAME_AS_REPAYMENT_PERIOD));
return allowedOptions; List<EnumOptionData> allowedOptions = Arrays.asList(interestCalculationPeriodType(InterestCalculationPeriodMethod.DAILY),
} interestCalculationPeriodType(InterestCalculationPeriodMethod.SAME_AS_REPAYMENT_PERIOD));
@Override
public List<EnumOptionData> retrieveLoanTermFrequencyTypeOptions() {
List<EnumOptionData> loanTermFrequencyOptions = Arrays.asList(
loanTermFrequencyType(PeriodFrequencyType.DAYS),
loanTermFrequencyType(PeriodFrequencyType.WEEKS),
loanTermFrequencyType(PeriodFrequencyType.MONTHS),
loanTermFrequencyType(PeriodFrequencyType.YEARS));
return loanTermFrequencyOptions;
}
@Override return allowedOptions;
public List<EnumOptionData> retrieveRepaymentFrequencyTypeOptions() { }
List<EnumOptionData> repaymentFrequencyOptions = Arrays.asList( @Override
repaymentFrequencyType(PeriodFrequencyType.DAYS), public List<EnumOptionData> retrieveLoanTermFrequencyTypeOptions() {
repaymentFrequencyType(PeriodFrequencyType.WEEKS), List<EnumOptionData> loanTermFrequencyOptions = Arrays.asList(loanTermFrequencyType(PeriodFrequencyType.DAYS),
repaymentFrequencyType(PeriodFrequencyType.MONTHS)); loanTermFrequencyType(PeriodFrequencyType.WEEKS), loanTermFrequencyType(PeriodFrequencyType.MONTHS),
return repaymentFrequencyOptions; loanTermFrequencyType(PeriodFrequencyType.YEARS));
} return loanTermFrequencyOptions;
}
@Override @Override
public List<EnumOptionData> retrieveInterestRateFrequencyTypeOptions() { public List<EnumOptionData> retrieveRepaymentFrequencyTypeOptions() {
// support for monthly and annual percentage rate (MPR) and (APR)
List<EnumOptionData> interestRateFrequencyTypeOptions = Arrays.asList(
interestRateFrequencyType(PeriodFrequencyType.MONTHS),
interestRateFrequencyType(PeriodFrequencyType.YEARS));
return interestRateFrequencyTypeOptions;
}
@Override List<EnumOptionData> repaymentFrequencyOptions = Arrays.asList(repaymentFrequencyType(PeriodFrequencyType.DAYS),
public Collection<TransactionProcessingStrategyData> retreiveTransactionProcessingStrategies() { repaymentFrequencyType(PeriodFrequencyType.WEEKS), repaymentFrequencyType(PeriodFrequencyType.MONTHS));
return repaymentFrequencyOptions;
Collection<TransactionProcessingStrategyData> strategyOptions = new ArrayList<TransactionProcessingStrategyData>(); }
List<LoanTransactionProcessingStrategy> strategies = this.loanTransactionProcessingStrategyRepository.findAll(); @Override
for (LoanTransactionProcessingStrategy strategy : strategies) { public List<EnumOptionData> retrieveInterestRateFrequencyTypeOptions() {
strategyOptions.add(strategy.toData()); // support for monthly and annual percentage rate (MPR) and (APR)
} List<EnumOptionData> interestRateFrequencyTypeOptions = Arrays.asList(interestRateFrequencyType(PeriodFrequencyType.MONTHS),
interestRateFrequencyType(PeriodFrequencyType.YEARS));
return strategyOptions; return interestRateFrequencyTypeOptions;
} }
@Override
public Collection<TransactionProcessingStrategyData> retreiveTransactionProcessingStrategies() {
Collection<TransactionProcessingStrategyData> strategyOptions = new ArrayList<TransactionProcessingStrategyData>();
List<LoanTransactionProcessingStrategy> strategies = this.loanTransactionProcessingStrategyRepository.findAll();
for (LoanTransactionProcessingStrategy strategy : strategies) {
strategyOptions.add(strategy.toData());
}
return strategyOptions;
}
@Override @Override
public List<EnumOptionData> retrieveAccountingRuleTypeOptions() { public List<EnumOptionData> retrieveAccountingRuleTypeOptions() {
List<EnumOptionData> accountingRuleTypeOptions = Arrays.asList(accountingRuleType(AccountingRuleType.NONE), List<EnumOptionData> accountingRuleTypeOptions = Arrays.asList(accountingRuleType(AccountingRuleType.NONE),
accountingRuleType(AccountingRuleType.CASH_BASED),accountingRuleType(AccountingRuleType.ACCRUAL_BASED)); accountingRuleType(AccountingRuleType.CASH_BASED), accountingRuleType(AccountingRuleType.ACCRUAL_BASED));
return accountingRuleTypeOptions; return accountingRuleTypeOptions;
} }
@Override
public List<EnumOptionData> retrievePaymentTypeOptions() {
return LoanEnumerations.paymentTypes(PaymentType.values());
}
} }
@@ -5,6 +5,9 @@
*/ */
package org.mifosplatform.portfolio.loanproduct.service; package org.mifosplatform.portfolio.loanproduct.service;
import java.util.ArrayList;
import java.util.List;
import org.mifosplatform.infrastructure.core.data.EnumOptionData; import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.portfolio.loanaccount.data.LoanStatusEnumData; import org.mifosplatform.portfolio.loanaccount.data.LoanStatusEnumData;
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionEnumData; import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionEnumData;
@@ -198,6 +201,20 @@ public class LoanEnumerations {
return optionData; return optionData;
} }
public static List<EnumOptionData> paymentTypes(final PaymentType[] paymentTypes) {
final List<EnumOptionData> optionDatas = new ArrayList<EnumOptionData>();
for (final PaymentType paymentType : paymentTypes) {
optionDatas.add(paymentType(paymentType));
}
return optionDatas;
}
public static EnumOptionData paymentType(final PaymentType paymentType) {
final EnumOptionData optionData = new EnumOptionData(paymentType.getValue().longValue(), paymentType.getCode(),
paymentType.toString());
return optionData;
}
public static EnumOptionData paymentType(final Integer id) { public static EnumOptionData paymentType(final Integer id) {
PaymentType paymentType = PaymentType.fromInt(id); PaymentType paymentType = PaymentType.fromInt(id);
EnumOptionData enumOptionData = new EnumOptionData(paymentType.getValue().longValue(), paymentType.getCode(), paymentType EnumOptionData enumOptionData = new EnumOptionData(paymentType.getValue().longValue(), paymentType.getCode(), paymentType