class RelatorioPacientesEmSalaRecuperacaoPorUnidadeON extends BaseBusiness {

	public List<RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO> listarPacientesEmSalaRecuperacaoPorUnidade(Short seqUnidadeCirurgica, String ordemListagem) throws ApplicationBusinessException {
		
		MbcDestinoPaciente destPaciente = recuperaDestinoPaciente();
		
		Byte pDestSalaRec = destPaciente.getSeq();
		
		AghParametros diasRetroativos = getParametroFacade().buscarAghParametro(AghuParametrosEnum.P_DIAS_RETROATIVOS_REL_PAC_SALA_RECUP);
		
		List<MbcCirurgias> listPacSalaRecuperacao = getMbcCirurgiasDAO().listarPacientesSalaRecuperacaoPorUnidade(seqUnidadeCirurgica, pDestSalaRec, diasRetroativos.getVlrNumerico());
		
		List<RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO> listVo = new ArrayList<RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO>();
		for (MbcCirurgias cirurgia : listPacSalaRecuperacao) {
			RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO vo = new RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO();
			vo.setUnidade(cirurgia.getUnidadeFuncional().getDescricao()); 
			vo.setDataHora(new Date());
			vo.setQuarto(getEscalaCirurgiasON().pesquisaQuarto(cirurgia.getPaciente().getCodigo()));
			vo.setDthrEntrada(cirurgia.getDataEntradaSr());
			vo.setPacNome(cirurgia.getPaciente().getNome( ));
			vo.setCirurgiao(preencherNomeCirurgiao(cirurgia.getSeq()));
			//#27603
			if(cirurgia.getPaciente()!=null && cirurgia.getPaciente().getProntuario()!=null){
				vo.setProntuario(cirurgia.getPaciente().getProntuario().toString());
			}else{
				vo.setProntuario("        ");
			}
			if(cirurgia.getAtendimento() != null){
				vo.setUnidCti(getPesquisaInternacaoFacade().verificarCaracteristicaDaUnidadeFuncional(cirurgia.getAtendimento().getUnidadeFuncional().getSeq(), ConstanteAghCaractUnidFuncionais.UNID_CTI).toString());
			}else{
				vo.setUnidCti(DominioSimNao.N.toString());
			}
			if("S".equals(vo.getUnidCti())){
				vo.setTituloHeader("INFORMAÇÕES DO PACIENTE EM LEITO DE CTI");
				vo.setNomeFooter("TOTAL DE PACIENTES EM CTI :");
			}else{
				vo.setTituloHeader("INFORMAÇÕES DO PACIENTE EM SRPA");
				vo.setNomeFooter("TOTAL DE PACIENTES EM SR :");
			}
			listVo.add(vo);
		}
		
		if("1".equals(ordemListagem)){			
			CoreUtil.ordenarLista(listVo, RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO.Fields.PAC_NOME.toString(), true);
			CoreUtil.ordenarLista(listVo, RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO.Fields.UNID_CTI.toString(), true);//#27603
		}else{			
			CoreUtil.ordenarLista(listVo, RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO.Fields.PAC_NOME.toString(), true);//27700
			CoreUtil.ordenarLista(listVo, RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO.Fields.CRG_DTHR_ENTRADA_SR.toString(), true);
			CoreUtil.ordenarLista(listVo, RelatorioPacientesEmSalaRecuperacaoPorUnidadeVO.Fields.UNID_CTI.toString(), true);//#27603
		}
		
		return listVo;
	}

}