use of org.mifos.customers.util.helpers.CustomerAccountDto in project head by mifos.
the class ProductDtoComparator method createEntryViewHierarchyFromCollectionSheetData.
private CollectionSheetEntryDto createEntryViewHierarchyFromCollectionSheetData(final List<CollectionSheetCustomerDto> collectionSheetCustomerHierarchy, final MifosCurrency currency) {
final int countOfCustomers = collectionSheetCustomerHierarchy.size();
CollectionSheetEntryDto parentView = null;
for (CollectionSheetCustomerDto customer : collectionSheetCustomerHierarchy) {
final CustomerDto parentCustomerDetail = new CustomerDto(customer.getCustomerId(), customer.getName(), customer.getParentCustomerId(), customer.getLevelId());
CollectionSheetEntryDto childView = new CollectionSheetEntryDto(parentCustomerDetail, currency);
childView.setAttendence(customer.getAttendanceId());
childView.setCountOfCustomers(countOfCustomers);
final Integer accountId = customer.getCollectionSheetCustomerAccount().getAccountId();
final Integer customerId = customer.getCustomerId();
final Short installmentId = null;
final Integer actionDateId = null;
final Date actionDate = null;
final Money miscFee = new Money(currency, customer.getCollectionSheetCustomerAccount().getTotalCustomerAccountCollectionFee().toString());
final Money miscFeePaid = new Money(currency, "0.0");
final Money miscPenalty = new Money(currency, "0.0");
final Money miscPenaltyPaid = new Money(currency, "0.0");
final CustomerAccountDto customerAccountDetails = new CustomerAccountDto(customer.getCollectionSheetCustomerAccount().getAccountId(), customer.getCustomerId(), currency);
customerAccountDetails.setAccountId(customer.getCollectionSheetCustomerAccount().getAccountId());
// we only create one installment fee and set the total amount due
// in the miscFee column for now
final CollectionSheetEntryInstallmentDto installmentView = new CollectionSheetEntryCustomerAccountInstallmentDto(accountId, customerId, installmentId, actionDateId, actionDate, miscFee, miscFeePaid, miscPenalty, miscPenaltyPaid, currency);
final List<CollectionSheetEntryInstallmentDto> installmentViewList = java.util.Arrays.asList(installmentView);
customerAccountDetails.setAccountActionDates(installmentViewList);
childView.setCustomerAccountDetails(customerAccountDetails);
// saving accounts
for (CollectionSheetCustomerSavingDto customerSavingDto : customer.getCollectionSheetCustomerSaving()) {
final Integer savCustomerId = customerSavingDto.getCustomerId();
final Integer savAccountId = customerSavingDto.getAccountId();
final String savingProductShortName = customerSavingDto.getProductShortName();
final Short savOfferingId = customerSavingDto.getProductId();
final Short savingsTypeId = Short.valueOf("1");
final Short recommendedAmntUnitId = customerSavingDto.getRecommendedAmountUnitId();
final SavingsAccountDto savingsAccount = new SavingsAccountDto(savAccountId, savCustomerId, savingProductShortName, savOfferingId, savingsTypeId, recommendedAmntUnitId);
final Short savInstallmentId = null;
final Integer savActionDateId = null;
final Date savActionDate = null;
final Money savDeposit = new Money(currency, customerSavingDto.getTotalDepositAmount().toString());
final Money savDepositPaid = new Money(currency, "0.0");
final CollectionSheetEntryInstallmentDto accountTrxnDetail = new CollectionSheetEntrySavingsInstallmentDto(savAccountId, savCustomerId, savInstallmentId, savActionDateId, savActionDate, savDeposit, savDepositPaid);
savingsAccount.addAccountTrxnDetail(accountTrxnDetail);
childView.addSavingsAccountDetail(savingsAccount);
}
// special savings accounts to be paid individually by clients
for (CollectionSheetCustomerSavingDto clientIndividualSavingsAccount : customer.getIndividualSavingAccounts()) {
final Integer savCustomerId = clientIndividualSavingsAccount.getCustomerId();
final Integer savAccountId = clientIndividualSavingsAccount.getAccountId();
final String savingProductShortName = clientIndividualSavingsAccount.getProductShortName();
final Short savOfferingId = clientIndividualSavingsAccount.getProductId();
final Short savingsTypeId = Short.valueOf("1");
final Short recommendedAmntUnitId = Short.valueOf("1");
final SavingsAccountDto savingsAccount = new SavingsAccountDto(savAccountId, savCustomerId, savingProductShortName, savOfferingId, savingsTypeId, recommendedAmntUnitId);
final Short savInstallmentId = null;
final Integer savActionDateId = null;
final Date savActionDate = null;
final Money savDeposit = new Money(currency, clientIndividualSavingsAccount.getDepositDue().toString());
final Money savDepositPaid = new Money(currency, clientIndividualSavingsAccount.getDepositPaid().toString());
final CollectionSheetEntryInstallmentDto accountTrxnDetail = new CollectionSheetEntrySavingsInstallmentDto(savAccountId, savCustomerId, savInstallmentId, savActionDateId, savActionDate, savDeposit, savDepositPaid);
savingsAccount.addAccountTrxnDetail(accountTrxnDetail);
childView.addSavingsAccountDetail(savingsAccount);
}
// loan accounts
for (CollectionSheetCustomerLoanDto customerLoanDto : customer.getCollectionSheetCustomerLoan()) {
final Integer loanAccountId = customerLoanDto.getAccountId();
final Integer loanCustomerId = customerLoanDto.getCustomerId();
final String loanOfferingShortName = customerLoanDto.getProductShortName();
final Short loanOfferingId = customerLoanDto.getProductId();
final Short loanInstallmentId = null;
final Integer loanActionDateId = null;
final Date loanActionDate = null;
final Short loanAccountState = customerLoanDto.getAccountStateId();
final Short interestDeductedAtDisbursement = customerLoanDto.getPayInterestAtDisbursement();
final Money loanAmount = new Money(currency, customerLoanDto.getTotalDisbursement().toString());
final Money principal = new Money(currency, customerLoanDto.getTotalRepaymentDue().toString());
final LoanAccountDto loanAccount = new LoanAccountDto(loanAccountId, loanCustomerId, loanOfferingShortName, loanOfferingId, loanAccountState, interestDeductedAtDisbursement, loanAmount);
loanAccount.setAmountPaidAtDisbursement(customerLoanDto.getAmountDueAtDisbursement());
final CollectionSheetEntryInstallmentDto accountTrxnDetail = new CollectionSheetEntryLoanInstallmentDto(loanAccountId, loanCustomerId, loanInstallmentId, loanActionDateId, loanActionDate, principal, new Money(currency), new Money(currency), new Money(currency), new Money(currency), new Money(currency), new Money(currency), new Money(currency), new Money(currency), new Money(currency), currency);
loanAccount.addTrxnDetails(Arrays.asList(accountTrxnDetail));
childView.addLoanAccountDetails(loanAccount);
}
// center-group-client hierarchy
if (parentView == null) {
parentView = childView;
} else {
addChildToAppropriateParent(parentView, childView);
}
}
return parentView;
}
use of org.mifos.customers.util.helpers.CustomerAccountDto in project head by mifos.
the class BulkEntryDisplayHelperIntegrationTest method getCustomerAccountView.
private CustomerAccountDto getCustomerAccountView(final CustomerBO customer) {
CustomerAccountDto customerAccountDto = new CustomerAccountDto(customer.getCustomerAccount().getAccountId(), getCurrency());
List<AccountActionDateEntity> accountAction = new ArrayList<AccountActionDateEntity>();
accountAction.add(customer.getCustomerAccount().getAccountActionDate(Short.valueOf("1")));
customerAccountDto.setAccountActionDates(TestObjectFactory.getBulkEntryAccountActionViews(accountAction));
customerAccountDto.setCustomerAccountAmountEntered("100.0");
customerAccountDto.setValidCustomerAccountAmountEntered(true);
return customerAccountDto;
}
Aggregations