Search in sources :

Example 1 with CustomerHierarchyDto

use of org.mifos.dto.screen.CustomerHierarchyDto in project head by mifos.

the class CustomerSearchServiceFacadeWebTier method search.

@Override
public CustomerHierarchyDto search(String searchString, Short officeId, int pageNumber, int pageSize, SearchFiltersDto filters) {
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    UserContext userContext = new UserContextFactory().create(user);
    if (searchString == null) {
        throw new MifosRuntimeException(CenterConstants.NO_SEARCH_STRING);
    }
    String normalisedSearchString = org.mifos.framework.util.helpers.SearchUtils.normalizeSearchString(searchString);
    if (normalisedSearchString.equals("")) {
        throw new MifosRuntimeException(CenterConstants.NO_SEARCH_STRING);
    }
    CustomerHierarchyDto customerHierarchyDto = new CustomerHierarchyDto();
    QueryResult searchResult = null;
    List<CustomerSearchDto> resultList = null;
    try {
        searchResult = new CustomerPersistence().search(normalisedSearchString, officeId, userContext.getId(), userContext.getBranchId(), filters);
    } catch (PersistenceException e) {
        throw new MifosRuntimeException(e);
    }
    try {
        resultList = searchResult.get(pageNumber, pageSize);
        customerHierarchyDto.setSize(searchResult.getSize());
        customerHierarchyDto.setSearchResultSize(resultList.size());
    } catch (HibernateSearchException e) {
        throw new MifosRuntimeException(e);
    }
    /* FIXME: QueryResult.get returns CustomerSearchDto with messed up customers and accounts data.
		 */
    for (CustomerSearchDto customerSearchDto : resultList) {
        if (customerSearchDto.getCustomerType() == 1) {
            ClientSearchResultDto clientSearchResultDto = new ClientSearchResultDto();
            clientSearchResultDto.setOfficeId(customerSearchDto.getOfficeId());
            clientSearchResultDto.setOfficeName(customerSearchDto.getOfficeName());
            /* QueryResult.get returns CustomerSearchDto (as Client) with clientName as centerName, 
        		 * clientGobalCustNum as centerGobalCustNum and vice versa 
        		 */
            clientSearchResultDto.setClientName(customerSearchDto.getCenterName());
            clientSearchResultDto.setClientGlobalCustNum(customerSearchDto.getCenterGlobalCustNum());
            clientSearchResultDto.setGroupName(customerSearchDto.getGroupName());
            clientSearchResultDto.setGroupGlobalCustNum(customerSearchDto.getGroupGlobalCustNum());
            clientSearchResultDto.setCenterName(customerSearchDto.getClientName());
            clientSearchResultDto.setCenterGlobalCustNum(customerSearchDto.getClientGlobalCustNum());
            clientSearchResultDto.setBranchName(customerSearchDto.getBranchName());
            clientSearchResultDto.setBranchId(customerSearchDto.getBranchGlobalNum());
            clientSearchResultDto.setCustomerStatusId(customerSearchDto.getCustomerStatus());
            clientSearchResultDto.setLoanOfficerName(customerSearchDto.getLoanOfficerName());
            clientSearchResultDto.setLoanOfficerId(customerSearchDto.getLoanOffcerGlobalNum());
            for (Object loanGlobalAccount : customerSearchDto.getLoanGlobalAccountNum()) {
                String accountStr = (String) loanGlobalAccount;
                clientSearchResultDto.getLoanGlobalAccountNum().add(accountStr);
                clientSearchResultDto.getLoanGlobalAccountStateIds().put(accountStr, loanDao.findByGlobalAccountNum(accountStr).getAccountState().getId());
            }
            for (Object savingGlobalAccount : customerSearchDto.getSavingsGlobalAccountNum()) {
                String accountStr = (String) savingGlobalAccount;
                clientSearchResultDto.getSavingsGlobalAccountNum().add(accountStr);
                clientSearchResultDto.getSavingsGlobalAccountStateIds().put(accountStr, savingsDao.findBySystemId(accountStr).getState().getValue());
            }
            for (Object groupLoanAccount : customerSearchDto.getGroupLoanGlobalAccountNum()) {
                String accountStr = (String) groupLoanAccount;
                clientSearchResultDto.getGroupLoanGlobalAccountNum().add(accountStr);
                clientSearchResultDto.getGroupLoanGlobalAccountStateIds().put(accountStr, loanDao.findByGlobalAccountNum(accountStr).getAccountState().getId());
            }
            clientSearchResultDto.setStatus(customerSearchDto.getStatus());
            customerHierarchyDto.getClients().add(clientSearchResultDto);
        } else if (customerSearchDto.getCustomerType() == 2) {
            GroupSearchResultDto groupSearchResultDto = new GroupSearchResultDto();
            groupSearchResultDto.setOfficeId(customerSearchDto.getOfficeId());
            groupSearchResultDto.setOfficeName(customerSearchDto.getOfficeName());
            /* QueryResult.get returns CustomerSearchDto (as Group) with groupName as centerName, 
        		 * groupGobalCustNum as centerGobalCustNum and vice versa 
        		 */
            groupSearchResultDto.setGroupName(customerSearchDto.getCenterName());
            groupSearchResultDto.setGroupGlobalCustNum(customerSearchDto.getCenterGlobalCustNum());
            groupSearchResultDto.setCenterName(customerSearchDto.getGroupName());
            groupSearchResultDto.setCenterGlobalCustNum(customerSearchDto.getGroupGlobalCustNum());
            groupSearchResultDto.setBranchName(customerSearchDto.getBranchName());
            groupSearchResultDto.setBranchId(customerSearchDto.getBranchGlobalNum());
            groupSearchResultDto.setCustomerStatusId(customerSearchDto.getCustomerStatus());
            groupSearchResultDto.setLoanOfficerName(customerSearchDto.getLoanOfficerName());
            groupSearchResultDto.setLoanOfficerId(customerSearchDto.getLoanOffcerGlobalNum());
            for (Object loanGlobalAccount : customerSearchDto.getLoanGlobalAccountNum()) {
                String accountStr = (String) loanGlobalAccount;
                groupSearchResultDto.getLoanGlobalAccountNum().add(accountStr);
                groupSearchResultDto.getLoanGlobalAccountStateIds().put(accountStr, loanDao.findByGlobalAccountNum(accountStr).getAccountState().getId());
            }
            for (Object savingGlobalAccount : customerSearchDto.getSavingsGlobalAccountNum()) {
                String accountStr = (String) savingGlobalAccount;
                groupSearchResultDto.getSavingsGlobalAccountNum().add(accountStr);
                groupSearchResultDto.getSavingsGlobalAccountStateIds().put(accountStr, savingsDao.findBySystemId(accountStr).getState().getValue());
            }
            for (Object groupLoanAccount : customerSearchDto.getGroupLoanGlobalAccountNum()) {
                String accountStr = (String) groupLoanAccount;
                groupSearchResultDto.getGroupLoanGlobalAccountNum().add(accountStr);
                groupSearchResultDto.getGroupLoanGlobalAccountStateIds().put(accountStr, loanDao.findByGlobalAccountNum(accountStr).getAccountState().getId());
            }
            groupSearchResultDto.setStatus(customerSearchDto.getStatus());
            customerHierarchyDto.getGroups().add(groupSearchResultDto);
        } else if (customerSearchDto.getCustomerType() == 3) {
            CenterSearchResultDto centerSearchResultDto = new CenterSearchResultDto();
            centerSearchResultDto.setOfficeId(customerSearchDto.getOfficeId());
            centerSearchResultDto.setOfficeName(customerSearchDto.getOfficeName());
            centerSearchResultDto.setCenterName(customerSearchDto.getCenterName());
            centerSearchResultDto.setCenterGlobalCustNum(customerSearchDto.getCenterGlobalCustNum());
            centerSearchResultDto.setBranchName(customerSearchDto.getBranchName());
            centerSearchResultDto.setBranchId(customerSearchDto.getBranchGlobalNum());
            centerSearchResultDto.setCustomerStatusId(customerSearchDto.getCustomerStatus());
            centerSearchResultDto.setLoanOfficerName(customerSearchDto.getLoanOfficerName());
            centerSearchResultDto.setLoanOfficerId(customerSearchDto.getLoanOffcerGlobalNum());
            for (Object savingGlobalAccount : customerSearchDto.getSavingsGlobalAccountNum()) {
                String accountStr = (String) savingGlobalAccount;
                centerSearchResultDto.getSavingsGlobalAccountNum().add(accountStr);
                centerSearchResultDto.getSavingsGlobalAccountStateIds().put(accountStr, savingsDao.findBySystemId(accountStr).getState().getValue());
            }
            centerSearchResultDto.setStatus(customerSearchDto.getStatus());
            customerHierarchyDto.getCenters().add(centerSearchResultDto);
        } else if (customerSearchDto.getLoanGlobalAccountNumber() != null && (customerSearchDto.getCustomerType() == 5 || customerSearchDto.getCustomerType() == 4 || customerSearchDto.getCustomerType() == 9) || customerSearchDto.getCustomerType() == 10) {
            LoanAccountSearchResultDto loanAccountSearchResultDto = new LoanAccountSearchResultDto();
            loanAccountSearchResultDto.setLoanGlobalAccountNum(customerSearchDto.getLoanGlobalAccountNumber());
            loanAccountSearchResultDto.setOfficeId(customerSearchDto.getOfficeId());
            loanAccountSearchResultDto.setOfficeName(customerSearchDto.getOfficeName());
            loanAccountSearchResultDto.setBranchName(customerSearchDto.getBranchName());
            loanAccountSearchResultDto.setBranchId(customerSearchDto.getBranchGlobalNum());
            loanAccountSearchResultDto.setAccountStatusId(customerSearchDto.getCustomerStatus());
            loanAccountSearchResultDto.setLoanOfficerName(customerSearchDto.getLoanOfficerName());
            loanAccountSearchResultDto.setLoanOfficerId(customerSearchDto.getLoanOffcerGlobalNum());
            //new group loan group or client account
            if (customerSearchDto.getCustomerType() == 9 || customerSearchDto.getCustomerType() == 10) {
                loanAccountSearchResultDto.setGroupLoan(Boolean.TRUE);
                loanAccountSearchResultDto.setAccountStatusId(AccountTypes.GROUP_LOAN_ACCOUNT.getValue());
            }
            if (customerSearchDto.getClientGlobalCustNum() != null) {
                loanAccountSearchResultDto.setCenterName(customerSearchDto.getClientName());
                loanAccountSearchResultDto.setCenterGlobalCustNum(customerSearchDto.getClientGlobalCustNum());
                loanAccountSearchResultDto.setClientName(customerSearchDto.getCenterName());
                loanAccountSearchResultDto.setClientGlobalCustNum(customerSearchDto.getCenterGlobalCustNum());
                loanAccountSearchResultDto.setGroupName(customerSearchDto.getGroupName());
                loanAccountSearchResultDto.setGroupGlobalCustNum(customerSearchDto.getGroupGlobalCustNum());
            } else if (customerSearchDto.getCustomerType() == 5 || customerSearchDto.getCustomerType() == 9) {
                loanAccountSearchResultDto.setGroupName(customerSearchDto.getCenterName());
                loanAccountSearchResultDto.setGroupGlobalCustNum(customerSearchDto.getCenterGlobalCustNum());
                loanAccountSearchResultDto.setCenterName(customerSearchDto.getGroupName());
                loanAccountSearchResultDto.setCenterGlobalCustNum(customerSearchDto.getGroupGlobalCustNum());
            } else {
                loanAccountSearchResultDto.setClientName(customerSearchDto.getCenterName());
                loanAccountSearchResultDto.setClientGlobalCustNum(customerSearchDto.getCenterGlobalCustNum());
                loanAccountSearchResultDto.setGroupName(customerSearchDto.getClientName());
                loanAccountSearchResultDto.setGroupGlobalCustNum(customerSearchDto.getClientGlobalCustNum());
                loanAccountSearchResultDto.setCenterName(customerSearchDto.getGroupName());
                loanAccountSearchResultDto.setCenterGlobalCustNum(customerSearchDto.getGroupGlobalCustNum());
            }
            loanAccountSearchResultDto.setStatus(customerSearchDto.getStatus());
            customerHierarchyDto.setLoan(loanAccountSearchResultDto);
        } else if (customerSearchDto.getLoanGlobalAccountNumber() != null || customerSearchDto.getCustomerType() == 6) {
            SavingsAccountSearchResultDto savingsAccountSearchResultDto = new SavingsAccountSearchResultDto();
            savingsAccountSearchResultDto.setSavingsGlobalAccountNum(customerSearchDto.getLoanGlobalAccountNumber());
            savingsAccountSearchResultDto.setOfficeId(customerSearchDto.getOfficeId());
            savingsAccountSearchResultDto.setOfficeName(customerSearchDto.getOfficeName());
            savingsAccountSearchResultDto.setBranchName(customerSearchDto.getBranchName());
            savingsAccountSearchResultDto.setBranchId(customerSearchDto.getBranchGlobalNum());
            savingsAccountSearchResultDto.setAccountStatusId(customerSearchDto.getCustomerStatus());
            savingsAccountSearchResultDto.setLoanOfficerName(customerSearchDto.getLoanOfficerName());
            savingsAccountSearchResultDto.setLoanOfficerId(customerSearchDto.getLoanOffcerGlobalNum());
            if (customerSearchDto.getClientGlobalCustNum() != null) {
                savingsAccountSearchResultDto.setCenterName(customerSearchDto.getClientName());
                savingsAccountSearchResultDto.setCenterGlobalCustNum(customerSearchDto.getClientGlobalCustNum());
                savingsAccountSearchResultDto.setClientName(customerSearchDto.getCenterName());
                savingsAccountSearchResultDto.setClientGlobalCustNum(customerSearchDto.getCenterGlobalCustNum());
                savingsAccountSearchResultDto.setGroupName(customerSearchDto.getGroupName());
                savingsAccountSearchResultDto.setGroupGlobalCustNum(customerSearchDto.getGroupGlobalCustNum());
            } else if (customerSearchDto.getGroupGlobalCustNum() != null) {
                savingsAccountSearchResultDto.setClientName(customerSearchDto.getClientName());
                savingsAccountSearchResultDto.setClientGlobalCustNum(customerSearchDto.getClientGlobalCustNum());
                savingsAccountSearchResultDto.setGroupName(customerSearchDto.getCenterName());
                savingsAccountSearchResultDto.setGroupGlobalCustNum(customerSearchDto.getCenterGlobalCustNum());
                savingsAccountSearchResultDto.setCenterName(customerSearchDto.getGroupName());
                savingsAccountSearchResultDto.setCenterGlobalCustNum(customerSearchDto.getGroupGlobalCustNum());
            } else {
                savingsAccountSearchResultDto.setCenterName(customerSearchDto.getCenterName());
                savingsAccountSearchResultDto.setCenterGlobalCustNum(customerSearchDto.getCenterGlobalCustNum());
            }
            savingsAccountSearchResultDto.setStatus(customerSearchDto.getStatus());
            customerHierarchyDto.setSavings(savingsAccountSearchResultDto);
        }
    }
    return customerHierarchyDto;
}
Also used : SavingsAccountSearchResultDto(org.mifos.dto.screen.SavingsAccountSearchResultDto) UserContext(org.mifos.security.util.UserContext) HibernateSearchException(org.mifos.framework.exceptions.HibernateSearchException) LoanAccountSearchResultDto(org.mifos.dto.screen.LoanAccountSearchResultDto) MifosUser(org.mifos.security.MifosUser) UserContextFactory(org.mifos.accounts.servicefacade.UserContextFactory) CenterSearchResultDto(org.mifos.dto.screen.CenterSearchResultDto) ClientSearchResultDto(org.mifos.dto.screen.ClientSearchResultDto) QueryResult(org.mifos.framework.hibernate.helper.QueryResult) CustomerHierarchyDto(org.mifos.dto.screen.CustomerHierarchyDto) PersistenceException(org.mifos.framework.exceptions.PersistenceException) CustomerSearchDto(org.mifos.customers.business.CustomerSearchDto) CustomerPersistence(org.mifos.customers.persistence.CustomerPersistence) GroupSearchResultDto(org.mifos.dto.screen.GroupSearchResultDto) MifosRuntimeException(org.mifos.core.MifosRuntimeException)

