Valuacion.Exporta.java Source code

Java tutorial

Introduction

Here is the source code for Valuacion.Exporta.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 Valuacion;

import Hibernate.Util.HibernateUtil;
import Hibernate.entidades.Catalogo;
import Hibernate.entidades.Compania;
import Hibernate.entidades.Ejemplar;
import Hibernate.entidades.Especialidad;
import Hibernate.entidades.Foto;
import Hibernate.entidades.Marca;
import Hibernate.entidades.Orden;
import Hibernate.entidades.Partida;
import Hibernate.entidades.Tipo;
import Hibernate.entidades.Usuario;
import Integral.Herramientas;
import Integral.Imagen;
import Servicios.buscaOrden;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;import java.io.FileReader;
import java.io.InputStream;
;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;
import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.util.IOUtils;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Drawing;
import org.apache.poi.ss.usermodel.Picture;

/**
 *
 * @author salvador
 */
public class Exporta extends javax.swing.JPanel {

    int menu=0;
    String sessionPrograma="";
    public Orden orden_act=null;
    Herramientas h;
    Usuario usr;
    String ruta;
    /**
     * Creates new form Exporta
     */
    
    public Exporta(Usuario usuario, int opcion, String programa) {
        usr=usuario;
        menu=opcion;
        sessionPrograma=programa;
        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();}
        initComponents();
    }

    /**
     * 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() {

        aviso = new javax.swing.JFileChooser();
        jLabel1 = new javax.swing.JLabel();
        t_orden = new javax.swing.JTextField();
        b_busca_orden = new javax.swing.JButton();
        jButton1 = new javax.swing.JButton();

        aviso.setDialogType(javax.swing.JFileChooser.SAVE_DIALOG);
        aviso.setDialogTitle("Examinar");

        setBackground(new java.awt.Color(254, 254, 254));
        setBorder(javax.swing.BorderFactory.createTitledBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true), "Exportar Valuacin", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.TOP));

        jLabel1.setText("Selecciona una orden de taller:");

        t_orden.setBackground(new java.awt.Color(204, 255, 255));
        t_orden.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        t_orden.setEnabled(false);

        b_busca_orden.setBackground(new java.awt.Color(2, 135, 242));
        b_busca_orden.setIcon(new ImageIcon("imagenes/buscar.png"));
        b_busca_orden.setMnemonic(KeyEvent.VK_F1);
        b_busca_orden.setMaximumSize(new java.awt.Dimension(32, 8));
        b_busca_orden.setMinimumSize(new java.awt.Dimension(32, 8));
        b_busca_orden.setPreferredSize(new java.awt.Dimension(32, 8));
        b_busca_orden.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                b_busca_ordenActionPerformed(evt);
            }
        });

        jButton1.setText("Exportar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(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()
                .addContainerGap()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(t_orden, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(10, 10, 10)
                        .addComponent(b_busca_orden, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(417, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addGap(2, 2, 2)
                            .addComponent(t_orden, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(b_busca_orden, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLabel1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(299, Short.MAX_VALUE))
        );
    }// </editor-fold>//GEN-END:initComponents

    private void b_busca_ordenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_busca_ordenActionPerformed
        h=new Herramientas(usr, menu);
        h.session(sessionPrograma);
        buscaOrden obj = new buscaOrden(new javax.swing.JFrame(), true, this.usr,0);
        obj.t_busca.requestFocus();
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        obj.setLocation((d.width/2)-(obj.getWidth()/2), (d.height/2)-(obj.getHeight()/2));
        obj.setVisible(true);
        orden_act=obj.getReturnStatus();
        if (orden_act!=null)
        {
            t_orden.setText(""+orden_act.getIdOrden());
        }
        else
        {
            t_orden.setText("");
            t_orden.requestFocus();
        }
    }//GEN-LAST:event_b_busca_ordenActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:
        if(t_orden.getText().compareTo("")!=0)
        {
            FileNameExtensionFilter filtroImagen=new FileNameExtensionFilter("XLS","xls");
            aviso.setFileFilter(filtroImagen);
            int r=aviso.showSaveDialog(null);
            if(r==aviso.APPROVE_OPTION)
            {
                boolean respuesta=true;
                File a=aviso.getSelectedFile();
                File archivoXLS=null;
                if(a.exists()==true)
                {
                    int i=JOptionPane.showConfirmDialog(null, "Deseas remplazar el archivo?", "confirmacin", JOptionPane.YES_NO_OPTION);
                    if(i!=0)
                    {
                        respuesta=false;
                    }
                    else
                        archivoXLS=a;
                }
                else
                {
                    if(a.getName().indexOf(".xls")==-1)
                        a= new File(a.getAbsoluteFile()+".xls");
                    archivoXLS=a;
                }
                if(respuesta==true)
                {
                    Session session = HibernateUtil.getSessionFactory().openSession();
                    try
                    {
                        orden_act = (Orden)session.get(Orden.class, orden_act.getIdOrden());
                        //if(orden_act.getPedidos().isEmpty()==true)
                        //{
                            //File archivoXLS = new File(t_orden.getText()+".xls");
                            if(archivoXLS.exists())
                                archivoXLS.delete();
                            Biff8EncryptionKey.setCurrentUserPassword("04650077");
                            archivoXLS.createNewFile();
                            Workbook libro = new HSSFWorkbook();
                            FileOutputStream archivo = new FileOutputStream(archivoXLS);
                            Sheet hoja1 = libro.createSheet("especialidad");
                            Sheet hoja2 = libro.createSheet("catalogo");
                            Sheet hoja3 = libro.createSheet("marca");
                            Sheet hoja4 = libro.createSheet("tipo");
                            Sheet hoja5 = libro.createSheet("ejemplar");
                            Sheet hoja6 = libro.createSheet("orden");
                            Sheet hoja7 = libro.createSheet("partida");
                            Sheet hoja8 = libro.createSheet("compania");
                            Sheet hoja9 = libro.createSheet("imagen");

                            //***************************imagen*******************************
                            Foto[] fotos = (Foto[]) orden_act.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)
                            {
                                try
                                {
                                    InputStream is = new FileInputStream(ruta+"ordenes/"+orden_act.getIdOrden()+"/miniatura/"+fotos[0].getDescripcion());
                                    byte[] bytes = IOUtils.toByteArray(is);
                                    int pictureIdx = libro.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
                                    is.close();
                                    CreationHelper helper = libro.getCreationHelper();
                                    Drawing drawing = hoja9.createDrawingPatriarch();
                                    ClientAnchor anchor = helper.createClientAnchor();
                                    anchor.setCol1(3);
                                    anchor.setRow1(2);
                                    Picture pict = drawing.createPicture(anchor, pictureIdx);
                                    pict.resize();
                                }catch(Exception e){e.printStackTrace();}
                            }
                            
                            //************************especialidad*****************************
                            Especialidad[] especialidad = (Especialidad[])session.createCriteria(Especialidad.class).list().toArray(new Especialidad[0]);
                            Row h1r0=hoja1.createRow(0);
                            h1r0.createCell(0).setCellValue("Partida");
                            h1r0.createCell(1).setCellValue("sub");
                            h1r0.createCell(2).setCellValue("registro");
                            if(especialidad.length>0)
                            {
                                for(int i=0; i<especialidad.length; i++)
                                {
                                    Row fh1 = hoja1.createRow(i+1);
                                    fh1.createCell(0).setCellValue(especialidad[i].getIdGrupoMecanico());
                                    if(especialidad[i].getDescripcion()!=null)
                                        fh1.createCell(1).setCellValue(especialidad[i].getDescripcion());
                                    else
                                        fh1.createCell(1).setCellValue("");
                                    fh1.createCell(2).setCellValue("o");
                                }
                            }

                            //************************catalogo*****************************
                            Catalogo[] catalogo = (Catalogo[])session.createCriteria(Catalogo.class).list().toArray(new Catalogo[0]);
                            Row h2r0=hoja2.createRow(0);
                            h2r0.createCell(0).setCellValue("id_catalogo");
                            h2r0.createCell(1).setCellValue("nombre");
                            h2r0.createCell(2).setCellValue("id_especialidad");
                            h2r0.createCell(3).setCellValue("registro");
                            if(catalogo.length>0)
                            {
                                for(int i=0; i<catalogo.length; i++)
                                {
                                    Row fh2 = hoja2.createRow(i+1);
                                    fh2.createCell(0).setCellValue(catalogo[i].getIdCatalogo());
                                    if(catalogo[i].getNombre()!=null)
                                        fh2.createCell(1).setCellValue(catalogo[i].getNombre());
                                    else
                                        fh2.createCell(1).setCellValue("");
                                    fh2.createCell(2).setCellValue(catalogo[i].getEspecialidad().getIdGrupoMecanico());
                                    fh2.createCell(3).setCellValue("o");
                                }
                            }

                            //************************marca*****************************
                            Marca[] marca = (Marca[])session.createCriteria(Marca.class).list().toArray(new Marca[0]);
                            Row h3r0=hoja3.createRow(0);
                            h3r0.createCell(0).setCellValue("id_marca");
                            h3r0.createCell(1).setCellValue("nombre_marca");
                            h3r0.createCell(2).setCellValue("registro");
                            if(marca.length>0)
                            {
                                for(int i=0; i<marca.length; i++)
                                {
                                    Row fh3 = hoja3.createRow(i+1);
                                    fh3.createCell(0).setCellValue(marca[i].getIdMarca());
                                    fh3.createCell(1).setCellValue(marca[i].getMarcaNombre());
                                    fh3.createCell(2).setCellValue("o");
                                }
                            }

                            //************************tipo*****************************
                            Tipo[] tipo = (Tipo[])session.createCriteria(Tipo.class).list().toArray(new Tipo[0]);
                            Row h4r0=hoja4.createRow(0);
                            h4r0.createCell(0).setCellValue("tipo_nombre");
                            h4r0.createCell(1).setCellValue("e_pesado");
                            h4r0.createCell(2).setCellValue("registro");
                            if(tipo.length>0)
                            {
                                for(int i=0; i<tipo.length; i++)
                                {
                                    Row fh4 = hoja4.createRow(i+1);
                                    fh4.createCell(0).setCellValue(tipo[i].getTipoNombre());
                                    fh4.createCell(1).setCellValue(tipo[i].getEPesado());
                                    fh4.createCell(2).setCellValue("o");
                                }
                            }

                            //************************ejemplar*****************************
                            Ejemplar[] ejemplar = (Ejemplar[])session.createCriteria(Ejemplar.class).list().toArray(new Ejemplar[0]);
                            Row h5r0=hoja5.createRow(0);
                            h5r0.createCell(0).setCellValue("id_parte");
                            h5r0.createCell(1).setCellValue("id_marca");
                            h5r0.createCell(2).setCellValue("tipo_nombre");
                            h5r0.createCell(3).setCellValue("modelo");
                            h5r0.createCell(4).setCellValue("id_catalogo");
                            h5r0.createCell(5).setCellValue("comentario");
                            h5r0.createCell(6).setCellValue("registro");
                            if(ejemplar.length>0)
                            {
                                for(int i=0; i<ejemplar.length; i++)
                                {
                                    Row fh5 = hoja5.createRow(i+1);
                                    fh5.createCell(0).setCellValue(ejemplar[i].getIdParte());
                                    if(ejemplar[i].getMarca()!=null)
                                        fh5.createCell(1).setCellValue(ejemplar[i].getMarca().getIdMarca());
                                    else
                                        fh5.createCell(1).setCellValue("");
                                    if(ejemplar[i].getTipo()!=null)
                                        fh5.createCell(2).setCellValue(ejemplar[i].getTipo().getTipoNombre());
                                    else
                                        fh5.createCell(2).setCellValue("");
                                    if(ejemplar[i].getModelo()!=null)
                                        fh5.createCell(3).setCellValue(ejemplar[i].getModelo());
                                    else
                                        fh5.createCell(3).setCellValue("");
                                    if(ejemplar[i].getCatalogo()!=null)
                                        fh5.createCell(4).setCellValue(ejemplar[i].getCatalogo());
                                    else
                                        fh5.createCell(4).setCellValue("");
                                    if(ejemplar[i].getComentario()!=null)
                                        fh5.createCell(5).setCellValue(ejemplar[i].getComentario());
                                    else
                                        fh5.createCell(5).setCellValue("");
                                    fh5.createCell(6).setCellValue("o");
                                }
                            }

                            //************************orden*****************************
                            orden_act = (Orden)session.get(Orden.class, orden_act.getIdOrden());
                            Row h6r0=hoja6.createRow(0);
                            h6r0.createCell(0).setCellValue("id_orden");
                            h6r0.createCell(1).setCellValue("aseguradora");
                            h6r0.createCell(2).setCellValue("poliza");
                            h6r0.createCell(3).setCellValue("siniestro");
                            h6r0.createCell(4).setCellValue("inciso");
                            h6r0.createCell(5).setCellValue("reporte");
                            h6r0.createCell(6).setCellValue("fecha");
                            h6r0.createCell(7).setCellValue("nombre");
                            h6r0.createCell(8).setCellValue("tipo_cliente");
                            h6r0.createCell(9).setCellValue("id_marca");
                            h6r0.createCell(10).setCellValue("tipo");
                            h6r0.createCell(11).setCellValue("anio");
                            h6r0.createCell(12).setCellValue("registro");

                            Row fh6 = hoja6.createRow(1);
                            fh6.createCell(0).setCellValue(orden_act.getIdOrden());
                            fh6.createCell(1).setCellValue(orden_act.getCompania().getIdCompania());
                            if(orden_act.getPoliza()!=null)
                                fh6.createCell(2).setCellValue(orden_act.getPoliza());
                            else
                                fh6.createCell(2).setCellValue("");
                            if(orden_act.getSiniestro()!=null)
                                fh6.createCell(3).setCellValue(orden_act.getSiniestro());
                            else
                                fh6.createCell(3).setCellValue("");
                            if(orden_act.getInciso()!=null)
                                fh6.createCell(4).setCellValue(orden_act.getInciso());
                            else
                                fh6.createCell(4).setCellValue("");
                            if(orden_act.getNoReporte()!=null)
                                fh6.createCell(5).setCellValue(orden_act.getNoReporte());
                            else
                                fh6.createCell(5).setCellValue("");
                            fh6.createCell(6).setCellValue(orden_act.getFecha());
                            fh6.createCell(7).setCellValue(orden_act.getClientes().getNombre());
                            fh6.createCell(8).setCellValue(orden_act.getTipoCliente());
                            fh6.createCell(9).setCellValue(orden_act.getMarca().getIdMarca());
                            fh6.createCell(10).setCellValue(orden_act.getTipo().getTipoNombre());
                            fh6.createCell(11).setCellValue(orden_act.getModelo());
                            fh6.createCell(12).setCellValue("o");

                            Compania com=orden_act.getCompania();
                            Row h8r0=hoja8.createRow(0);
                            h8r0.createCell(0).setCellValue("id_compania");
                            h8r0.createCell(1).setCellValue("nombre");
                            h8r0.createCell(2).setCellValue("importe_hota");
                            h8r0.createCell(3).setCellValue("importe_max");
                            h8r0.createCell(4).setCellValue("registro");

                            Row fh8 = hoja8.createRow(1);
                            fh8.createCell(0).setCellValue(com.getIdCompania());
                            fh8.createCell(1).setCellValue(com.getNombre());
                            fh8.createCell(2).setCellValue(com.getImporteHora());
                            fh8.createCell(3).setCellValue(com.getImporteMax());
                            fh8.createCell(4).setCellValue("o");


                            //************************partida*****************************
                            Partida[] cuentas = (Partida[])session.createCriteria(Partida.class).add(Restrictions.eq("ordenByIdOrden.idOrden", orden_act.getIdOrden())).addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                            Partida[] enlazadas = (Partida[])session.createCriteria(Partida.class).add(Restrictions.eq("ordenByEnlazada.idOrden", orden_act.getIdOrden())).addOrder(Order.asc("idEvaluacion")).addOrder(Order.asc("subPartida")).list().toArray(new Partida[0]);
                            Row h7r0=hoja7.createRow(0);
                            h7r0.createCell(0).setCellValue("id_partida");
                            h7r0.createCell(1).setCellValue("id_evaluacion");
                            h7r0.createCell(2).setCellValue("sub_partida");
                            h7r0.createCell(3).setCellValue("esp_hoj");
                            h7r0.createCell(4).setCellValue("esp_mec");
                            h7r0.createCell(5).setCellValue("esp_sus");
                            h7r0.createCell(6).setCellValue("esp_ele");
                            h7r0.createCell(7).setCellValue("dm");
                            h7r0.createCell(8).setCellValue("cam");
                            h7r0.createCell(9).setCellValue("rep_min");
                            h7r0.createCell(10).setCellValue("rep_med");
                            h7r0.createCell(11).setCellValue("rep_max");
                            h7r0.createCell(12).setCellValue("pint");
                            h7r0.createCell(13).setCellValue("cant");
                            h7r0.createCell(14).setCellValue("med");
                            h7r0.createCell(15).setCellValue("id_catalogo");
                            h7r0.createCell(16).setCellValue("id_parte");
                            h7r0.createCell(17).setCellValue("incluida");
                            h7r0.createCell(18).setCellValue("ori");
                            h7r0.createCell(19).setCellValue("nal");
                            h7r0.createCell(20).setCellValue("desm");
                            h7r0.createCell(21).setCellValue("pd");
                            h7r0.createCell(22).setCellValue("tot");
                            h7r0.createCell(23).setCellValue("int_desm");
                            h7r0.createCell(24).setCellValue("int_camb");
                            h7r0.createCell(25).setCellValue("int_rep_min");
                            h7r0.createCell(26).setCellValue("int_rep_med");
                            h7r0.createCell(27).setCellValue("int_rep_max");
                            h7r0.createCell(28).setCellValue("int_pin_min");
                            h7r0.createCell(29).setCellValue("int_pin_med");
                            h7r0.createCell(30).setCellValue("int_pin_max");
                            h7r0.createCell(31).setCellValue("instruccion");
                            h7r0.createCell(32).setCellValue("tipo");
                            h7r0.createCell(33).setCellValue("enlazada");
                            h7r0.createCell(34).setCellValue("autorizado_valuacion");
                            h7r0.createCell(35).setCellValue("c_u");
                            h7r0.createCell(36).setCellValue("porcentaje");
                            h7r0.createCell(37).setCellValue("precio_cia");
                            h7r0.createCell(38).setCellValue("cant_aut");
                            h7r0.createCell(39).setCellValue("precio_aut");
                            h7r0.createCell(40).setCellValue("autorizado");
                            h7r0.createCell(41).setCellValue("horas");
                            h7r0.createCell(42).setCellValue("ref_coti");
                            h7r0.createCell(43).setCellValue("ref_com");
                            h7r0.createCell(44).setCellValue("so");
                            h7r0.createCell(45).setCellValue("pedido");
                            h7r0.createCell(46).setCellValue("entrega");
                            h7r0.createCell(47).setCellValue("id_orden");
                            h7r0.createCell(48).setCellValue("pcp");
                            h7r0.createCell(49).setCellValue("registro");


                            if(cuentas.length>0)
                            {
                                for(int i=0; i<cuentas.length; i++)
                                {
                                    Row fh7 = hoja7.createRow(i+1);
                                    fh7.createCell(0).setCellValue(cuentas[i].getIdPartida());
                                    fh7.createCell(1).setCellValue(cuentas[i].getIdEvaluacion());
                                    fh7.createCell(2).setCellValue(cuentas[i].getSubPartida());
                                    fh7.createCell(3).setCellValue(cuentas[i].isEspHoj());
                                    fh7.createCell(4).setCellValue(cuentas[i].isEspMec());
                                    fh7.createCell(5).setCellValue(cuentas[i].isEspSus());
                                    fh7.createCell(6).setCellValue(cuentas[i].isEspEle());
                                    fh7.createCell(7).setCellValue(cuentas[i].getDm());
                                    fh7.createCell(8).setCellValue(cuentas[i].getCam());
                                    fh7.createCell(9).setCellValue(cuentas[i].getRepMin());
                                    fh7.createCell(10).setCellValue(cuentas[i].getRepMed());
                                    fh7.createCell(11).setCellValue(cuentas[i].getRepMax());
                                    fh7.createCell(12).setCellValue(cuentas[i].getPint());
                                    fh7.createCell(13).setCellValue(cuentas[i].getCant());
                                    fh7.createCell(14).setCellValue(cuentas[i].getMed());
                                    fh7.createCell(15).setCellValue(cuentas[i].getCatalogo().getIdCatalogo());
                                    if(cuentas[i].getEjemplar()!=null)
                                        fh7.createCell(16).setCellValue(cuentas[i].getEjemplar().getIdParte());
                                    else
                                        fh7.createCell(16).setCellValue("");
                                    fh7.createCell(17).setCellValue(cuentas[i].isIncluida());
                                    fh7.createCell(18).setCellValue(cuentas[i].isOri());
                                    fh7.createCell(19).setCellValue(cuentas[i].isNal());
                                    fh7.createCell(20).setCellValue(cuentas[i].isDesm());
                                    fh7.createCell(21).setCellValue(cuentas[i].isPd());
                                    if(cuentas[i].getProveedor()!=null)
                                        fh7.createCell(22).setCellValue(cuentas[i].getProveedor().getIdProveedor());
                                    else
                                        fh7.createCell(22).setCellValue("");
                                    fh7.createCell(23).setCellValue(cuentas[i].getIntDesm());
                                    fh7.createCell(24).setCellValue(cuentas[i].getIntCamb());
                                    fh7.createCell(25).setCellValue(cuentas[i].getIntRepMin());
                                    fh7.createCell(26).setCellValue(cuentas[i].getIntRepMed());
                                    fh7.createCell(27).setCellValue(cuentas[i].getIntRepMax());
                                    fh7.createCell(28).setCellValue(cuentas[i].getIntPinMin());
                                    fh7.createCell(29).setCellValue(cuentas[i].getIntPinMed());
                                    fh7.createCell(30).setCellValue(cuentas[i].getIntPinMax());
                                    if(cuentas[i].getInstruccion()!=null)
                                        fh7.createCell(31).setCellValue(cuentas[i].getInstruccion());
                                    else
                                        fh7.createCell(31).setCellValue("");
                                    fh7.createCell(32).setCellValue(cuentas[i].getTipo());
                                    if(cuentas[i].getOrdenByEnlazada()!=null)
                                        fh7.createCell(33).setCellValue(cuentas[i].getOrdenByEnlazada().getIdOrden());
                                    else
                                        fh7.createCell(33).setCellValue("");
                                    fh7.createCell(34).setCellValue(cuentas[i].isAutorizadoValuacion());
                                    fh7.createCell(35).setCellValue(cuentas[i].getCU());
                                    fh7.createCell(36).setCellValue(cuentas[i].getPorcentaje());
                                    fh7.createCell(37).setCellValue(cuentas[i].getPrecioCiaSegurosCU());
                                    fh7.createCell(38).setCellValue(cuentas[i].getCantidadAut());
                                    fh7.createCell(39).setCellValue(cuentas[i].getPrecioAutCU());
                                    fh7.createCell(40).setCellValue(cuentas[i].isAutorizado());
                                    fh7.createCell(41).setCellValue(cuentas[i].getHoras());
                                    fh7.createCell(42).setCellValue(cuentas[i].isRefCoti());
                                    fh7.createCell(43).setCellValue(cuentas[i].isRefComp());
                                    fh7.createCell(44).setCellValue(cuentas[i].isSo());
                                    if(cuentas[i].getPedido()!=null)
                                    {
                                        fh7.createCell(45).setCellValue(cuentas[i].getPedido().getIdPedido());
                                        if(cuentas[i].getPlazo()!=null)
                                            fh7.createCell(46).setCellValue(cuentas[i].getPlazo());
                                        else
                                            fh7.createCell(46).setCellValue("");
                                    }
                                    else
                                    {
                                        fh7.createCell(45).setCellValue("");
                                        fh7.createCell(46).setCellValue("");
                                    }
                                    fh7.createCell(47).setCellValue(cuentas[i].getOrdenByIdOrden().getIdOrden());
                                    fh7.createCell(48).setCellValue(cuentas[i].getPcp());
                                    fh7.createCell(49).setCellValue("o");
                                }
                            }
                            libro.write(archivo);
                            Biff8EncryptionKey.setCurrentUserPassword(null);
                            archivo.close();
                            JOptionPane.showMessageDialog(null, "Archivo guardado!");
                        /*}
                        else
                        {
                            if(session.isOpen())
                                session.close();
                            JOptionPane.showMessageDialog(null, "La orden ya contiene partidas!");
                        }*/
                            
                    }
                    catch (Exception he)
                    {
                        he.printStackTrace();
                        session.getTransaction().rollback();
                    }
                    if(session!=null)
                        if(session.isOpen())
                            session.close();
                }
            }
        }
        else
            JOptionPane.showMessageDialog(this, "Debes seleccionar una orden de taller primero");
    }//GEN-LAST:event_jButton1ActionPerformed


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JFileChooser aviso;
    public javax.swing.JButton b_busca_orden;
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    public javax.swing.JTextField t_orden;
    // End of variables declaration//GEN-END:variables

    private Orden buscarOrden(int id)
    {
        Orden ord=null;
        Session session = HibernateUtil.getSessionFactory().openSession();
        try 
        {
            ord = (Orden)session.get(Orden.class, id); 
        } 
        catch (HibernateException he) 
        {
            he.printStackTrace();
            session.getTransaction().rollback();
            ord=null;
        }
        if(session!=null)
            if(session.isOpen())
                session.close();
        return ord;
    }
}