private void addSugestaoItemSolicitacao(SolicitacaoMedicamentoUnidadeItem item) { List<Estoque> estoques = new EstoqueConsultaRaiz().consultarEstoquesMaterial(item.getMaterial()); int quantidadeTemp = item.getQuantidadeSolicitada(); ItemDispensacao id = new ItemDispensacao(); id.setItem(item); for (Estoque estoque : estoques) { EstoqueDispensacao ed = new EstoqueDispensacao(); if (quantidadeTemp <= estoque.getQuantidadeAtual()) { ed.setEstoque(estoque); ed.setQuantidadeDispensada(quantidadeTemp); id.getEstoques().add(ed); break; } else { if (quantidadeTemp > estoque.getQuantidadeAtual()) { ed.setEstoque(estoque); ed.setQuantidadeDispensada(estoque.getQuantidadeAtual()); id.getEstoques().add(ed); quantidadeTemp = quantidadeTemp - estoque.getQuantidadeAtual(); } } } if (estoques == null || estoques.isEmpty()) { id.getItem().setStatusItem(TipoStatusSolicitacaoItemEnum.R); id.getItem().setJustificativa("Item recusado por n�o possuir algum lote com saldo"); } getItensDispensacao().add(id); }
public void carregarEstoquesDispensacao() { List<Estoque> estoques = new EstoqueConsultaRaiz().consultarEstoquesMaterial(getItemEdicao().getMaterial()); setEstoquesEdicao(new ArrayList<EstoqueDispensacao>()); for (Estoque estoque : estoques) { EstoqueDispensacao ed = new EstoqueDispensacao(); ed.setEstoque(estoque); ed.setQuantidadeDispensada(quantidadeDispensadaItemEstoque(estoque)); getEstoquesEdicao().add(ed); } }