Example usage for org.hibernate Session get

List of usage examples for org.hibernate Session get

Introduction

In this page you can find the example usage for org.hibernate Session get.

Prototype

Object get(String entityName, Serializable id);

Source Link

Document

Return the persistent instance of the given named entity with the given identifier, or null if there is no such persistent instance.

Usage

From source file:Ajustador.editaAjustador.java

private boolean eliminar(String idAjustador) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {/*from   www . j a v  a  2 s  . c o  m*/
        session.beginTransaction();
        actor1 = (Ajustador) session.get(Ajustador.class, Integer.parseInt(idAjustador));

        if (actor1.getOrdens().isEmpty() == false) {
            session.getTransaction().rollback();
            JOptionPane.showMessageDialog(null,
                    "El Ajustador esta en uso en una orden no se puede eliminar!");
            return false;
        } else {
            session.delete(actor1);
            session.getTransaction().commit();
            return true;
        }
    } catch (Exception e) {
        e.printStackTrace();
        session.getTransaction().rollback();
        return false;
    } finally {
        if (session.isOpen())
            session.close();
    }
}

From source file:Ajustador.editaAjustador.java

private boolean modifica() {
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {//  w  w  w.  jav a 2s .  c  o  m
        session.beginTransaction();
        ic = t_ajustador.getText();
        Object resp = session.createQuery("from Ajustador obj where obj.idAjustador='" + t_ajustador.getText()
                + "' and obj.idAjustador!='" + ic + "'").uniqueResult();

        actor1 = (Ajustador) session.get(Ajustador.class, (Integer.parseInt(t_ajustador.getText())));

        if (resp == null) {
            Query q = session.createQuery("update Ajustador obj set obj.nombreAjustador='"
                    + t_descripcion.getText() + "', obj.idAjustador='" + t_ajustador.getText()
                    + "'where obj.idAjustador='" + ic + "'");
            q.executeUpdate();
            session.getTransaction().commit();
            JOptionPane.showMessageDialog(null, "Registro modificado");
            return true;
        } else {
            JOptionPane.showMessageDialog(null, "No se pueden guardar claves duplicadas");
            return false;
        }
        //}
    } catch (HibernateException he) {
        he.printStackTrace();
        System.out.println(he.hashCode());
        session.getTransaction().rollback();
        return false;
    } finally {
        if (session.isOpen())
            session.close();
    }
}

From source file:Almacen.ajusteInventario.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
    // TODO add your handling code here:
    borrar();//from   w ww.ja v  a 2  s . c  o m
    jTextField4.setEditable(false);
    jTextField4.setText("0.0");
    jTextArea1.setEditable(false);
    jComboBox1.setEnabled(false);
    h = new Herramientas(this.actor, 0);
    h.session(sessionPrograma);
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        session.beginTransaction().begin();
        actor = (Usuario) session.get(Usuario.class, actor.getIdUsuario());
        if (actor.getConsultarEjemplar() == true) {
            buscaEjemplar obj = new buscaEjemplar(new javax.swing.JFrame(), true, sessionPrograma, actor, 1);
            obj.t_busca.requestFocus();
            Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
            obj.setLocation((d.width / 2) - (obj.getWidth() / 2), (d.height / 2) - (obj.getHeight() / 2));
            obj.setVisible(true);
            Ejemplar orden_act = obj.getReturnStatus();

            if (orden_act != null) {
                orden_act = (Ejemplar) session.get(Ejemplar.class, orden_act.getIdParte());
                //parte
                try {
                    jTextField1.setText(orden_act.getIdParte());
                } catch (Exception e) {
                    jTextField1.setText("");
                }
                //marca
                try {
                    jTextField7.setText(orden_act.getMarca().getMarcaNombre());
                } catch (Exception e) {
                    jTextField7.setText("");
                }
                //tipo
                try {
                    jTextField8.setText(orden_act.getTipo().getTipoNombre());
                } catch (Exception e) {
                    jTextField8.setText("");
                }
                //modelo
                try {
                    jTextField5.setText(orden_act.getModelo().toString());
                } catch (Exception e) {
                    jTextField5.setText("");
                }
                //medida
                try {
                    jTextField9.setText(orden_act.getMedida());
                } catch (Exception e) {
                    jTextField9.setText("");
                }
                //catalogo
                try {
                    jTextField6.setText(orden_act.getCatalogo());
                } catch (Exception e) {
                    jTextField6.setText("");
                }
                //existencias
                try {
                    jTextField3.setText(orden_act.getExistencias().toString());
                } catch (Exception e) {
                    jTextField3.setText("");
                }
                //comentario
                try {
                    if (orden_act.getComentario().toString().compareTo("") != 0) {
                        t_comentario.setText(orden_act.getComentario());
                    } else {
                        t_comentario.setText("Sin Comentarios...");
                    }
                } catch (Exception e) {
                    t_comentario.setText("Sin Comentarios...");
                }

                jTextField4.setEditable(true);
                jTextField4.setText("0.0");
                jTextArea1.setEditable(true);
                jComboBox1.setEnabled(true);
                jButton3.setEnabled(true);
                jButton1.setEnabled(true);
                session.beginTransaction().commit();
            }
        } else
            JOptionPane.showMessageDialog(null, "Acceso denegados!");
    } catch (Exception e) {
        e.printStackTrace();
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Almacen.ajusteInventario.java

private Integer guardaAlmacen(Almacen obj) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Integer IdAlmacen = null;//from w w w .j a  va  2s .c o m
    try {
        session.beginTransaction().begin();
        IdAlmacen = (Integer) session.save(obj);
        Almacen alm = (Almacen) session.get(Almacen.class, IdAlmacen);

        //MOVIMIENTOS
        Movimiento move = new Movimiento();
        move.setAlmacen(alm);
        move.setCantidad(Double.parseDouble(jTextField4.getText()));
        Ejemplar ejemplar = (Ejemplar) session.get(Ejemplar.class, jTextField1.getText());
        move.setEjemplar(ejemplar);
        alm.addMovimiento(move);

        //EJEMPLARES
        if (jComboBox1.getSelectedItem().toString().compareTo("Entrada") == 0) {
            ejemplar.setExistencias(Double.parseDouble(ejemplar.getExistencias().toString())
                    + Double.parseDouble(jTextField4.getText().toString()));
            session.update(ejemplar);
        } else {
            ejemplar.setExistencias(Double.parseDouble(ejemplar.getExistencias().toString())
                    - Double.parseDouble(jTextField4.getText().toString()));
            session.update(ejemplar);
        }

        session.update(alm);
        session.beginTransaction().commit();
    } catch (HibernateException he) {
        session.beginTransaction().rollback();
        he.printStackTrace();
        IdAlmacen = null;
    } finally {
        session.close();
        return IdAlmacen;
    }
}

From source file:Almacen.Conciliacion.java

