class DocumentosPacienteON extends BaseBusiness {

	public void verificarPeriodoPesquisa(Date dataInicial, Date dataFinal)
			throws BaseException {

		Integer periodoMaximoPesquisa = this
				.obterParametroPeriodoMaximoPesquisa();

		boolean periodoPadrao = false;
					
		// Caso o parâmetro não esteja definido, utiliza-se o período padrão de
		// 30 dias
		if (periodoMaximoPesquisa == null) {						
			periodoMaximoPesquisa = this.obterPeriodoPadraoPesquisa();
			periodoPadrao = true;
		}

		long valorPeriodoMaximoEmMillis = periodoMaximoPesquisa 
				* DateUtils.MILLIS_PER_DAY;
		int intervaloDias = DateUtil.diffInDaysInteger(dataFinal,dataInicial);
		long intervaloEmMillis = intervaloDias * DateUtils.MILLIS_PER_DAY;
				
		if ((intervaloEmMillis) > valorPeriodoMaximoEmMillis) {
			if (!periodoPadrao) {
				throw new ApplicationBusinessException(
						DocumentosPacienteONExceptionCode.MENSAGEM_PERIODO_MAXIMO_PESQUISA_EXCEDIDO,
						periodoMaximoPesquisa, DateUtil.diffInDaysInteger(
								dataFinal, dataInicial));
			} else {
				throw new ApplicationBusinessException(
						DocumentosPacienteONExceptionCode.MENSAGEM_PERIODO_MAXIMO_PARAMETRO_EXCEDIDO,
						periodoMaximoPesquisa);
			}
		}
	}

}