Example 2 with CustomerHierarchyDto

use of org.mifos.dto.screen.CustomerHierarchyDto in project head by mifos.

the class SearchResultController method getSearchResultAjaxData.

@RequestMapping(value = "/searchResultAjaxData", method = RequestMethod.GET)
public ModelAndView getSearchResultAjaxData(HttpServletResponse response, @ModelAttribute("customerSearch") CustomerSearchFormBean customerSearchFormBean, @RequestParam(required = false) String sEcho, @RequestParam Integer iDisplayStart, @RequestParam Integer iDisplayLength) throws PersistenceException {
    ModelAndView modelAndView = new ModelAndView("searchResultAjaxData");
    CustomerHierarchyDto customerHierarchyDto = new CustomerHierarchyDto();
    boolean isCenterHierarchyExists = configurationServiceFacade.getBooleanConfig("ClientRules.CenterHierarchyExists");
    modelAndView.addObject("isCenterHierarchyExists", isCenterHierarchyExists);
    HashMap<String, ArrayList<CustomerStatusDetailDto>> customerStates = new HashMap<String, ArrayList<CustomerStatusDetailDto>>();
    customerStates.putAll(customerSearchServiceFacade.getAvailibleCustomerStates());
    modelAndView.addObject("availibleCustomerStates", customerStates);
    List<ValueListElement> availibleClientGenders = clientServiceFacade.getClientGenders();
    modelAndView.addObject("availibleClientGenders", availibleClientGenders);
    if (customerSearchFormBean.getSearchString() != null && !customerSearchFormBean.getSearchString().isEmpty()) {
        customerHierarchyDto = customerSearchServiceFacade.search(customerSearchFormBean.getSearchString(), customerSearchFormBean.getOfficeId(), iDisplayStart, iDisplayLength, customerSearchFormBean.getFilters());
    }
    if (sEcho != null) {
        modelAndView.addObject("sEcho", sEcho);
    }
    modelAndView.addObject("customerHierarchy", customerHierarchyDto);
    modelAndView.addObject("iDisplayStart", iDisplayStart);
    modelAndView.addObject("iDisplayLength", iDisplayLength);
    return modelAndView;
}
Also used : CustomerStatusDetailDto(org.mifos.dto.screen.CustomerStatusDetailDto) HashMap(java.util.HashMap) ModelAndView(org.springframework.web.servlet.ModelAndView) CustomerHierarchyDto(org.mifos.dto.screen.CustomerHierarchyDto) ArrayList(java.util.ArrayList) ValueListElement(org.mifos.dto.domain.ValueListElement) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 3 with CustomerHierarchyDto