private void buscaCuentas() {
     double imp = 0.0;
     if (orden != null) {
         Session session = HibernateUtil.getSessionFactory().openSession();
         try {//w  w w.j a  v  a2s . c  om
             session.beginTransaction().begin();
             ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
             user = (Usuario) session.get(Usuario.class, user.getIdUsuario());
             imp = ord.getCompania().getImporteHora();

             Query query = session.createSQLQuery(
                     "select id_partida, partida.tipo, catalogo.nombre, autorizado, facturado, partida.id_pedido as id, pedido.id_externo, Cantidad_aut, cant_pcp, d, r, m, med, id_parte, ori_con, \n"
                             + "Precio_aut_c_u, pcp, proveedor.nombre as prov, (select concat('[',tipo_documento,']',documento) from almacen where tipo_movimiento=1 and operacion in(1, 4) and id_pedido=id order by fecha limit 1) as factura  \n"
                             + "from partida inner join catalogo on partida.id_catalogo=catalogo.id_catalogo "
                             + "left join pedido on pedido.id_pedido=partida.id_pedido left join proveedor on pedido.id_proveedor = proveedor.id_proveedor "
                             + "where partida.id_orden=" + ord.getIdOrden()
                             + " and (partida.autorizado=true or partida.facturado=true or partida.id_pedido is not null) order by partida.id_evaluacion, partida.sub_partida desc;");
             query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
             ArrayList cuentas = (ArrayList) query.list();

             Query query2 = session.createSQLQuery(
                     "select id_partida_externa, 'AC'as tipo, descripcion, false, facturado, partida_externa.id_pedido as id, id_externo, 0.0, cantidad, d, r, m, unidad, noParte, ori_con, \n"
                             + "0.0, costo, proveedor.nombre as prov, (select concat('[',tipo_documento,']',documento) from almacen where tipo_movimiento=1 and operacion=3 and id_pedido=id order by fecha limit 1) as factura  \n"
                             + "from partida_externa left join pedido on partida_externa.id_pedido=pedido.id_pedido \n"
                             + "inner join proveedor on pedido.id_proveedor= proveedor.id_proveedor where pedido.id_orden="
                             + ord.getIdOrden() + " order by partida_externa.id_partida_externa");
             query2.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
             ArrayList cuentas2 = (ArrayList) query2.list();

             int renglones = cuentas.size() + cuentas2.size();
             model = new MyModel(renglones, columnas, this.types);
             t_datos.setModel(model);

             if (cuentas.size() > 0) {
                 noPartida = new ArrayList();
                 int num_c = cuentas.size();
                 for (int i = 0; i < num_c; i++) {
                     java.util.HashMap map = (java.util.HashMap) cuentas.get(i);
                     noPartida.add(map.get("id_partida"));
                     model.setValueAt(map.get("id_partida"), i, 0);
                     model.setValueAt(map.get("tipo"), i, 1);
                     model.setValueAt(map.get("nombre"), i, 2);
                     model.setValueAt(map.get("autorizado"), i, 3);
                     model.setValueAt(map.get("facturado"), i, 4);
                     model.setValueAt(map.get("id"), i, 5);
                     model.setValueAt(map.get("id_externo"), i, 6);
                     model.setValueAt(map.get("Cantidad_aut"), i, 7);//cant Aut
                     if (map.get("cant_pcp") != null)
                         model.setValueAt(map.get("cant_pcp"), i, 8);//cant Com
                     else
                         model.setValueAt(0.00d, i, 8);//cant Com
                     model.setValueAt(map.get("ori_con"), i, 9);//origen
                     model.setCeldaEditable(i, 9, true);
                     model.setValueAt(map.get("d"), i, 10);//origen
                     model.setCeldaEditable(i, 10, true);
                     model.setValueAt(map.get("r"), i, 11);//origen
                     model.setCeldaEditable(i, 11, true);
                     model.setValueAt(map.get("m"), i, 12);//origen
                     model.setCeldaEditable(i, 12, true);
                     model.setValueAt(map.get("med"), i, 13);
                     model.setValueAt(map.get("id_parte"), i, 14);

                     model.setValueAt(map.get("Precio_aut_c_u"), i, 15);
                     if (map.get("pcp") != null)
                         model.setValueAt(map.get("pcp"), i, 16);//C/U Com
                     else
                         model.setValueAt(0.00d, i, 16);//C/U Com

                     double suma = 0.0d;
                     if (map.get("ori_con").toString().compareToIgnoreCase("-") != 0) {
                         if (map.get("cant_pcp") != null && map.get("pcp") != null)
                             suma = Double.parseDouble(map.get("cant_pcp").toString())
                                     * (Double.parseDouble(map.get("pcp").toString()) / 0.9d);
                     }
                     if (Double.parseDouble(map.get("d").toString()) > 0) {
                         if (map.get("Precio_aut_c_u") != null)
                             suma += Double.parseDouble(map.get("d").toString())
                                     * (Double.parseDouble(map.get("Precio_aut_c_u").toString()) * 0.72d);
                     }
                     if (Double.parseDouble(map.get("r").toString()) > 0) {
                         if (map.get("Precio_aut_c_u") != null)
                             suma += Double.parseDouble(map.get("r").toString())
                                     * (Double.parseDouble(map.get("Precio_aut_c_u").toString()) * 0.65d);
                     }
                     if (Double.parseDouble(map.get("m").toString()) > 0) {
                         if (map.get("Precio_aut_c_u") != null)
                             suma += Double.parseDouble(map.get("m").toString())
                                     * (Double.parseDouble(map.get("Precio_aut_c_u").toString()) * 0.65d);
                     }
                     model.setValueAt(suma, i, 17);

                     model.setValueAt(map.get("prov"), i, 18);//proveedor

                     model.setValueAt(map.get("factura"), i, 19);// no de factura

                 }
                 if (user.getGeneraPedidos() == false)
                     t_datos.setEnabled(false);
                 else
                     t_datos.setEnabled(false);

             }
             int num_c2 = cuentas2.size();
             if (num_c2 > 0) {
                 for (int i = 0; i < num_c2; i++) {
                     java.util.HashMap map = (java.util.HashMap) cuentas2.get(i);
                     model.setValueAt(map.get("id_partida_externa"), i + cuentas.size(), 0);
                     model.setValueAt(map.get("tipo"), i + cuentas.size(), 1);
                     model.setValueAt(map.get("descripcion"), i + cuentas.size(), 2);
                     model.setValueAt(false, i + cuentas.size(), 3);
                     model.setValueAt(map.get("facturado"), i + cuentas.size(), 4);
                     model.setCeldaEditable(i + cuentas.size(), 4, true);
                     model.setValueAt(map.get("id"), i + cuentas.size(), 5);
                     model.setValueAt(map.get("id_externo"), i + cuentas.size(), 6);
                     model.setValueAt(map.get("cantidad"), i + cuentas.size(), 7);
                     model.setValueAt(map.get("cantidad"), i + cuentas.size(), 8);
                     model.setValueAt(map.get("ori_con"), i + cuentas.size(), 9);//Origen
                     model.setCeldaEditable(i + cuentas.size(), 9, true);
                     model.setValueAt(map.get("d"), i + cuentas.size(), 10);//origen
                     model.setCeldaEditable(i + cuentas.size(), 10, true);
                     model.setValueAt(map.get("r"), i + cuentas.size(), 11);//origen
                     model.setCeldaEditable(i + cuentas.size(), 11, true);
                     model.setValueAt(map.get("m"), i + cuentas.size(), 12);//origen
                     model.setCeldaEditable(i + cuentas.size(), 12, true);
                     model.setValueAt(map.get("unidad"), i + cuentas.size(), 13);
                     model.setValueAt(map.get("noParte"), i + cuentas.size(), 14);
                     model.setValueAt(0.0, i + cuentas.size(), 15);
                     model.setValueAt(map.get("costo"), i + cuentas.size(), 16);
                     double suma = 0.0d;
                     if (map.get("ori_con").toString().compareToIgnoreCase("-") != 0)
                         suma = Double.parseDouble(map.get("costo").toString()) / 0.9;
                     model.setValueAt(suma, i + cuentas.size(), 17);
                     model.setValueAt(map.get("prov"), i + cuentas.size(), 18);
                     model.setValueAt(map.get("factura"), i + cuentas.size(), 19);// N factura
                 }
             }
             session.beginTransaction().rollback();
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
             if (session.isOpen() == true)
                 session.close();
         }
     } else {
         model = new MyModel(0, columnas, this.types);
         t_datos.setModel(model);
     }
     formatoTabla();
     suma();
 }

