class RecebimentoSemAFON extends BaseBusiness {

	public void validaValorExcedePercentualVariacao(final String usuarioLogado, final Short item, final Float valorPercVariacao,
			final Integer qtdEntrege, final BigDecimal valorTotal, final BigDecimal vlrUnitario) throws ApplicationBusinessException {

		if (!cascaFacade.usuarioTemPermissao(usuarioLogado, "excederPerVariaValor")) {

			BigDecimal percentualVariacao = BigDecimal.valueOf(valorPercVariacao);
			BigDecimal quantidadeEntrege = BigDecimal.valueOf(qtdEntrege);

			BigDecimal informado = valorTotal.divide(quantidadeEntrege);

			BigDecimal faixa = percentualVariacao.divide(BigDecimal.valueOf(100)).multiply(vlrUnitario);
			BigDecimal maximo = vlrUnitario.add(faixa);
			BigDecimal minimo = vlrUnitario.subtract(faixa);

			if (CoreUtil.maior(informado, maximo) || CoreUtil.menor(informado, minimo)) {
				String prm1 = AghuNumberFormat.formatarNumeroMoeda(valorPercVariacao);
				throw new ApplicationBusinessException(RecebimentoSemAFONExceptionCode.VALOR_UNITARIO_FORA_FAIXA_VARIACAO_PERMITIDA, item, prm1);
			}
		}
	}

}