use of org.mifos.application.servicefacade.ListItem in project head by mifos.
the class ApplyAdjustment method loadAdjustment.
@TransactionDemarcate(joinToken = true)
public ActionForward loadAdjustment(ActionMapping mapping, ActionForm form, HttpServletRequest request, @SuppressWarnings("unused") HttpServletResponse response) throws Exception {
ApplyAdjustmentActionForm appAdjustActionForm = (ApplyAdjustmentActionForm) form;
AccountBO accnt = getBizService().findBySystemId(appAdjustActionForm.getGlobalAccountNum());
SessionUtils.setAttribute(Constants.BUSINESS_KEY, accnt, request);
request.setAttribute("method", "loadAdjustment");
UserContext userContext = getUserContext(request);
SessionUtils.setCollectionAttribute(MasterConstants.PAYMENT_TYPE, this.accountServiceFacade.constructPaymentTypeListForLoanRepayment(userContext.getLocaleId()), request);
AccountPaymentEntity payment = null;
if (request.getParameter(Constants.ADJ_TYPE_KEY) != null && request.getParameter(Constants.ADJ_TYPE_KEY).equals(Constants.ADJ_SPECIFIC)) {
Integer paymentId = appAdjustActionForm.getPaymentId();
payment = accnt.findPaymentById(paymentId);
AccountPaymentEntity previous = null;
AccountPaymentEntity next = null;
boolean getPrevious = false;
for (AccountPaymentEntity p : accnt.getAccountPayments()) {
if (!p.getAmount().equals(Money.zero())) {
if (getPrevious) {
previous = p;
break;
} else if (p.getPaymentId().equals(payment.getPaymentId())) {
getPrevious = true;
} else {
next = p;
}
}
}
Date previousPaymentDate = (previous == null) ? null : previous.getPaymentDate();
Date nextPaymentDate = (next == null) ? null : next.getPaymentDate();
appAdjustActionForm.setPreviousPaymentDate(previousPaymentDate);
appAdjustActionForm.setNextPaymentDate(nextPaymentDate);
SessionUtils.setAttribute(Constants.ADJUSTED_AMOUNT, payment.getAmount().getAmount(), request);
Short transferPaymentTypeId = legacyAcceptedPaymentTypeDao.getSavingsTransferId();
if (payment.getPaymentType().getId().equals(transferPaymentTypeId)) {
List<ListItem<Short>> paymentTypeList = this.accountServiceFacade.constructPaymentTypeListForLoanRepayment(userContext.getLocaleId());
for (Iterator<ListItem<Short>> it = paymentTypeList.iterator(); it.hasNext(); ) {
ListItem<Short> listItem = it.next();
if (!listItem.getId().equals(transferPaymentTypeId)) {
it.remove();
}
}
SessionUtils.setCollectionAttribute(MasterConstants.PAYMENT_TYPE, paymentTypeList, request);
} else {
SessionUtils.setCollectionAttribute(MasterConstants.PAYMENT_TYPE, this.accountServiceFacade.constructPaymentTypeListForLoanRepayment(userContext.getLocaleId()), request);
}
} else {
SessionUtils.setCollectionAttribute(MasterConstants.PAYMENT_TYPE, this.accountServiceFacade.constructPaymentTypeListForLoanRepayment(userContext.getLocaleId()), request);
payment = accnt.getLastPmntToBeAdjusted();
appAdjustActionForm.setPaymentId(null);
SessionUtils.setAttribute(Constants.ADJUSTED_AMOUNT, accnt.getLastPmntAmntToBeAdjusted(), request);
}
if (accnt.isParentGroupLoanAccount()) {
SessionUtils.setAttribute(Constants.TYPE_OF_GROUP_LOAN, "parentAcc", request);
} else if (accnt.isGroupLoanAccountMember()) {
appAdjustActionForm.setGroupLoanMember(Boolean.TRUE);
}
populateForm(appAdjustActionForm, payment);
return mapping.findForward("loadadjustment_success");
}
use of org.mifos.application.servicefacade.ListItem in project head by mifos.
the class WebTierAccountServiceFacade method constructPaymentTypeListForLoanRepayment.
@Override
public List<ListItem<Short>> constructPaymentTypeListForLoanRepayment(Short localeId) {
try {
List<PaymentTypeEntity> paymentTypeList = acceptedPaymentTypePersistence.getAcceptedPaymentTypesForATransaction(localeId, TrxnTypes.loan_repayment.getValue());
List<ListItem<Short>> listItems = new ArrayList<ListItem<Short>>();
for (PaymentTypeEntity paymentTypeEntity : paymentTypeList) {
listItems.add(new ListItem<Short>(paymentTypeEntity.getId(), paymentTypeEntity.getName()));
}
return listItems;
} catch (PersistenceException e) {
throw new MifosRuntimeException(e);
}
}
use of org.mifos.application.servicefacade.ListItem in project head by mifos.
the class BulkEntryActionStrutsTest method createDefaultCollectionSheetDto.
private CollectionSheetEntryFormDto createDefaultCollectionSheetDto() {
List<OfficeDetailsDto> activeBranches = new ArrayList<OfficeDetailsDto>();
List<ListItem<Short>> paymentTypesDtoList = new ArrayList<ListItem<Short>>();
List<CustomerDto> customerList = new ArrayList<CustomerDto>();
List<PersonnelDto> loanOfficerList = new ArrayList<PersonnelDto>();
final Short reloadFormAutomatically = Constants.YES;
final Short backDatedTransactionAllowed = Constants.NO;
final Short centerHierarchyExists = Constants.YES;
final Date meetingDate = new Date();
return new CollectionSheetEntryFormDto(activeBranches, paymentTypesDtoList, loanOfficerList, customerList, reloadFormAutomatically, centerHierarchyExists, backDatedTransactionAllowed, meetingDate);
}
use of org.mifos.application.servicefacade.ListItem in project head by mifos.
the class LoanRepaymentController method retrievePaymentTypes.
//called by spring webflow
public Map<String, String> retrievePaymentTypes() {
MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
List<ListItem<Short>> paymentTypes = this.accountServiceFacade.constructPaymentTypeListForLoanRepayment(user.getPreferredLocaleId());
Map<String, String> result = new HashMap<String, String>();
for (ListItem<Short> listItem : paymentTypes) {
result.put(String.valueOf(listItem.getId()), listItem.getDisplayValue());
}
return result;
}
Aggregations