Servicios.formatos.java Source code

Java tutorial

Introduction

Here is the source code for Servicios.formatos.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Servicios;

import Hibernate.Util.HibernateUtil;
import Hibernate.entidades.Compania;
import Hibernate.entidades.Configuracion;
import Hibernate.entidades.Cuenta;
import Hibernate.entidades.Foto;
import Hibernate.entidades.Orden;
import Hibernate.entidades.Usuario;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.GrayColor;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfPTable;
import java.awt.Color;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import org.hibernate.Session;
import Integral.Herramientas;
import Integral.PDF;
import Integral.Render1;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.AcroFields;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.ImageIcon;

/**
 *
 * @author I.S.C Salvador
 */
public class formatos extends javax.swing.JPanel {

    /**
     * Creates new form formatos
     */
    private final Usuario usr;
    private String orden = "";
    private String aseguradora = "";
    String estado = "";
    String sessionPrograma = "";
    Herramientas h;
    String ruta;

    public formatos(String id, Usuario usuar1o, String id_seguro, String edo, String ses) {
        sessionPrograma = ses;
        //estado=edo;
        usr = usuar1o;
        orden = id;
        aseguradora = id_seguro;
        initComponents();
        //        b_salida2.setVisible(false);
        ruta = "";
        try {
            FileReader f = new FileReader("config.txt");
            BufferedReader b = new BufferedReader(f);
            if ((ruta = b.readLine()) == null)
                ruta = "";
            b.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (estado.compareTo("") == 0)
            visualiza(true);
        else
            visualiza(false);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        b_etiqueta_expdiente = new javax.swing.JButton();
        b_hoja_unidad = new javax.swing.JButton();
        b_inv_tracto = new javax.swing.JButton();
        b_inv_caja = new javax.swing.JButton();
        b_autorizacion = new javax.swing.JButton();
        b_fecha_promesa = new javax.swing.JButton();
        b_encuenta = new javax.swing.JButton();
        b_salida = new javax.swing.JButton();
        b_encuesta_interna = new javax.swing.JButton();
        b_fecha_promesa1 = new javax.swing.JButton();
        b_encuenta1 = new javax.swing.JButton();
        b_salida1 = new javax.swing.JButton();
        b_hoja_unidad1 = new javax.swing.JButton();

        setBackground(new java.awt.Color(255, 255, 255));

        b_etiqueta_expdiente.setBackground(new java.awt.Color(2, 135, 242));
        b_etiqueta_expdiente.setForeground(new java.awt.Color(255, 255, 255));
        b_etiqueta_expdiente.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_etiqueta_expdiente.setText("Etiqueta de Expediente");
        b_etiqueta_expdiente.setToolTipText("Generar reporte");
        b_etiqueta_expdiente.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_etiqueta_expdiente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_etiqueta_expdienteActionPerformed(evt);
            }
        });

        b_hoja_unidad.setBackground(new java.awt.Color(2, 135, 242));
        b_hoja_unidad.setForeground(new java.awt.Color(255, 255, 255));
        b_hoja_unidad.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_hoja_unidad.setText("Hoja de Unidad");
        b_hoja_unidad.setToolTipText("Generar reporte");
        b_hoja_unidad.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_hoja_unidad.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_hoja_unidadActionPerformed(evt);
            }
        });

        b_inv_tracto.setBackground(new java.awt.Color(2, 135, 242));
        b_inv_tracto.setForeground(new java.awt.Color(255, 255, 255));
        b_inv_tracto.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_inv_tracto.setText("Inventario Tractocamion");
        b_inv_tracto.setToolTipText("Generar reporte");
        b_inv_tracto.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_inv_tracto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_inv_tractoActionPerformed(evt);
            }
        });

        b_inv_caja.setBackground(new java.awt.Color(2, 135, 242));
        b_inv_caja.setForeground(new java.awt.Color(255, 255, 255));
        b_inv_caja.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_inv_caja.setText("Inventario Caja");
        b_inv_caja.setToolTipText("Generar reporte");
        b_inv_caja.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_inv_caja.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_inv_cajaActionPerformed(evt);
            }
        });

        b_autorizacion.setBackground(new java.awt.Color(2, 135, 242));
        b_autorizacion.setForeground(new java.awt.Color(255, 255, 255));
        b_autorizacion.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_autorizacion.setText("Autorizacin/Aceptacin");
        b_autorizacion.setToolTipText("Generar reporte");
        b_autorizacion.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_autorizacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_autorizacionActionPerformed(evt);
            }
        });

        b_fecha_promesa.setBackground(new java.awt.Color(2, 135, 242));
        b_fecha_promesa.setForeground(new java.awt.Color(255, 255, 255));
        b_fecha_promesa.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_fecha_promesa.setText("Fecha Promesa de Entrega");
        b_fecha_promesa.setToolTipText("Generar reporte");
        b_fecha_promesa.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_fecha_promesa.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_fecha_promesaActionPerformed(evt);
            }
        });

        b_encuenta.setBackground(new java.awt.Color(2, 135, 242));
        b_encuenta.setForeground(new java.awt.Color(255, 255, 255));
        b_encuenta.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_encuenta.setText("Encuesta");
        b_encuenta.setToolTipText("Generar reporte");
        b_encuenta.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_encuenta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_encuentaActionPerformed(evt);
            }
        });

        b_salida.setBackground(new java.awt.Color(2, 135, 242));
        b_salida.setForeground(new java.awt.Color(255, 255, 255));
        b_salida.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_salida.setText("Salida Vehiculos Reparados");
        b_salida.setToolTipText("Generar reporte");
        b_salida.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_salida.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_salidaActionPerformed(evt);
            }
        });

        b_encuesta_interna.setBackground(new java.awt.Color(2, 135, 242));
        b_encuesta_interna.setForeground(new java.awt.Color(255, 255, 255));
        b_encuesta_interna.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_encuesta_interna.setText("Encuesta de Servicio Interna");
        b_encuesta_interna.setToolTipText("Generar reporte");
        b_encuesta_interna.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_encuesta_interna.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_encuesta_internaActionPerformed(evt);
            }
        });

        b_fecha_promesa1.setBackground(new java.awt.Color(2, 135, 242));
        b_fecha_promesa1.setForeground(new java.awt.Color(255, 255, 255));
        b_fecha_promesa1.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_fecha_promesa1.setText("Fecha Promesa Qualitas");
        b_fecha_promesa1.setToolTipText("Generar reporte");
        b_fecha_promesa1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_fecha_promesa1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_fecha_promesa1ActionPerformed(evt);
            }
        });

        b_encuenta1.setBackground(new java.awt.Color(2, 135, 242));
        b_encuenta1.setForeground(new java.awt.Color(255, 255, 255));
        b_encuenta1.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_encuenta1.setText("Encuesta Qualitas");
        b_encuenta1.setToolTipText("Generar reporte");
        b_encuenta1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_encuenta1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_encuenta1ActionPerformed(evt);
            }
        });

        b_salida1.setBackground(new java.awt.Color(2, 135, 242));
        b_salida1.setForeground(new java.awt.Color(255, 255, 255));
        b_salida1.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_salida1.setText("Fecha Promesa Axa");
        b_salida1.setToolTipText("Generar reporte");
        b_salida1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_salida1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_salida1ActionPerformed(evt);
            }
        });

        b_hoja_unidad1.setBackground(new java.awt.Color(2, 135, 242));
        b_hoja_unidad1.setForeground(new java.awt.Color(255, 255, 255));
        b_hoja_unidad1.setIcon(new ImageIcon("imagenes/pdf_icon.png"));
        b_hoja_unidad1.setText("Hoja de Unidad solo orden");
        b_hoja_unidad1.setToolTipText("Generar reporte");
        b_hoja_unidad1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        b_hoja_unidad1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_hoja_unidad1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup().addGap(34, 34, 34).addGroup(layout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(b_etiqueta_expdiente, javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(b_hoja_unidad, javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(b_inv_tracto, javax.swing.GroupLayout.DEFAULT_SIZE, 172, Short.MAX_VALUE)
                        .addComponent(b_inv_caja, javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(b_autorizacion, javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(b_encuesta_interna, javax.swing.GroupLayout.DEFAULT_SIZE,
                                javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(b_hoja_unidad1, javax.swing.GroupLayout.Alignment.TRAILING,
                                javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                                Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(b_fecha_promesa, javax.swing.GroupLayout.DEFAULT_SIZE, 167,
                                        Short.MAX_VALUE)
                                .addComponent(b_encuenta, javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(b_fecha_promesa1, javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(b_encuenta1, javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(b_salida, javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(b_salida1, javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addContainerGap(409, Short.MAX_VALUE)));
        layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup().addGap(21, 21, 21).addGroup(layout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup().addComponent(b_etiqueta_expdiente)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(b_hoja_unidad).addComponent(b_fecha_promesa1)))
                        .addComponent(b_fecha_promesa))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(layout.createSequentialGroup().addComponent(b_inv_tracto)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(b_inv_caja).addComponent(b_encuenta1))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addGroup(layout
                                                .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                                .addComponent(b_autorizacion).addComponent(b_salida)))
                                .addComponent(b_encuenta))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(b_encuesta_interna).addComponent(b_salida1))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(b_hoja_unidad1).addContainerGap(32, Short.MAX_VALUE)));
    }// </editor-fold>//GEN-END:initComponents

    private void b_hoja_unidadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_hoja_unidadActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            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();
            PdfReader reader = new PdfReader("imagenes/Plantillaunidad.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-unidad.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            AcroFields fdfDoc = stamp.getAcroFields();
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
            Image img;
            //IMAGEN
            cb.beginText();
            try {
                img = Image.getInstance(ord.getCompania().getFoto());
                img.setAbsolutePosition(35, 648);
                img.scaleAbsoluteWidth(265);
                img.scaleAbsoluteHeight(100);
                cb.addImage(img, true);
            } catch (Exception e) {
                e.printStackTrace();
            }

            //ORDEN 
            try {
                fdfDoc.setField("Orden", String.valueOf(ord.getIdOrden()));
            } catch (Exception e) {
                fdfDoc.setField("Orden", " ");
            }
            //ASEGURADO
            try {
                fdfDoc.setField("Asegurado", ord.getClientes().getNombre());
            } catch (Exception e) {
                fdfDoc.setField("Asegurado", " ");
            }
            //PLACAS
            try {
                fdfDoc.setField("Placas", ord.getNoPlacas());
            } catch (Exception e) {
                fdfDoc.setField("Placas", " ");
            }
            //MARCA
            try {
                fdfDoc.setField("Marca", ord.getMarca().getMarcaNombre());
            } catch (Exception e) {
                fdfDoc.setField("Marca", " ");
            }
            //TIPO
            try {
                fdfDoc.setField("Tipo", ord.getTipo().getTipoNombre());
            } catch (Exception e) {
                fdfDoc.setField("Tipo", " ");
            }
            //HOJALATERIA
            try {
                fdfDoc.setField("Hojalateria", ord.getEmpleadoByRHojalateria().getNombre());
            } catch (Exception e) {
                fdfDoc.setField("Hojalateria", " ");
            }
            //MECANICA
            try {
                fdfDoc.setField("Mecanica", ord.getEmpleadoByRMecanica().getNombre());
            } catch (Exception e) {
                fdfDoc.setField("Mecanica", " ");
            }
            //SUSPENCION
            try {
                fdfDoc.setField("Suspencion", ord.getEmpleadoByRSuspension().getNombre());
            } catch (Exception e) {
                fdfDoc.setField("Suspencion", " ");
            }
            //ELECTRICO
            try {
                fdfDoc.setField("Electrico", ord.getEmpleadoByRElectrico().getNombre());
            } catch (Exception e) {
                fdfDoc.setField("Electrico", " ");
            }
            //INGRESO
            try {
                fdfDoc.setField("Ingreso", ord.getFecha().toString());
            } catch (Exception e) {
                fdfDoc.setField("Ingreso", " ");
            }
            //ENTREGA
            try {
                fdfDoc.setField("Entrega", ord.getFechaTaller().toString());
            } catch (Exception e) {
                fdfDoc.setField("Entrega", " ");
            }
            cb.endText();

            stamp.close();
            PDF reporte = new PDF();
            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-unidad.pdf");
        } catch (Exception e) {
            System.out.println(e);
            e.printStackTrace();
            JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
        }
        if (session != null)
            if (session.isOpen())
                session.close();
    }//GEN-LAST:event_b_hoja_unidadActionPerformed

    @SuppressWarnings("empty-statement")
    private void b_inv_tractoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_inv_tractoActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            session.beginTransaction().begin();
            Configuracion con = (Configuracion) session.get(Configuracion.class, 1);

            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, "Inventario de Tractocamin",
                    "reportes/" + ord.getIdOrden() + "/" + valor + "-invTRacto.pdf");

            reporte.agregaObjeto(reporte.crearImagen("imagenes/empresa300115.jpg", 00, -32, 17));

            reporte.contenido.setLineWidth(0.5f);
            reporte.contenido.setColorStroke(new GrayColor(0.2f));
            reporte.contenido.setColorFill(new GrayColor(0.9f));
            reporte.contenido.roundRectangle(30, 710, 550, 60, 5);

            reporte.inicioTexto();
            reporte.contenido.setFontAndSize(bf, 14);
            reporte.contenido.setColorFill(BaseColor.BLACK);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, con.getEmpresa(), 305, 755, 0);
            reporte.contenido.setFontAndSize(bf, 8);
            reporte.contenido.setColorFill(BaseColor.BLACK);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "HOLAJATERIA Y PINTURA EN GENERAL", 305,
                    743, 0);
            reporte.texto("FECHA: " + ord.getFecha().toString(), bf, BaseColor.BLACK, 7, 495, 743);
            reporte.contenido.rectangle(527, 742, 50, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMPRA Y VENTA DE REFACCIONES", 305,
                    733, 0);
            reporte.texto("SEGURO: ", bf, BaseColor.BLACK, 8, 487, 733);
            reporte.contenido.rectangle(527, 732, 50, 0);
            reporte.texto("OT: " + ord.getIdOrden(), bf, BaseColor.BLACK, 8, 511, 723);
            reporte.contenido.rectangle(527, 722, 50, 0);
            String cliente = ord.getClientes().getNombre();
            if (cliente.length() > 58)
                cliente = cliente.substring(0, 58);
            reporte.texto("ASEGURADO: " + cliente, bf, BaseColor.BLACK, 7, 135, 723);
            reporte.contenido.rectangle(190, 722, 288, 0);
            if (ord.getNoSerie() != null)
                reporte.texto("SERIE: " + ord.getNoSerie(), bf, BaseColor.BLACK, 7, 38, 713);
            else
                reporte.texto("SERIE: ", bf, BaseColor.BLACK, 7, 38, 713);

            reporte.contenido.rectangle(65, 712, 72, 0);
            reporte.texto("MARCA: " + ord.getMarca().getMarcaNombre(), bf, BaseColor.BLACK, 7, 145, 713);
            reporte.contenido.rectangle(177, 712, 145, 0);
            reporte.texto("TIPO: " + ord.getTipo().getTipoNombre(), bf, BaseColor.BLACK, 7, 330, 713);
            reporte.contenido.rectangle(352, 712, 125, 0);
            if (ord.getModelo() != null)
                reporte.texto("MODELO: " + ord.getModelo(), bf, BaseColor.BLACK, 7, 488, 713);
            else
                reporte.texto("MODELO: ", bf, BaseColor.BLACK, 7, 488, 713);

            /*reporte.contenido.rectangle(527, 712, 50, 0);
                
            reporte.contenido.roundRectangle(30, 70, 550, 150, 5);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMBUSTIBLE", 530, 145, 270);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "LLANTAS", 200, 200, 0);
                
            reporte.contenido.rectangle(70, 30, 215, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "NOMBRE Y FIRMA DEL CLIENTE", 185, 20, 0);
            reporte.contenido.rectangle(320, 30, 215, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "OPERADOR DE GRUA", 430, 20, 0);*/

            reporte.finTexto();

            //agregamos renglones vacios para dejar un espacio
            reporte.agregaObjeto(new Paragraph(" "));
            reporte.agregaObjeto(new Paragraph(" "));
            reporte.agregaObjeto(new Paragraph(" "));

            float tam[] = new float[] { 350, 50, 50, 200, 350, 50, 50, 200 };
            Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.BOLD);
            PdfPTable tabla = reporte.crearTabla(8, tam, 100, Element.ALIGN_LEFT);
            BaseColor cabecera = BaseColor.GRAY;
            BaseColor contenido = BaseColor.WHITE;
            int centro = Element.ALIGN_CENTER;
            int izquierda = Element.ALIGN_LEFT;
            int derecha = Element.ALIGN_RIGHT;
            tabla.addCell(reporte.celda("INVENTARIO DE UNIDADES", font, BaseColor.LIGHT_GRAY, centro, 8, 1,
                    Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("DESCRIPCIN", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("SI", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("NO", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("OBSERVACIONES", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("DESCRIPCIN", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("SI", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("NO", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("OBSERVACIONES", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));

            //agregamos los renglones
            String descripcion[][] = { { "I SECCIN FRENTE", "EXTINGUIDOR" }, { "DEFENSA O ALMA", "LUZ INTERIOR" },
                    { "CUBIERTAS DEFENSA", "PALANCA VELOCIDADES" }, { "COFRE", "SELECTOR VELOCIDADES" },
                    { "BISAGRA COFRE", "VESTIDURA" }, { "SALPICADERAS", "III DORMITORIO EXT." },
                    { "BISELES", "TOLDO" }, { "FAROS", "DEFLECTOR TOLDO" }, { "DIRECCIONALES", "CONCHA LATERALES" },
                    { "MOLDURAS", "LIENZO COSTADO" }, { "PARRILLA", "PUERTA COST. SUP." },
                    { "EMBLEMAS", "PUERTA COST. INF." }, { "EXT. SALPICADERA", "MANIJA CHAPA" },
                    { "II CABINA EXT.", "PASAMANOS" }, { "ZEPPELIN", "DEFLECTOR LATERAL" },
                    { "CORNETA AIRE ELECT.", "LIENZO TRASERO" }, { "PARABRISAS Y HULE", "INTERIOR" },
                    { "BRAZOS Y PLUMAS IMP.", "CORTINA" }, { "DEFLECTOR TOLDO", "COLCHN" },
                    { "ESPEJO LATERAL", "CALEFACCIN" }, { "PUERTAS", "LUZ INTERIOR" },
                    { "CRISTAL PUERTA", "VESTIDURA" }, { "MANIJA", "GATO Y HERRAMIENTA" },
                    { "PASAMANOS", "LLAVE DE RUEDAS" }, { "DEFLECTOR LATERAL", "SEALES EMERGENCIA" },
                    { "CRISTAL MEDALLN", "IV ACCCESORIOS Y MOTOR" }, { "INTERIOR", "CAJA BATERIA Y TAPA" },
                    { "TOLDO", "ACUMULADOR" }, { "CONSOLA TOLDO", "TANQUES COMBUSTIBLE" },
                    { "CONSOLA TABLERO", "ESTRIBOS TANQUES" }, { "APARATOS TABLERO", "FALDONES TANQUES" },
                    { "RELOJ", "TANQUES AIRE" }, { "CONTROLES TABLERO", "PUNTA ESCAPE" },
                    { "GUANTERA", "MALLA SILENCIADOR" }, { "CENICERO", "SILENCIADOR" },
                    { "ENCENDEDOR", "QUINTA RUEDA" }, { "C.B.", "EJE DEL." }, { "RADIO ESTREO", "MUELLES DEL." },
                    { "BOCINAS", "BRAZOS DE DIRECCIN" }, { "VOLANTE", "CAJA DE DIRECCIN" },
                    { "PALANCA DIRECCIONALES", "CONDENSADOR" }, { "ASIENTOS", "ENFRIADOR DE AIRE" },
                    { "CINTURONES SEGURIDAD", "POST ENFRIADOR" }, { "MANIJAS", "RADIADOR" },
                    { "TOLVA RADIADOR", "ALTERNADOR" }, { "MANGUERAS", "BANDAS DE MOTOR" },
                    { "VENTILADOR/FAN CLUTCH", "BAYONETA ACEITE DE MOTOR" }, { "DAMPER", "TURBO" },
                    { "TAPA DISTRIBUCIN", "DEPSITO AGUA" }, { "POLEA DE MARCAS", "FRENO MOTOR" },
                    { "BOMBA INYECCIN", "GPS" }, { "TARJETA IAVE", "CARDAN" }, { "COMPUTADORA", "YUGO" },
                    { "COMPRESOR A/C", "CRUCETA" }, { "COMPRESOR AIRE", "INTERDIFERENCIALES" },
                    { "BOMBA DIRECCIN HID.", "DIFERENCIAL(1)(2)" },
                    { "DEPSITO DIRECCIN HID.", "FLECHA DIFERENCIALES" },
                    { "BAYONETA ACEITE HID.", "SUSPENSIN TRASERA" }, { "PURIFICADOR", "C?MARAS DE AIRE" },
                    { "MONO BLOCK", "TOMA DE FUERZA VOLTEO" }, { "CARTER", "TANQUE ACEITE HID. VOLTEO" },
                    { "CONCHA MOTOR", "SOPORTE SILENCIADOR" }, { "MARCHA", "ENGOMADOS" },
                    { "CLUTCH", "PLACA DELANTERA" }, { "CAMPANA TRANSMISIN", "PLACA TRASERA" },
                    { "TRANSMISIN", "KILOMETRAJE" }, { "BOMBA DE AGUA", "LODERAS INTERNAS" },
                    { "BOMBA DE ACEITE", "LODERAS TRASERAS" },

            };
            for (int i = 0; i < 68; i++) {
                tabla.addCell(
                        reporte.celda(descripcion[i][0], font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(
                        reporte.celda(descripcion[i][1], font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            }
            tabla.addCell(reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.NO_BORDER));
            tabla.addCell(reporte.celda(" ", font, contenido, centro, 7, 1, Rectangle.BOTTOM));
            tabla.addCell(reporte.celda("herramientas:", font, contenido, derecha, 0, 1, Rectangle.NO_BORDER));
            tabla.addCell(reporte.celda(" ", font, contenido, centro, 7, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.NO_BORDER));
            tabla.addCell(reporte.celda(" ", font, contenido, centro, 7, 1, Rectangle.RECTANGLE));

            reporte.agregaObjeto(tabla);
            reporte.inicioTexto();
            reporte.contenido.setFontAndSize(bf, 14);
            reporte.contenido.setColorFill(BaseColor.BLACK);
            //reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, con.getEmpresa(), 305, 755, 0);
            reporte.contenido.setFontAndSize(bf, 8);
            reporte.contenido.setColorFill(BaseColor.BLACK);
            reporte.contenido.rectangle(527, 712, 50, 0);

            reporte.contenido.roundRectangle(30, 440, 550, 150, 5);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMBUSTIBLE", 530, 520, 270);//445
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "LLANTAS", 200, 575, 0);//400

            reporte.contenido.rectangle(70, 30, 215, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "NOMBRE Y FIRMA DEL CLIENTE", 185, 20,
                    0);
            reporte.contenido.rectangle(320, 30, 215, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "OPERADOR DE GRUA", 430, 20, 0);
            reporte.finTexto();
            //*****agregamos los tanques de combustible
            reporte.agregaObjeto(reporte.crearImagen("imagenes/nivel.jpg", 350, -145, 25));
            reporte.agregaObjeto(reporte.crearImagen("imagenes/llantas.jpg", -125, -145, 65));

            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-invTRacto.pdf");

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

    private void b_inv_cajaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_inv_cajaActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            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, "Inventario de Caja",
                    "reportes/" + ord.getIdOrden() + "/" + valor + "-invCaja.pdf");

            reporte.agregaObjeto(reporte.crearImagen("imagenes/empresa300115.jpg", 00, -32, 17));

            reporte.contenido.setLineWidth(0.5f);
            reporte.contenido.setColorStroke(new GrayColor(0.2f));
            reporte.contenido.setColorFill(new GrayColor(0.9f));
            reporte.contenido.roundRectangle(30, 710, 550, 60, 5);

            session.beginTransaction().begin();
            Configuracion con = (Configuracion) session.get(Configuracion.class, 1);

            reporte.inicioTexto();
            reporte.contenido.setFontAndSize(bf, 14);
            reporte.contenido.setColorFill(BaseColor.BLACK);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, con.getEmpresa(), 305, 755, 0);
            reporte.contenido.setFontAndSize(bf, 8);
            reporte.contenido.setColorFill(BaseColor.BLACK);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "HOLAJATERIA Y PINTURA EN GENERAL", 305,
                    743, 0);
            reporte.texto("FECHA: " + ord.getFecha().toString(), bf, BaseColor.BLACK, 7, 495, 743);
            reporte.contenido.rectangle(527, 742, 50, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMPRA Y VENTA DE REFACCIONES", 305,
                    733, 0);
            reporte.texto("SEGURO: ", bf, BaseColor.BLACK, 8, 487, 733);
            reporte.contenido.rectangle(527, 732, 50, 0);
            reporte.texto("OT: " + ord.getIdOrden(), bf, BaseColor.BLACK, 8, 511, 723);
            reporte.contenido.rectangle(527, 722, 50, 0);
            String cliente = ord.getClientes().getNombre();
            if (cliente.length() > 58)
                cliente = cliente.substring(0, 58);
            reporte.texto("ASEGURADO: " + cliente, bf, BaseColor.BLACK, 7, 135, 723);
            reporte.contenido.rectangle(190, 722, 288, 0);
            if (ord.getNoSerie() != null)
                reporte.texto("SERIE: " + ord.getNoSerie(), bf, BaseColor.BLACK, 7, 38, 713);
            else
                reporte.texto("SERIE: ", bf, BaseColor.BLACK, 7, 38, 713);

            reporte.contenido.rectangle(65, 712, 72, 0);
            reporte.texto("MARCA: " + ord.getMarca().getMarcaNombre(), bf, BaseColor.BLACK, 7, 145, 713);
            reporte.contenido.rectangle(177, 712, 145, 0);
            reporte.texto("TIPO: " + ord.getTipo().getTipoNombre(), bf, BaseColor.BLACK, 7, 330, 713);
            reporte.contenido.rectangle(352, 712, 125, 0);
            if (ord.getModelo() != null)
                reporte.texto("MODELO: " + ord.getModelo(), bf, BaseColor.BLACK, 7, 488, 713);
            else
                reporte.texto("MODELO: ", bf, BaseColor.BLACK, 7, 488, 713);

            reporte.contenido.rectangle(527, 712, 50, 0);

            reporte.contenido.roundRectangle(30, 70, 550, 150, 5);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "COMBUSTIBLE", 530, 145, 270);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "LLANTAS", 200, 200, 0);

            reporte.contenido.rectangle(70, 30, 215, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "NOMBRE Y FIRMA DEL CLIENTE", 185, 20,
                    0);
            reporte.contenido.rectangle(320, 30, 215, 0);
            reporte.contenido.showTextAligned(PdfContentByte.ALIGN_CENTER, "OPERADOR DE GRUA", 430, 20, 0);

            reporte.finTexto();

            //agregamos renglones vacios para dejar un espacio
            reporte.agregaObjeto(new Paragraph(" "));
            reporte.agregaObjeto(new Paragraph(" "));
            reporte.agregaObjeto(new Paragraph(" "));

            float tam[] = new float[] { 350, 50, 50, 200, 350, 50, 50, 200 };
            Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.BOLD);
            PdfPTable tabla = reporte.crearTabla(8, tam, 100, Element.ALIGN_LEFT);
            BaseColor cabecera = BaseColor.GRAY;
            BaseColor contenido = BaseColor.WHITE;
            int centro = Element.ALIGN_CENTER;
            int izquierda = Element.ALIGN_LEFT;
            int derecha = Element.ALIGN_RIGHT;
            tabla.addCell(reporte.celda("INVENTARIO DE UNIDADES", font, BaseColor.LIGHT_GRAY, centro, 8, 1,
                    Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("DESCRIPCIN", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("SI", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("NO", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("OBSERVACIONES", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("DESCRIPCIN", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("SI", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("NO", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda("OBSERVACIONES", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE));

            //agregamos los renglones
            String descripcion[][] = { { "CAJAS Y REMOLQUES", "" }, { "EQ.REFRIGERACIN", "" },
                    { "CAJA BATER?AS", "" }, { "ACUMULADOR", "" }, { "MANITAS", "" }, { "VENTILAS", "" },
                    { "PLAFONES", "" }, { "PUERTAS", "" }, { "REDILLAS", "" }, { "CABALLETES", "" }, { "LONA", "" },
                    { "DOMOS", "" }, { "FALDONES", "" }, { "PISTN (VOLTEO)", "" }, { "PATINES Y SOPORTES", "" },
                    { "PORTA LLANTAS", "" }, { "TANQUE DE GAS O DIESEL", "" }, { "EJES", "" }, { "MUELLES", "" },
                    { "C?MARAS DE AIRE", "" }, { "V?LVULAS DE AIRE", "" }, { "V?LVULAS DE AIRE", "" },
                    { "GANCHO P/DOLLY", "" }, { "GPS", "" }, { "LLAVES SWITCH", "" }, { " ", "" }, { " ", "" },
                    { " ", "" }, { " ", "" }, { " ", "" }, { " ", "" }, { " ", "" }, { " ", "" }, { " ", "" },
                    { " ", "" }, { " ", "" }, { " ", "" } };
            for (int i = 0; i < 37; i++) {
                tabla.addCell(
                        reporte.celda(descripcion[i][0], font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(
                        reporte.celda(descripcion[i][1], font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
                tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE));
            }
            tabla.addCell(reporte.celda(" ", font, contenido, centro, 0, 1, Rectangle.NO_BORDER));
            tabla.addCell(reporte.celda(" ", font, contenido, centro, 7, 1, Rectangle.BOTTOM));
            tabla.addCell(reporte.celda("herramientas:", font, contenido, derecha, 0, 1, Rectangle.NO_BORDER));
            tabla.addCell(reporte.celda(" ", font, contenido, centro, 7, 1, Rectangle.RECTANGLE));
            tabla.addCell(reporte.celda(" ", font, contenido, derecha, 0, 1, Rectangle.NO_BORDER));
            tabla.addCell(reporte.celda(" ", font, contenido, centro, 7, 1, Rectangle.RECTANGLE));

            reporte.agregaObjeto(tabla);

            //*****agregamos los tanques de combustible
            reporte.agregaObjeto(reporte.crearImagen("imagenes/GAS.jpg", 350, -145, 50));
            reporte.agregaObjeto(reporte.crearImagen("imagenes/llantas-caja.jpg", -100, -145, 60));

            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-invCaja.pdf");

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

    private void b_autorizacionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_autorizacionActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);
        Session session = HibernateUtil.getSessionFactory().openSession();
        try {

            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));

            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();
            PdfReader reader = new PdfReader("imagenes/PlantillaAceptacion.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-ACEPTACION.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            AcroFields fdfDoc = stamp.getAcroFields();
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
            Image img;
            cb.beginText();
            //IMAGEN CABECERA
            try {
                img = Image.getInstance(ord.getCompania().getFoto());
                img.setAbsolutePosition(32, 712);
                img.scaleAbsoluteWidth(130);
                img.scaleAbsoluteHeight(50);
                cb.addImage(img, true);
            } catch (Exception e) {
                e.printStackTrace();
            }

            //ASEGURADO
            try {
                fdfDoc.setField("NOMBRE", ord.getClientes().getNombre());
            } catch (Exception e) {
                fdfDoc.setField("NOMBRE", "");
            }
            //CELULAR
            try {
                fdfDoc.setField("CELULAR", ord.getClientes().getTelefono());
            } catch (Exception e) {
                fdfDoc.setField("CELULAR", "");
            }
            //IMAGEN
            Foto[] fotos = (Foto[]) ord.getFotos().toArray(new Foto[0]);
            for (int k = 0; k < fotos.length - 1; k++) {
                for (int f = 0; f < (fotos.length - 1) - k; f++) {
                    if (fotos[f].getFecha().after(fotos[f + 1].getFecha()) == true) {
                        Foto aux;
                        aux = fotos[f];
                        fotos[f] = fotos[f + 1];
                        fotos[f + 1] = aux;
                    }
                }
            }
            if (fotos.length > 0) {
                Image img1;
                try {
                    img1 = Image
                            .getInstance("ordenes/" + ord.getIdOrden() + "/miniatura/" + fotos[0].getDescripcion());
                    img1.setAbsolutePosition(50, 473);
                    img1.scaleToFit(110, 100);
                    cb.addImage(img1, true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            //MARCA
            try {
                fdfDoc.setField("MARCA", ord.getMarca().getMarcaNombre());
            } catch (Exception e) {
                fdfDoc.setField("MARCA", "");
            }
            //MODELO
            try {
                fdfDoc.setField("MODELO", ord.getModelo().toString());
            } catch (Exception e) {
                fdfDoc.setField("MODELO", "");
            }
            //TIPO
            try {
                fdfDoc.setField("TIPO", ord.getTipo().getTipoNombre());
            } catch (Exception e) {
                fdfDoc.setField("TIPO", "");
            }
            //PLACAS
            try {
                fdfDoc.setField("PLACAS", ord.getNoPlacas());
            } catch (Exception e) {
                fdfDoc.setField("PLACAS", "");
            }
            //SINIESTRO
            try {
                fdfDoc.setField("SINIESTRO", ord.getSiniestro());
            } catch (Exception e) {
                fdfDoc.setField("SINIESTRO", "");
            }
            //REPORTE
            try {
                fdfDoc.setField("REPORTE", ord.getNoReporte());
            } catch (Exception e) {
                fdfDoc.setField("REPORTE", "");
            }
            //NO ECONOMICO
            try {
                fdfDoc.setField("NO ECONOMICO", ord.getNoEconomico());
            } catch (Exception e) {
                fdfDoc.setField("NO ECONOMICO", "");
            }
            //NO MOTOR
            try {
                fdfDoc.setField("NO MOTOR", ord.getNoMotor());
            } catch (Exception e) {
                fdfDoc.setField("NO MOTOR", "");
            }
            cb.endText();
            stamp.close();
            PDF reporte = new PDF();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-ACEPTACION.pdf");
            reporte.cerrar();
        } catch (Exception e) {
            System.out.println(e);
            JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
        } finally {
            if (session != null)
                if (session.isOpen())
                    session.close();
        }
    }//GEN-LAST:event_b_autorizacionActionPerformed

    private void b_fecha_promesaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_fecha_promesaActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
            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();
            PdfReader reader = new PdfReader("imagenes/Plantillapromesa.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-promesa.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            AcroFields fdfDoc = stamp.getAcroFields();
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

            cb.beginText();
            //FECHA DE INGRESO
            fdfDoc.setField("Fecha de ingreso", ord.getFecha().toString());
            //SINIESTRO
            if (ord.getSiniestro() != null)
                fdfDoc.setField("Siniestro", ord.getSiniestro());
            else
                fdfDoc.setField("Siniestro", "");
            //ASEGURADORA
            if (ord.getCompania().getNombre() != null)
                fdfDoc.setField("Aseguradora", ord.getCompania().getNombre());
            else
                fdfDoc.setField("Aseguradora", "");
            //ASEGURADO TERCERO
            if (ord.getClientes().getNombre() != null)
                fdfDoc.setField("Nombre", ord.getClientes().getNombre());
            else
                fdfDoc.setField("Nombre", "");
            //REPARO
            if (con.getEmpresa() != null)
                fdfDoc.setField("Reparo", con.getEmpresa());
            else
                fdfDoc.setField("Reparo", "");
            //MARCA
            if (ord.getMarca().getMarcaNombre() != null)
                fdfDoc.setField("Marca", ord.getMarca().getMarcaNombre());
            else
                fdfDoc.setField("Marca", "");
            //TIPO
            if (ord.getTipo().getTipoNombre() != null)
                fdfDoc.setField("Tipo", ord.getTipo().getTipoNombre());
            else
                fdfDoc.setField("Tipo", "");
            //MODELO
            if (ord.getModelo() != null)
                fdfDoc.setField("Modelo", ord.getModelo().toString());
            else
                fdfDoc.setField("Modelo", "");
            //PLACAS
            if (ord.getNoPlacas() != null)
                fdfDoc.setField("Placas", ord.getNoPlacas());
            else
                fdfDoc.setField("Placas", "");
            //fehca
            if (ord.getModelo() != null)
                fdfDoc.setField("Fecha1", ord.getModelo().toString());
            else
                fdfDoc.setField("Fecha1", "");
            //FECHA PROMESA
            if (ord.getFechaCliente() != null)
                fdfDoc.setField("FECHA PROMESA", ord.getFechaCliente().toString());
            else
                fdfDoc.setField("FECHA PROMESA", "");
            cb.endText();
            stamp.close();
            PDF reporte = new PDF();
            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-promesa.pdf");

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

    private void b_encuentaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_encuentaActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            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();
            PdfReader reader = new PdfReader("imagenes/PlantillaEncuentas.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-encuesta.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            AcroFields fdfDoc = stamp.getAcroFields();
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

            cb.beginText();
            //ORDEN
            fdfDoc.setField("TALLER", String.valueOf(ord.getIdOrden()));
            //SINIESTRO
            try {
                fdfDoc.setField("SINIESTRO", ord.getSiniestro());
            } catch (Exception e) {
                fdfDoc.setField("SINIESTRO", "");
            }
            //VEHICULO
            String auto = "";
            if (ord.getTipo().getTipoNombre() != null)
                auto = ord.getTipo().getTipoNombre();

            if (ord.getMarca().getMarcaNombre() != null)
                auto += "/" + ord.getMarca().getMarcaNombre();

            fdfDoc.setField("VEHICULO", auto);

            if (ord.getClientes().getNombre() != null)
                fdfDoc.setField("NOMBRE", ord.getClientes().getNombre());
            else
                fdfDoc.setField("NOMBRE", "");

            cb.endText();
            stamp.close();
            PDF reporte = new PDF();
            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-encuesta.pdf");

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

    private void b_salidaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_salidaActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            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();
            PdfReader reader = new PdfReader("imagenes/PlantillaSalidaVehiculos.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-salida.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            AcroFields fdfDoc = stamp.getAcroFields();
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

            cb.beginText();
            //MARCA
            if (ord.getMarca().getMarcaNombre() != null)
                fdfDoc.setField("MARCA", ord.getMarca().getMarcaNombre());
            else
                fdfDoc.setField("MARCA", "");
            //PLACAS
            if (ord.getNoPlacas() != null)
                fdfDoc.setField("PLACAS", ord.getNoPlacas());
            else
                fdfDoc.setField("PLACAS", "");
            //TIPO
            if (ord.getTipo().getTipoNombre() != null)
                fdfDoc.setField("TIPO", ord.getTipo().getTipoNombre());
            else
                fdfDoc.setField("TIPO", "");
            //NO ECONOMICO
            if (ord.getNoEconomico() != null)
                fdfDoc.setField("ECONOMICO", ord.getNoEconomico());
            else
                fdfDoc.setField("ECONOMICO", "");
            //SINIESTRO
            if (ord.getSiniestro() != null)
                fdfDoc.setField("SINIESTRO", ord.getSiniestro());
            else
                fdfDoc.setField("SINIESTRO", "");
            //COMPAIA 
            if (ord.getCompania().getNombre() != null)
                fdfDoc.setField("COMPANIA", ord.getCompania().getNombre());
            else
                fdfDoc.setField("COMPANIA", "");

            //ASEGURADO Y TERCERO
            if (ord.getTipoCliente() != null) {
                if (ord.getTipoCliente().compareTo("1") == 0) {
                    String cliente = ord.getClientes().getNombre();
                    if (cliente.length() > 35)
                        cliente = cliente.substring(0, 35);
                    fdfDoc.setField("ASEGURADO", cliente);
                    fdfDoc.setField("TERCERO", "");
                } else {
                    String cliente = ord.getClientes().getNombre();
                    if (cliente.length() > 45)
                        cliente = cliente.substring(0, 45);
                    fdfDoc.setField("ASEGURADO", "");
                    fdfDoc.setField("TERCERO", cliente);
                }
            } else {
                fdfDoc.setField("ASEGURADO", "");
                fdfDoc.setField("TERCERO", "");
            }

            cb.endText();
            stamp.close();
            PDF reporte = new PDF();
            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-salida.pdf");

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

    private void b_encuesta_internaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_encuesta_internaActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            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();
            PdfReader reader = new PdfReader("imagenes/PlantillaEncuenta.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-encuesta1.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            AcroFields fdfDoc = stamp.getAcroFields();
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

            cb.beginText();
            //ORDEN
            fdfDoc.setField("TALLER", String.valueOf(ord.getIdOrden()));
            //SINIESTRO
            try {
                fdfDoc.setField("SINIESTRO", ord.getSiniestro());
            } catch (Exception e) {
                fdfDoc.setField("SINIESTRO", "");
            }
            //VEHICULO
            String auto = "";
            if (ord.getTipo().getTipoNombre() != null)
                auto = ord.getTipo().getTipoNombre();

            if (ord.getMarca().getMarcaNombre() != null)
                auto += "/" + ord.getMarca().getMarcaNombre();

            fdfDoc.setField("VEHICULO", auto);

            cb.endText();
            stamp.close();
            PDF reporte = new PDF();
            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-encuesta1.pdf");

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

    private void b_etiqueta_expdienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_etiqueta_expdienteActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            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, "Etiqueta de Expediente",
                    "reportes/" + ord.getIdOrden() + "/" + valor + "-Etiqueta.pdf");
            int op = 39;
            if (ord.getCompania().getFoto() != null) {
                reporte.agregaObjeto(reporte.crearImagen(ord.getCompania().getFoto(), 401, -86, 70, 50, 270));
                op = -10;
            }

            reporte.contenido.setLineWidth(0.5f);
            reporte.contenido.setColorStroke(new GrayColor(0.2f));
            reporte.contenido.setColorFill(new GrayColor(0.9f));
            //reporte.contenido.roundRectangle(48, 722, 401, 54, 5);
            reporte.contenido.roundRectangle(435, 440, 54, 301, 5);

            reporte.inicioTexto();
            try {
                String nom = ord.getClientes().getNombre();
                if (nom.length() > 29)
                    nom = nom.substring(0, 29);
                switch (ord.getTipoCliente()) {
                case "1":
                    reporte.texto("ASEG: " + nom, bf, BaseColor.BLACK, 7, 478, 665, 270);
                    break;
                case "2":
                    reporte.texto("TERC:" + nom, bf, BaseColor.BLACK, 7, 478, 665, 270);
                    break;
                case "3":
                    reporte.texto("TERC.ASEG:" + nom, bf, BaseColor.BLACK, 7, 478, 665, 270);
                    break;

                case "4":
                    reporte.texto("PART: " + nom, bf, BaseColor.BLACK, 7, 478, 665, 270);
                    break;
                }
            } catch (Exception e) {
            }

            reporte.texto("EXP: " + orden, bf, BaseColor.BLACK, 7, 478, 490, 270);
            reporte.texto("MARCA: " + ord.getMarca().getMarcaNombre(), bf, BaseColor.BLACK, 7, 468, 665, 270);

            reporte.texto("MODELO: " + ord.getModelo(), bf, BaseColor.BLACK, 7, 458, 665, 270);
            reporte.texto("TIPO: " + ord.getTipo().getTipoNombre(), bf, BaseColor.BLACK, 7, 458, 590, 270);

            if (ord.getNoPlacas() != null)
                reporte.texto("PLACAS: " + ord.getNoPlacas(), bf, BaseColor.BLACK, 7, 448, 665, 270);
            else
                reporte.texto("PLACAS: ", bf, BaseColor.BLACK, 8, 448, 665, 270);

            reporte.texto("FECHA: " + ord.getFecha().toString(), bf, BaseColor.BLACK, 7, 448, 590, 270);

            if (ord.getPoliza() != null)
                reporte.texto("NP: " + ord.getPoliza(), bf, BaseColor.BLACK, 7, 448, 520, 270);
            else
                reporte.texto("NP: ", bf, BaseColor.BLACK, 7, 448, 520, 270);

            if (ord.getSiniestro() != null)
                reporte.texto("SIN: " + ord.getSiniestro(), bf, BaseColor.BLACK, 7, 468, 518, 270);
            else
                reporte.texto("SIN: ", bf, BaseColor.BLACK, 7, 468, 518, 270);

            reporte.finTexto();

            Foto[] fotos = (Foto[]) ord.getFotos().toArray(new Foto[0]);
            for (int k = 0; k < fotos.length - 1; k++) {
                for (int f = 0; f < (fotos.length - 1) - k; f++) {
                    if (fotos[f].getFecha().after(fotos[f + 1].getFecha()) == true) {
                        Foto aux;
                        aux = fotos[f];
                        fotos[f] = fotos[f + 1];
                        fotos[f + 1] = aux;
                    }
                }
            }
            if (fotos.length > 0) { // 395 360, 300 90
                reporte.agregaObjeto(reporte.crearImagen(
                        "ordenes/" + ord.getIdOrden() + "/miniatura/" + fotos[0].getDescripcion(), op, -315, 360,
                        300, 0));
            } else {
            }

            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-Etiqueta.pdf");
        } catch (Exception e) {
            System.out.println(e);
            JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
        }
        if (session != null)
            if (session.isOpen())
                session.close();
    }//GEN-LAST:event_b_etiqueta_expdienteActionPerformed

    private void b_fecha_promesa1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_fecha_promesa1ActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
            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();
            PdfReader reader = new PdfReader("imagenes/PlantillaPromesaQualitas.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-promesaQualitas.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            AcroFields fdfDoc = stamp.getAcroFields();
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

            cb.beginText();
            //IMAGEN CABECERA
            Image img;
            try {
                img = Image.getInstance(ord.getCompania().getFoto());
                img.setAbsolutePosition(633, 480);
                img.scaleAbsoluteWidth(130);
                img.scaleAbsoluteHeight(70);
                cb.addImage(img, true);
            } catch (Exception e) {
                e.printStackTrace();
            }
            //SINIESTRO
            if (ord.getSiniestro() != null)
                fdfDoc.setField("siniestro", ord.getSiniestro());
            else
                fdfDoc.setField("siniestro", "");
            //REPORTE
            if (ord.getNoReporte() != null)
                fdfDoc.setField("reporte", ord.getNoReporte());
            else
                fdfDoc.setField("reporte", "");
            //INGRESO
            if (ord.getFecha() != null)
                fdfDoc.setField("ingreso", ord.getFecha().toString());
            else
                fdfDoc.setField("ingreso", "");
            //POLIZA
            if (ord.getPoliza() != null)
                fdfDoc.setField("poliza", ord.getPoliza());
            else
                fdfDoc.setField("poliza", "");
            //PLACAS
            if (ord.getNoPlacas() != null)
                fdfDoc.setField("placas", ord.getNoPlacas());
            else
                fdfDoc.setField("placas", "");
            //INCISO
            if (ord.getInciso() != null)
                fdfDoc.setField("inciso", ord.getInciso());
            else
                fdfDoc.setField("inciso", "");
            //MODELO
            if (ord.getModelo() != null)
                fdfDoc.setField("modelo", ord.getModelo().toString());
            else
                fdfDoc.setField("modelo", "");
            //VALUACION
            if (ord.getRLevantamientoInicio() != null)
                fdfDoc.setField("modelo", ord.getRLevantamientoInicio().toString());
            else
                fdfDoc.setField("modelo", "");
            //SERIE
            if (ord.getNoSerie() != null)
                fdfDoc.setField("serie", ord.getNoSerie());
            else
                fdfDoc.setField("serie", "");
            //PROMESA
            if (ord.getFechaCliente() != null)
                fdfDoc.setField("promesa", ord.getFechaCliente().toString());
            else
                fdfDoc.setField("promesa", "");
            //UNIDAD
            fdfDoc.setField("unidad", ord.getTipo().getTipoNombre() + " " + ord.getMarca().getMarcaNombre());
            //ASEGURADORA
            if (ord.getTipoCliente().compareTo("1") == 0) {
                fdfDoc.setField("aseguradora", ord.getClientes().getNombre());
                fdfDoc.setField("tercero", "");
            } else {
                fdfDoc.setField("aseguradora", "");
                fdfDoc.setField("tercero", ord.getClientes().getNombre());
            }

            try {
                img = Image.getInstance(ord.getCompania().getFoto());
                img.setAbsolutePosition(25, 38);
                img.scaleAbsoluteWidth(77);
                img.scaleAbsoluteHeight(38);
                cb.addImage(img, true);
            } catch (Exception e) {
                e.printStackTrace();
            }

            fdfDoc.setField("taller", con.getEmpresa());
            cb.endText();
            stamp.close();
            PDF reporte = new PDF();
            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-promesaQualitas.pdf");

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

    private void b_encuenta1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_encuenta1ActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
            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();
            PdfReader reader = new PdfReader("imagenes/PlantillaEncueStaQualitas.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-encuesta.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            AcroFields fdfDoc = stamp.getAcroFields();
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

            cb.beginText();
            //EMPRESA
            if (con.getEmpresa() != null)
                fdfDoc.setField("TALLER", con.getEmpresa());
            else
                fdfDoc.setField("TALLER", "");
            //ASEGURADO
            if (ord.getClientes().getNombre() != null)
                fdfDoc.setField("ASEGURADO", ord.getClientes().getNombre());
            else
                fdfDoc.setField("ASEGURADO", "");
            //REPORTE
            if (ord.getNoReporte() != null)
                fdfDoc.setField("REPORTE", ord.getNoReporte());
            else
                fdfDoc.setField("REPORTE", "");
            //VEHICULO
            String auto = "";
            if (ord.getTipo().getTipoNombre() != null)
                auto = ord.getTipo().getTipoNombre();

            if (ord.getMarca().getMarcaNombre() != null)
                auto += "/" + ord.getMarca().getMarcaNombre();
            fdfDoc.setField("VEHICULO", auto);
            //PLACAS
            if (ord.getNoPlacas() != null)
                fdfDoc.setField("PLACAS", ord.getNoPlacas());
            else
                fdfDoc.setField("PLACAS", "");
            //TELEFONO
            if (ord.getClientes().getTelefono() != null)
                fdfDoc.setField("TELEFONO", ord.getClientes().getTelefono());
            else
                fdfDoc.setField("TELEFONO", "");
            //EMAIL
            if (ord.getClientes().getEmail() != null)
                fdfDoc.setField("EMAIL", ord.getClientes().getEmail());
            else
                fdfDoc.setField("EMAIL", "");

            cb.endText();
            stamp.close();
            PDF reporte = new PDF();
            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-encuesta.pdf");

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

    private void b_salida1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_salida1ActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            Configuracion con = (Configuracion) session.get(Configuracion.class, 1);
            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();
            PdfReader reader = new PdfReader("imagenes/PlantillaPromesaAxa.pdf");
            PdfStamper stamp = new PdfStamper(reader,
                    new FileOutputStream("reportes/" + ord.getIdOrden() + "/" + valor + "-promesaAXA.pdf"));
            PdfContentByte cb = stamp.getUnderContent(1);
            AcroFields fdfDoc = stamp.getAcroFields();
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);

            cb.beginText();
            //IMAGEN
            try {
                Image img = Image.getInstance(ord.getCompania().getFoto());
                img.setAbsolutePosition(25, 695);
                img.scaleAbsoluteWidth(75);
                img.scaleAbsoluteHeight(45);
                cb.addImage(img, true);
            } catch (Exception e) {
                e.printStackTrace();
            }
            //SINIESTRO
            if (ord.getSiniestro() != null)
                fdfDoc.setField("Siniestro", ord.getSiniestro());
            else
                fdfDoc.setField("Siniestro", "");
            //FECHA SINIESTRO
            if (ord.getFechaSiniestro() != null)
                fdfDoc.setField("FechaSiniestro", ord.getFechaSiniestro().toString());
            else
                fdfDoc.setField("FechaSiniestro", "");
            //NOMBRE DEL TALLER
            if (con.getEmpresa() != null)
                fdfDoc.setField("NombreTaller", con.getEmpresa());
            else
                fdfDoc.setField("NombreTaller", "");
            //DIRECCION DEL TALLER 
            String direccion = "";
            if (con.getDireccion() != null)
                direccion += con.getDireccion() + " ";
            if (con.getNo() != null)
                direccion += con.getNo() + " ";
            if (con.getColonia() != null)
                direccion += con.getColonia() + " ";
            fdfDoc.setField("DireccionTaller", direccion);
            //FECHA INGRESO
            if (ord.getFecha() != null)
                fdfDoc.setField("FechaIngreso", ord.getFecha().toString());
            else
                fdfDoc.setField("FechaIngreso", "");
            //FECHA PROMESA
            if (ord.getFechaCliente() != null)
                fdfDoc.setField("FechaPromesa", ord.getFechaCliente().toString());
            else
                fdfDoc.setField("FechaPromesa", "");

            cb.endText();
            stamp.close();
            PDF reporte = new PDF();
            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-promesaAXA.pdf");

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

    private void b_hoja_unidad1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_hoja_unidad1ActionPerformed
        // TODO add your handling code here:
        h = new Herramientas(usr, 0);
        h.session(sessionPrograma);

        Session session = HibernateUtil.getSessionFactory().openSession();
        try {
            BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
            Orden ord = (Orden) session.get(Orden.class, Integer.parseInt(orden));
            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, "Hoja de Unidad",
                    "reportes/" + ord.getIdOrden() + "/" + valor + "-unidad1.pdf");

            /*try
            {
            reporte.agregaObjeto(reporte.crearImagen(ord.getCompania().getFoto(), 20, -120, 45));
            }catch(Exception e){}*/

            reporte.contenido.setLineWidth(0.5f);
            reporte.contenido.setColorStroke(new GrayColor(0.2f));
            reporte.contenido.setColorFill(new GrayColor(0.9f));
            //reporte.contenido.roundRectangle(370, 660, 190, 90, 10);
            //reporte.contenido.rectangle(370, 650, 190, 1);

            reporte.inicioTexto();
            reporte.texto("No de Orden", bf, BaseColor.BLACK, 80, 40, 500);
            reporte.texto(orden, bf, BaseColor.BLACK, 150, 30, 300);
            /*
            //********agregamos asegurado***********************************************************
            reporte.texto("ASEGURADO:", bf, BaseColor.BLACK, 23, 40, 550);
            try
            {
                String var=ord.getClientes().getNombre();
                if(var.length()>31)
                    var=var.substring(0, 31);
            reporte.texto(var, bf, BaseColor.BLACK, 17, 210, 550);
            }catch(Exception e)
            {
                reporte.texto(" ", bf, BaseColor.BLACK, 17, 210, 550);
            }
            reporte.contenido.rectangle(207, 540, 350, 0);
            //********agregamos placas***********************************************************
            reporte.texto("PLACAS:", bf, BaseColor.BLACK, 23, 95, 500);
            try
            {
                reporte.texto(ord.getNoPlacas(), bf, BaseColor.BLACK, 23, 210, 500);
            }catch(Exception e)
            {
                reporte.texto(" ", bf, BaseColor.BLACK, 17, 210, 500);
            }
            reporte.contenido.rectangle(207, 490, 350, 0);
                
            //********agregamos marca*************************************************************
            reporte.texto("MARCA:", bf, BaseColor.BLACK, 23, 100, 450);
            reporte.texto(ord.getMarca().getMarcaNombre(), bf, BaseColor.BLACK, 23, 210, 450);
            reporte.contenido.rectangle(207, 440, 350, 0);
                
            //********agregamos tipo***************************************************************
            reporte.texto("TIPO:", bf, BaseColor.BLACK, 23, 130, 400);
            reporte.texto(ord.getTipo().getTipoNombre(), bf, BaseColor.BLACK, 23, 210, 400);
            reporte.contenido.rectangle(207, 390, 350, 0);
                
            //********agregamos responsable de hojalateria******************************************
            reporte.texto("HOJALATERIA:", bf, BaseColor.BLACK, 23, 30, 350);
            try
            {
                reporte.texto(ord.getEmpleadoByRHojalateria().getNombre(), bf, BaseColor.BLACK, 17, 210, 350);
            }catch(Exception e)
            {
                reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 350);
            }
            reporte.contenido.rectangle(207, 340, 350, 0);
                
            //********agregamos responsable de pintura**********************************************
            reporte.texto("MECANICA:", bf, BaseColor.BLACK, 23, 64, 300);
            try
            {
                reporte.texto(ord.getEmpleadoByRMecanica().getNombre(), bf, BaseColor.BLACK, 17, 210, 300);
            }catch(Exception e)
            {
                reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 300);
            }
            reporte.contenido.rectangle(207, 290, 350, 0);
                
            //********agregamos responsable de pintura**********************************************
            reporte.texto("SUSPENSIN:", bf, BaseColor.BLACK, 23, 35, 250);
            try
            {
                reporte.texto(ord.getEmpleadoByRSuspension().getNombre(), bf, BaseColor.BLACK, 17, 210, 250);
            }catch(Exception e)
            {
                reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 250);
            }
            reporte.contenido.rectangle(207, 240, 350, 0);
                
            //********agregamos responsable de pintura**********************************************
            reporte.texto("ELECTRICO:", bf, BaseColor.BLACK, 23, 52, 200);
            try
            {
                reporte.texto(ord.getEmpleadoByRElectrico().getNombre(), bf, BaseColor.BLACK, 17, 210, 200);
            }catch(Exception e)
            {
                reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 200);
            }
            reporte.contenido.rectangle(207, 190, 350, 0);
                
            //********agregamos fecha de ingreso*****************************************************
            reporte.texto("INGRESO:", bf, BaseColor.BLACK, 23, 74, 150);               
            try
            {
                reporte.texto(ord.getFecha().toString(), bf, BaseColor.BLACK, 23, 210, 150);
            }
            catch(Exception e)
            {
                reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 150);
            }
            reporte.contenido.rectangle(207, 140, 350, 0);
                
            //********agregamos fecha de entrega*******************************************************
            reporte.texto("ENTREGA:", bf, BaseColor.BLACK, 23, 74, 100);
            try
            {
                reporte.texto(ord.getFechaTaller().toString(), bf, BaseColor.BLACK, 23, 210, 100);
            }
            catch(Exception e)
            {
                reporte.texto(" ", bf, BaseColor.BLACK, 23, 210, 100);
            }
            reporte.contenido.rectangle(207, 90, 350, 0);*/

            reporte.finTexto();

            reporte.cerrar();
            reporte.visualizar("reportes/" + ord.getIdOrden() + "/" + valor + "-unidad1.pdf");
        } catch (Exception e) {
            System.out.println(e);
            e.printStackTrace();
            JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto");
        }
        if (session != null)
            if (session.isOpen())
                session.close();
    }//GEN-LAST:event_b_hoja_unidad1ActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton b_autorizacion;
    private javax.swing.JButton b_encuenta;
    private javax.swing.JButton b_encuenta1;
    private javax.swing.JButton b_encuesta_interna;
    private javax.swing.JButton b_etiqueta_expdiente;
    private javax.swing.JButton b_fecha_promesa;
    private javax.swing.JButton b_fecha_promesa1;
    private javax.swing.JButton b_hoja_unidad;
    private javax.swing.JButton b_hoja_unidad1;
    private javax.swing.JButton b_inv_caja;
    private javax.swing.JButton b_inv_tracto;
    private javax.swing.JButton b_salida;
    private javax.swing.JButton b_salida1;
    // End of variables declaration//GEN-END:variables

    public void visualiza(Boolean valor) {
        this.b_autorizacion.setEnabled(valor);
        this.b_encuenta.setEnabled(valor);
        this.b_encuesta_interna.setEnabled(valor);
        this.b_etiqueta_expdiente.setEnabled(valor);
        this.b_fecha_promesa.setEnabled(valor);
        this.b_hoja_unidad.setEnabled(valor);
        this.b_inv_caja.setEnabled(valor);
        this.b_inv_tracto.setEnabled(valor);
        this.b_salida.setEnabled(valor);
    }
}