validaItem(item, itens);
}
public void validaItem(Itensracao item,List<Itensracao> itens) throws ServiceBusinessException{
Integer saldo = 0;
Itensracao oldItem;
if(item != null){
if(item.getItemTipoRacao() == null)
throw new ServiceBusinessException("O item de tipo de ração não pode ser vazio.");
else if(containsItem(item,itens))
throw new ServiceBusinessException("Item já inserido.");
if(item.getQuantidade() == null || item.getQuantidade().equals(BigDecimal.ZERO))
throw new ServiceBusinessException("O campo quantidade não pode ser vazio.");
else{
saldo = item.getItemTipoRacao().getInsumo().getQuantidade();
if(item.getId() != null){
oldItem = itensService.findById(item.getId());
saldo += oldItem.getQuantidade().intValue();
}
if(item.getQuantidade().intValue() > saldo)
throw new ServiceBusinessException("O item associado ao insumo '"+item.getItemTipoRacao().getInsumo().getDescricao()+"' possui saldo ("+saldo+") insuficiente.");
}
}