use of org.mifos.dto.screen.CustomerHierarchyDto in project head by mifos.

the class SearchResultController method legacyShowSearchResults.

@RequestMapping(value = "/legacySearchResult", method = { RequestMethod.POST, RequestMethod.GET })
public ModelAndView legacyShowSearchResults(HttpServletRequest request, @ModelAttribute("customerSearch") @Valid CustomerSearchFormBean customerSearchFormBean, BindingResult result) throws PersistenceException {
    ModelAndView modelAndView = new ModelAndView();
    sitePreferenceHelper.resolveSiteType(modelAndView, "legacySearchResult", request);
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    CustomerHierarchyDto customerHierarchyDto = null;
    List<OfficeDto> officeDtoList = officeServiceFacade.retrieveActiveBranchesUnderUser((short) user.getUserId());
    Map<String, String> officesMap = new HashMap<String, String>();
    for (OfficeDto officeDto : officeDtoList) {
        officesMap.put(officeDto.getId().toString(), officeDto.getName());
    }
    customerSearchFormBean.setOffices(officesMap);
    boolean isCenterHierarchyExists = configurationServiceFacade.getBooleanConfig("ClientRules.CenterHierarchyExists");
    modelAndView.addObject("isCenterHierarchyExists", isCenterHierarchyExists);
    HashMap<String, ArrayList<CustomerStatusDetailDto>> customerStates = new HashMap<String, ArrayList<CustomerStatusDetailDto>>();
    customerStates.putAll(customerSearchServiceFacade.getAvailibleCustomerStates());
    modelAndView.addObject("availibleCustomerStates", customerStates);
    List<ValueListElement> availibleClientGenders = clientServiceFacade.getClientGenders();
    modelAndView.addObject("availibleClientGenders", availibleClientGenders);
    if (result.hasErrors()) {
        return modelAndView;
    }
    int currentPage = 0;
    if (request.getParameter("currentPage") != null) {
        currentPage = new Integer(request.getParameter("currentPage")).intValue();
    }
    modelAndView.addObject("customerSearch", customerSearchFormBean);
    if (customerSearchFormBean.getFilters() == null) {
        customerSearchFormBean.setFilters(new SearchFiltersDto());
    }
    customerHierarchyDto = customerSearchServiceFacade.search(customerSearchFormBean.getSearchString(), customerSearchFormBean.getOfficeId(), currentPage * PAGE_SIZE, PAGE_SIZE, customerSearchFormBean.getFilters());
    boolean prevPageAvailable = false;
    if (currentPage > 0) {
        prevPageAvailable = true;
    }
    boolean nextPageAvailable = false;
    if (customerHierarchyDto.getSize() / PAGE_SIZE > 0 && customerHierarchyDto.getSize() / PAGE_SIZE >= currentPage + 1) {
        nextPageAvailable = true;
    }
    modelAndView.addObject("isPrevPageAvailable", prevPageAvailable);
    modelAndView.addObject("isNextPageAvailable", nextPageAvailable);
    modelAndView.addObject("currentPage", currentPage);
    modelAndView.addObject("pageSize", PAGE_SIZE);
    modelAndView.addObject("customerHierarchy", customerHierarchyDto);
    return modelAndView;
}
Also used : OfficeDto(org.mifos.dto.domain.OfficeDto) CustomerStatusDetailDto(org.mifos.dto.screen.CustomerStatusDetailDto) HashMap(java.util.HashMap) ModelAndView(org.springframework.web.servlet.ModelAndView) ArrayList(java.util.ArrayList) MifosUser(org.mifos.security.MifosUser) SearchFiltersDto(org.mifos.dto.screen.SearchFiltersDto) CustomerHierarchyDto(org.mifos.dto.screen.CustomerHierarchyDto) ValueListElement(org.mifos.dto.domain.ValueListElement) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 4 with CustomerHierarchyDto

