Example usage for com.itextpdf.text Element ALIGN_LEFT

List of usage examples for com.itextpdf.text Element ALIGN_LEFT

Introduction

In this page you can find the example usage for com.itextpdf.text Element ALIGN_LEFT.

Prototype

int ALIGN_LEFT

To view the source code for com.itextpdf.text Element ALIGN_LEFT.

Click Source Link

Document

A possible value for paragraph alignment.

Usage

From source file:Valuacion.Autorizacion.java

private void b_pdfxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_pdfxActionPerformed
     // TODO add your handling code here:
     h = new Herramientas(user, 0);
     h.session(sessionPrograma);//from  w  w  w . j  a v a 2  s. c  om
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {
         session.beginTransaction().begin();
         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
         //Orden ord=buscaApertura();
         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);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER.rotate(), "Valuacin",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-autorizacion.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[] { 15, 15, 50, 150, 15, 15, 12, 12, 12, 12, 12, 12, 12, 12, 100 };
         PdfPTable tabla = reporte.crearTabla(15, tam, 100, Element.ALIGN_LEFT);

         cabecera(reporte, bf, tabla);

         session.beginTransaction().begin();
         Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
         //Partida resp=(Partida[]) session.createCriteria(Partida.class).add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden))).addOrder(Order.desc("idEvaluacion")).addOrder(Order.desc("subPartida"));
         //Partida[] cuentas = (Partida[]) ord.getPartidas().toArray(new Partida[0]);
         List cuentas = null;
         switch (c_filtro.getSelectedItem().toString()) {
         case "Todos":
             cuentas = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                     .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list();
             break;

         case "Hojalateria":
             cuentas = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                     .add(Restrictions.eq("espHoj", true)).addOrder(Order.asc("idEvaluacion"))
                     .addOrder(Order.asc("subPartida")).list();
             break;

         case "Mecanica":
             cuentas = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                     .add(Restrictions.eq("espMec", true)).addOrder(Order.asc("idEvaluacion"))
                     .addOrder(Order.asc("subPartida")).list();
             break;

         case "Suspension":
             cuentas = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                     .add(Restrictions.eq("espSus", true)).addOrder(Order.asc("idEvaluacion"))
                     .addOrder(Order.asc("subPartida")).list();
             break;

         case "Electricidad":
             cuentas = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                     .add(Restrictions.eq("espEle", true)).addOrder(Order.asc("idEvaluacion"))
                     .addOrder(Order.asc("subPartida")).list();
             break;
         }

         int ren = 0;
         if (cuentas.size() > 0) {
             for (int i = 0; i < cuentas.size(); i++) {
                 Partida Part = (Partida) cuentas.get(i);
                 /*if(Part.isRefCoti())
                 {*/
                 tabla.addCell(reporte.celda("" + Part.getIdEvaluacion(), font, contenido, izquierda, 0, 1,
                         Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda("" + Part.getSubPartida(), font, contenido, izquierda, 0, 1,
                         Rectangle.RECTANGLE));
                 if (Part.isEspEle() == true)
                     tabla.addCell(reporte.celda("Electricidad", font, contenido, izquierda, 0, 0,
                             Rectangle.RECTANGLE));
                 else {
                     if (Part.isEspMec() == true)
                         tabla.addCell(reporte.celda("Mecanica", font, contenido, izquierda, 0, 0,
                                 Rectangle.RECTANGLE));
                     else {
                         if (Part.isEspSus() == true)
                             tabla.addCell(reporte.celda("Suspension", font, contenido, izquierda, 0, 0,
                                     Rectangle.RECTANGLE));
                         else {
                             if (Part.isEspHoj() == true)
                                 tabla.addCell(reporte.celda("Hojalateria", font, contenido, izquierda, 0, 0,
                                         Rectangle.RECTANGLE));
                             else {
                                 tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 0,
                                         Rectangle.RECTANGLE));
                             }
                         }
                     }
                 }
                 tabla.addCell(reporte.celda(Part.getCatalogo().getNombre(), font, contenido, izquierda, 0, 0,
                         Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda("" + Part.getCant(), font, contenido, izquierda, 0, 1,
                         Rectangle.RECTANGLE));
                 tabla.addCell(
                         reporte.celda(Part.getMed(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 if (Part.getIntDesm() > -1)
                     tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 if (Part.getIntCamb() > -1)
                     tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 if (Part.getIntRepMin() > -1)
                     tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 if (Part.getIntRepMed() > -1)
                     tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 if (Part.getIntRepMax() > -1)
                     tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 if (Part.getIntPinMin() > -1)
                     tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 if (Part.getIntPinMed() > -1)
                     tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 if (Part.getIntPinMax() > -1)
                     tabla.addCell(reporte.celda("X", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 if (Part.getInstruccion() != null)
                     tabla.addCell(reporte.celda(Part.getInstruccion(), font, contenido, izquierda, 0, 1,
                             Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                 /*if(ren==38)
                 {
                     reporte.agregaObjeto(tabla);
                     reporte.writer.newPage();
                     tabla=reporte.crearTabla(17, tam, 100, Element.ALIGN_LEFT);
                     cabecera(reporte, bf, tabla);
                     ren=-1;
                 }*/
                 ren++;
                 //}
             }

         }
         session.beginTransaction().rollback();
         tabla.setHeaderRows(3);
         reporte.agregaObjeto(tabla);
         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-autorizacion.pdf");

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

From source file:Valuacion.Autorizacion.java

public void cabecera(PDF reporte, BaseFont bf, PdfPTable tabla) {
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {//w w w .  j av  a 2 s  . 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(160, 515, 210, 45, 5);
         reporte.contenido.roundRectangle(380, 515, 375, 45, 5);
         reporte.contenido.roundRectangle(35, 490, 720, 20, 5);

         Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
         reporte.inicioTexto();
         reporte.contenido.setFontAndSize(bf, 14);
         reporte.contenido.setColorFill(BaseColor.BLACK);
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, con.getEmpresa(), 160, 580, 0);
         reporte.contenido.setFontAndSize(bf, 8);
         reporte.contenido.setColorFill(BaseColor.BLACK);
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                 "Autorizacion de Operaciones (" + this.c_filtro.getSelectedItem().toString() + ")", 160, 570,
                 0);
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT,
                 "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 760, 580, 0);

         ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
         Foto[] fotos = (Foto[]) ord.getFotos().toArray(new Foto[0]);
         for (int k = 0; k < fotos.length - 1; k++) {
             for (int f = 0; f < (fotos.length - 1) - k; f++) {
                 if (fotos[f].getFecha().after(fotos[f + 1].getFecha()) == true) {
                     Foto aux;
                     aux = fotos[f];
                     fotos[f] = fotos[f + 1];
                     fotos[f + 1] = aux;
                 }
             }
         }
         if (fotos.length > 0)
             reporte.agregaObjeto(reporte.crearImagen(
                     "ordenes/" + ord.getIdOrden() + "/" + fotos[0].getDescripcion(), 0, -60, 120, 80, 0));
         else {
         }
         //************************datos de la orden****************************
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Orden:" + ord.getIdOrden(), 164, 550, 0);

         if (ord.getFecha() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Apertura:" + ord.getFecha(), 285, 550,
                     0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Apertura:", 285, 550, 0);

         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                 "Compaia:" + ord.getCompania().getIdCompania() + " " + ord.getCompania().getNombre(), 164,
                 540, 0);

         if (ord.getSiniestro() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Siniestro:" + ord.getSiniestro(), 164,
                     530, 0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Siniestro:", 164, 530, 0);

         if (ord.getFechaSiniestro() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                     "F. Siniestro:" + ord.getFechaSiniestro(), 285, 530, 0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "F.Siniestro:", 285, 530, 0);

         if (ord.getPoliza() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Poliza:" + ord.getPoliza(), 164, 520,
                     0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Poliza:", 164, 520, 0);

         if (ord.getInciso() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Inciso:" + ord.getInciso(), 285, 520,
                     0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Inciso:", 285, 520, 0);
         //**********************************************************

         //************datos de la unidad
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Unidad:" + ord.getTipo().getTipoNombre(),
                 385, 550, 0);
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Modelo:" + ord.getModelo(), 664, 550, 0);

         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Marca:" + ord.getMarca().getMarcaNombre(),
                 385, 540, 0);
         if (ord.getNoEconomico() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Economico:" + ord.getNoEconomico(),
                     664, 540, 0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT, "Economico:", 664, 540, 0);

         if (ord.getNoMotor() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "N Motor:" + ord.getNoMotor(), 385,
                     530, 0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "N Motor:", 385, 530, 0);

         if (ord.getNoSerie() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "N Serie:" + ord.getNoSerie(), 385,
                     520, 0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "N Serie:", 385, 520, 0);
         //*************************************************************

         //****************Datos del valuador
         reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Valuador:", 40, 495, 0);
         if (ord.getEmpleadoByRLevantamiento() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                     ord.getEmpleadoByRLevantamiento().getNombre(), 75, 495, 0);
         if (ord.getFechaTaller() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT,
                     "Fecha Entrega:" + ord.getFechaTaller(), 320, 495, 0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Fecha Entrega:  //", 320, 495, 0);
         if (ord.getFechaCierre() != null)
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cerrado:" + ord.getFechaCierre(), 500,
                     495, 0);
         else
             reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, "Cerrado:  //", 500, 495, 0);

         reporte.finTexto();
         //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(" "));

         Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);

         BaseColor cabecera = BaseColor.GRAY;
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;

         tabla.addCell(reporte.celda("N", font, cabecera, centro, 0, 3, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("#", font, cabecera, centro, 0, 3, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Operacin", font, cabecera, centro, 0, 3, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Descripcin", font, cabecera, centro, 0, 3, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Cant", font, cabecera, centro, 0, 3, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Med", font, cabecera, centro, 0, 3, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Instruccin Final", font, cabecera, centro, 8, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Descripcion", font, cabecera, centro, 0, 3, Rectangle.RECTANGLE));

         tabla.addCell(reporte.celda("D/M", font, cabecera, centro, 0, 2, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Cam", font, cabecera, centro, 0, 2, Rectangle.RECTANGLE));

         tabla.addCell(reporte.celda("Reparar", font, cabecera, centro, 3, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Pintar", font, cabecera, centro, 3, 1, Rectangle.RECTANGLE));

         tabla.addCell(reporte.celda("Min", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Med", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Max", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));

         tabla.addCell(reporte.celda("Min", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Med", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("Max", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
     } catch (Exception e) {
         System.out.println(e);
     }
     if (session != null)
         if (session.isOpen())
             session.close();
 }

From source file:Valuacion.Reportes.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
    // TODO add your handling code here:
    h = new Herramientas(usr, 0);
    h.session(sessionPrograma);/*from w  ww .j a  va2 s  .c  o  m*/
    if (t_datos.getRowCount() > 0) {
        javax.swing.JFileChooser jF1 = new javax.swing.JFileChooser();
        jF1.setFileFilter(new ExtensionFileFilter("Excel document (*.pdf)", new String[] { "pdf" }));
        String ruta = null;
        if (jF1.showSaveDialog(null) == jF1.APPROVE_OPTION) {
            ruta = jF1.getSelectedFile().getAbsolutePath();
            if (ruta != null) {
                Session session = HibernateUtil.getSessionFactory().openSession();
                try {
                    DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
                    formatoPorcentaje.setMinimumFractionDigits(2);
                    session.beginTransaction().begin();
                    BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI,
                            BaseFont.NOT_EMBEDDED);
                    //Orden ord=buscaApertura();
                    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);

                    reporte.Abrir2(PageSize.LETTER.rotate(), "Valuacin", ruta + ".pdf");
                    Font font = new Font(Font.FontFamily.HELVETICA, 5, Font.BOLD);
                    BaseColor contenido = BaseColor.WHITE;
                    int centro = Element.ALIGN_CENTER;
                    int izquierda = Element.ALIGN_LEFT;
                    int derecha = Element.ALIGN_RIGHT;
                    float[] nuevos = new float[tam_pdf.size()];
                    for (int q = 0; q < tam_pdf.size(); q++) {
                        nuevos[q] = Float.parseFloat(tam_pdf.get(q).toString());
                    }

                    PdfPTable tabla = reporte.crearTabla(nuevos.length, nuevos, 100, Element.ALIGN_LEFT);

                    cabecera(reporte, bf, tabla);
                    int ren = 0;
                    double dm = 0d, cam = 0d, min = 0d, med = 0d, max = 0d, pin = 0d, tot = 0d;
                    double cia = 0d, refacciones = 0d, autorizado = 0d, presupuesto = 0d, directo = 0d,
                            tot_m = 0d, compras = 0d, aut = 0d, mo_dir = 0d, cotizado = 0d;
                    for (int i = 0; i < t_datos.getRowCount(); i++) {
                        for (int j = 0; j < t_datos.getColumnCount(); j++) {
                            if (t_datos.getColumnName(j).compareTo("Cia/Seg") == 0
                                    || t_datos.getColumnName(j).compareTo("Costo Refacciones") == 0
                                    || t_datos.getColumnName(j).compareTo("Autorizado") == 0
                                    || t_datos.getColumnName(j).compareTo("M.O. Presup.") == 0
                                    || t_datos.getColumnName(j).compareTo("M.O. Directa") == 0
                                    || t_datos.getColumnName(j).compareTo("Tot M.O") == 0
                                    || t_datos.getColumnName(j).compareTo("Compras") == 0
                                    || t_datos.getColumnName(j).compareTo("Aut. Dir.") == 0
                                    || t_datos.getColumnName(j).compareTo("M.O Directa") == 0
                                    || t_datos.getColumnName(j).compareTo("Cotizado") == 0) {
                                if (t_datos.getValueAt(i, j) != null) {
                                    tabla.addCell(
                                            reporte.celda(formatoPorcentaje.format(t_datos.getValueAt(i, j)),
                                                    font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                                    if (t_datos.getColumnName(j).compareTo("Cia/Seg") == 0) {
                                        cia += (double) t_datos.getValueAt(i, j);
                                    }
                                    if (t_datos.getColumnName(j).compareTo("Costo Refacciones") == 0) {
                                        refacciones += (double) t_datos.getValueAt(i, j);
                                    }
                                    if (t_datos.getColumnName(j).compareTo("Autorizado") == 0) {
                                        autorizado += (double) t_datos.getValueAt(i, j);
                                    }
                                    if (t_datos.getColumnName(j).compareTo("M.O. Presup.") == 0) {
                                        presupuesto += (double) t_datos.getValueAt(i, j);
                                    }
                                    if (t_datos.getColumnName(j).compareTo("M.O. Directa") == 0) {
                                        directo += (double) t_datos.getValueAt(i, j);
                                    }
                                    if (t_datos.getColumnName(j).compareTo("Tot M.O") == 0) {
                                        tot_m += (double) t_datos.getValueAt(i, j);
                                    }
                                    if (t_datos.getColumnName(j).compareTo("Compras") == 0) {
                                        compras += (double) t_datos.getValueAt(i, j);
                                    }
                                    if (t_datos.getColumnName(j).compareTo("Aut. Dir.") == 0) {
                                        aut += (double) t_datos.getValueAt(i, j);
                                    }
                                    if (t_datos.getColumnName(j).compareTo("M.O Directa") == 0) {
                                        mo_dir += (double) t_datos.getValueAt(i, j);
                                    }
                                    if (t_datos.getColumnName(j).compareTo("Cotizado") == 0) {
                                        cotizado += (double) t_datos.getValueAt(i, j);
                                    }
                                } else
                                    tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1,
                                            Rectangle.RECTANGLE));
                            } else {
                                if (t_datos.getValueAt(i, j) != null)
                                    tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, j), font, contenido,
                                            izquierda, 0, 1, Rectangle.RECTANGLE));
                                else
                                    tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1,
                                            Rectangle.RECTANGLE));
                            }
                        }
                        /*if(ren==38)
                        {
                            reporte.agregaObjeto(tabla);
                            reporte.writer.newPage();
                            tabla=reporte.crearTabla(nuevos.length, nuevos, 100, Element.ALIGN_LEFT);
                            cabecera(reporte, bf, tabla);
                            ren=-1;
                        }
                        ren++;*/
                    }
                    for (int j = 0; j < t_datos.getColumnCount(); j++) {
                        boolean entro = false;
                        if (t_datos.getColumnName(j).compareTo("Cia/Seg") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(cia), font, contenido, derecha,
                                    0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (t_datos.getColumnName(j).compareTo("Costo Refacciones") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(refacciones), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (t_datos.getColumnName(j).compareTo("Autorizado") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(autorizado), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (t_datos.getColumnName(j).compareTo("M.O. Presup.") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(presupuesto), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (t_datos.getColumnName(j).compareTo("M.O. Directa") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(directo), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (t_datos.getColumnName(j).compareTo("Tot M.O") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(tot_m), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (t_datos.getColumnName(j).compareTo("Compras") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(compras), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (t_datos.getColumnName(j).compareTo("Aut. Dir.") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(aut), font, contenido, derecha,
                                    0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (t_datos.getColumnName(j).compareTo("M.O Directa") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(mo_dir), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (t_datos.getColumnName(j).compareTo("Cotizado") == 0) {
                            tabla.addCell(reporte.celda(formatoPorcentaje.format(cotizado), font, contenido,
                                    derecha, 0, 1, Rectangle.RECTANGLE));
                            entro = true;
                        }
                        if (entro == false) {
                            tabla.addCell(
                                    reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.NO_BORDER));
                        }
                    }
                    tabla.setHeaderRows(1);
                    reporte.agregaObjeto(tabla);
                    reporte.cerrar();
                    reporte.visualizar2(ruta + ".pdf");
                } catch (Exception e) {
                    System.out.println(e);
                    e.printStackTrace();
                    JOptionPane.showMessageDialog(this,
                            "No se pudo realizar el reporte si el archivo esta abierto.");
                }
                if (session != null)
                    if (session.isOpen())
                        session.close();
            }
        }
    }
}

From source file:Valuacion.Reportes.java

public void cabecera(PDF reporte, BaseFont bf, PdfPTable tabla) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    try {/*from  ww w .j a  v  a  2s. c  o  m*/
        reporte.contenido.setLineWidth(0.5f);
        reporte.contenido.setColorStroke(new GrayColor(0.2f));
        reporte.contenido.setColorFill(new GrayColor(0.9f));

        Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
        reporte.inicioTexto();
        reporte.contenido.setFontAndSize(bf, 14);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, con.getEmpresa(), 35, 575, 0);
        reporte.contenido.setFontAndSize(bf, 8);
        reporte.contenido.setColorFill(BaseColor.BLACK);
        String titulo = "Reporte";
        if (c_tipo_fecha.getSelectedItem().toString().compareTo("Seleccione") != 0) {
            titulo += " " + c_tipo_fecha.getSelectedItem().toString();
            if (t_fecha1.getText().compareTo("AAAA-MM-DD") != 0)
                titulo += " del " + t_fecha1.getText();
            if (t_fecha2.getText().compareTo("AAAA-MM-DD") != 0)
                titulo += " al " + t_fecha2.getText();
        }
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_LEFT, titulo, 35, 565, 0);
        reporte.contenido.showTextAligned(PdfContentByte.ALIGN_RIGHT,
                "Fecha:" + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()), 750, 575, 0);

        reporte.finTexto();
        //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(" "));

        Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD);

        BaseColor cabecera = BaseColor.GRAY;
        BaseColor contenido = BaseColor.WHITE;
        int centro = Element.ALIGN_CENTER;
        int izquierda = Element.ALIGN_LEFT;
        int derecha = Element.ALIGN_RIGHT;
        for (int a = 0; a < tabla.getNumberOfColumns(); a++) {
            tabla.addCell(
                    reporte.celda(t_datos.getColumnName(a), font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
        }
    } catch (Exception e) {
        System.out.println(e);
    }
    if (session != null)
        if (session.isOpen())
            session.close();
}

From source file:Valuacion.valuacion.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
     // TODO add your handling code here:
     //h=new Herramientas(user, 0);
     //h.session(sessionPrograma);
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {//from  ww  w .  ja v a2 s  .  c om
         DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
         DecimalFormat formatoDecimal = new DecimalFormat("####0.0");
         formatoPorcentaje.setMinimumFractionDigits(2);
         session.beginTransaction().begin();
         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
         //Orden ord=buscaApertura();
         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);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER, "Valuacin",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-valuacion.pdf");
         Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL);
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;
         float tam[] = new float[] { 15, 15, 60, 140, 14, 14, 14, 14, 14, 14, 25 };
         PdfPTable tabla = reporte.crearTabla(11, tam, 100, Element.ALIGN_LEFT);

         cabecera(reporte, bf, tabla);
         int ren = 0;
         double dm = 0d, cam = 0d, min = 0d, med = 0d, max = 0d, pin = 0d, tot = 0d;
         for (int i = 0; i < t_datos.getRowCount(); i++) {
             if (t_datos.getValueAt(i, 38).toString().compareTo("e") != 0) {
                 double suma = 0d;
                 double v = 0.0d;
                 tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, 10).toString(), font, contenido,
                         izquierda, 0, 1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 11).toString(), font, contenido, izquierda, 0,
                         1, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 2).toString(), font, contenido, izquierda, 0,
                         0, Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 3).toString(), font, contenido, izquierda, 0,
                         0, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 4) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 4).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 4).toString());
                     dm += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 8) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 8).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 8).toString());
                     cam += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 5) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 5).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 5).toString());
                     min += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 6) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 6).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 6).toString());
                     med += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 if (t_datos.getValueAt(i, 7) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 7).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 7).toString());
                     max += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 if (t_datos.getValueAt(i, 9) != null) {
                     v = Double.parseDouble(t_datos.getValueAt(i, 9).toString())
                             * Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                     tabla.addCell(
                             reporte.celda(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).toString(),
                                     font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                     suma += Double.parseDouble(t_datos.getValueAt(i, 9).toString());
                     pin += v;
                 } else
                     tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

                 suma *= ord.getCompania().getImporteHora();
                 suma *= Double.parseDouble(t_datos.getValueAt(i, 10).toString());
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(suma), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
                 tot += suma;
                 /*if(ren==38)
                 {
                 reporte.agregaObjeto(tabla);
                 reporte.writer.newPage();
                        
                 tabla=reporte.crearTabla(11, tam, 100, Element.ALIGN_LEFT);
                 cabecera(reporte, bf, tabla);
                 ren=-1;
                 }
                 ren++;*/
             }
         }
         Double tot_horas = dm + cam + min + med + max + pin;
         tabla.addCell(reporte.celda(
                 "Costo M.O:$" + formatoPorcentaje.format(ord.getCompania().getImporteHora())
                         + "     Total de Horas:" + formatoDecimal.format(tot_horas),
                 font, contenido, derecha, 4, 1, Rectangle.RIGHT));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(dm), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(cam), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(min), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(med), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(max), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda("" + formatoDecimal.format(pin), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda(formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 4, 1, Rectangle.NO_BORDER));
         tabla.addCell(reporte.celda(" ", font, contenido, izquierda, 7, 1, Rectangle.TOP));
         tabla.setHeaderRows(2);

         PdfPTable tabla1 = reporte.crearTabla(11, tam, 100, Element.ALIGN_LEFT);
         tabla1.addCell(reporte.celda("OBSERVACIONES", font, contenido, izquierda, 11, 1, Rectangle.NO_BORDER));
         tabla1.addCell(reporte.celda(" ", font, contenido, izquierda, 11, 1, Rectangle.BOTTOM));
         tabla1.addCell(reporte.celda(" ", font, contenido, izquierda, 11, 1, Rectangle.BOTTOM));
         tabla1.addCell(reporte.celda(" ", font, contenido, izquierda, 11, 1, Rectangle.BOTTOM));
         tabla1.addCell(reporte.celda(" ", font, contenido, izquierda, 11, 1, Rectangle.BOTTOM));

         reporte.agregaObjeto(tabla);
         reporte.agregaObjeto(tabla1);
         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-valuacion.pdf");
     } catch (Exception e) {
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto.");
     }
     if (session != null)
         if (session.isOpen()) {
             session.flush();
             session.clear();
             session.close();
         }
 }

