class EspelhoAihRN extends AbstractAGHUCrudRn<FatEspelhoAih> {

	protected void verificarQtdMaxAIHPorEspelho(final DominioOperacoesJournal op, final FatEspelhoAih entidade) throws ApplicationBusinessException {
		
		int maxContAih = 0;
		Long qtdFatEspAih = 0l;

		maxContAih = this.getAghuParamMaxContAih();
		qtdFatEspAih = fatEspelhoAihDAO.countPorCthSeqpDataPreviaNotNull(entidade.getId().getCthSeq(), entidade.getId().getSeqp());
		qtdFatEspAih = (qtdFatEspAih == null ? 0 : qtdFatEspAih); 
		
		if (DominioOperacoesJournal.UPD.equals(op)) {
			qtdFatEspAih--;
		}
		
		if (qtdFatEspAih > maxContAih) {
			throw new ApplicationBusinessException(FaturamentoExceptionCode.FAT_00404);
		}
	}

}