Example usage for com.itextpdf.text PageSize LETTER

List of usage examples for com.itextpdf.text PageSize LETTER

Introduction

In this page you can find the example usage for com.itextpdf.text PageSize LETTER.

Prototype

Rectangle LETTER

To view the source code for com.itextpdf.text PageSize LETTER.

Click Source Link

Document

This is the letter format

Usage

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 www  .j  a  va2s  . 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);// ww w. j  av  a 2s .c o m
     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 w w w.  j a va2 s . c  o 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 {//w  w  w  . java  2  s  .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 {//w  w w.  j  a v  a 2 s  . c om
         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();
         }
 }

From source file:Valuacion.valuacionDirecta.java

private void b_pdfActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_pdfActionPerformed
     // TODO add your handling code here:
     h = new Herramientas(user, 0);
     h.session(sessionPrograma);//from   w w w.  j a va  2  s  .  c  o  m
     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 + "-levantamiento.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, 7, 7, 7, 7, 7, 59, 125, 11, 11, 11, 11, 16, 12, 12, 12, 12, 12, 12,
                 12, 12, 100 };
         PdfPTable tabla = reporte.crearTabla(23, 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;
         case "Pintura":
             cuentas = session.createCriteria(Partida.class)
                     .add(Restrictions.eq("ordenByIdOrden.idOrden", Integer.parseInt(orden)))
                     .add(Restrictions.ne("pint", -1.0d)).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.getCant(), font, contenido, izquierda, 0, 1,
                         Rectangle.RECTANGLE));
                 tabla.addCell(
                         reporte.celda(Part.getMed(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda((Part.isEspHoj() == true ? "x" : ""), font, contenido, izquierda, 0,
                         0, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda((Part.isEspMec() == true ? "x" : ""), font, contenido, izquierda, 0,
                         0, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda((Part.isEspSus() == true ? "x" : ""), font, contenido, izquierda, 0,
                         0, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda((Part.isEspEle() == true ? "x" : ""), font, contenido, izquierda, 0,
                         0, Rectangle.RECTANGLE));
                 tabla.addCell(reporte.celda((Part.getPint() > -1 ? "x" : ""), font, contenido, izquierda, 0, 0,
                         Rectangle.RECTANGLE));

                 tabla.addCell(reporte.celda(Part.getCatalogo().getEspecialidad().getDescripcion(), font,
                         contenido, izquierda, 0, 0, Rectangle.RECTANGLE));
                 if (Part.getEjemplar() != null)
                     tabla.addCell(reporte.celda(
                             Part.getCatalogo().getNombre() + " [NP:" + Part.getEjemplar().getIdParte() + "]",
                             font, contenido, izquierda, 0, 0, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(Part.getCatalogo().getNombre(), font, contenido, izquierda, 0,
                             0, Rectangle.RECTANGLE));
                 if (Part.isOri() == true)
                     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.isNal() == true)
                     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.isDesm() == true)
                     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.isPd() == true)
                     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.getProveedor() != null)
                     tabla.addCell(reporte.celda("" + Part.getProveedor().getIdProveedor(), font, contenido,
                             izquierda, 0, 1, Rectangle.RECTANGLE));
                 else
                     tabla.addCell(reporte.celda(" ", 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 + "-levantamiento.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.flush();
             session.clear();
             session.close();
         }
 }

From source file:Ventas.GeneradorFormato.java

public static void main(String[] args) {
    try {/*  www  .ja  va  2s  . c  o  m*/

        Document document = new Document(PageSize.LETTER, 50, 50, 85, 50);
        document.addAuthor("Ventas");
        document.addTitle("Ventas");

        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        writer.setInitialLeading(16);
        Rectangle rct = new Rectangle(80, 104, 500, 688);
        writer.setBoxSize("art", rct);
        HeaderFooter event = new HeaderFooter();
        writer.setPageEvent(event);

        document.open();
        //            Paragraph parrafo2 = new Paragraph("De aqui en ", FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.NORMAL, BaseColor.RED));
        //            parrafo2.setAlignment(0);
        document.add(Chunk.NEWLINE);
        document.add(new Paragraph("Fecha:"));
        Paragraph id_Venta = new Paragraph("ID_Venta:");
        id_Venta.setAlignment(0);
        document.add(id_Venta);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        //            document.add(parrafo2);
        document.add(new Paragraph("Nombre del cliente:"));
        //            document.add(Chunk.NEWLINE);
        //            document.add(Chunk.NEWLINE);
        document.add(new Paragraph("Apellido Paterno:"));
        //            document.add(Chunk.NEWLINE);
        document.add(new Paragraph("Apellido Materno:"));
        document.add(new Paragraph("Domicilio:"));
        document.add(new Paragraph("Calle:"));
        document.add(new Paragraph("Numero:"));
        document.add(new Paragraph(""));

        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.close();
    } catch (Exception ex) {
        System.out.println(ex.getMessage());
    }
}

From source file:Vista.Componentes.ReporteConstanciaEstudios.java

public ReporteConstanciaEstudios(ResultSet datosEstudiante) {
    documento = new Document(PageSize.LETTER);
    contenido = new PdfPTable(anchos.length);
    contenido.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
    alumno = new Alumno();
    representante = new Representante();

    try {//from  w  ww.j av  a  2 s  .c om
        tiempoActual = new Date();
        calendario.setTime(tiempoActual);

        ano = calendario.get(Calendar.YEAR) > 9 ? "" + calendario.get(Calendar.YEAR)
                : "0" + calendario.get(Calendar.YEAR);
        mes = calendario.get(Calendar.MONTH) > 9 ? "" + calendario.get(Calendar.MONTH)
                : "0" + calendario.get(Calendar.MONTH);
        dia = calendario.get(Calendar.DATE) > 9 ? "" + calendario.get(Calendar.DATE)
                : "0" + calendario.get(Calendar.DATE);
        hora = String.valueOf(calendario.get(Calendar.HOUR_OF_DAY));
        minuto = calendario.get(Calendar.MINUTE) > 9 ? "" + calendario.get(Calendar.MINUTE)
                : "0" + calendario.get(Calendar.MINUTE);
        segundo = calendario.get(Calendar.SECOND) > 9 ? "" + calendario.get(Calendar.SECOND)
                : "0" + calendario.get(Calendar.SECOND);

        int mesA = Integer.valueOf(mes) + 1; // PROBLEMA, el mes siempre es mostrado con un entero menos
        switch (mesA) {
        case 1:
            mesActual = "Enero";
            break;
        case 2:
            mesActual = "Febrero";
            break;
        case 3:
            mesActual = "Marzo";
            break;
        case 4:
            mesActual = "Abril";
            break;
        case 5:
            mesActual = "Mayo";
            break;
        case 6:
            mesActual = "Junio";
            break;
        case 7:
            mesActual = "Julio";
            break;
        case 8:
            mesActual = "Agosto";
            break;
        case 9:
            mesActual = "Septiembre";
            break;
        case 10:
            mesActual = "Octubre";
            break;
        case 11:
            mesActual = "Noviembre";
            break;
        case 12:
            mesActual = "Diciembre";
            break;
        default:
            mesActual = "Mes invalido";
            break;
        }

        //archivoDeSalida = new FileOutputStream("/home/yonalix/Escritorio/prueba.pdf");
        archivoDeSalida = new FileOutputStream(config.getReportRoute() + ano + "-" + mesA + "-" + dia + "_"
                + hora + "-" + minuto + "-" + segundo + "_" + "ConstanciaEstudios.pdf");

        PdfWriter.getInstance(documento, archivoDeSalida);
        documento.open();

        // Crea el prrafo
        parrafo = new Paragraph();
        logo();
        imprimeEncabezado();

        try {
            while (datosEstudiante.next()) {
                nombreAl = datosEstudiante.getString(2);
                apellidoAl = datosEstudiante.getString(3);
                sexoAl = datosEstudiante.getString(5); // se usa en caso de cambio en la escritura del calificativo estudiante
                fecha = datosEstudiante.getString(6);
                grado = datosEstudiante.getString(8);
                seccion = datosEstudiante.getString(9);
            }
        } catch (SQLException error) {
            String mensaje = errorSQL(error.getSQLState());
            JOptionPane.showMessageDialog(null, mensaje);
        }

        if (sexoAl.equals("Masculino")) {
            contenidoSalida = "Por medio de la presente se hace constar que el estudiante " + nombreAl + " "
                    + apellidoAl + " cursante del grado " + grado + " seccion " + seccion
                    + " se encuentra inscrito en nuestra institucin U.E.E. Antonio Rangel?, Constancia de Inscripcin que emite Control de Estudios U.E.E. Antonio Rangel? en la ciudad de Valencia, a los "
                    + dia + " dias del mes de " + mesActual + " de " + ano + " a las " + hora + " horas y "
                    + minuto
                    + " minutos.\n\n\n   Firma CE. __________                   Sello Secretaria de CE. __________";
        } else {
            contenidoSalida = "Por medio de la presente se hace constar que la estudiante " + nombreAl + " "
                    + apellidoAl + " cursante del grado " + grado + " seccion " + seccion
                    + " se encuentra inscrita en nuestra institucin U.E.E. Antonio Rangel?, Constancia de Inscripcin que emite Control de Estudios U.E.E. Antonio Rangel? en la ciudad de Valencia, a los "
                    + dia + " dias del mes de " + mesActual + " de " + ano + " a las " + hora + " horas y "
                    + minuto
                    + " minutos.\n\n\n   Firma CE. __________                   Sello Secretaria de CE. __________";
        }
        parrafo2 = new Paragraph(contenidoSalida);

        documento.add(parrafo2);
        parrafo2.setAlignment(Paragraph.ALIGN_CENTER);
        documento.close();
        archivoDeSalida.close();

        if (Desktop.isDesktopSupported()) {
            try {
                File reporte = new File(config.getReportRoute() + ano + "-" + mesA + "-" + dia + "_" + hora
                        + "-" + minuto + "-" + segundo + "_" + "ConstanciaEstudios.pdf");
                Desktop.getDesktop().open(reporte);
            } catch (IOException ex) {
                // no application registered for PDFs
                JOptionPane.showMessageDialog(null, "No posee aplicacin para abrir el reporte");
            }
        }

    } catch (IOException | DocumentException ioe) {
        JOptionPane.showMessageDialog(null, "Error de escritura en disco");
    }
}

From source file:Vista.Componentes.ReporteConstanciaInscripcion.java

public ReporteConstanciaInscripcion(ResultSet datosEstudiante, ResultSet datosRepresentante) {
    documento = new Document(PageSize.LETTER);
    contenido = new PdfPTable(anchos.length);
    contenido.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
    alumno = new Alumno();
    representante = new Representante();

    try {/*from   ww  w .  ja  va 2  s .com*/
        tiempoActual = new Date();
        calendario.setTime(tiempoActual);

        ano = calendario.get(Calendar.YEAR) > 9 ? "" + calendario.get(Calendar.YEAR)
                : "0" + calendario.get(Calendar.YEAR);
        mes = calendario.get(Calendar.MONTH) > 9 ? "" + calendario.get(Calendar.MONTH)
                : "0" + calendario.get(Calendar.MONTH);
        dia = calendario.get(Calendar.DATE) > 9 ? "" + calendario.get(Calendar.DATE)
                : "0" + calendario.get(Calendar.DATE);
        hora = String.valueOf(calendario.get(Calendar.HOUR_OF_DAY));
        minuto = calendario.get(Calendar.MINUTE) > 9 ? "" + calendario.get(Calendar.MINUTE)
                : "0" + calendario.get(Calendar.MINUTE);
        segundo = calendario.get(Calendar.SECOND) > 9 ? "" + calendario.get(Calendar.SECOND)
                : "0" + calendario.get(Calendar.SECOND);

        int mesA = Integer.valueOf(mes) + 1; // PROBLEMA, el mes siempre es mostrado con un entero menos
        switch (mesA) {
        case 1:
            mesActual = "Enero";
            break;
        case 2:
            mesActual = "Febrero";
            break;
        case 3:
            mesActual = "Marzo";
            break;
        case 4:
            mesActual = "Abril";
            break;
        case 5:
            mesActual = "Mayo";
            break;
        case 6:
            mesActual = "Junio";
            break;
        case 7:
            mesActual = "Julio";
            break;
        case 8:
            mesActual = "Agosto";
            break;
        case 9:
            mesActual = "Septiembre";
            break;
        case 10:
            mesActual = "Octubre";
            break;
        case 11:
            mesActual = "Noviembre";
            break;
        case 12:
            mesActual = "Diciembre";
            break;
        default:
            mesActual = "Mes invalido";
            break;
        }

        //archivoDeSalida = new FileOutputStream("/home/yonalix/Escritorio/prueba.pdf");
        archivoDeSalida = new FileOutputStream(config.getReportRoute() + ano + "-" + mesA + "-" + dia + "_"
                + hora + "-" + minuto + "-" + segundo + "_" + "ConstanciaInscripcion.pdf");

        PdfWriter.getInstance(documento, archivoDeSalida);
        documento.open();

        // Crea el prrafo
        parrafo = new Paragraph();
        logo();
        imprimeEncabezado();
        /*
        try {
        while (datos.next()){
            int lineas = 0;
            if (lineas > 10){
                        
                lineas = 0;
                        
            }
            contenido.addCell(datos.getString(1));
            contenido.addCell(datos.getString(2));
            contenido.addCell(datos.getString(3));
            contenido.addCell(datos.getString(4));
            lineas++;
        }
        } catch (SQLException error) {
        String mensaje = errorSQL(error.getSQLState());
        JOptionPane.showMessageDialog(null,mensaje);
        }
        */
        try {
            while (datosEstudiante.next()) {
                nombreAl = datosEstudiante.getString(2);
                apellidoAl = datosEstudiante.getString(3);
                sexoAl = datosEstudiante.getString(5);
            }
        } catch (SQLException error) {
            String mensaje = errorSQL(error.getSQLState());
            JOptionPane.showMessageDialog(null, mensaje);
        }
        try {
            while (datosRepresentante.next()) {
                cedulaRep = datosRepresentante.getString(1);
                nombreRep = datosRepresentante.getString(2);
                apellidoRep = datosRepresentante.getString(3);
                sexoRep = datosRepresentante.getString(8);
            }
        } catch (SQLException error) {
            String mensaje = errorSQL(error.getSQLState());
            JOptionPane.showMessageDialog(null, mensaje);
        }
        /*
         if ("masculino".equals(sexoAl)) {
        if ("masculino".equals(sexoRep)) {
            contenidoSalida = "Por medio de la presente se hace constar que el ciudadano "+nombreRep+" "+apellidoRep+", con cdula de identidad N "+cedulaRep+",Representante del estudiante "+nombreAl+" "+apellidoAl+" que se encuentra inscrita en nuestra institucion U.E.E. Antonio Rangel?,Constancia que se emite en la ciudad de Valencia, .\n\n\n    Prof.  xxxxxxxxxx\n       Secretaria de Control de Estudios";
        } else {
            contenidoSalida = "Por medio de la presente se hace constar que la ciudadana "+nombreRep+" "+apellidoRep+", con cdula de identidad N "+cedulaRep+",Representante del estudiante "+nombreAl+" "+apellidoAl+" que se encuentra inscrita en nuestra institucion U.E.E. Antonio Rangel?,Constancia que se emite en la ciudad de Valencia, .\n\n\n    Prof.  xxxxxxxxxx\n       Secretaria de Control de Estudios";
        }
         } else {
        if ("masculino".equals(sexoRep)) {
            contenidoSalida = "Por medio de la presente se hace constar que el ciudadano "+nombreRep+" "+apellidoRep+", con cdula de identidad N "+cedulaRep+",Representante del estudiante "+nombreAl+" "+apellidoAl+" que se encuentra inscrita en nuestra institucion U.E.E. Antonio Rangel?,Constancia que se emite en la ciudad de Valencia, .\n\n\n    Prof.  xxxxxxxxxx\n       Secretaria de Control de Estudios";
        } else {
            contenidoSalida = "Por medio de la presente se hace constar que la ciudadana "+nombreRep+" "+apellidoRep+", con cdula de identidad N "+cedulaRep+",Representante del estudiante "+nombreAl+" "+apellidoAl+" que se encuentra inscrita en nuestra institucion U.E.E. Antonio Rangel?,Constancia que se emite en la ciudad de Valencia, .\n\n\n    Prof.  xxxxxxxxxx\n       Secretaria de Control de Estudios";
        }
         }
        */
        /*
        parrafo2 = new Paragraph("Por medio de la presente se hace constar que el (la) ciudadano(a) JUAN MANUEL PATIO, con cdula de identidad   N  V- 9.475.711,Representante de el(la) estudiante yoalis garcia que se encuentra  inscrita en nuestra institucion U.E.E. Antonio Rangel?,Constancia que se emite en la ciudad de Valencia, .\n" 
                            +"\n"+"\n"+"   Prof.  xxxxxxxxxx\n"+"       Directora titular ");
        */
        /*
        parrafo2 = new Paragraph("Por medio de la presente se hace constar que el (la) ciudadano(a) "+nombreRep+" "+apellidoRep+", con cdula de identidad N "+cedulaRep+",Representante de el estudiante "+nombreAl+" "+apellidoAl+" que se encuentra  inscrita en nuestra institucion U.E.E. Antonio Rangel?,Constancia que se emite en la ciudad de Valencia, .\n" 
                            +"\n"
                            +"\n" 
                            +"   Prof.  xxxxxxxxxx\n" 
                            +"       Directora titular ");
        */

        if (sexoRep.equals("Masculino")) {
            contenidoSalida = "Por medio de la presente se hace constar que el ciudadano " + nombreRep + " "
                    + apellidoRep + ", con cdula de identidad N " + cedulaRep
                    + ", Representante del estudiante " + nombreAl + " " + apellidoAl
                    + " que se encuentra inscrito en nuestra institucin U.E.E. Antonio Rangel?, Constancia de Inscripcin que emite Control de Estudios U.E.E. Antonio Rangel? en la ciudad de Valencia, a los "
                    + dia + " dias del mes de " + mesActual + " de " + ano + " a las " + hora + " horas y "
                    + minuto
                    + " minutos.\n\n\n   Firma CE. __________                   Sello Secretaria de CE. __________";
        } else {
            contenidoSalida = "Por medio de la presente se hace constar que la ciudadana " + nombreRep + " "
                    + apellidoRep + ", con cdula de identidad N " + cedulaRep
                    + ", Representante del estudiante " + nombreAl + " " + apellidoAl
                    + " que se encuentra inscrito en nuestra institucin U.E.E. Antonio Rangel?, Constancia de Inscripcin que emite Control de Estudios U.E.E. Antonio Rangel? en la ciudad de Valencia, a los "
                    + dia + " dias del mes de " + mesActual + " de " + ano + " a las " + hora + " horas y "
                    + minuto
                    + " minutos.\n\n\n   Firma CE. __________                   Sello Secretaria de CE. __________";
        }
        parrafo2 = new Paragraph(contenidoSalida);

        documento.add(parrafo2);
        parrafo2.setAlignment(Paragraph.ALIGN_CENTER);
        documento.close();
        archivoDeSalida.close();

        if (Desktop.isDesktopSupported()) {
            try {
                File reporte = new File(config.getReportRoute() + ano + "-" + mesA + "-" + dia + "_" + hora
                        + "-" + minuto + "-" + segundo + "_" + "ConstanciaInscripcion.pdf");
                Desktop.getDesktop().open(reporte);
            } catch (IOException ex) {
                // no application registered for PDFs
                JOptionPane.showMessageDialog(null, "No posee aplicacin para abrir el reporte");
            }
        }

    } catch (IOException | DocumentException ioe) {
        JOptionPane.showMessageDialog(null, "Error de escritura en disco");
    }
}

From source file:Vista.Componentes.ReporteListaGrado.java

public ReporteListaGrado(ResultSet datosEstudiante, ResultSet datosProfesor) {
    documento = new Document(PageSize.LETTER);
    contenidoPro = new PdfPTable(anchosPro.length);
    contenidoPro.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);

    contenidoEst = new PdfPTable(anchosEst.length);
    contenidoEst.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
    alumno = new Alumno();
    representante = new Representante();

    try {//from   w ww. j  a  va  2s .co  m
        tiempoActual = new Date();
        calendario.setTime(tiempoActual);

        ano = calendario.get(Calendar.YEAR) > 9 ? "" + calendario.get(Calendar.YEAR)
                : "0" + calendario.get(Calendar.YEAR);
        mes = calendario.get(Calendar.MONTH) > 9 ? "" + calendario.get(Calendar.MONTH)
                : "0" + calendario.get(Calendar.MONTH);
        dia = calendario.get(Calendar.DATE) > 9 ? "" + calendario.get(Calendar.DATE)
                : "0" + calendario.get(Calendar.DATE);
        hora = String.valueOf(calendario.get(Calendar.HOUR_OF_DAY));
        minuto = calendario.get(Calendar.MINUTE) > 9 ? "" + calendario.get(Calendar.MINUTE)
                : "0" + calendario.get(Calendar.MINUTE);
        segundo = calendario.get(Calendar.SECOND) > 9 ? "" + calendario.get(Calendar.SECOND)
                : "0" + calendario.get(Calendar.SECOND);

        int mesA = Integer.valueOf(mes) + 1; // PROBLEMA, el mes siempre es mostrado con un entero menos
        switch (mesA) {
        case 1:
            mesActual = "Enero";
            break;
        case 2:
            mesActual = "Febrero";
            break;
        case 3:
            mesActual = "Marzo";
            break;
        case 4:
            mesActual = "Abril";
            break;
        case 5:
            mesActual = "Mayo";
            break;
        case 6:
            mesActual = "Junio";
            break;
        case 7:
            mesActual = "Julio";
            break;
        case 8:
            mesActual = "Agosto";
            break;
        case 9:
            mesActual = "Septiembre";
            break;
        case 10:
            mesActual = "Octubre";
            break;
        case 11:
            mesActual = "Noviembre";
            break;
        case 12:
            mesActual = "Diciembre";
            break;
        default:
            mesActual = "Mes invalido";
            break;
        }

        //archivoDeSalida = new FileOutputStream("/home/yonalix/Escritorio/prueba.pdf");
        archivoDeSalida = new FileOutputStream(config.getReportRoute() + ano + "-" + mesA + "-" + dia + "_"
                + hora + "-" + minuto + "-" + segundo + "_" + "ListadoGrado.pdf");

        /*************************************************************************************************/
        try {
            while (datosProfesor.next()) {
                fecha = datosProfesor.getString(1);
                grado = datosProfesor.getString(12);
                seccion = datosProfesor.getString(13);
                //datosProfesor.first();
            }
            datosProfesor.beforeFirst();
        } catch (SQLException error) {
            String mensaje = errorSQL(error.getSQLState());
            JOptionPane.showMessageDialog(null, mensaje);
        }

        PdfWriter.getInstance(documento, archivoDeSalida);
        documento.open();

        // Crea el prrafo
        parrafo = new Paragraph();
        logo();
        imprimeEncabezado();

        //alinear el parrafo al centro
        parrafo.setAlignment(Paragraph.ALIGN_CENTER);
        //agregar contenido al parrafo
        parrafo.add("Profesor(es) Asignado(s)");
        //aade el parrafo al documento
        documento.add(parrafo);
        parrafo.clear();
        parrafo.add(" ");

        contenidoPro.addCell("Cedula");
        contenidoPro.addCell("Nombre");
        contenidoPro.addCell("Apellido");

        try {
            while (datosProfesor.next()) {
                //cedulaPr = datosProfesor.getString(2);
                //nombrePr = datosProfesor.getString(3);
                //apellidoPr = datosProfesor.getString(4);
                contenidoPro.addCell(datosProfesor.getString(2));
                contenidoPro.addCell(datosProfesor.getString(3));
                contenidoPro.addCell(datosProfesor.getString(4));
            }
        } catch (SQLException error) {
            String mensaje = errorSQL(error.getSQLState());
            JOptionPane.showMessageDialog(null, mensaje);
        }
        documento.add(parrafo);
        parrafo.clear();
        parrafo.add(" ");
        documento.add(contenidoPro);
        contenidoPro.flushContent();

        parrafo.add("Estudiante(es) Asignado(s)");
        parrafo.add(" ");

        contenidoEst.addCell("Codigo");
        contenidoEst.addCell("Nombre");
        contenidoEst.addCell("Apellido");
        contenidoEst.addCell("Sexo");

        try {
            while (datosEstudiante.next()) {
                //codigoAl = datosEstudiante.getString(1);
                //nombreAl = datosEstudiante.getString(2);
                //apellidoAl = datosEstudiante.getString(3);
                //sexoAl = datosEstudiante.getString(5); // se usa en caso de cambio en la escritura del calificativo estudiante
                //fecha = datosEstudiante.getString(6);
                //grado = datosEstudiante.getString(8);
                //seccion = datosEstudiante.getString(9);
                contenidoEst.addCell(datosEstudiante.getString(2));
                contenidoEst.addCell(datosEstudiante.getString(3));
                contenidoEst.addCell(datosEstudiante.getString(4));
                contenidoEst.addCell(datosEstudiante.getString(6));
            }
        } catch (SQLException error) {
            String mensaje = errorSQL(error.getSQLState());
            JOptionPane.showMessageDialog(null, mensaje);
        }
        documento.add(parrafo);
        documento.add(contenidoEst);
        contenidoEst.flushContent();
        parrafo.clear();

        documento.close();
        archivoDeSalida.close();

        if (Desktop.isDesktopSupported()) {
            try {
                File reporte = new File(config.getReportRoute() + ano + "-" + mesA + "-" + dia + "_" + hora
                        + "-" + minuto + "-" + segundo + "_" + "ListadoGrado.pdf");
                Desktop.getDesktop().open(reporte);
            } catch (IOException ex) {
                // no application registered for PDFs
                JOptionPane.showMessageDialog(null, "No posee aplicacin para abrir el reporte");
            }
        }

    } catch (IOException | DocumentException ioe) {
        JOptionPane.showMessageDialog(null, "Error de escritura en disco");
    }
}