From source file:Valuacion.valuacion.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
     // TODO add your handling code here:
     //h=new Herramientas(user, 0);
     //h.session(sessionPrograma);
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {//from w  w w.  j  av  a  2s .co  m
         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);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER.rotate(), "Valuacin",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-ref_precio.pdf");
         Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL);
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;
         int ren = 0;
         double dm = 0d, cam = 0d, min = 0d, med = 0d, max = 0d, pin = 0d, tot = 0d;
         session.beginTransaction().begin();
         Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
         Configuracion config = (Configuracion) session.get(Configuracion.class, 1);
         /*Todas Autorizadas Sin Autorizar*/
         Partida[] cuentas = new Partida[] {};

         switch (cb_partidas.getSelectedItem().toString()) {
         case "Todas":
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espHoj", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Mecanica":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espMec", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Suspension":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espSus", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Electrico":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espEle", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Pintura":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.or(
                                 Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                                         Restrictions.ne("intPinMed", -1.0d)),
                                 Restrictions.ne("intPinMax", -1.0d)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;

             case "Todas":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             }
             break;

         case "Autorizadas":
             cuentas = (Partida[]) session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                     .add(Restrictions.eq("autorizado", true)).addOrder(Order.asc("idEvaluacion"))
                     .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).add(Restrictions.eq("espHoj", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Mecanica":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).add(Restrictions.eq("espMec", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Suspension":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).add(Restrictions.eq("espSus", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Electrico":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).add(Restrictions.eq("espEle", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Pintura":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true))
                         .add(Restrictions.or(
                                 Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                                         Restrictions.ne("intPinMed", -1.0d)),
                                 Restrictions.ne("intPinMax", -1.0d)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;

             case "Todas":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             }
             break;
         case "Sin Autorizar":
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).add(Restrictions.eq("espHoj", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Mecanica":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).add(Restrictions.eq("espMec", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Suspension":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).add(Restrictions.eq("espSus", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Electrico":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).add(Restrictions.eq("espEle", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Pintura":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false))
                         .add(Restrictions.or(
                                 Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                                         Restrictions.ne("intPinMed", -1.0d)),
                                 Restrictions.ne("intPinMax", -1.0d)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Todas":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("autorizado", false)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             }
             break;

         case "Marcadas":
             if (t_datos.getSelectedRows().length > 0) {
                 String consulta = "from Partida where concat(idEvaluacion, subPartida) in (";
                 int[] selec = t_datos.getSelectedRows();
                 for (int x = 0; x < selec.length; x++) {
                     if (x > 0)
                         consulta += ", ";
                     consulta += t_datos.getValueAt(selec[x], 0).toString()
                             + t_datos.getValueAt(selec[x], 1).toString();
                 }
                 switch (cb_tipo.getSelectedItem().toString()) {
                 case "Hojalateria":
                     consulta += ") AND(espHoj=true) ";
                     break;
                 case "Mecanica":
                     consulta += ") AND(espMec=true) ";
                     break;
                 case "Suspension":
                     consulta += ") AND(espSus=true) ";
                     break;
                 case "Electrico":
                     consulta += ") AND(espEle=true) ";
                     break;
                 case "Pintura":
                     consulta += ")) AND(intPinMin>-1 OR intPinMed>-1 OR intPinMax>-1) ";
                     break;
                 case "Todas":
                     consulta += ") ";
                     break;
                 }
                 consulta += "AND (ordenByIdOrden.idOrden=" + orden
                         + ") order by idEvaluacion asc, subPartida asc";
                 Query q = session.createQuery(consulta);
                 cuentas = (Partida[]) q.list().toArray(new Partida[0]);
             } else
                 cuentas = new Partida[0];
             break;
         }
         /*if(this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra")!=0)
         {*/
         float tam[];
         if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra") == 0)
             tam = new float[] { 12, 12, 50, 110, 15, 15, 25, 25, 25, 25 };
         else
             tam = new float[] { 12, 12, 50, 110, 15, 15, 25, 25, 35, 12 };

         PdfPTable tabla = reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT);

         cabecera1(reporte, bf, tabla);

         for (int i = 0; i < cuentas.length; i++) {
             double suma = 0d;
             tabla.addCell(reporte.celda("" + cuentas[i].getIdEvaluacion(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getSubPartida(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             if (cuentas[i].getEjemplar() != null)
                 tabla.addCell(reporte.celda(cuentas[i].getEjemplar().getIdParte(), font, contenido, centro, 0,
                         1, Rectangle.RECTANGLE));
             else
                 tabla.addCell(reporte.celda("S/N", font, contenido, centro, 0, 0, Rectangle.RECTANGLE));

             tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getCant(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(
                     reporte.celda(cuentas[i].getMed(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
             if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Cotizado") == 0) {
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getCU()), font, contenido,
                         derecha, 0, 1, Rectangle.RECTANGLE));
                 Double precio = cuentas[i].getCU() * cuentas[i].getCant();
                 tot += precio;
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(precio), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 if (cuentas[i].isOri() == true) {
                     tabla.addCell(reporte.celda("Ori", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                 } else {
                     if (cuentas[i].isNal() == true)
                         tabla.addCell(reporte.celda("Nal", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     else {
                         if (cuentas[i].isDesm() == true)
                             tabla.addCell(
                                     reporte.celda("Des", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         else {
                             if (cuentas[i].isPd() == true)
                                 tabla.addCell(reporte.celda("Recon", font, contenido, centro, 0, 1,
                                         Rectangle.RECTANGLE));
                             else
                                 tabla.addCell(
                                         reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         }
                     }
                 }
             }
             if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Autorizado") == 0) {
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getPrecioAutCU()), font,
                         contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 Double precio = cuentas[i].getPrecioAutCU() * cuentas[i].getCant();
                 tot += precio;
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(precio), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 if (cuentas[i].isOri() == true)
                     tabla.addCell(reporte.celda("Ori", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                 else {
                     if (cuentas[i].isNal() == true)
                         tabla.addCell(reporte.celda("Nal", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     else {
                         if (cuentas[i].isDesm() == true)
                             tabla.addCell(
                                     reporte.celda("Des", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         else {
                             if (cuentas[i].isPd() == true)
                                 tabla.addCell(reporte.celda("Recon", font, contenido, centro, 0, 1,
                                         Rectangle.RECTANGLE));
                             else
                                 tabla.addCell(
                                         reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         }
                     }
                 }
             }
             if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compaia") == 0) {
                 Double costo = 0.0 + Math.round(cuentas[i].getCU() / (1 - (cuentas[i].getPorcentaje() * 0.01)));
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(costo), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
                 Double precio = costo * cuentas[i].getCant();
                 tot += precio;
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(precio), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 if (cuentas[i].isOri() == true)
                     tabla.addCell(reporte.celda("Ori", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                 else {
                     if (cuentas[i].isNal() == true)
                         tabla.addCell(reporte.celda("Nal", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     else {
                         if (cuentas[i].isDesm() == true)
                             tabla.addCell(
                                     reporte.celda("Des", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         else {
                             if (cuentas[i].isPd() == true)
                                 tabla.addCell(reporte.celda("Recon", font, contenido, centro, 0, 1,
                                         Rectangle.RECTANGLE));
                             else
                                 tabla.addCell(
                                         reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         }
                     }
                 }
             }
             if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra") == 0) {
                 //costo de cotizacion
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getCU()), font, contenido,
                         derecha, 0, 1, Rectangle.RECTANGLE));
                 //costo de compra si ya fue comprado
                 //PartidaPedido pc = (PartidaPedido)session.createCriteria(PartidaPedido.class).add(Restrictions.eq("partida.idPartida", cuentas[i].getIdPartida())).add(Restrictions.ne("pedido", null)).addOrder(Order.desc("idPartidaPedido")).setMaxResults(1).uniqueResult();
                 double pcom = 0d;
                 if (cuentas[i].getPedido() != null) {
                     pcom = cuentas[i].getPcp();
                     tabla.addCell(reporte.celda(formatoPorcentaje.format(pcom), font, contenido, derecha, 0, 1,
                             Rectangle.RECTANGLE));
                     Double precio = pcom * cuentas[i].getCantPcp();
                     tot += precio;
                 } else
                     tabla.addCell(reporte.celda("0.00", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 //cosoto autorizado
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(cuentas[i].getPrecioAutCU()), font,
                         contenido, derecha, 0, 1, Rectangle.RECTANGLE));
                 //Utlidad
                 double util = cuentas[i].getPrecioAutCU() - pcom;
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(util), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
             }

             /*if(ren==37)
             {
                 reporte.agregaObjeto(tabla);
                 reporte.writer.newPage();
                 tabla=reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT);
                 cabecera1(reporte, bf, tabla);
                 ren=-1;
             }
             ren++;*/
         }
         if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra") != 0) {
             tabla.addCell(reporte.celda(" ", font, contenido, derecha, 7, 1, Rectangle.TOP));
             tabla.addCell(reporte.celda(formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda(" ", font, contenido, derecha, 2, 1, Rectangle.TOP));
         } else {
             tabla.addCell(reporte.celda(" ", font, contenido, derecha, 7, 1, Rectangle.TOP));
             tabla.addCell(reporte.celda(formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda(" ", font, contenido, derecha, 2, 1, Rectangle.TOP));
         }
         tabla.setHeaderRows(1);
         reporte.agregaObjeto(tabla);
         //}
         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-ref_precio.pdf");
     } catch (Exception e) {
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte");
     }
     if (session != null)
         if (session.isOpen()) {
             session.flush();
             session.clear();
             session.close();
         }
 }

From source file:Valuacion.valuacion.java

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
     // TODO add your handling code here:
     h = new Herramientas(user, 0);
     h.session(sessionPrograma);//from w ww .j av  a2  s.c  om
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {
         //NumberFormat formatoPorcentaje = NumberFormat.getCurrencyInstance();
         DecimalFormat formatoPorcentaje = new DecimalFormat("#,###.00");
         formatoPorcentaje.setMinimumFractionDigits(2);

         session.beginTransaction().begin();
         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
         //Orden ord=buscaApertura();
         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);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER.rotate(), "Valuacin",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-ref_sin_precio.pdf");
         Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL);
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;
         int ren = 0;
         double dm = 0d, cam = 0d, min = 0d, med = 0d, max = 0d, pin = 0d, tot = 0d;
         session.beginTransaction().begin();
         Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
         /*Todas Autorizadas Sin Autorizar*/
         Partida[] cuentas = new Partida[] {};

         switch (cb_partidas.getSelectedItem().toString()) {
         case "Todas":
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espHoj", true)).add(Restrictions.eq("refCoti", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Mecanica":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espMec", true)).add(Restrictions.eq("refCoti", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Suspension":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espSus", true)).add(Restrictions.eq("refCoti", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Electrico":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espEle", true)).add(Restrictions.eq("refCoti", true))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Pintura":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.or(
                                 Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                                         Restrictions.ne("intPinMed", -1.0d)),
                                 Restrictions.ne("intPinMax", -1.0d)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Todas":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("refCoti", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             }
             break;

         case "Autorizadas":
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espHoj", true)).add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.eq("autorizado", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Mecanica":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espMec", true)).add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.eq("autorizado", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Suspension":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espSus", true)).add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.eq("autorizado", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Electrico":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espEle", true)).add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.eq("autorizado", true)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Pintura":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("refCoti", true)).add(Restrictions.eq("autorizado", true))
                         .add(Restrictions.or(
                                 Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                                         Restrictions.ne("intPinMed", -1.0d)),
                                 Restrictions.ne("intPinMax", -1.0d)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Todas":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("refCoti", true)).addOrder(Order.asc("idEvaluacion"))
                         .add(Restrictions.eq("autorizado", true)).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             }
             break;

         case "Sin Autorizar":
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espHoj", true)).add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.eq("autorizado", false)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Mecanica":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espMec", true)).add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.eq("autorizado", false)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Suspension":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espSus", true)).add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.eq("autorizado", false)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Electrico":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espEle", true)).add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.eq("autorizado", false)).addOrder(Order.asc("idEvaluacion"))
                         .addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 break;
             case "Pintura":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("espEle", true)).add(Restrictions.eq("refCoti", true))
                         .add(Restrictions.eq("autorizado", false))
                         .add(Restrictions.or(
                                 Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                                         Restrictions.ne("intPinMed", -1.0d)),
                                 Restrictions.ne("intPinMax", -1.0d)))
                         .addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             case "Todas":
                 cuentas = (Partida[]) session.createCriteria(Partida.class)
                         .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                         .add(Restrictions.eq("refCoti", true)).addOrder(Order.asc("idEvaluacion"))
                         .add(Restrictions.eq("autorizado", false)).addOrder(Order.asc("subPartida")).list()
                         .toArray(new Partida[0]);
                 break;
             }
             break;

         case "Marcadas":
             if (t_datos.getSelectedRows().length > 0) {
                 //cuentas= (Partida[]) session.createCriteria(Partida.class).add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden))).add(Restrictions.and(Restrictions.in("subPartida", seleccion(1)), Restrictions.in("idEvaluacion", seleccion(0)))).addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                 String consulta = "from Partida where concat(idEvaluacion, subPartida) in (";
                 int[] selec = t_datos.getSelectedRows();
                 for (int x = 0; x < selec.length; x++) {
                     if (x > 0)
                         consulta += ", ";
                     consulta += t_datos.getValueAt(selec[x], 0).toString()
                             + t_datos.getValueAt(selec[x], 1).toString();
                 }
                 switch (cb_tipo.getSelectedItem().toString()) {
                 case "Hojalateria":
                     consulta += ") AND(espHoj=true) ";
                     break;
                 case "Mecanica":
                     consulta += ") AND(espMec=true) ";
                     break;
                 case "Suspension":
                     consulta += ") AND(espSus=true) ";
                     break;
                 case "Electrico":
                     consulta += ") AND(espEle=true) ";
                     break;
                 case "Pintura":
                     consulta += ")) AND(intPinMin>-1 OR intPinMed>-1 OR intPinMax>-1) ";
                     break;
                 case "Todas":
                     consulta += ") ";
                     break;
                 }
                 consulta += "AND (ordenByIdOrden.idOrden=" + orden
                         + ") order by idEvaluacion asc, subPartida asc";
                 Query q = session.createQuery(consulta);
                 cuentas = (Partida[]) q.list().toArray(new Partida[0]);
             } else
                 cuentas = new Partida[0];
             break;
         }
         float tam[] = new float[] { 12, 12, 50, 110, 15, 15, 25, 25, 35, 12 };
         PdfPTable tabla = reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT);

         cabecera1(reporte, bf, tabla);

         for (int i = 0; i < cuentas.length; i++) {
             double suma = 0d;
             tabla.addCell(reporte.celda("" + cuentas[i].getIdEvaluacion(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getSubPartida(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             if (cuentas[i].getEjemplar() != null)
                 tabla.addCell(reporte.celda(cuentas[i].getEjemplar().getIdParte(), font, contenido, centro, 0,
                         1, Rectangle.RECTANGLE));
             else
                 tabla.addCell(reporte.celda("S/N", font, contenido, centro, 0, 0, Rectangle.RECTANGLE));

             tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getCant(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(
                     reporte.celda(cuentas[i].getMed(), font, contenido, derecha, 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, derecha, 0, 1, Rectangle.RECTANGLE));
             if (cuentas[i].isOri() == true) {
                 tabla.addCell(reporte.celda("Ori", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
             } else {
                 if (cuentas[i].isNal() == true) {
                     tabla.addCell(reporte.celda("Nal", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                 } else {
                     if (cuentas[i].isDesm() == true)
                         tabla.addCell(reporte.celda("Des", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     else {
                         if (cuentas[i].isPd() == true)
                             tabla.addCell(
                                     reporte.celda("Rec", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         else
                             tabla.addCell(
                                     reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     }
                 }
             }

             /*if(ren==37)
             {
                 reporte.agregaObjeto(tabla);
                 reporte.writer.newPage();
                 tabla=reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT);
                 cabecera1(reporte, bf, tabla);
                 ren=-1;
             }
             ren++;*/
         }
         tabla.setHeaderRows(1);
         reporte.agregaObjeto(tabla);

         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-ref_sin_precio.pdf");
     } catch (Exception e) {
         e.printStackTrace();
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto.");
     }
     if (session != null)
         if (session.isOpen()) {
             session.flush();
             session.clear();
             session.close();
         }
 }

From source file:Valuacion.valuacion.java

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
     // TODO add your handling code here:
     //h=new Herramientas(user, 0);
     //h.session(sessionPrograma);
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {/*from  www.ja va2  s .co  m*/
         session.beginTransaction().begin();
         DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
         DecimalFormat formatoDecimal = new DecimalFormat("####0.0");
         formatoPorcentaje.setMinimumFractionDigits(2);
         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
         //Orden ord=buscaApertura();
         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);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER.rotate(), "Operaciones",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-operaciones.pdf");
         Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL);
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;
         float tam[] = new float[] { 15, 12, 10, 10, 10, 10, 15, 15, 15, 10, 10, 10, 10, 10, 10, 10, 10, 140,
                 90 };
         PdfPTable tabla = reporte.crearTabla(19, tam, 100, Element.ALIGN_LEFT);

         cabecera2(reporte, bf, tabla, " Cambios ");
         Partida[] cuentas = new Partida[0];
         ;
         Criteria cr;
         switch (cb_partidas.getSelectedItem().toString()) {
         case "Marcadas":
             if (t_datos.getSelectedRows().length > 0) {
                 String consulta = "from Partida where (concat(idEvaluacion, subPartida) in (";
                 int[] selec = t_datos.getSelectedRows();
                 for (int x = 0; x < selec.length; x++) {
                     if (x > 0)
                         consulta += ", ";
                     consulta += t_datos.getValueAt(selec[x], 0).toString()
                             + t_datos.getValueAt(selec[x], 1).toString();
                 }
                 switch (cb_tipo.getSelectedItem().toString()) {
                 case "Hojalateria":
                     consulta += ")) AND(espHoj=true) ";
                     break;
                 case "Mecanica":
                     consulta += ")) AND(espMec=true) ";
                     break;
                 case "Suspension":
                     consulta += ")) AND(espSus=true) ";
                     break;
                 case "Electrico":
                     consulta += ")) AND(espEle=true) ";
                     break;
                 case "Pintura":
                     consulta += ")) AND(intPinMin>-1 OR intPinMed>-1 OR intPinMax>-1) ";
                     break;
                 case "Todas":
                     consulta += ")) ";
                     break;
                 }
                 consulta += "AND (ordenByIdOrden.idOrden=" + orden
                         + ") AND (autorizadoValuacion=true)  AND (intCamb>-1)  order by idEvaluacion asc, subPartida asc";
                 Query q = session.createQuery(consulta);
                 cuentas = (Partida[]) q.list().toArray(new Partida[0]);
             } else
                 cuentas = new Partida[0];
             break;
         case "Sin Autorizar":
             cr = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden()))
                     .add(Restrictions.eq("autorizadoValuacion", true)).add(Restrictions.eq("autorizado", false))
                     .add(Restrictions.ne("intCamb", -1.0d));
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cr.add(Restrictions.eq("espHoj", true));
                 break;
             case "Mecanica":
                 cr.add(Restrictions.eq("espMec", true));
                 break;
             case "Suspension":
                 cr.add(Restrictions.eq("espSus", true));
                 break;
             case "Electrico":
                 cr.add(Restrictions.eq("espEle", true));
                 break;
             case "Pintura":
                 cr.add(Restrictions.or(Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                         Restrictions.ne("intPinMed", -1.0d)), Restrictions.ne("intPinMax", -1.0d)));
                 break;
             }
             cr.addOrder(Order.asc("idEvaluacion"));
             cr.addOrder(Order.asc("subPartida"));
             cuentas = (Partida[]) cr.list().toArray(new Partida[0]);
             ;
             break;
         default:
             cr = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden()))
                     .add(Restrictions.eq("autorizadoValuacion", true)).add(Restrictions.ne("intCamb", -1.0d));
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cr.add(Restrictions.eq("espHoj", true));

                 break;
             case "Mecanica":
                 cr.add(Restrictions.eq("espMec", true));
                 break;
             case "Suspension":
                 cr.add(Restrictions.eq("espSus", true));
                 break;
             case "Electrico":
                 cr.add(Restrictions.eq("espEle", true));
                 break;
             case "Pintura":
                 cr.add(Restrictions.or(Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                         Restrictions.ne("intPinMed", -1.0d)), Restrictions.ne("intPinMax", -1.0d)));
                 break;
             }
             cr.addOrder(Order.asc("idEvaluacion"));
             cr.addOrder(Order.asc("subPartida"));
             cuentas = (Partida[]) cr.list().toArray(new Partida[0]);
             ;
             break;
         }

         int ren = 0;
         for (int i = 0; i < cuentas.length; i++) {
             double suma = 0d;
             tabla.addCell(reporte.celda("" + cuentas[i].getIdEvaluacion(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getSubPartida(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isEspHoj() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isEspMec() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isEspSus() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isEspEle() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getCant(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getCantidadAut(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(
                     reporte.celda(cuentas[i].getMed(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isRefCoti() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntCamb() != -1 ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntRepMin() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntRepMed() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntRepMax() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntPinMin() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntPinMed() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntPinMax() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(
                     reporte.celda((cuentas[i].getInstruccion() != null ? cuentas[i].getInstruccion() : ""),
                             font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
             /*if(ren==37)
             {
             reporte.agregaObjeto(tabla);
             reporte.writer.newPage();
             tabla=reporte.crearTabla(19, tam, 100, Element.ALIGN_LEFT);
             cabecera2(reporte, bf, tabla);
             ren=-1;
             }
             ren++;*/
         }
         tabla.setHeaderRows(3);
         reporte.agregaObjeto(tabla);
         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-operaciones.pdf");
     } catch (Exception e) {
         e.printStackTrace();
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto.");
     }
     if (session != null)
         if (session.isOpen())
             session.close();
 }

From source file:Valuacion.valuacion.java

private void btActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btActionPerformed
     // TODO add your handling code here:
     //h=new Herramientas(user, 0);
     //h.session(sessionPrograma);
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {/*from www .  j a v  a 2s . c o  m*/
         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);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER.rotate(), "Valuacin",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-ref_precio.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;
         int ren = 0;
         double dm = 0d, cam = 0d, min = 0d, med = 0d, max = 0d, pin = 0d, tot = 0d;
         session.beginTransaction().begin();
         Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
         Configuracion config = (Configuracion) session.get(Configuracion.class, 1);

         float tam[];
         if (this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra") == 0)
             tam = new float[] { 12, 12, 50, 110, 15, 15, 25, 25, 25, 25 };
         else
             tam = new float[] { 12, 12, 50, 110, 15, 15, 25, 25, 35, 12 };

         PdfPTable tabla = reporte.crearTabla(10, tam, 100, Element.ALIGN_LEFT);

         cabecera1(reporte, bf, tabla);

         for (int i = 0; i < t_datos.getRowCount(); i++) {
             double suma = 0d;
             tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, 0).toString(), font, contenido, derecha, 0,
                     1, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, 1).toString(), font, contenido, derecha, 0,
                     1, Rectangle.RECTANGLE));
             if (t_datos.getValueAt(i, 13) != null)
                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 13).toString(), font, contenido, centro, 0, 1,
                         Rectangle.RECTANGLE));
             else
                 tabla.addCell(reporte.celda("S/N", font, contenido, centro, 0, 0, Rectangle.RECTANGLE));

             tabla.addCell(reporte.celda(t_datos.getValueAt(i, 3).toString(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + t_datos.getValueAt(i, 10).toString(), font, contenido, derecha, 0,
                     1, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda(t_datos.getValueAt(i, 11).toString(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));

             //Double costo=0.0+Math.round(cuentas[i].getCU()/(1-(cuentas[i].getPorcentaje()*0.01)));
             Double costo = 0.0;
             if (t_datos.getValueAt(i, 16) != null) {
                 costo = (Double) t_datos.getValueAt(i, 16);
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(costo), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
             } else
                 tabla.addCell(reporte.celda(formatoPorcentaje.format(0.0), font, contenido, derecha, 0, 1,
                         Rectangle.RECTANGLE));
             //Double precio=costo*cuentas[i].getCant();
             Double precio = costo * (Double) t_datos.getValueAt(i, 10);
             tot += precio;
             tabla.addCell(reporte.celda(formatoPorcentaje.format(precio), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));

             tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
             if (t_datos.getValueAt(i, 27) != null)
                 tabla.addCell(reporte.celda(t_datos.getValueAt(i, 27).toString(), font, contenido, centro, 0, 1,
                         Rectangle.RECTANGLE));
             else
                 tabla.addCell(reporte.celda("", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
         }
         //if(this.cb_precio.getSelectedItem().toString().compareToIgnoreCase("Compra")!=0)
         //{
         tabla.addCell(reporte.celda(" ", font, contenido, derecha, 7, 1, Rectangle.TOP));
         tabla.addCell(reporte.celda(formatoPorcentaje.format(tot), font, contenido, derecha, 0, 1,
                 Rectangle.RECTANGLE));
         tabla.addCell(reporte.celda(" ", font, contenido, derecha, 2, 1, Rectangle.TOP));
         //}
         tabla.setHeaderRows(1);
         reporte.agregaObjeto(tabla);

         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-ref_precio.pdf");
     } catch (Exception e) {
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte");
     }
     if (session != null)
         if (session.isOpen()) {
             session.flush();
             session.clear();
             session.close();
         }
 }

From source file:Valuacion.valuacion.java

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed
     // TODO add your handling code here:
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {/*from  w w  w .j a v a 2s .  com*/
         session.beginTransaction().begin();
         DecimalFormat formatoPorcentaje = new DecimalFormat("#,##0.00");
         DecimalFormat formatoDecimal = new DecimalFormat("####0.0");
         formatoPorcentaje.setMinimumFractionDigits(2);
         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
         //Orden ord=buscaApertura();
         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);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER.rotate(), "Operaciones",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-operaciones1.pdf");
         Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL);
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;
         float tam[] = new float[] { 15, 12, 10, 10, 10, 10, 15, 15, 15, 10, 10, 10, 10, 10, 10, 10, 10, 140,
                 90 };
         PdfPTable tabla = reporte.crearTabla(19, tam, 100, Element.ALIGN_LEFT);

         cabecera2(reporte, bf, tabla, " Reparaciones ");
         Partida[] cuentas = new Partida[0];
         ;

         Criteria cr;
         switch (cb_partidas.getSelectedItem().toString()) {
         case "Marcadas":
             if (t_datos.getSelectedRows().length > 0) {
                 String consulta = "from Partida where (concat(idEvaluacion, subPartida) in (";
                 int[] selec = t_datos.getSelectedRows();
                 for (int x = 0; x < selec.length; x++) {
                     if (x > 0)
                         consulta += ", ";
                     consulta += t_datos.getValueAt(selec[x], 0).toString()
                             + t_datos.getValueAt(selec[x], 1).toString();
                 }
                 switch (cb_tipo.getSelectedItem().toString()) {
                 case "Hojalateria":
                     consulta += ")) AND(espHoj=true) ";
                     break;
                 case "Mecanica":
                     consulta += ")) AND(espMec=true) ";
                     break;
                 case "Suspension":
                     consulta += ")) AND(espSus=true) ";
                     break;
                 case "Electrico":
                     consulta += ")) AND(espEle=true) ";
                     break;
                 case "Pintura":
                     consulta += ")) AND(intPinMin>-1 OR intPinMed>-1 OR intPinMax>-1) ";
                     break;
                 case "Todas":
                     consulta += ")) ";
                     break;
                 }
                 consulta += "AND (ordenByIdOrden.idOrden=" + orden
                         + ") AND (autorizadoValuacion=true) AND (intCamb=-1)  order by idEvaluacion asc, subPartida asc";
                 Query q = session.createQuery(consulta);
                 cuentas = (Partida[]) q.list().toArray(new Partida[0]);
             } else
                 cuentas = new Partida[0];
             break;
         case "Sin Autorizar":
             cr = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden()))
                     .add(Restrictions.eq("autorizadoValuacion", true)).add(Restrictions.eq("autorizado", false))
                     .add(Restrictions.eq("intCamb", -1.0d));
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cr.add(Restrictions.eq("espHoj", true));
                 break;
             case "Mecanica":
                 cr.add(Restrictions.eq("espMec", true));
                 break;
             case "Suspension":
                 cr.add(Restrictions.eq("espSus", true));
                 break;
             case "Electrico":
                 cr.add(Restrictions.eq("espEle", true));
                 break;
             case "Pintura":
                 cr.add(Restrictions.or(Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                         Restrictions.ne("intPinMed", -1.0d)), Restrictions.ne("intPinMax", -1.0d)));
                 //cr.add(Restrictions.sqlRestriction(" AND(intPinMin>-1 OR intPinMed>-1 OR intPinMax>-1) "));
                 break;
             }
             cr.addOrder(Order.asc("idEvaluacion"));
             cr.addOrder(Order.asc("subPartida"));
             cuentas = (Partida[]) cr.list().toArray(new Partida[0]);
             break;
         case "Autorizadas":
             cr = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden()))
                     .add(Restrictions.eq("autorizadoValuacion", true)).add(Restrictions.eq("autorizado", true))
                     .add(Restrictions.eq("intCamb", -1.0d));
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cr.add(Restrictions.eq("espHoj", true));
                 break;
             case "Mecanica":
                 cr.add(Restrictions.eq("espMec", true));
                 break;
             case "Suspension":
                 cr.add(Restrictions.eq("espSus", true));
                 break;
             case "Electrico":
                 cr.add(Restrictions.eq("espEle", true));
                 break;
             case "Pintura":
                 cr.add(Restrictions.or(Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                         Restrictions.ne("intPinMed", -1.0d)), Restrictions.ne("intPinMax", -1.0d)));
                 //cr.add(Restrictions.sqlRestriction(" AND(intPinMin>-1 OR intPinMed>-1 OR intPinMax>-1) "));
                 break;
             }
             cr.addOrder(Order.asc("idEvaluacion"));
             cr.addOrder(Order.asc("subPartida"));
             cuentas = (Partida[]) cr.list().toArray(new Partida[0]);
             break;
         default:
             cr = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", ord.getIdOrden()))
                     .add(Restrictions.eq("autorizadoValuacion", true)).add(Restrictions.eq("intCamb", -1.0d));
             switch (cb_tipo.getSelectedItem().toString()) {
             case "Hojalateria":
                 cr.add(Restrictions.eq("espHoj", true));
                 break;
             case "Mecanica":
                 cr.add(Restrictions.eq("espMec", true));
                 break;
             case "Suspension":
                 cr.add(Restrictions.eq("espSus", true));
                 break;
             case "Electrico":
                 cr.add(Restrictions.eq("espEle", true));
                 break;
             case "Pintura":
                 cr.add(Restrictions.or(Restrictions.or(Restrictions.ne("intPinMin", -1.0d),
                         Restrictions.ne("intPinMed", -1.0d)), Restrictions.ne("intPinMax", -1.0d)));
                 break;
             }
             cr.addOrder(Order.asc("idEvaluacion"));
             cr.addOrder(Order.asc("subPartida"));
             cuentas = (Partida[]) cr.list().toArray(new Partida[0]);
             break;
         }

         int ren = 0;
         for (int i = 0; i < cuentas.length; i++) {
             double suma = 0d;
             tabla.addCell(reporte.celda("" + cuentas[i].getIdEvaluacion(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getSubPartida(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isEspHoj() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isEspMec() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isEspSus() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isEspEle() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getCant(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getCantidadAut(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(
                     reporte.celda(cuentas[i].getMed(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].isRefCoti() == true ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntCamb() != -1 ? "x" : ""), font, contenido, izquierda,
                     0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntRepMin() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntRepMed() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntRepMax() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntPinMin() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntPinMed() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda((cuentas[i].getIntPinMax() != -1 ? "x" : ""), font, contenido,
                     izquierda, 0, 0, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(
                     reporte.celda((cuentas[i].getInstruccion() != null ? cuentas[i].getInstruccion() : ""),
                             font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
         }
         tabla.setHeaderRows(3);
         reporte.agregaObjeto(tabla);
         reporte.cerrar();
         reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-operaciones1.pdf");
     } catch (Exception e) {
         e.printStackTrace();
         JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto.");
     }
     if (session != null)
         if (session.isOpen()) {
             session.flush();
             session.clear();
             session.close();
         }
 }