use of org.mifos.dto.screen.CustomerHierarchyDto in project head by mifos.

the class SearchResultController method showSearchResults.

@RequestMapping(value = "/searchResult", method = { RequestMethod.POST, RequestMethod.GET })
public ModelAndView showSearchResults(HttpServletRequest request, @ModelAttribute("customerSearch") @Valid CustomerSearchFormBean customerSearchFormBean, BindingResult result) throws PersistenceException {
    ModelAndView modelAndView = new ModelAndView();
    sitePreferenceHelper.resolveSiteType(modelAndView, "searchResult", request);
    // mobile search result view doesn't use ajax search
    if (sitePreferenceHelper.isMobile(request)) {
        return legacyShowSearchResults(request, customerSearchFormBean, result);
    }
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    List<OfficeDto> officeDtoList = officeServiceFacade.retrieveActiveBranchesUnderUser((short) user.getUserId());
    Map<String, String> officesMap = new HashMap<String, String>();
    for (OfficeDto officeDto : officeDtoList) {
        officesMap.put(officeDto.getId().toString(), officeDto.getName());
    }
    customerSearchFormBean.setOffices(officesMap);
    modelAndView.addObject("customerSearch", customerSearchFormBean);
    boolean isCenterHierarchyExists = configurationServiceFacade.getBooleanConfig("ClientRules.CenterHierarchyExists");
    modelAndView.addObject("isCenterHierarchyExists", isCenterHierarchyExists);
    HashMap<String, ArrayList<CustomerStatusDetailDto>> customerStates = new HashMap<String, ArrayList<CustomerStatusDetailDto>>();
    customerStates.putAll(customerSearchServiceFacade.getAvailibleCustomerStates());
    modelAndView.addObject("availibleCustomerStates", customerStates);
    List<ValueListElement> availibleClientGenders = clientServiceFacade.getClientGenders();
    modelAndView.addObject("availibleClientGenders", availibleClientGenders);
    if (result.hasErrors()) {
        return modelAndView;
    }
    CustomerHierarchyDto customerHierarchyDto = new CustomerHierarchyDto();
    if (customerSearchFormBean.getFilters() == null) {
        customerSearchFormBean.setFilters(new SearchFiltersDto());
    }
    if (customerSearchFormBean.getSearchString() != null && !customerSearchFormBean.getSearchString().isEmpty()) {
        customerHierarchyDto = customerSearchServiceFacade.search(customerSearchFormBean.getSearchString(), customerSearchFormBean.getOfficeId(), 0, 10, customerSearchFormBean.getFilters());
    }
    modelAndView.addObject("customerHierarchy", customerHierarchyDto);
    modelAndView.addObject("startIndex", 0);
    return modelAndView;
}
Also used : OfficeDto(org.mifos.dto.domain.OfficeDto) CustomerStatusDetailDto(org.mifos.dto.screen.CustomerStatusDetailDto) HashMap(java.util.HashMap) ModelAndView(org.springframework.web.servlet.ModelAndView) ArrayList(java.util.ArrayList) MifosUser(org.mifos.security.MifosUser) SearchFiltersDto(org.mifos.dto.screen.SearchFiltersDto) CustomerHierarchyDto(org.mifos.dto.screen.CustomerHierarchyDto) ValueListElement(org.mifos.dto.domain.ValueListElement) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

