class FaturamentoRN extends AbstractFatDebugLogEnableRN {

	public boolean validaNumeroAIHInformadoManualmente(Long numeroAIH)
			throws ApplicationBusinessException {

		final AghParametros param = getParametroFacade().buscarAghParametro(
				AghuParametrosEnum.P_VALIDA_NRO_AIH);

		if (DominioSimNao.S.toString().equalsIgnoreCase(param.getVlrTexto())) {
			String aih = numeroAIH.toString();

			// deve ser informado pelo menos dois digitos.
			if (aih.length() <= 1) {
				return false;
			}

			// pega o ultimo digito do numero da aih
			long vUltimoDigito = Long
					.parseLong(aih.substring(aih.length() - 1));

			// retira o ultimo digito do numero da aih
			String vPedacoNroAih = aih.substring(0, aih.length() - 1);

			// calcula o resto
			long vResto = Long.parseLong(vPedacoNroAih) % 11;

			// se o resto for 10, o digito verificador e 0
			if (vResto == 10) {
				vResto = 0;
			}

			return (vResto == vUltimoDigito);

		} else {
			return true;
		}
	}

}