From source file:Almacen.consultaPartidaPedido.java

public void busca(String tipo, String valor, String movimiento) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {/*  w ww .  j  a  v a 2  s. com*/
        session.beginTransaction().begin();
        if (tipo.compareTo("Pedido") == 0) {
            Pedido pedido = (Pedido) session.get(Pedido.class, Integer.parseInt(t_pedido.getText()));
            if (valor.compareTo("Interno") == 0) {
                session.beginTransaction().begin();
                if (movimiento.compareTo("Entrada") == 0) {
                    String[] columnas = new String[] { "Id", "N", "#", "N Parte", "Descripcin", "Medida",
                            "Pedidos", "X Surtir", "Entrada", "Costo c/u", "Total" }; //,"OK"}; //para antes de entrada
                    Class[] types = new Class[] { java.lang.String.class, java.lang.String.class,
                            java.lang.String.class, java.lang.String.class, java.lang.String.class,
                            java.lang.String.class, java.lang.Double.class, java.lang.Double.class,
                            java.lang.Double.class, java.lang.Double.class, java.lang.Double.class
                            //, java.lang.Boolean.class //para antes de entrada
                    };
                    Query query = session.createQuery("SELECT DISTINCT par FROM Partida par "
                            + "LEFT JOIN FETCH par.movimientos movPart " + "LEFT JOIN movPart.almacen alm "
                            + "where par.pedido.idPedido=" + Integer.parseInt(t_pedido.getText())); //where alm.operacion=1 and 
                    //+ "and par.pedido!="+null);
                    List partidas = query.list();
                    model = new MyModel(partidas.size(), columnas, types);
                    t_datos.setModel(model);
                    for (int a = 0; a < partidas.size(); a++) {
                        Partida par = (Partida) partidas.get(a);
                        Movimiento[] mov = (Movimiento[]) par.getMovimientos().toArray(new Movimiento[0]);
                        double entradas = 0, devoluciones = 0;
                        for (int b = 0; b < mov.length; b++) {
                            Almacen alm = mov[b].getAlmacen();
                            if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 1)
                                entradas += mov[b].getCantidad();
                            if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 1)
                                devoluciones += mov[b].getCantidad();
                        }
                        double total_almacen = entradas - devoluciones;
                        double total = par.getCantPcp() - total_almacen;

                        model.setValueAt(par.getIdPartida(), a, 0);
                        model.setValueAt(par.getIdEvaluacion(), a, 1);
                        model.setValueAt(par.getSubPartida(), a, 2);
                        if (par.getEjemplar() != null)
                            model.setValueAt(par.getEjemplar().getIdParte(), a, 3);
                        else
                            model.setValueAt("", a, 3);
                        model.setValueAt(par.getCatalogo().getNombre(), a, 4);
                        model.setValueAt(par.getMed(), a, 5);
                        model.setValueAt(par.getCantPcp(), a, 6);
                        model.setValueAt(total, a, 7);
                        model.setValueAt(0.0d, a, 8);

                        if (par.getPcp() != null)
                            model.setValueAt(par.getPcp(), a, 9);
                        else
                            model.setValueAt(par.getPcp(), a, 9);
                        model.setValueAt(0.0d, a, 10);
                        //model.setValueAt(par.getOp(), a, 11); //para antes de entrada
                    }
                }
                if (movimiento.compareTo("Salida") == 0) {
                    String[] columnas = new String[] { "Id", "N", "#", "N Parte", "Descripcin", "Medida",
                            "Pedidos", "En almacen", "Devolucin", "Costo c/u", "Total" };
                    Class[] types = new Class[] { java.lang.String.class, java.lang.String.class,
                            java.lang.String.class, java.lang.String.class, java.lang.String.class,
                            java.lang.String.class, java.lang.Double.class, java.lang.Double.class,
                            java.lang.Double.class, java.lang.Double.class, java.lang.Double.class };
                    Query query = session.createQuery("SELECT DISTINCT par FROM Partida par "
                            + "LEFT JOIN FETCH par.movimientos movPart " + "LEFT JOIN movPart.almacen alm "
                            + "where alm.operacion=1 and par.pedido.idPedido="
                            + Integer.parseInt(t_pedido.getText()));
                    //+ "and par.pedido!="+null);
                    List partidas = query.list();
                    model = new MyModel(partidas.size(), columnas, types);
                    t_datos.setModel(model);
                    for (int a = 0; a < partidas.size(); a++) {
                        Partida par = (Partida) partidas.get(a);
                        Movimiento[] mov = (Movimiento[]) session.createCriteria(Movimiento.class)
                                .add(Restrictions.eq("partida.idPartida", par.getIdPartida())).list()
                                .toArray(new Movimiento[0]);
                        double entradas = 0.0d, devoluciones = 0.0d, entregadas = 0.0d, devueltas = 0.0d;
                        for (int b = 0; b < mov.length; b++) {
                            Almacen alm = mov[b].getAlmacen();
                            if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 1)
                                entradas += mov[b].getCantidad();
                            if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 1)
                                devoluciones += mov[b].getCantidad();
                            if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 5)
                                devueltas += mov[b].getCantidad();
                            if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 5)
                                entregadas += mov[b].getCantidad();
                        }
                        double total_Pedido = entradas - devoluciones;
                        double total_operario = entregadas - devueltas;
                        double total = total_Pedido - total_operario;
                        model.setValueAt(par.getIdPartida(), a, 0);
                        model.setValueAt(par.getIdEvaluacion(), a, 1);
                        model.setValueAt(par.getSubPartida(), a, 2);
                        if (par.getEjemplar() != null)
                            model.setValueAt(par.getEjemplar().getIdParte(), a, 3);
                        else
                            model.setValueAt("", a, 3);
                        model.setValueAt(par.getCatalogo().getNombre(), a, 4);
                        model.setValueAt(par.getMed(), a, 5);
                        model.setValueAt(par.getCantPcp(), a, 6);
                        model.setValueAt(total, a, 7);
                        model.setValueAt(0.0d, a, 8);
                        if (par.getPcp() != null)
                            model.setValueAt(par.getPcp(), a, 9);
                        else
                            model.setValueAt(par.getPcp(), a, 9);
                        model.setValueAt(0.0d, a, 10);
                    }
                }
                session.beginTransaction().commit();
            }

            if (valor.compareTo("Externo") == 0) {
                try {
                    session.beginTransaction().begin();
                    if (movimiento.compareTo("Entrada") == 0) {
                        String[] columnas = new String[] { "Id", "N Parte", "Descripcin", "Medida",
                                "Pedidos", "X Surtir", "Entrada", "Costo c/u", "Total" };
                        Class[] types = new Class[] { java.lang.String.class, java.lang.String.class,
                                java.lang.String.class, java.lang.String.class, java.lang.Double.class,
                                java.lang.Double.class, java.lang.Double.class, java.lang.Double.class,
                                java.lang.Double.class };
                        Query query = session.createQuery("SELECT DISTINCT part FROM PartidaExterna part "
                                + "where part.pedido.idPedido=" + Integer.parseInt(t_pedido.getText()));
                        //+ "and part.pedido!="+null);
                        List partidas = query.list();
                        model = new MyModel(partidas.size(), columnas, types);
                        t_datos.setModel(model);
                        for (int a = 0; a < partidas.size(); a++) {
                            PartidaExterna par = (PartidaExterna) partidas.get(a);
                            Movimiento[] mov = (Movimiento[]) par.getMovimientos().toArray(new Movimiento[0]);
                            double entradas = 0.0d, devoluciones = 0.0d;
                            for (int b = 0; b < mov.length; b++) {
                                Almacen alm = mov[b].getAlmacen();
                                if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 2)
                                    entradas += mov[b].getCantidad();
                                if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 2)
                                    devoluciones += mov[b].getCantidad();
                            }
                            double total_almacen = entradas - devoluciones;
                            double total = par.getCantidad() - total_almacen;
                            model.setValueAt(par.getIdPartidaExterna(), a, 0);
                            if (par.getNoParte() != null)
                                model.setValueAt(par.getNoParte(), a, 1);
                            else
                                model.setValueAt("", a, 1);
                            model.setValueAt(par.getDescripcion(), a, 2);
                            model.setValueAt(par.getUnidad(), a, 3);
                            model.setValueAt(par.getCantidad(), a, 4);
                            model.setValueAt(total, a, 5);
                            model.setValueAt(0.0d, a, 6);
                            model.setValueAt(par.getCosto(), a, 7);
                            model.setValueAt(0.0d, a, 8);
                        }
                    }
                    if (movimiento.compareTo("Salida") == 0) {
                        String[] columnas = new String[] { "Id", "N Parte", "Descripcin", "Medida",
                                "Pedidos", "En almacen", "Devolucin", "Costo c/u", "Total" };
                        Class[] types = new Class[] { java.lang.String.class, java.lang.String.class,
                                java.lang.String.class, java.lang.String.class, java.lang.Double.class,
                                java.lang.Double.class, java.lang.Double.class, java.lang.Double.class,
                                java.lang.Double.class };
                        Query query = session.createQuery("SELECT DISTINCT part FROM PartidaExterna part "
                                + "LEFT JOIN FETCH part.movimientos movPart " + "LEFT JOIN movPart.almacen alm "
                                + "where alm.operacion=2 and part.pedido.idPedido="
                                + Integer.parseInt(t_pedido.getText()));
                        //+ "and part.pedido!="+null);
                        List partidas = query.list();
                        model = new MyModel(partidas.size(), columnas, types);
                        t_datos.setModel(model);
                        for (int a = 0; a < partidas.size(); a++) {
                            PartidaExterna par = (PartidaExterna) partidas.get(a);
                            Movimiento[] mov = (Movimiento[]) session
                                    .createCriteria(Movimiento.class).add(Restrictions
                                            .eq("partidaExterna.idPartidaExterna", par.getIdPartidaExterna()))
                                    .list().toArray(new Movimiento[0]);
                            double entradas = 0, devoluciones = 0, entregadas = 0, devueltas = 0;
                            ;
                            for (int b = 0; b < mov.length; b++) {
                                Almacen alm = mov[b].getAlmacen();
                                if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 2)
                                    entradas += mov[b].getCantidad();
                                if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 2)
                                    devoluciones += mov[b].getCantidad();
                                if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 6)
                                    devueltas += mov[b].getCantidad();
                                if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 6)
                                    entregadas += mov[b].getCantidad();
                            }
                            double total_Pedido = entradas - devoluciones;
                            double total_operario = entregadas - devueltas;
                            double total = total_Pedido - total_operario;
                            model.setValueAt(par.getIdPartidaExterna(), a, 0);
                            if (par.getNoParte() != null)
                                model.setValueAt(par.getNoParte(), a, 1);
                            else
                                model.setValueAt("", a, 1);
                            model.setValueAt(par.getDescripcion(), a, 2);
                            model.setValueAt(par.getUnidad(), a, 3);
                            model.setValueAt(par.getCantidad(), a, 4);
                            model.setValueAt(total, a, 5);
                            model.setValueAt(0.0d, a, 6);

                            if (par.getCosto() != null)
                                model.setValueAt(par.getCosto(), a, 7);
                            else
                                model.setValueAt(0.0d, a, 7);
                            model.setValueAt(0.0d, a, 8);
                        }
                    }
                    session.beginTransaction().commit();
                } catch (Exception e) {
                    e.printStackTrace();
                    session.beginTransaction().rollback();
                } finally {
                    if (session.isOpen() == true)
                        session.close();
                }
            }

            if (valor.compareTo("Adicional") == 0) {
                try {
                    session.beginTransaction().begin();
                    if (movimiento.compareTo("Entrada") == 0) {
                        String[] columnas = new String[] { "Id", "N", "#", "N Parte", "Descripcin",
                                "Medida", "Pedidos", "X Surtir", "Entrada", "Costo c/u", "Total" };//, "Ok"};//para antes de entrada
                        Class[] types = new Class[] { java.lang.String.class, java.lang.String.class,
                                java.lang.String.class, java.lang.String.class, java.lang.String.class,
                                java.lang.String.class, java.lang.Double.class, java.lang.Double.class,
                                java.lang.Double.class, java.lang.Double.class, java.lang.Double.class
                                //, java.lang.Boolean.class //para antes de entrada
                        };
                        Query query = session.createQuery("SELECT DISTINCT part FROM PartidaExterna part "
                                + "where part.pedido.idPedido=" + Integer.parseInt(t_pedido.getText()));
                        List partidas = query.list();
                        model = new MyModel(partidas.size(), columnas, types);
                        t_datos.setModel(model);
                        for (int a = 0; a < partidas.size(); a++) {
                            PartidaExterna par = (PartidaExterna) partidas.get(a);
                            Movimiento[] mov = (Movimiento[]) par.getMovimientos().toArray(new Movimiento[0]);
                            double entradas = 0, devoluciones = 0;
                            for (int b = 0; b < mov.length; b++) {
                                Almacen alm = mov[b].getAlmacen();
                                if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 3)
                                    entradas += mov[b].getCantidad();
                                if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 3)
                                    devoluciones += mov[b].getCantidad();
                            }
                            double total_almacen = entradas - devoluciones;
                            double total = par.getCantidad() - total_almacen;
                            model.setValueAt(par.getIdPartidaExterna(), a, 0);
                            //model.setValueAt(par.getPedido().getPartida().getIdEvaluacion(), a, 1);
                            //model.setValueAt(par.getPedido().getPartida().getSubPartida(), a, 2);
                            model.setValueAt(0, a, 1);
                            model.setValueAt(0, a, 2);
                            if (par.getNoParte() != null)
                                model.setValueAt(par.getNoParte(), a, 3);
                            else
                                model.setValueAt("", a, 3);
                            //model.setValueAt(par.getPedido().getPartida().getCatalogo().getNombre()+"/"+par.getDescripcion(), a, 4);
                            model.setValueAt(par.getDescripcion(), a, 4);
                            model.setValueAt(par.getUnidad(), a, 5);
                            model.setValueAt(par.getCantidad(), a, 6);
                            model.setValueAt(total, a, 7);
                            model.setValueAt(0.0d, a, 8);
                            model.setValueAt(par.getCosto(), a, 9);
                            model.setValueAt(0.0d, a, 10);
                            //model.setValueAt(par.getOp(), a, 11); //para antes de entrada
                        }
                    }
                    if (movimiento.compareTo("Salida") == 0) {
                        String[] columnas = new String[] { "Id", "N", "#", "N Parte", "Descripcin",
                                "Medida", "Pedidos", "En almacen", "Devolucin", "Costo c/u", "Total" };
                        Class[] types = new Class[] { java.lang.String.class, java.lang.String.class,
                                java.lang.String.class, java.lang.String.class, java.lang.String.class,
                                java.lang.String.class, java.lang.Double.class, java.lang.Double.class,
                                java.lang.Double.class, java.lang.Double.class, java.lang.Double.class };
                        Query query = session.createQuery("SELECT DISTINCT part FROM PartidaExterna part "
                                + "LEFT JOIN FETCH part.movimientos movPart " + "LEFT JOIN movPart.almacen alm "
                                + "where alm.operacion=3 and part.pedido.idPedido="
                                + Integer.parseInt(t_pedido.getText()) + "and part.pedido!=" + null);
                        List partidas = query.list();
                        model = new MyModel(partidas.size(), columnas, types);
                        t_datos.setModel(model);
                        for (int a = 0; a < partidas.size(); a++) {
                            PartidaExterna par = (PartidaExterna) partidas.get(a);
                            Movimiento[] mov = (Movimiento[]) session
                                    .createCriteria(Movimiento.class).add(Restrictions
                                            .eq("partidaExterna.idPartidaExterna", par.getIdPartidaExterna()))
                                    .list().toArray(new Movimiento[0]);
                            double entradas = 0, devoluciones = 0, entregadas = 0, devueltas = 0;
                            ;
                            for (int b = 0; b < mov.length; b++) {
                                Almacen alm = mov[b].getAlmacen();
                                if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 3)
                                    entradas += mov[b].getCantidad();
                                if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 3)
                                    devoluciones += mov[b].getCantidad();
                                if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 5)
                                    devueltas += mov[b].getCantidad();
                                if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 5)
                                    entregadas += mov[b].getCantidad();
                            }
                            double total_Pedido = entradas - devoluciones;
                            double total_operario = entregadas - devueltas;
                            double total = total_Pedido - total_operario;
                            model.setValueAt(par.getIdPartidaExterna(), a, 0);
                            //model.setValueAt(par.getPedido().getPartida().getIdEvaluacion(), a, 1);
                            //model.setValueAt(par.getPedido().getPartida().getSubPartida(), a, 2);
                            model.setValueAt("", a, 1);
                            model.setValueAt("", a, 2);
                            if (par.getNoParte() != null)
                                model.setValueAt(par.getNoParte(), a, 3);
                            else
                                model.setValueAt("", a, 3);
                            //model.setValueAt(par.getPedido().getPartida().getCatalogo().getNombre()+"/"+par.getDescripcion(), a, 4);
                            model.setValueAt(par.getDescripcion(), a, 4);
                            model.setValueAt(par.getUnidad(), a, 5);
                            model.setValueAt(par.getCantidad(), a, 6);
                            model.setValueAt(total, a, 7);
                            model.setValueAt(0.0d, a, 8);
                            model.setValueAt(par.getCosto(), a, 9);
                            model.setValueAt(0.0d, a, 10);
                        }
                    }
                    session.beginTransaction().commit();
                } catch (Exception e) {
                    e.printStackTrace();
                    session.beginTransaction().rollback();
                } finally {
                    if (session.isOpen() == true)
                        session.close();
                }
            }
        }

        if (tipo.compareTo("Venta") == 0) {
            Pedido pedido = (Pedido) session.get(Pedido.class, Integer.parseInt(t_pedido.getText()));
            session.beginTransaction().begin();
            if (movimiento.compareTo("Entrada") == 0) {
                Class[] types = new Class[] { java.lang.String.class, java.lang.String.class,
                        java.lang.String.class, java.lang.String.class, java.lang.Double.class,
                        java.lang.Double.class };
                String[] columnas = new String[] { "Id", "N Parte", "Descripcin", "Medida", "Entregados",
                        "Devueltos" };
                Query query = session.createQuery("SELECT DISTINCT part FROM PartidaExterna part "
                        + "LEFT JOIN FETCH part.movimientos movPart " + "LEFT JOIN movPart.almacen alm "
                        + "where alm.operacion=2 and part.pedido.idPedido="
                        + Integer.parseInt(t_pedido.getText()) + "and part.pedido!=" + null);
                List partidas = query.list();
                model = new MyModel(partidas.size(), columnas, types);
                t_datos.setModel(model);
                for (int a = 0; a < partidas.size(); a++) {
                    PartidaExterna par = (PartidaExterna) partidas.get(a);
                    Movimiento[] mov = (Movimiento[]) session.createCriteria(Movimiento.class)
                            .add(Restrictions.eq("partidaExterna.idPartidaExterna", par.getIdPartidaExterna()))
                            .list().toArray(new Movimiento[0]);
                    double entregados = 0.0d, devoluciones = 0.0d;
                    for (int b = 0; b < mov.length; b++) {
                        Almacen alm = mov[b].getAlmacen();
                        if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 6)
                            devoluciones += mov[b].getCantidad();
                        if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 6)
                            entregados += mov[b].getCantidad();
                    }
                    double total = entregados - devoluciones;
                    model.setValueAt(par.getIdPartidaExterna(), a, 0);
                    if (par.getNoParte() != null)
                        model.setValueAt(par.getNoParte(), a, 1);
                    else
                        model.setValueAt("", a, 1);
                    model.setValueAt(par.getDescripcion(), a, 2);
                    model.setValueAt(par.getUnidad(), a, 3);
                    model.setValueAt(total, a, 4);
                    model.setValueAt(0.0d, a, 5);
                }
            }
            if (movimiento.compareTo("Salida") == 0) {
                Class[] types = new Class[] { java.lang.String.class, java.lang.String.class,
                        java.lang.String.class, java.lang.String.class, java.lang.Double.class,
                        java.lang.Double.class, java.lang.Double.class, java.lang.Double.class };
                String[] columnas = new String[] { "Id", "N Parte", "Descripcin", "Medida", "Pedidos",
                        "Entregadas", "Existencias", "Salida" };
                Query query = session.createQuery("SELECT DISTINCT part FROM PartidaExterna part "
                        + "LEFT JOIN FETCH part.movimientos movPart " + "LEFT JOIN movPart.almacen alm "
                        + "where alm.operacion=2 and part.pedido.idPedido="
                        + Integer.parseInt(t_pedido.getText()) + "and part.pedido!=" + null);
                List partidas = query.list();
                model = new MyModel(partidas.size(), columnas, types);
                t_datos.setModel(model);
                for (int a = 0; a < partidas.size(); a++) {
                    PartidaExterna par = (PartidaExterna) partidas.get(a);
                    Movimiento[] mov = (Movimiento[]) session.createCriteria(Movimiento.class)
                            .add(Restrictions.eq("partidaExterna.idPartidaExterna", par.getIdPartidaExterna()))
                            .list().toArray(new Movimiento[0]);
                    double entradas = 00.d, devoluciones = 0.0d, entregadas = 0.0d, devueltas = 0.0d;
                    for (int b = 0; b < mov.length; b++) {
                        Almacen alm = mov[b].getAlmacen();
                        if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 2)
                            entradas += mov[b].getCantidad();
                        if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 2)
                            devoluciones += mov[b].getCantidad();
                        if (alm.getTipoMovimiento() == 1 && alm.getOperacion() == 6)
                            devueltas += mov[b].getCantidad();
                        if (alm.getTipoMovimiento() == 2 && alm.getOperacion() == 6)
                            entregadas += mov[b].getCantidad();
                    }
                    double total_Existencias = entradas - devoluciones;
                    double total_cliente = entregadas - devueltas;
                    double total = total_Existencias - total_cliente;
                    model.setValueAt(par.getIdPartidaExterna(), a, 0);
                    if (par.getNoParte() != null)
                        model.setValueAt(par.getNoParte(), a, 1);
                    else
                        model.setValueAt("", a, 1);
                    model.setValueAt(par.getDescripcion(), a, 2);
                    model.setValueAt(par.getUnidad(), a, 3);
                    model.setValueAt(par.getCantidad(), a, 4);
                    model.setValueAt(total_cliente, a, 5);
                    model.setValueAt(total, a, 6);
                    model.setValueAt(0.0d, a, 7);
                }
            }
            session.beginTransaction().commit();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    if (session != null)
        if (session.isOpen())
            session.close();
    formatoTabla(tipo, valor, movimiento);
}

