Example usage for com.itextpdf.text.pdf BaseFont HELVETICA

List of usage examples for com.itextpdf.text.pdf BaseFont HELVETICA

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf BaseFont HELVETICA.

Prototype

String HELVETICA

To view the source code for com.itextpdf.text.pdf BaseFont HELVETICA.

Click Source Link

Document

This is a possible value of a base 14 type 1 font

Usage

From source file:Valuacion.valuacion.java

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

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

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

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

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

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

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

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

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

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

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

From source file:Valuacion.valuacion.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
     // TODO add your handling code here:
     //h=new Herramientas(user, 0);
     //h.session(sessionPrograma);
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {// w  w  w  .  j a  v a2s  .  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, 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);/*  w  w  w  . j  ava  2s .  c om*/
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {
         //NumberFormat formatoPorcentaje = NumberFormat.getCurrencyInstance();
         DecimalFormat formatoPorcentaje = new DecimalFormat("#,###.00");
         formatoPorcentaje.setMinimumFractionDigits(2);

         session.beginTransaction().begin();
         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
         //Orden ord=buscaApertura();
         PDF reporte = new PDF();
         Date fecha = new Date();
         DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS
         String valor = dateFormat.format(fecha);
         File folder = new File("reportes/" + ord.getIdOrden());
         folder.mkdirs();
         reporte.Abrir(PageSize.LETTER.rotate(), "Valuacin",
                 "reportes/" + ord.getIdOrden() + "/" + valor + "-ref_sin_precio.pdf");
         Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL);
         BaseColor contenido = BaseColor.WHITE;
         int centro = Element.ALIGN_CENTER;
         int izquierda = Element.ALIGN_LEFT;
         int derecha = Element.ALIGN_RIGHT;
         int ren = 0;
         double dm = 0d, cam = 0d, min = 0d, med = 0d, max = 0d, pin = 0d, tot = 0d;
         session.beginTransaction().begin();
         Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
         /*Todas Autorizadas Sin Autorizar*/
         Partida[] cuentas = new Partida[] {};

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

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

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

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

         cabecera1(reporte, bf, tabla);

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

             tabla.addCell(reporte.celda(cuentas[i].getCatalogo().getNombre(), font, contenido, izquierda, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("" + cuentas[i].getCant(), font, contenido, derecha, 0, 1,
                     Rectangle.RECTANGLE));
             tabla.addCell(
                     reporte.celda(cuentas[i].getMed(), font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));

             tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
             tabla.addCell(reporte.celda("", font, contenido, derecha, 0, 1, Rectangle.RECTANGLE));
             if (cuentas[i].isOri() == true) {
                 tabla.addCell(reporte.celda("Ori", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
             } else {
                 if (cuentas[i].isNal() == true) {
                     tabla.addCell(reporte.celda("Nal", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                 } else {
                     if (cuentas[i].isDesm() == true)
                         tabla.addCell(reporte.celda("Des", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     else {
                         if (cuentas[i].isPd() == true)
                             tabla.addCell(
                                     reporte.celda("Rec", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                         else
                             tabla.addCell(
                                     reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.RECTANGLE));
                     }
                 }
             }

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

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

From source file:Valuacion.valuacion.java

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
     // TODO add your handling code here:
     //h=new Herramientas(user, 0);
     //h.session(sessionPrograma);
     Session session = HibernateUtil.getSessionFactory().openSession();
     try {//from  www  .  j av  a 2s. 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 {/*from  www.  j  ava2s  .  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 {// ww w.j  a  v  a2  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 + "-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 ww  . j a  v a2  s.co  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:windows.wzListWindow.java

public PdfPCell createCell(String content, int alignment) throws IOException, DocumentException {
    BaseFont ft = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
    Font ffont = new Font(ft, 9);
    Phrase ph = new Phrase(content);
    ph.setFont(ffont);//www. j  a  va2  s  .  co m
    PdfPCell cell = new PdfPCell(Phrase.getInstance(Element.ALIGN_CENTER, content, ffont));
    cell.setHorizontalAlignment(alignment);
    return cell;
}

From source file:windows.wzListWindow.java

private void printDocActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_printDocActionPerformed
    Document document = new Document();
    Footer ft = new Footer();
    companyAdress comp = new companyAdress();

    try {/*  ww w.jav  a  2  s .c o  m*/
        BaseFont ft1 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
        Font ffont = new Font(ft1, 12);

        BaseFont ft3 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
        Font bold = new Font(ft1, 12, Font.BOLD);
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf"));
        document.open();
        Paragraph pr = new Paragraph();
        pr.setFont(ffont);
        writer.setPageEvent(ft);
        ContractorEntity contractor = wz
                .getContractor(Integer.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 2).toString()));
        pr.add(WZTable.getValueAt(WZTable.getSelectedRow(), 4).toString());
        pr.setAlignment(Element.ALIGN_RIGHT);
        document.add(pr);
        pr.clear();
        if ("SPRZT WYDANY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) {
            Paragraph nr = new Paragraph("WYADNIE SPRZTU NR ", ffont);
            String yearSlashnr = WZTable.getValueAt(WZTable.getSelectedRow(), 1).toString();
            nr.add(new Chunk(yearSlashnr, bold));
            nr.setAlignment(Element.ALIGN_LEFT);
            document.add(nr);
            if ("WS".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 12).toString())) {
                pr.setAlignment(Element.ALIGN_LEFT);
                DocEntity docPS = wz.getDocument(wz.getPSForWs(
                        Integer.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 0).toString())));
                pr.add("DOTYCZY: PS NR " + docPS.getDocNumber());
                document.add(pr);
                pr.clear();
                pr.setAlignment(Element.ALIGN_RIGHT);
            }
        }

        if ("SPRZT PRZYJTY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) {
            int rok = Timestamp.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 4).toString()).getYear()
                    + 1900;
            Paragraph nr = new Paragraph("PRZYJCIE SPRZTU NR ", ffont);
            String yearSlashnr = rok + "/" + WZTable.getValueAt(WZTable.getSelectedRow(), 1).toString();
            nr.add(new Chunk(yearSlashnr, bold));
            nr.setAlignment(Element.ALIGN_LEFT);
            document.add(nr);
        }
        pr.clear();
        pr.add(Chunk.NEWLINE);
        pr.add(Chunk.NEWLINE);
        document.add(pr);
        pr.clear();
        pr.setAlignment(Element.ALIGN_LEFT);
        pr.add(comp.getName());
        pr.add(Chunk.NEWLINE);
        pr.add("ul. " + comp.getStreet());
        pr.add(Chunk.NEWLINE);
        pr.add(comp.getPostal() + " " + comp.getCity());
        pr.add(Chunk.NEWLINE);
        pr.add("NIP: " + comp.getNip());
        pr.add(Chunk.NEWLINE);
        pr.add("Tel: " + comp.getPhone());
        pr.add(Chunk.NEWLINE);
        pr.add("Fax: " + comp.getFax());
        pr.add(Chunk.NEWLINE);
        pr.add("E-mail: " + comp.getEmail());
        pr.add(Chunk.NEWLINE);
        pr.add(Chunk.NEWLINE);
        pr.add("KLIENT:");
        pr.add(Chunk.NEWLINE);
        pr.add(contractor.getName());
        pr.add(Chunk.NEWLINE);
        pr.add("ul. " + contractor.getStreet());
        pr.add(Chunk.NEWLINE);
        pr.add(contractor.getPostalCode() + " " + contractor.getCity());
        pr.add(Chunk.NEWLINE);
        pr.add("NIP: " + contractor.getNip());
        pr.add(Chunk.NEWLINE);
        pr.add("Tel: " + contractor.getPhone());
        pr.add(Chunk.NEWLINE);
        pr.add("E-mail: " + contractor.getEmail());
        document.add(pr);

        pr.clear();
        pr.add(Chunk.NEWLINE);
        pr.add(Chunk.NEWLINE);
        pr.add("PRZYJTE URZDZENIA:");
        document.add(pr);

        //PUT IMAGE FROM DRIVE
        java.awt.Image awtImage = Toolkit.getDefaultToolkit().createImage("C:/GIT/support/logo.jpg");
        Image img = com.itextpdf.text.Image.getInstance(awtImage, null);
        int indentation = 0;
        float scaler = ((document.getPageSize().getWidth() - document.leftMargin() - document.rightMargin()
                - indentation) / img.getWidth()) * 20;
        img.scalePercent(scaler);
        img.setAbsolutePosition(document.right() - 90, document.top() - 150);
        document.add(new Paragraph());
        document.add(img);

        //ADD TABLE

        PdfPTable table = new PdfPTable(7); // 3 columns.
        table.setWidthPercentage(100); //Width 100%
        table.setSpacingBefore(10f); //Space before table
        table.setSpacingAfter(10f); //Space after table
        //Set Column widths
        float[] columnWidths = { 1f, 4f, 3f, 2f, 2f, 6f, 6f };
        table.setWidths(columnWidths);
        BaseFont ft2 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
        Font headerFont = new Font(ft2, 9);
        Paragraph pos1 = new Paragraph("", headerFont);
        Paragraph pos2 = new Paragraph("", headerFont);
        Paragraph pos3 = new Paragraph("", headerFont);
        Paragraph pos4 = new Paragraph("", headerFont);
        Paragraph pos5 = new Paragraph("", headerFont);
        Paragraph pos6 = new Paragraph("", headerFont);
        Paragraph pos7 = new Paragraph("", headerFont);

        //FORMATING TABLE
        pos1.clear();
        pos1.add("LP");
        PdfPCell cell1 = new PdfPCell(pos1);
        cell1.setBorderColor(BaseColor.BLACK);
        cell1.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell1);
        pos2.clear();
        pos2.add("NAZWA");
        PdfPCell cell2 = new PdfPCell(pos2);
        cell2.setBorderColor(BaseColor.BLACK);
        cell2.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell2.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell2);
        pos3.clear();
        pos3.add("NR SERYJNY");
        PdfPCell cell3 = new PdfPCell(pos3);
        cell3.setBorderColor(BaseColor.BLACK);
        cell3.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell3.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell3);
        pos4.clear();
        pos4.add("CENA NETTO");
        PdfPCell cell4 = new PdfPCell(pos4);
        cell4.setBorderColor(BaseColor.BLACK);
        cell4.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell4.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell4);
        pos5.clear();
        pos5.add("CENA BRUTTO");
        PdfPCell cell5 = new PdfPCell(pos5);
        cell5.setBorderColor(BaseColor.BLACK);
        cell5.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell5.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell5.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell5);
        pos6.clear();
        pos6.add("PROBLEM");
        PdfPCell cell6 = new PdfPCell(pos6);
        cell6.setBorderColor(BaseColor.BLACK);
        cell6.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell6.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell6.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell6);
        pos7.clear();
        pos7.add("NAPRAWA");
        PdfPCell cell7 = new PdfPCell(pos7);
        cell7.setBorderColor(BaseColor.BLACK);
        cell7.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell7.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell7.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell7);

        cell2.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell3.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell4.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell5.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell6.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell7.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell1.setBackgroundColor(BaseColor.WHITE);
        cell2.setBackgroundColor(BaseColor.WHITE);
        cell3.setBackgroundColor(BaseColor.WHITE);
        cell4.setBackgroundColor(BaseColor.WHITE);
        cell5.setBackgroundColor(BaseColor.WHITE);
        cell6.setBackgroundColor(BaseColor.WHITE);
        cell7.setBackgroundColor(BaseColor.WHITE);
        int counter = 1;
        for (DocProductEntity prod : productToShow) {
            //col 1 (LP)
            table.addCell(createCell("" + counter, Element.ALIGN_CENTER));
            counter++;
            //col 2 (NAME)
            table.addCell(createCell(prod.getName(), Element.ALIGN_LEFT));
            //col 3 (NR SER)
            table.addCell(createCell(prod.getSerial(), Element.ALIGN_CENTER));
            //col 4 (NETTO)
            table.addCell(createCell(String.valueOf(prod.getPrice()), Element.ALIGN_RIGHT));
            //col 5 (BRUTTO)
            table.addCell(createCell(String.valueOf(prod.getPrice() + (prod.getPrice() * 0.23)),
                    Element.ALIGN_RIGHT));
            //col 6 (PROBLEM)
            table.addCell(createCell(prod.getProblem(), Element.ALIGN_LEFT));
            //col 7 (REPAIRS)
            table.addCell(createCell(prod.getRepair(), Element.ALIGN_LEFT));
        }
        document.add(table);
        pr.setAlignment(Element.ALIGN_RIGHT);
        pr.clear();
        pr.add("PRZEWIDYWANIY KOSZT NAPRAWY:");
        document.add(pr);
        pr.clear();
        pr.add("Razem netto: " + nettoLabel.getText() + " Razem brutto: " + bruttoLabel.getText());
        document.add(pr);
        pr.clear();
        pr.add("Sownie: " + amountInWords(Float.valueOf(bruttoLabel.getText().replace(",", "."))));
        document.add(pr);
        pr.clear();
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        pr.add(".................................................");
        document.add(pr);
        pr.clear();
        pr.add("Podpis i piecztka pracownika");
        document.add(pr);
        if ("SPRZT WYDANY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) {
            pr.clear();
            pr.add(Chunk.NEWLINE);
            pr.add(Chunk.NEWLINE);
            pr.add(".................................................");
            document.add(pr);
            pr.clear();
            pr.add("Sprzt odebraem (Podpis klienta)");
            document.add(pr);
        }
        //CLOSING DOCUMENT
        document.close();
        writer.close();

    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        StampPageXofY numeration = new StampPageXofY();
        tempName = nowTimestamp();
        numeration.manipulatePdf("test.pdf", tempName + ".pdf");
    } catch (IOException ex) {
        Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DocumentException ex) {
        Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
    }
    //OPEN READY DOCUMENT
    try {
        Desktop.getDesktop().open(new File(tempName + ".pdf"));
    } catch (IOException ex) {
        Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
    }
}