private void unlockEstoques() { for (ItemDispensacao item : getItensDispensacao()) { for (EstoqueDispensacao ed : item.getEstoques()) { try { new ControleEstoque().unLockEstoque(ed.getEstoque()); } catch (ExcecaoEstoqueUnLock e) { e.printStackTrace(); } } } }
private int quantidadeDispensadaItemEstoque(Estoque estoque) { for (ItemDispensacao item : getItensDispensacao()) { if (item.getItem().equals(getItemEdicao())) { for (EstoqueDispensacao ed : item.getEstoques()) { if (ed.getEstoque().getLote().equals(estoque.getLote())) { return ed.getQuantidadeDispensada(); } } return 0; } } return 0; }
private void finalizarDispensacao() { PadraoFluxoTemp.limparFluxo(); try { TipoMovimento tipoMovimentoDS = Parametro.tipoMovimentoDispensacaoSimples(); Date date = new Date(); for (ItemDispensacao item : getItensDispensacao()) { item.getItem().setDataLiberacao(date); item.getItem().setProfissionalLiberacao(Autenticador.getProfissionalLogado()); if (!item.getItem().getStatusItem().equals(TipoStatusSolicitacaoItemEnum.R)) { for (EstoqueDispensacao ed : item.getEstoques()) { MovimentoLivro ml = new MovimentoLivro(); ml.setEstoque(ed.getEstoque()); ml.setTipoMovimento(tipoMovimentoDS); ml.setQuantidadeMovimentacao(ed.getQuantidadeDispensada()); ml.setJustificativa("RM: " + getInstancia().getIdSolicitacaoMedicamentoUnidade()); new ControleEstoque().liberarAjuste(date, ml); PadraoFluxoTemp.getObjetoSalvar().put("MovimentoLivro" + ml.hashCode(), ml); DispensacaoSimples ds = new DispensacaoSimples(); ds.setSolicitacaoMedicamentoUnidadeItem(item.getItem()); ds.setMovimentoLivro(ml); ds.setUnidadeDispensada( item.getItem().getSolicitacaoMedicamentoUnidade().getUnidadeDestino()); PadraoFluxoTemp.getObjetoSalvar().put("DispensacaoSimples" + ds.hashCode(), ds); } } PadraoFluxoTemp.getObjetoAtualizar() .put("ItemDispensacao" + item.hashCode(), item.getItem()); } getInstancia().setDataDispensacao(date); getInstancia().setProfissionalDispensacao(Autenticador.getProfissionalLogado()); getInstancia().setStatusDispensacao(TipoStatusDispensacaoEnum.D); PadraoFluxoTemp.getObjetoAtualizar() .put("Dispensacao" + getInstancia().hashCode(), getInstancia()); PadraoFluxoTemp.finalizarFluxo(); setExibirDialogProfissionalReceptor(false); setExibirDialogDispensacao(true); SolicitacaoMedicamentoUnidadeConsultaRaiz.getInstanciaAtual() .consultarSolicitacoesPendentes(); } catch (Exception e) { e.printStackTrace(); getInstancia().setStatusDispensacao(TipoStatusDispensacaoEnum.P); } finally { PadraoFluxoTemp.limparFluxo(); unlockEstoques(); setInstancia( new SolicitacaoMedicamentoUnidadeConsultaRaiz() .solicitacaoId(getInstancia().getIdSolicitacaoMedicamentoUnidade())); } }