From source file:Almacen.formatosAlmacen.java

void formato() {
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);/*from  w w w  . ja va 2  s  .  c om*/
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        miAlmacen = (Almacen) session.get(Almacen.class, miAlmacen.getIdAlmacen());
        DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
        formatoPorcentaje.setMinimumFractionDigits(2);

        session.beginTransaction().begin();
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);

        PDF reporte = new PDF();
        Date fecha = new Date();
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
        String valor = dateFormat.format(fecha);
        Movimiento[] mov = (Movimiento[]) session.createCriteria(Movimiento.class)
                .add(Restrictions.eq("almacen.idAlmacen", miAlmacen.getIdAlmacen())).list()
                .toArray(new Movimiento[0]);
        Orden ord = null;
        if (mov.length > 0)
            ord = mov[0].getPartida().getOrdenByIdOrden();
        //File folder = new File("reportes/"+ord.getIdOrden());
        //folder.mkdirs();
        reporte.Abrir(PageSize.LETTER, "Almacen",
                "reportes/" + ord.getIdOrden() + "/" + valor + "-" + miAlmacen.getIdAlmacen() + "-almacen.pdf");
        Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);
        BaseColor contenido = BaseColor.WHITE;
        int centro = Element.ALIGN_CENTER;
        int izquierda = Element.ALIGN_LEFT;
        int derecha = Element.ALIGN_RIGHT;
        float tam[] = new float[] { 20, 20, 80, 190, 20, 30, 50, 50 };
        PdfPTable tabla = reporte.crearTabla(8, tam, 100, Element.ALIGN_LEFT);

        cabeceraCompra(reporte, bf, tabla, miAlmacen, ord);

        int ren = 0;
        double total = 0d;
        if (mov.length > 0) {
            for (int i = 0; i < mov.length; i++) {
                int r = i + 1;
                //N
                tabla.addCell(reporte.celda("" + mov[i].getPartida().getIdEvaluacion(), font, contenido,
                        izquierda, 0, 1, Rectangle.RECTANGLE));

                //#
                tabla.addCell(reporte.celda("" + mov[i].getPartida().getSubPartida(), font, contenido, derecha,
                        0, 1, Rectangle.RECTANGLE));

                if (mov[i].getPartida().getEjemplar() != null) {
                    //No de parte
                    tabla.addCell(reporte.celda("" + mov[i].getPartida().getEjemplar().getIdParte(), font,
                            contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                } else
                    tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                //Descripcion
                tabla.addCell(reporte.celda(mov[i].getPartida().getCatalogo().getNombre(), font, contenido,
                        izquierda, 0, 1, Rectangle.RECTANGLE));

                //med
                tabla.addCell(reporte.celda(mov[i].getPartida().getMed(), font, contenido, izquierda, 0, 1,
                        Rectangle.RECTANGLE));

                //cant 
                tabla.addCell(reporte.celda(formatoPorcentaje.format(mov[i].getCantidad()), font, contenido,
                        derecha, 0, 1, Rectangle.RECTANGLE));

                tabla.addCell(reporte.celda(formatoPorcentaje.format(mov[i].getPartida().getPcp()), font,
                        contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                double sum = mov[i].getCantidad() * mov[i].getPartida().getPcp();
                total += sum;
                tabla.addCell(reporte.celda(formatoPorcentaje.format(sum), font, contenido, derecha, 0, 1,
                        Rectangle.RECTANGLE));

                if (ren == 38) {
                    reporte.agregaObjeto(tabla);
                    reporte.writer.newPage();
                    tabla = reporte.crearTabla(8, tam, 100, Element.ALIGN_LEFT);
                    cabeceraCompra(reporte, bf, tabla, miAlmacen, ord);
                    ren = -1;
                }
                ren++;
            }
        }
        tabla.addCell(reporte.celda("Notas:", font, contenido, izquierda, 0, 1, Rectangle.BOTTOM));
        tabla.addCell(reporte.celda(miAlmacen.getNotas(), font, contenido, izquierda, 7, 1, Rectangle.BOTTOM));
        if (miAlmacen.getTipoMovimiento() == 1)
            tabla.addCell(reporte.celda("Entrego: " + miAlmacen.getEntrego(), font, contenido, izquierda, 3, 1,
                    Rectangle.NO_BORDER));
        else
            tabla.addCell(reporte.celda("recibi:" + miAlmacen.getEntrego(), font, contenido, izquierda, 3, 1,
                    Rectangle.NO_BORDER));
        tabla.addCell(reporte.celda("Sub-total:", font, contenido, derecha, 4, 1, Rectangle.NO_BORDER));
        tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("IVA:", font, contenido, derecha, 7, 1, Rectangle.NO_BORDER));
        double iva = total * 0.16d;
        tabla.addCell(reporte.celda(formatoPorcentaje.format(iva), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Total:", font, contenido, derecha, 7, 1, Rectangle.NO_BORDER));
        total += iva;
        tabla.addCell(reporte.celda(formatoPorcentaje.format(total), font, contenido, derecha, 0, 1,
                Rectangle.RECTANGLE));
        session.beginTransaction().rollback();

        reporte.agregaObjeto(tabla);
        reporte.cerrar();
        reporte.visualizar(
                "reportes/" + ord.getIdOrden() + "/" + valor + "-" + miAlmacen.getIdAlmacen() + "-almacen.pdf");

    } catch (Exception e) {
        System.out.println(e);
        e.printStackTrace();
        JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto.");
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Almacen.formatosAlmacen.java

private void cabeceraCompra(PDF reporte, BaseFont bf, PdfPTable tabla, Almacen almacen, Orden ord) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {/*from w  w  w .jav a 2s  . co m*/
        reporte.contenido.setLineWidth(0.5f);
        reporte.contenido.setColorStroke(new GrayColor(0.2f));
        reporte.contenido.setColorFill(new GrayColor(0.9f));
        if (almacen.getPedido() != null) {
            reporte.contenido.roundRectangle(35, 695, 180, 10, 0);
            reporte.contenido.roundRectangle(35, 625, 180, 80, 0);

            reporte.contenido.roundRectangle(215, 695, 180, 10, 0);
            reporte.contenido.roundRectangle(215, 625, 180, 80, 0);
        }
        reporte.contenido.roundRectangle(395, 695, 180, 10, 0);
        reporte.contenido.roundRectangle(395, 625, 180, 80, 0);

        reporte.inicioTexto();
        reporte.contenido.setFontAndSize(bf, 13);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        reporte.agregaObjeto(reporte.crearImagen("imagenes/grande300115.jpg", 30, -40, 60));
        reporte.contenido.setFontAndSize(bf, 12);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        if (almacen.getPedido() != null)
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Movimiento en almacen: "
                    + almacen.getIdAlmacen() + " Pedido:" + almacen.getPedido().getIdPedido(), 35, 710, 0);
        else
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    "Movimiento en almacen: " + almacen.getIdAlmacen(), 35, 710, 0);
        reporte.contenido.setFontAndSize(bf, 7);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT,
                "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 570, 710, 0);

        ord = (Orden) session.get(Orden.class, ord.getIdOrden());

        //************************datos del proveedor****************************
        if (almacen.getPedido() != null) {
            DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DEL PROVEEDOR", 73, 697, 0);

            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    almacen.getPedido().getProveedorByIdProveedor().getNombre(), 40, 687, 0);

            if (almacen.getPedido().getProveedorByIdProveedor().getDireccion() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        almacen.getPedido().getProveedorByIdProveedor().getDireccion(), 40, 677, 0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 40, 677, 0);

            if (almacen.getPedido().getProveedorByIdProveedor().getColonia() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Col: " + almacen.getPedido().getProveedorByIdProveedor().getColonia(), 40, 667, 0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 40, 667, 0);

            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    "Edo: " + almacen.getPedido().getProveedorByIdProveedor().getEstado(), 40, 657, 0);

            if (almacen.getPedido().getProveedorByIdProveedor().getTel1() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Tel: " + almacen.getPedido().getProveedorByIdProveedor().getTel1(), 40, 647, 0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tel:", 40, 647, 0);

            if (almacen.getPedido().getProveedorByIdProveedor().getTel1() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Cto: " + almacen.getPedido().getProveedorByIdProveedor().getRepresentante(), 40, 637,
                        0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cto:", 40, 637, 0);

            if (almacen.getPedido().getProveedorByIdProveedor().getEmail() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Email: " + almacen.getPedido().getProveedorByIdProveedor().getEmail(), 40, 627, 0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Email: ", 40, 627, 0);

            //**********************datos de facturacion*****************************
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS DE FACTURACIN", 250, 697, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    almacen.getPedido().getProveedorByIdEmpresa().getNombre(), 220, 687, 0);
            if (almacen.getPedido().getProveedorByIdEmpresa().getDireccion() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        almacen.getPedido().getProveedorByIdEmpresa().getDireccion(), 220, 677, 0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Dir:", 220, 677, 0);
            if (almacen.getPedido().getProveedorByIdEmpresa().getColonia() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Col: " + almacen.getPedido().getProveedorByIdEmpresa().getColonia(), 220, 667, 0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Col:", 220, 667, 0);
            if (almacen.getPedido().getProveedorByIdEmpresa().getPoblacion() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Pob: " + almacen.getPedido().getProveedorByIdEmpresa().getPoblacion(), 220, 657, 0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Pob:", 220, 657, 0);
            if (almacen.getPedido().getProveedorByIdEmpresa().getCp() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "CP: " + almacen.getPedido().getProveedorByIdEmpresa().getCp(), 220, 647, 0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "CP:", 220, 647, 0);
            if (almacen.getPedido().getProveedorByIdEmpresa().getRfc() != null)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "RFC: " + almacen.getPedido().getProveedorByIdEmpresa().getRfc(), 220, 637, 0);
            else
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RFC:", 220, 537, 0);
        }
        //**********************datos de la unidad*****************************
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "DATOS LA UNIDAD", 450, 697, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Orden: " + ord.getIdOrden(), 410, 687,
                0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo: " + ord.getTipo().getTipoNombre(),
                410, 677, 0);
        if (ord.getNoSerie() != null)
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: " + ord.getNoSerie(), 410,
                    667, 0);
        else
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Serie: ", 410, 667, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Modelo: " + ord.getModelo(), 410, 657, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                "Compaia: " + ord.getCompania().getNombre(), 410, 647, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cli:" + ord.getClientes().getNombre(),
                410, 637, 0);
        if (ord.getSiniestro() != null)
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:" + ord.getSiniestro(),
                    410, 627, 0);
        else
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "No Siniestro:", 410, 627, 0);

        reporte.finTexto();
        reporte.contenido.setFontAndSize(bf, 12);
        //agregamos renglones vacios para dejar un espacio
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));

        Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);
        BaseColor cabecera = BaseColor.GRAY;
        int centro = Element.ALIGN_CENTER;

        tabla.addCell(reporte.celda("N", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("#", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("N Parte", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Med", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Cant", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Costo c/u", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Total", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));

        reporte.contenido.roundRectangle(50, 40, 180, 1, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Almacen", 120, 30, 0);
        reporte.contenido.roundRectangle(370, 40, 180, 1, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Proveedor", 440, 30, 0);
    } catch (Exception e) {
        System.out.println(e);
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Almacen.formatosOrden.java

void formato() {
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);/* w w  w. j a va 2s .  c  om*/
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        miAlmacen = (Almacen) session.get(Almacen.class, miAlmacen.getIdAlmacen());
        DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
        formatoPorcentaje.setMinimumFractionDigits(2);

        session.beginTransaction().begin();
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
        PDF reporte = new PDF();
        Date fecha = new Date();
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
        String valor = dateFormat.format(fecha);
        Movimiento[] mov = (Movimiento[]) session.createCriteria(Movimiento.class)
                .add(Restrictions.eq("almacen.idAlmacen", miAlmacen.getIdAlmacen())).list()
                .toArray(new Movimiento[0]);
        Orden ord = null;
        if (mov.length > 0) {
            if (mov[0].getPartida() != null) {
                ord = mov[0].getPartida().getOrdenByIdOrden();
            } else {
                ord = mov[0].getPartidaExterna().getPedido().getOrden();
                //ord=miAlmacen.getPedido().getPartida().getOrdenByIdOrden();
                //ord=mov[0].getOrden();
            }
        }
        File folder = new File("reportes/" + ord.getIdOrden());
        folder.mkdirs();
        reporte.Abrir(PageSize.LETTER, "Almacen",
                "reportes/" + ord.getIdOrden() + "/" + valor + "-" + miAlmacen.getIdAlmacen() + "-almacen.pdf");
        Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);
        BaseColor contenido = BaseColor.WHITE;
        int centro = Element.ALIGN_CENTER;
        int izquierda = Element.ALIGN_LEFT;
        int derecha = Element.ALIGN_RIGHT;
        float tam[] = new float[] { 20, 20, 80, 190, 20, 30 };
        PdfPTable tabla = reporte.crearTabla(6, tam, 100, Element.ALIGN_LEFT);
        cabeceraCompra(reporte, bf, tabla, miAlmacen, ord);
        int ren = 0;
        double total = 0d;
        if (mov.length > 0) {
            int renglon = 0;
            for (int i = 0; i < mov.length; i++) {
                int r = i + 1;
                renglon++;
                if (mov[i].getPartida() != null) {
                    tabla.addCell(reporte.celda("" + mov[i].getPartida().getIdEvaluacion(), font, contenido,
                            izquierda, 0, 1, Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda("" + mov[i].getPartida().getSubPartida(), font, contenido,
                            derecha, 0, 1, Rectangle.RECTANGLE));
                    if (mov[i].getPartida().getEjemplar() != null)
                        tabla.addCell(reporte.celda("" + mov[i].getPartida().getEjemplar().getIdParte(), font,
                                contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                    else
                        tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda(mov[i].getPartida().getCatalogo().getNombre(), font, contenido,
                            izquierda, 0, 1, Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda(mov[i].getPartida().getMed(), font, contenido, izquierda, 0, 1,
                            Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda(formatoPorcentaje.format(mov[i].getCantidad()), font, contenido,
                            derecha, 0, 1, Rectangle.RECTANGLE));
                } else {
                    tabla.addCell(reporte.celda("-", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                    if (mov[i].getPartidaExterna().getNoParte() != null)
                        tabla.addCell(reporte.celda(mov[i].getPartidaExterna().getNoParte(), font, contenido,
                                derecha, 0, 1, Rectangle.RECTANGLE));
                    else
                        tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda(mov[i].getPartidaExterna().getDescripcion(), font, contenido,
                            izquierda, 0, 1, Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda(mov[i].getPartidaExterna().getUnidad(), font, contenido,
                            izquierda, 0, 1, Rectangle.RECTANGLE));
                    tabla.addCell(reporte.celda(formatoPorcentaje.format(mov[i].getCantidad()), font, contenido,
                            derecha, 0, 1, Rectangle.RECTANGLE));
                }
                if (ren == 20)//20
                {
                    reporte.writer.newPage();
                    reporte.agregaObjeto(tabla);
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(tabla);
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));
                    reporte.agregaObjeto(new Paragraph(" "));

                    tabla = reporte.crearTabla(6, tam, 100, Element.ALIGN_LEFT);
                    cabeceraCompra(reporte, bf, tabla, miAlmacen, ord);
                    ren = -1;
                    renglon = 0;
                }
                ren++;
            }
            for (renglon = renglon; renglon < 20; renglon++) {
                tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
            }
        }
        tabla.addCell(reporte.celda("Notas: ", font, contenido, izquierda, 0, 1, Rectangle.BOTTOM));
        tabla.addCell(reporte.celda(miAlmacen.getNotas(), font, contenido, izquierda, 7, 1, Rectangle.BOTTOM));
        session.beginTransaction().rollback();

        reporte.agregaObjeto(tabla);
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(tabla);
        reporte.cerrar();
        reporte.visualizar(
                "reportes/" + ord.getIdOrden() + "/" + valor + "-" + miAlmacen.getIdAlmacen() + "-almacen.pdf");
    } catch (Exception e) {
        System.out.println(e);
        e.printStackTrace();
        JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto");
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Almacen.formatosOrden.java

private void cabeceraCompra(PDF reporte, BaseFont bf, PdfPTable tabla, Almacen almacen, Orden ord) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {/*from   ww w.java 2s. c  o m*/
        reporte.contenido.setLineWidth(0.5f);
        reporte.contenido.setColorStroke(new GrayColor(0.2f));
        reporte.contenido.setColorFill(new GrayColor(0.9f));
        reporte.contenido.roundRectangle(35, 755, 280, 10, 0);
        reporte.contenido.roundRectangle(35, 735, 280, 20, 0);
        ////*2
        reporte.contenido.roundRectangle(35, 388, 280, 10, 0);
        reporte.contenido.roundRectangle(35, 368, 280, 20, 0);
        ////         
        reporte.inicioTexto();
        reporte.contenido.setFontAndSize(bf, 13);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        reporte.agregaObjeto(reporte.crearImagen("imagenes/grande300115.jpg", 335, -23, 30));
        /*2*/reporte.agregarImagen(reporte.crearImagen("imagenes/grande300115.jpg", 100, -390, 30));
        reporte.contenido.setFontAndSize(bf, 12);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        if (miAlmacen.getTipoMovimiento() == 1) {
            if (miAlmacen.getOperacion() == 4)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Movimientos en Almacn (Entrada de Material): " + almacen.getIdAlmacen(), 35, 767, 0);
            if (miAlmacen.getOperacion() == 5)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Movimientos de Almacn (Devolucin de material de operarios): "
                                + almacen.getIdAlmacen(),
                        35, 767, 0);
            //*********2
            if (miAlmacen.getOperacion() == 4)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Movimientos en Almacn (Entrada de Material): " + almacen.getIdAlmacen(), 35, 400, 0);
            if (miAlmacen.getOperacion() == 5)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Movimientos de Almacn (Devolucin de material de operarios): "
                                + almacen.getIdAlmacen(),
                        35, 400, 0);
            ////
        } else {
            if (miAlmacen.getOperacion() == 4)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Movimiento de Almacn (Devolucin de material a proveedor): "
                                + almacen.getIdAlmacen(),
                        35, 767, 0);
            if (miAlmacen.getOperacion() == 5)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Movimientos de Almacn (Entrega de material a operarios): " + almacen.getIdAlmacen(),
                        35, 767, 0);
            //*********2
            if (miAlmacen.getOperacion() == 4)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Movimiento de Almacn (Devolucin de material a proveedor): "
                                + almacen.getIdAlmacen(),
                        35, 400, 0);
            if (miAlmacen.getOperacion() == 5)
                reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        "Movimientos de Almacn (Entrega de material a operarios): " + almacen.getIdAlmacen(),
                        35, 400, 0);
            ///
        }

        reporte.contenido.setFontAndSize(bf, 7);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT,
                "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 306, 757, 0);
        /*2*/reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT,
                "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 306, 390, 0);

        ord = (Orden) session.get(Orden.class, ord.getIdOrden());

        //************************datos de movimiento****************************
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Materiales y Refacciones del Almacn",
                40, 757, 0);
        /*2*/reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                "Materiales y Refacciones del Almacn", 40, 390, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                "N. Movimiento: " + almacen.getIdAlmacen(), 40, 747, 0);
        /*2*/ reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                "N. Movimiento: " + almacen.getIdAlmacen(), 40, 380, 0);
        if (almacen.getTipoMovimiento() == 1)
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo de Movimiento : Entrada", 120,
                    747, 0);
        else
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo de Movimiento : Salida", 120,
                    747, 0);
        ////**2
        if (almacen.getTipoMovimiento() == 1)
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo de Movimiento : Entrada", 120,
                    380, 0);
        else
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo de Movimiento : Salida", 120,
                    380, 0);
        ////

        if (almacen.getOperacion() == 4)
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo de Operacin : Compaa", 220,
                    747, 0);
        if (almacen.getOperacion() == 5)
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo de Operacin : Operarios", 220,
                    747, 0);

        ////**2
        if (almacen.getOperacion() == 4)
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo de Operacin : Compaa", 220,
                    380, 0);
        if (almacen.getOperacion() == 5)
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Tipo de Operacin : Operarios", 220,
                    380, 0);
        ////

        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "N. Orden: " + ord.getIdOrden(), 40, 737,
                0);
        /*2*/ reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "N. Orden: " + ord.getIdOrden(),
                40, 370, 0);

        //Firmas de material 
        if (miAlmacen.getTipoMovimiento() == 1) {
            reporte.contenido.roundRectangle(45, 450, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "ENTREGA: " + almacen.getEntrego(), 45,
                    440, 0);
            reporte.contenido.roundRectangle(250, 450, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "AUTORIZA: ", 250, 440, 0);
            reporte.contenido.roundRectangle(440, 450, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    "RECIBE: " + almacen.getUsuario().getEmpleado().getNombre(), 440, 440, 0);
        } else {
            reporte.contenido.roundRectangle(45, 450, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    "ENTREGA: " + almacen.getUsuario().getEmpleado().getNombre(), 45, 440, 0);
            reporte.contenido.roundRectangle(250, 450, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "AUTORIZA: ", 250, 440, 0);
            reporte.contenido.roundRectangle(440, 450, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RECIBE: " + almacen.getEntrego(), 440,
                    440, 0);
        }

        /*2*/if (miAlmacen.getTipoMovimiento() == 1) {
            reporte.contenido.roundRectangle(45, 30, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "ENTREGA: " + almacen.getEntrego(), 45,
                    20, 0);
            reporte.contenido.roundRectangle(250, 30, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "AUTORIZA: ", 250, 20, 0);
            reporte.contenido.roundRectangle(440, 30, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    "RECIBE: " + almacen.getUsuario().getEmpleado().getNombre(), 440, 20, 0);
        } else {
            reporte.contenido.roundRectangle(45, 30, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    "ENTREGA: " + almacen.getUsuario().getEmpleado().getNombre(), 45, 20, 0);
            reporte.contenido.roundRectangle(250, 30, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "AUTORIZA: ", 250, 20, 0);
            reporte.contenido.roundRectangle(440, 30, 130, 1, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "RECIBE: " + almacen.getEntrego(), 440,
                    20, 0);
        }
        ///
        reporte.finTexto();
        reporte.contenido.setFontAndSize(bf, 12);
        //agregamos renglones vacios para dejar un espacio(tabla)
        reporte.agregaObjeto(new Paragraph(" "));
        reporte.agregaObjeto(new Paragraph(" "));

        Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);
        BaseColor cabecera = BaseColor.GRAY;
        int centro = Element.ALIGN_CENTER;

        tabla.addCell(reporte.celda("N", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("#", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("N Parte", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Med", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        tabla.addCell(reporte.celda("Cant", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
    } catch (Exception e) {
        System.out.println(e);
        e.printStackTrace();
        JOptionPane.showMessageDialog(null, "No se pudo realizar el reporte si el archivo esta abierto");
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}