class VisualizarListaEsperaON extends BaseBusiness {

	public List<ListaEsperaVO> recuperarListaPaginada(Integer firstResult, Integer maxResult, String orderProperty, boolean asc, PortalPesquisaCirurgiasParametrosVO parametros) throws ApplicationBusinessException {
		List<MbcAgendas> listaAgendas = new ArrayList<MbcAgendas>();
		List<ListaEsperaVO> listaEspera = new ArrayList<ListaEsperaVO>();
		if (orderProperty == null || ListaEsperaVO.getFieldByDesc(orderProperty) == null) {
			listaAgendas = getMbcAgendasDAO().listarAgendasListaEspera(firstResult,maxResult,orderProperty,asc,parametros);
		} else {
			listaAgendas = getMbcAgendasDAO().listarAgendasListaEspera(parametros);
		}
		for (MbcAgendas agenda : listaAgendas) {
			ListaEsperaVO vo = new ListaEsperaVO();
			vo.setRegime(agenda.getRegime());
			vo.setDthrInclusao(agenda.getDthrInclusao());
			vo.setSeq(agenda.getSeq());
			// ... o BeanUtils.copyProperties(agenda,vo) não funcionou então fiz a cópia direta mesmo
			vo.setPesNomeUsual(getPesquisaInternacaoFacade().buscarNomeUsual(agenda.getProfAtuaUnidCirgs().getId().getSerVinCodigo(),agenda.getProfAtuaUnidCirgs().getId().getSerMatricula()));
			vo.setVpeDescricao(getMbcEspecialidadeProcCirgsDAO().getVpeDescricao(agenda.getEspProcCirgs()));

			vo.setEspecialidadeNome(agenda.getEspecialidade().getNomeEspecialidade());
			vo.setEspecialidadeSigla(agenda.getEspecialidade().getSigla());
			vo.setPacienteNome(agenda.getPaciente().getNome());
			vo.setPacienteProntuario(agenda.getPaciente().getProntuario());
			
			listaEspera.add(vo);
		}
		if (orderProperty != null && ListaEsperaVO.getFieldByDesc(orderProperty) != null) {
			CoreUtil.ordenarLista(listaEspera, orderProperty, asc);
			Integer lastResult = (firstResult+maxResult)>listaEspera.size()?listaEspera.size():(firstResult+maxResult);
			listaEspera = listaEspera.subList(firstResult, lastResult);		
		}
		return listaEspera;
	}

}