// <editor-fold defaultstate="collapsed" desc="Update en base" >
  public void updateIssues() {
    // if (validarDatosReceipt()) {
    newIssues.setObjtype(31 + "");
    newIssues.setUsersign((int) session.getAttribute("usersign"));
    newIssues.setDocentry(docEntry);
    newIssues.setDocnum(docNum);
    newIssues.setFromwhscode(almDest);
    newIssues.setDocdate(fechaConta);
    newIssues.setDocduedate(fechaDoc);
    newIssues.setRef1(refe);
    newIssues.setComments(comentario);
    newIssues.setGoodIssuesDetail(listaPadre);

    try {
      ResultOutTO _res; // = new ResultOutTO();
      _res = inventoryEJB.inv_goodsissues_mtto(newIssues, 2); // 2 Update

      if (_res.getCodigoError() == 0) { // se realizo correctamente
        docEntry = _res.getDocentry();
        faceMessage(_res.getMensaje());

      } else {
        faceMessage(_res.getMensaje());
      }
    } catch (Exception ex) {
      Logger.getLogger(GoodsIssuesBean.class.getName()).log(Level.SEVERE, null, ex);
      System.out.println(ex.getMessage());
      faceMessage(ex.getMessage() + "-" + ex.getCause());
    }
    // }
  }
  // <editor-fold defaultstate="collapsed" desc="Guardar en base" >
  public void saveIssues() {
    int line = 0;
    String vacio = null;

    if (newIssues == null) {
      newIssues = new GoodsissuesTO();
    }
    newIssues.setObjtype(31 + "");
    newIssues.setUsersign((int) session.getAttribute("usersign"));
    newIssues.setFromwhscode(almDest);
    newIssues.setDocdate(fechaConta);
    newIssues.setDocduedate(fechaDoc);
    // newIssues.setRef1(refe);
    // newIssues.setComments(comentario);

    if (refe.equals("")) {
      newIssues.setRef1(vacio);
    } else {
      newIssues.setRef1(refe);
    }

    if (comentario.equals("")) {
      newIssues.setComments(vacio);
    } else {
      newIssues.setComments(comentario);
    }

    Iterator<GoodsIssuesDetailTO> iterator2 = listaPadre.iterator();
    while (iterator2.hasNext()) {
      GoodsIssuesDetailTO articleDetalle = (GoodsIssuesDetailTO) iterator2.next();
      articleDetalle.setLinenum(line + 1);
      line = line + 1;
    }

    newIssues.setGoodIssuesDetail(listaPadre);

    try {
      ResultOutTO _res;
      _res = inventoryEJB.inv_goodsissues_mtto(newIssues, 1); // 1 insert

      if (_res.getCodigoError() == 0) { // se realizo correctamente
        docEntry = _res.getDocentry();
        docNum = docEntry; //
        faceMessage(_res.getMensaje());

        estateActualizar();

      } else {
        faceMessage(_res.getMensaje());
      }
    } catch (Exception ex) {
      Logger.getLogger(GoodsIssuesBean.class.getName()).log(Level.SEVERE, null, ex);
      System.out.println(ex.getMessage());
      faceMessage(ex.getMessage() + "-" + ex.getCause());
    }
  }
  // evento al seleccionar un elemento del dialogo
  public void selectDialog() {
    showHideDialog("dlg2", 2);
    GoodsissuesTO var = (GoodsissuesTO) selectIssues;
    // llenarPantalla(var);

    try {
      newIssues = inventoryEJB.getGoodsissuesByKey(var.getDocentry());
      llenarPantalla(newIssues);
      estateActualizar();
    } catch (Exception ex) {
      Logger.getLogger(GoodsIssuesBean.class.getName()).log(Level.SEVERE, null, ex);
      faceMessage("Error en busqueda por PK");
    }

    listaBusqueda = new Vector();
    RequestContext.getCurrentInstance().update("formIssues");
  }
  // <editor-fold defaultstate="collapsed" desc="Buscar en base" >
  public void searchIssues() {

    GoodsissuesInTO searchReceipt = new GoodsissuesInTO();

    searchReceipt.setDocnum(docNum);
    searchReceipt.setDocdate(fechaConta);
    searchReceipt.setDocduedate(fechaDoc);
    if (refe.equals("")) {
      searchReceipt.setRef1(null);
    } else {
      searchReceipt.setRef1(refe);
    }
    if (comentario.equals("")) {
      searchReceipt.setComments(null);
    } else {
      searchReceipt.setComments(comentario);
    }

    if (almDest.equals("-1")) {
      searchReceipt.setTowhscode(null);
    } else {
      searchReceipt.setTowhscode(almDest);
    }

    try {

      listaBusqueda = inventoryEJB.getGoodsissues(searchReceipt);
    } catch (Exception e) {
      faceMessage(e.getMessage() + "Error en la busqueda");
    }
    if (!listaBusqueda.isEmpty()) {
      if (listaBusqueda.size() == 1) {
        faceMessage("Elemento unico encontrado");
        newIssues = (GoodsissuesTO) listaBusqueda.get(0);
        try {
          GoodsissuesTO var2 = inventoryEJB.getGoodsissuesByKey(newIssues.getDocentry());
          llenarPantalla(var2);
          estateActualizar();
        } catch (Exception ex) {
          Logger.getLogger(GoodsIssuesBean.class.getName()).log(Level.SEVERE, null, ex);
          faceMessage("Error en busqueda por PK");
        }

      } else {
        faceMessage("Seleccione un elemento");

        for (Object receipt : listaBusqueda) {
          GoodsissuesTO var = (GoodsissuesTO) receipt;
          listaBusquedaTable.add(var);
        }
        showHideDialog("dlg2", 1);
      }

    } else {
      faceMessage("No se obtuvieron resultados de la Busqueda");
    }
    // listaBusqueda = new Vector();
  }
  // llenar pantalla dado un Receipt
  public void llenarPantalla(GoodsissuesTO var) {
    setDocNum(var.getDocnum());
    setDocEntry(var.getDocentry());
    setAlmDest(var.getTowhscode());
    setFechaDoc(var.getDocduedate());
    setFechaConta(var.getDocdate());
    setRefe(var.getRef1());
    setComentario(var.getComments());

    for (Object detalle : var.getGoodIssuesDetail()) {
      GoodsIssuesDetailTO det = (GoodsIssuesDetailTO) detalle;
      this.listaDetalles.add(det);
    }
  }