public List<InventarioFarmaciaContagem> listaContagensAferidas(
     InventarioMedicamentoEstoque inventarioMedicamentoEstoque) {
   int idInventarioMedicamentoEstoque =
       inventarioMedicamentoEstoque.getIdInventarioMedicamentoEstoque();
   String hql =
       "select o from InventarioFarmaciaContagem o where o.inventarioMedicamentoEstoque.idInventarioMedicamentoEstoque = "
           + idInventarioMedicamentoEstoque;
   Collection<InventarioFarmaciaContagem> consulta =
       new ConsultaGeral<InventarioFarmaciaContagem>(new StringBuilder(hql)).consulta();
   return new ArrayList<InventarioFarmaciaContagem>(consulta);
 }
  private InventarioMedicamentoEstoque verificarExistenciaContagem() {
    InventarioMedicamentoEstoque estoqueAferido = new InventarioMedicamentoEstoque();

    StringBuilder stringBuilder = new StringBuilder();
    stringBuilder.append(
        "select o from InventarioMedicamentoEstoque o where o.estoque.idEstoque = ");
    stringBuilder.append(getEstoqueAferido().getIdEstoque());
    stringBuilder.append(" and o.inventarioMedicamento.idInventarioMedicamento = ");
    stringBuilder.append(getInventarioMedicamento().getIdInventarioMedicamento());

    InventarioMedicamentoEstoque registro =
        new ConsultaGeral<InventarioMedicamentoEstoque>(stringBuilder).consultaUnica();

    if (registro == null) {
      estoqueAferido.setInventarioMedicamento(getInventarioMedicamento());
      estoqueAferido.setEstoque(getEstoqueAferido());
      return estoqueAferido;
    } else {
      return registro;
    }
  }
 public void cadastrarContagem() {
   try {
     PadraoFluxoTemp.limparFluxo();
     InventarioFarmaciaContagem ifc = new InventarioFarmaciaContagem();
     ifc.setDataContagem(new Date());
     InventarioMedicamentoEstoque estoqueAferido = verificarExistenciaContagem();
     ifc.setInventarioMedicamentoEstoque(estoqueAferido);
     ifc.setProfissionalContagem(Autenticador.getProfissionalLogado());
     ifc.setQuantidadeContada(getQuantidadeContada());
     if (estoqueAferido.getIdInventarioMedicamentoEstoque() == 0)
       PadraoFluxoTemp.getObjetoSalvar()
           .put("InventarioMedicamentoEstoque - " + estoqueAferido.hashCode(), estoqueAferido);
     PadraoFluxoTemp.getObjetoSalvar().put("InventarioFarmaciaContagem - " + ifc.hashCode(), ifc);
     PadraoFluxoTemp.finalizarFluxo();
     carregarLotesContados();
     setEstoqueAferido(new Estoque());
     setQuantidadeContada(null);
   } catch (ExcecaoProfissionalLogado e) {
     e.printStackTrace();
   } catch (ExcecaoPadraoFluxo e) {
     e.printStackTrace();
   }
   PadraoFluxoTemp.limparFluxo();
 }