CustomerHierarchyDto (org.mifos.dto.screen.CustomerHierarchyDto)4 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 ValueListElement (org.mifos.dto.domain.ValueListElement)3 CustomerStatusDetailDto (org.mifos.dto.screen.CustomerStatusDetailDto)3 MifosUser (org.mifos.security.MifosUser)3 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)3 ModelAndView (org.springframework.web.servlet.ModelAndView)3 OfficeDto (org.mifos.dto.domain.OfficeDto)2 SearchFiltersDto (org.mifos.dto.screen.SearchFiltersDto)2 UserContextFactory (org.mifos.accounts.servicefacade.UserContextFactory)1 MifosRuntimeException (org.mifos.core.MifosRuntimeException)1 CustomerSearchDto (org.mifos.customers.business.CustomerSearchDto)1 CustomerPersistence (org.mifos.customers.persistence.CustomerPersistence)1 CenterSearchResultDto (org.mifos.dto.screen.CenterSearchResultDto)1 ClientSearchResultDto (org.mifos.dto.screen.ClientSearchResultDto)1 GroupSearchResultDto (org.mifos.dto.screen.GroupSearchResultDto)1 LoanAccountSearchResultDto (org.mifos.dto.screen.LoanAccountSearchResultDto)1 SavingsAccountSearchResultDto (org.mifos.dto.screen.SavingsAccountSearchResultDto)1 HibernateSearchException (org.mifos.framework.exceptions.HibernateSearchException)1