gui.Trabajadores.java Source code

Java tutorial

Introduction

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

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;
import jxl.Sheet;
import jxl.Workbook;
import model.Database;
import org.jfree.chart.*;

import org.jfree.chart.renderer.xy.XYSplineRenderer;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.axis.*;
import org.jfree.data.xy.*;

import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

import org.jfree.data.general.DefaultPieDataset;

/**
 *
 * @author EQUIPO: Pablo Manrique, Irving Cisneros, Andrs Molina, Emiliano Ruiz, Marco, Pahola Munive.
 */
public class Trabajadores extends javax.swing.JFrame {
    private String BU_Home = "", BU_Host = "", Gen = "", Area = "", Departamento = "", Num_Empleado = "",
            Fecha_Antiguedad = "", Nombre = "", Apellido_Paterno = "", Apellido_Materno = "", Sexo = "",
            Fecha_Nacimiento = "", Puesto = "", Tipo_Contrato = "", Salario_Base = "", Fecha_Reporte = "";
    private String Num_Empleado1 = "", Nombre1 = "", Apellido_Paterno1 = "", Apellido_Materno1 = "", Puesto1 = "",
            Sexo1 = "", Fecha_Nacimiento1 = "", Primer_Turno = "", Segundo_Turno = "", Tercer_Turno = "",
            Total_Turnos = "", Fecha_Reporte1 = "";
    private String Num_Empleado2 = "", Nombre2 = "", Apellido_Paterno2 = "", Apellido_Materno2 = "", Puesto2 = "",
            Sexo2 = "", Fecha_Nacimiento2 = "", P1_Turno = "", P2_Turno = "", P3_Turno = "", Total_Turnos2 = "",
            Fecha_Reporte2 = "";
    private String Tipo_Empleado = "", Departamento2 = "", Num_Empleado3 = "", Fecha_Antiguedad2 = "", Nombre3 = "",
            Apellido_Paterno3 = "", Apellido_Materno3 = "", Puesto3 = "", Tipo_Contrato2 = "", Salario_Base2 = "",
            Fecha_Baja = "", Costo_Finiquito = "", Indemnizacion = "", Prima_Antiguedad = "", Gratificacion = "",
            Total_Pagado_Separacion = "", Motivo_Baja = "", Volver_Contratar = "", Fecha_Reporte3 = "",
            Pendiente = "";

    /**
     * Creates new form Trabajadores
     */
    public Trabajadores() {
        initComponents();
        setSize(725, 260);
        DialogoImportar.setLocationRelativeTo(null);
        this.PastelNosin.setVisible(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() {

        DialogoImportar = new javax.swing.JDialog();
        jButton11 = new javax.swing.JButton();
        jButton12 = new javax.swing.JButton();
        campoRuta = new javax.swing.JTextField();
        jLabel15 = new javax.swing.JLabel();
        jButton7 = new javax.swing.JButton();
        jLabel12 = new javax.swing.JLabel();
        DialogoAbrirArchivo = new javax.swing.JFileChooser();
        jLabel3 = new javax.swing.JLabel();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel2 = new javax.swing.JPanel();
        jTabbedPane3 = new javax.swing.JTabbedPane();
        jPanel22 = new javax.swing.JPanel();
        jPanel16 = new javax.swing.JPanel();
        scroll1 = new javax.swing.JScrollPane();
        tablaNoSin = new javax.swing.JTable();
        capas = new javax.swing.JLayeredPane();
        PastelNosin = new javax.swing.JPanel();
        jLabel22 = new javax.swing.JLabel();
        jPanel23 = new javax.swing.JPanel();
        jPanel26 = new javax.swing.JPanel();
        jScrollPane12 = new javax.swing.JScrollPane();
        tablaSin = new javax.swing.JTable();
        jLabel21 = new javax.swing.JLabel();
        jPanel24 = new javax.swing.JPanel();
        jPanel29 = new javax.swing.JPanel();
        jScrollPane15 = new javax.swing.JScrollPane();
        tablaControladores = new javax.swing.JTable();
        jLabel20 = new javax.swing.JLabel();
        jPanel25 = new javax.swing.JPanel();
        jPanel6 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jScrollPane3 = new javax.swing.JScrollPane();
        tablaDistri = new javax.swing.JTable();
        jLabel19 = new javax.swing.JLabel();
        jSeparator3 = new javax.swing.JSeparator();
        jPanel7 = new javax.swing.JPanel();
        jPanel9 = new javax.swing.JPanel();
        tablaBaja = new javax.swing.JScrollPane();
        tablaBajas = new javax.swing.JTable();
        jLabel24 = new javax.swing.JLabel();
        jLabel18 = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        jPanel10 = new javax.swing.JPanel();
        jScrollPane5 = new javax.swing.JScrollPane();
        salario = new javax.swing.JTable();
        jLabel8 = new javax.swing.JLabel();
        jPanel4 = new javax.swing.JPanel();
        jTabbedPane4 = new javax.swing.JTabbedPane();
        jPanel14 = new javax.swing.JPanel();
        jPanel21 = new javax.swing.JPanel();
        jScrollPane4 = new javax.swing.JScrollPane();
        antiguedad = new javax.swing.JTable();
        jLabel4 = new javax.swing.JLabel();
        jPanel20 = new javax.swing.JPanel();
        jPanel8 = new javax.swing.JPanel();
        jScrollPane6 = new javax.swing.JScrollPane();
        edad = new javax.swing.JTable();
        jButton10 = new javax.swing.JButton();
        jLabel23 = new javax.swing.JLabel();
        jPanel5 = new javax.swing.JPanel();
        jPanel18 = new javax.swing.JPanel();
        jScrollPane8 = new javax.swing.JScrollPane();
        turnoCont = new javax.swing.JTable();
        jPanel19 = new javax.swing.JPanel();
        jScrollPane9 = new javax.swing.JScrollPane();
        turnosin = new javax.swing.JTable();
        jLabel6 = new javax.swing.JLabel();
        jToolBar1 = new javax.swing.JToolBar();
        jLabel1 = new javax.swing.JLabel();
        jSeparator1 = new javax.swing.JToolBar.Separator();
        jComboBox2 = new javax.swing.JComboBox<>();
        jButton8 = new javax.swing.JButton();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jButton2 = new javax.swing.JButton();
        jLabel7 = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem3 = new javax.swing.JMenuItem();

        DialogoImportar.getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jButton11.setText("Cancelar");
        jButton11.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton11ActionPerformed(evt);
            }
        });
        DialogoImportar.getContentPane().add(jButton11,
                new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 130, 90, -1));

        jButton12.setText("Importar");
        jButton12.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton12ActionPerformed(evt);
            }
        });
        DialogoImportar.getContentPane().add(jButton12,
                new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 130, 90, -1));
        DialogoImportar.getContentPane().add(campoRuta,
                new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 70, 150, -1));

        jLabel15.setBackground(new java.awt.Color(255, 255, 255));
        jLabel15.setFont(new java.awt.Font("Narkisim", 1, 18)); // NOI18N
        jLabel15.setForeground(new java.awt.Color(204, 0, 0));
        jLabel15.setText("Importar Archivo");
        jLabel15.setBorder(javax.swing.BorderFactory.createCompoundBorder());
        DialogoImportar.getContentPane().add(jLabel15,
                new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 20, -1, -1));

        jButton7.setText("Buscar Archivo");
        jButton7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton7ActionPerformed(evt);
            }
        });
        DialogoImportar.getContentPane().add(jButton7,
                new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 70, -1, -1));

        jLabel12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondoAzul.jpg"))); // NOI18N
        DialogoImportar.getContentPane().add(jLabel12,
                new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 290, -1));

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel3.setBackground(new java.awt.Color(0, 0, 0));
        jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/Logo.png"))); // NOI18N
        jLabel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 153)));
        getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(730, 10, 160, 60));

        jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel22.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel16.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "NO SINDICALIZADOS",
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11),
                new java.awt.Color(153, 0, 0))); // NOI18N

        tablaNoSin
                .setModel(
                        new javax.swing.table.DefaultTableModel(
                                new Object[][] { { null, null, null }, { null, null, null }, { null, null, null },
                                        { null, null, null } },
                                new String[] { "Genero", "Cantidad", "Porcentaje" }));
        scroll1.setViewportView(tablaNoSin);

        javax.swing.GroupLayout jPanel16Layout = new javax.swing.GroupLayout(jPanel16);
        jPanel16.setLayout(jPanel16Layout);
        jPanel16Layout
                .setHorizontalGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(scroll1, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE));
        jPanel16Layout
                .setVerticalGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(scroll1, javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE));

        jPanel22.add(jPanel16, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 40, -1, -1));

        javax.swing.GroupLayout PastelNosinLayout = new javax.swing.GroupLayout(PastelNosin);
        PastelNosin.setLayout(PastelNosinLayout);
        PastelNosinLayout.setHorizontalGroup(PastelNosinLayout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 362, Short.MAX_VALUE));
        PastelNosinLayout.setVerticalGroup(PastelNosinLayout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 306, Short.MAX_VALUE));

        capas.setLayer(PastelNosin, javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout capasLayout = new javax.swing.GroupLayout(capas);
        capas.setLayout(capasLayout);
        capasLayout.setHorizontalGroup(capasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 450, Short.MAX_VALUE)
                .addGroup(capasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                        javax.swing.GroupLayout.Alignment.TRAILING,
                        capasLayout.createSequentialGroup().addContainerGap(78, Short.MAX_VALUE)
                                .addComponent(PastelNosin, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addContainerGap())));
        capasLayout.setVerticalGroup(capasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 390, Short.MAX_VALUE)
                .addGroup(capasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                        javax.swing.GroupLayout.Alignment.TRAILING,
                        capasLayout.createSequentialGroup().addContainerGap(41, Short.MAX_VALUE)
                                .addComponent(PastelNosin, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addContainerGap(43, Short.MAX_VALUE))));

        jPanel22.add(capas, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 30, 450, 390));

        jLabel22.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jLabel22.setText("jLabel4");
        jPanel22.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));

        jTabbedPane3.addTab("No Sindicalizados", jPanel22);

        jPanel23.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel26.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "SINDICALIZADOS",
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11),
                new java.awt.Color(0, 51, 153))); // NOI18N

        tablaSin.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { { null, null, null },
                { null, null, null }, { null, null, null }, { null, null, null } },
                new String[] { "Genero", "Cantidad", "Porcentaje" }));
        jScrollPane12.setViewportView(tablaSin);

        javax.swing.GroupLayout jPanel26Layout = new javax.swing.GroupLayout(jPanel26);
        jPanel26.setLayout(jPanel26Layout);
        jPanel26Layout
                .setHorizontalGroup(jPanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane12, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE));
        jPanel26Layout
                .setVerticalGroup(jPanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane12, javax.swing.GroupLayout.DEFAULT_SIZE, 117, Short.MAX_VALUE));

        jPanel23.add(jPanel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 30, 340, 140));

        jLabel21.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jLabel21.setText("jLabel4");
        jPanel23.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 890, 490));

        jTabbedPane3.addTab("Sindicalizados", jPanel23);

        jPanel24.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel29.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "CONTROLADORES",
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11),
                new java.awt.Color(0, 102, 51))); // NOI18N

        tablaControladores
                .setModel(
                        new javax.swing.table.DefaultTableModel(
                                new Object[][] { { null, null, null }, { null, null, null }, { null, null, null },
                                        { null, null, null } },
                                new String[] { "Genero", "Cantidad", "Porcentaje" }));
        jScrollPane15.setViewportView(tablaControladores);

        javax.swing.GroupLayout jPanel29Layout = new javax.swing.GroupLayout(jPanel29);
        jPanel29.setLayout(jPanel29Layout);
        jPanel29Layout
                .setHorizontalGroup(jPanel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane15, javax.swing.GroupLayout.Alignment.TRAILING,
                                javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE));
        jPanel29Layout.setVerticalGroup(jPanel29Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel29Layout.createSequentialGroup()
                        .addComponent(jScrollPane15, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE)
                        .addContainerGap()));

        jPanel24.add(jPanel29, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 30, 340, 140));

        jLabel20.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jLabel20.setText("jLabel4");
        jPanel24.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 890, 490));

        jTabbedPane3.addTab("Controladores", jPanel24);

        jPanel25.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Distribucin de trabajadores",
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11),
                new java.awt.Color(102, 0, 102))); // NOI18N
        jPanel6.setForeground(new java.awt.Color(102, 0, 102));
        jPanel6.setToolTipText("");
        jPanel6.setName(""); // NOI18N

        tablaDistri
                .setModel(
                        new javax.swing.table.DefaultTableModel(
                                new Object[][] { { null, null, null }, { null, null, null }, { null, null, null },
                                        { null, null, null } },
                                new String[] { "Bu_Home", "Cantidad", "Porcentaje" }));
        jScrollPane3.setViewportView(tablaDistri);

        jScrollPane1.setViewportView(jScrollPane3);

        javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
        jPanel6.setLayout(jPanel6Layout);
        jPanel6Layout.setHorizontalGroup(jPanel6Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel6Layout.createSequentialGroup()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 442, Short.MAX_VALUE)
                        .addContainerGap()));
        jPanel6Layout.setVerticalGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                        jPanel6Layout.createSequentialGroup().addGap(19, 19, 19)
                                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 219,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

        jPanel25.add(jPanel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 20, -1, 260));

        jLabel19.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jLabel19.setText("jLabel4");
        jPanel25.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 890, 490));
        jPanel25.add(jSeparator3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 430, 880, 10));

        jTabbedPane3.addTab("Distribucion de trabajadores por Bu_home", jPanel25);

        jPanel7.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        tablaBaja.setToolTipText("");
        tablaBaja.setAutoscrolls(true);

        tablaBajas
                .setModel(new javax.swing.table.DefaultTableModel(
                        new Object[][] { { null, null, null, null }, { null, null, null, null },
                                { null, null, null, null }, { null, null, null, null } },
                        new String[] { "Title 1", "Title 2", "Title 3", "Title 4" }));
        tablaBaja.setViewportView(tablaBajas);

        javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
        jPanel9.setLayout(jPanel9Layout);
        jPanel9Layout.setHorizontalGroup(jPanel9Layout
                .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel9Layout.createSequentialGroup().addComponent(tablaBaja,
                        javax.swing.GroupLayout.PREFERRED_SIZE, 829, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 1, Short.MAX_VALUE)));
        jPanel9Layout.setVerticalGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(tablaBaja, javax.swing.GroupLayout.DEFAULT_SIZE, 207, Short.MAX_VALUE));

        jPanel7.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 27, 830, -1));

        jLabel24.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jLabel24.setText("jLabel4");
        jPanel7.add(jLabel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 890, 490));

        jTabbedPane3.addTab("Bajas Trabajadores", jPanel7);

        jPanel2.add(jTabbedPane3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 890, 500));

        jLabel18.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jLabel18.setText("jLabel18");
        jPanel2.add(jLabel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 890, 490));

        jTabbedPane1.addTab("D. Trabajadores", jPanel2);

        jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel10.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Salario Mensual",
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11),
                new java.awt.Color(255, 0, 51))); // NOI18N

        salario.setModel(new javax.swing.table.DefaultTableModel(
                new Object[][] { { null, null }, { null, null }, { null, null }, { null, null }, { null, null },
                        { null, null }, { null, null }, { null, null }, { null, null }, { null, null },
                        { null, null }, { null, null }, { null, null }, { null, null }, { null, null },
                        { null, null }, { null, null }, { null, null }, { null, null }, { null, null },
                        { null, null }, { null, null }, { null, null }, { null, null }, { null, null },
                        { null, null }, { null, null }, { null, null }, { null, null }, { null, null } },
                new String[] { "Puesto", "Salario Total" }));
        jScrollPane5.setViewportView(salario);

        javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
        jPanel10.setLayout(jPanel10Layout);
        jPanel10Layout
                .setHorizontalGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE));
        jPanel10Layout
                .setVerticalGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 397, Short.MAX_VALUE));

        jPanel3.add(jPanel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 20, 340, 420));

        jLabel8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jLabel8.setText("jLabel8");
        jPanel3.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 890, 500));

        jTabbedPane1.addTab("Salarios", jPanel3);

        jPanel4.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel14.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel21.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Antiguedad Promedio",
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11),
                new java.awt.Color(153, 51, 0))); // NOI18N
        jPanel21.setToolTipText("");

        antiguedad.setModel(new javax.swing.table.DefaultTableModel(
                new Object[][] { { null, null }, { null, null }, { null, null }, { null, null } },
                new String[] { "Bu_Home", "Antiguedad de trabajador" }));
        jScrollPane4.setViewportView(antiguedad);

        javax.swing.GroupLayout jPanel21Layout = new javax.swing.GroupLayout(jPanel21);
        jPanel21.setLayout(jPanel21Layout);
        jPanel21Layout
                .setHorizontalGroup(jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 381, Short.MAX_VALUE));
        jPanel21Layout
                .setVerticalGroup(jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 114, Short.MAX_VALUE));

        jPanel14.add(jPanel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1));

        jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jPanel14.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 890, 490));

        jTabbedPane4.addTab("Antiguedad Trabajador", jPanel14);

        jPanel20.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Edad Promedio",
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11),
                new java.awt.Color(153, 153, 0))); // NOI18N

        edad.setModel(new javax.swing.table.DefaultTableModel(
                new Object[][] { { null, null }, { null, null }, { null, null }, { null, null } },
                new String[] { "Bu_Home", "Edad Promedio Trabajador" }));
        jScrollPane6.setViewportView(edad);

        javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
        jPanel8.setLayout(jPanel8Layout);
        jPanel8Layout
                .setHorizontalGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 348, Short.MAX_VALUE));
        jPanel8Layout.setVerticalGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 117, Short.MAX_VALUE));

        jPanel20.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, 360, 140));

        jButton10.setText("Ver Grafica");
        jPanel20.add(jButton10, new org.netbeans.lib.awtextra.AbsoluteConstraints(750, 360, -1, -1));

        jLabel23.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jPanel20.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 890, 480));

        jTabbedPane4.addTab("Edad Promedio", jPanel20);

        jPanel4.add(jTabbedPane4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 880, 490));

        jTabbedPane1.addTab("Promedio Antigedad", jPanel4);

        jPanel5.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jPanel18.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Controladores",
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11),
                new java.awt.Color(0, 51, 102))); // NOI18N

        turnoCont
                .setModel(new javax.swing.table.DefaultTableModel(
                        new Object[][] { { null, null, null, null }, { null, null, null, null },
                                { null, null, null, null }, { null, null, null, null } },
                        new String[] { "Bu_Home", "Turno 1", "Turno 2", "Turno 3" }));
        jScrollPane8.setViewportView(turnoCont);

        javax.swing.GroupLayout jPanel18Layout = new javax.swing.GroupLayout(jPanel18);
        jPanel18.setLayout(jPanel18Layout);
        jPanel18Layout
                .setHorizontalGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel18Layout.createSequentialGroup().addContainerGap()
                                .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 331,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
        jPanel18Layout
                .setVerticalGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel18Layout.createSequentialGroup().addContainerGap()
                                .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 90,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

        jPanel5.add(jPanel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 180, 360, 130));

        jPanel19.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Sindicalizados",
                javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11),
                new java.awt.Color(0, 51, 102))); // NOI18N

        turnosin.setModel(
                new javax.swing.table.DefaultTableModel(
                        new Object[][] { { null, null, null, null }, { null, null, null, null },
                                { null, null, null, null }, { null, null, null, null } },
                        new String[] { "Bu_Home", "Turno 1", "Turno 2", "Turno 3" }));
        jScrollPane9.setViewportView(turnosin);

        javax.swing.GroupLayout jPanel19Layout = new javax.swing.GroupLayout(jPanel19);
        jPanel19.setLayout(jPanel19Layout);
        jPanel19Layout
                .setHorizontalGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel19Layout.createSequentialGroup().addContainerGap()
                                .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 331,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
        jPanel19Layout
                .setVerticalGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel19Layout.createSequentialGroup().addContainerGap()
                                .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 90,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

        jPanel5.add(jPanel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, 360, 130));

        jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondo.jpg"))); // NOI18N
        jPanel5.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(-10, 0, 890, 490));

        jTabbedPane1.addTab("Turnos", jPanel5);

        getContentPane().add(jTabbedPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 60, 890, 520));

        jToolBar1.setBackground(new java.awt.Color(153, 153, 153));
        jToolBar1.setRollover(true);
        jToolBar1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
        jLabel1.setText("Fecha de Reporte Actual");
        jToolBar1.add(jLabel1);
        jToolBar1.add(jSeparator1);

        jComboBox2.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "11/11/2016" }));
        jToolBar1.add(jComboBox2);

        jButton8.setText("Cargar Datos");
        jButton8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton8ActionPerformed(evt);
            }
        });
        jToolBar1.add(jButton8);

        getContentPane().add(jToolBar1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 540, 30));

        jLabel10.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        jLabel10.setForeground(new java.awt.Color(204, 204, 204));
        jLabel10.setText("DIRECCIN DE FINANZAS Y ADMINITRACIN");
        getContentPane().add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 40, -1, 10));

        jLabel11.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel11.setForeground(new java.awt.Color(204, 204, 204));
        jLabel11.setText("GERENCIA SENIOR DE RECURSOS HUMANOS");
        getContentPane().add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 60, -1, 10));

        jButton2.setText("Salir");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
        getContentPane().add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(850, 590, -1, -1));

        jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gui/ImagTrabajadores/fondoNegro.jpg"))); // NOI18N
        getContentPane().add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 30, -1, 50));

        jMenu1.setText("Opciones");

        jMenuItem2.setText("Importar");
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        jMenu1.add(jMenuItem2);

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Reporte");

        jMenuItem1.setText("Ver Reporte");
        jMenu2.add(jMenuItem1);

        jMenuItem3.setText("Generar Reporte ");
        jMenu2.add(jMenuItem3);

        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    public ResultSet rs;
    public ResultSetMetaData rsm;
    public DefaultTableModel dtm;
    public DefaultTableModel dtm2;

    public void cargaBaja() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.tablaBajas.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "select Num_Empleado,Fecha_Baja,Costo_Finiquito, Indemnizacion, Prima_Antiguedad, Gratificacion, Total_Pagado_Separacion, Motivo_Baja, Volver_Contratar, Pendiente from bajas_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void cargaNoSin() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.tablaNoSin.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "SELECT d_sexo, count(d_sexo) from icave.fact_empleado where q_activo= 'SI' GROUP By d_sexo;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void cargaSin() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.tablaSin.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "select Num_Empleado,Fecha_Baja,Costo_Finiquito, Indemnizacion, Prima_Antiguedad, Gratificacion, Total_Pagado_Separacion, Motivo_Baja, Volver_Contratar, Pendiente from bajas_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void cargaControladores() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.tablaControladores.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "select Num_Empleado,Fecha_Baja,Costo_Finiquito, Indemnizacion, Prima_Antiguedad, Gratificacion, Total_Pagado_Separacion, Motivo_Baja, Volver_Contratar, Pendiente from bajas_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void cargaDistribucion() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.tablaDistri.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "select Num_Empleado,Fecha_Baja,Costo_Finiquito, Indemnizacion, Prima_Antiguedad, Gratificacion, Total_Pagado_Separacion, Motivo_Baja, Volver_Contratar, Pendiente from bajas_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void cargaSalario() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.salario.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void cargaAntiguedad() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.antiguedad.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "select Num_Empleado,Fecha_Baja,Costo_Finiquito, Indemnizacion, Prima_Antiguedad, Gratificacion, Total_Pagado_Separacion, Motivo_Baja, Volver_Contratar, Pendiente from bajas_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void cargaEdad() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.edad.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "select Num_Empleado,Fecha_Baja,Costo_Finiquito, Indemnizacion, Prima_Antiguedad, Gratificacion, Total_Pagado_Separacion, Motivo_Baja, Volver_Contratar, Pendiente from bajas_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void cargaTurnoSin() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.turnosin.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "select Num_Empleado,Fecha_Baja,Costo_Finiquito, Indemnizacion, Prima_Antiguedad, Gratificacion, Total_Pagado_Separacion, Motivo_Baja, Volver_Contratar, Pendiente from bajas_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void cargaturnosControl() {
        try {
            Database con = new Database();
            DefaultTableModel modelo = new DefaultTableModel();
            this.turnoCont.setModel(modelo);
            Connection conn = con.conectar();
            String sentencia = "select Num_Empleado,Fecha_Baja,Costo_Finiquito, Indemnizacion, Prima_Antiguedad, Gratificacion, Total_Pagado_Separacion, Motivo_Baja, Volver_Contratar, Pendiente from bajas_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            rs = pst.executeQuery();
            ResultSetMetaData rsMd = rs.getMetaData();
            //La cantidad de columnas que tiene la consulta
            int cantidadColumnas = rsMd.getColumnCount();
            //Establecer como cabezeras el nombre de las colimnas
            for (int i = 1; i <= cantidadColumnas; i++) {
                modelo.addColumn(rsMd.getColumnLabel(i));
            }
            //Creando las filas para el JTable
            while (rs.next()) {
                Object[] fila = new Object[cantidadColumnas];
                for (int i = 0; i < cantidadColumnas; i++) {
                    fila[i] = rs.getObject(i + 1);
                }
                modelo.addRow(fila);
            }
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }

    }

    public void GPNosin() {
        ChartPanel panel;
        JFreeChart chart = null;
        String m = "";
        String f = "";
        DefaultPieDataset datos = new DefaultPieDataset();
        dtm2 = (DefaultTableModel) tablaNoSin.getModel();
        f = tablaNoSin.getValueAt(0, 1).toString();
        m = tablaNoSin.getValueAt(1, 1).toString();
        datos.setValue("Masculino", Integer.parseInt(m));
        datos.setValue("Femenino", Integer.parseInt(f));
        chart = ChartFactory.createPieChart3D("Grafico No Sindicalizados", datos, true, true, true);
        panel = new ChartPanel(chart);
        panel.setBounds(5, 5, 350, 350);
        PastelNosin.setVisible(true);
        capas.setLayer(PastelNosin, 0, 0);
        PastelNosin.add(panel);
        PastelNosin.repaint();
    }

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        // TODO add your handling code here:
        System.exit(0);
    }//GEN-LAST:event_jButton2ActionPerformed

    private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton11ActionPerformed
        // TODO add your handling code here:
        DialogoImportar.dispose();
    }//GEN-LAST:event_jButton11ActionPerformed

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        // TODO add your handling code here:
        DialogoImportar.setVisible(true);
        DialogoImportar.pack();
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton7ActionPerformed
        // TODO add your handling code here:
        DialogoAbrirArchivo.showOpenDialog(Trabajadores.this);
        int resultado = DialogoAbrirArchivo.showOpenDialog(Trabajadores.this);
        if (resultado == 0) {
            File archivo = DialogoAbrirArchivo.getSelectedFile();
            String ruta = archivo.getAbsolutePath();
            campoRuta.setText(ruta);
        }
    }//GEN-LAST:event_jButton7ActionPerformed

    private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton12ActionPerformed
        //TODO add your handling code here:
        NoSindicalizados();
        Controladores();
        Sindicalizados();
        Bajas();
        Useicave();
        dimPuestoBajas();
        dimEmpleadoBajas();
        dimBajasDepartamento();
        dimPuestoControladores();
        NoSinArea();
        NoSinPuesto();
        NoSinBuHo();
        NoSinDepartamento();
        NoSinContrato();
        SinPuesto();
        BajasTemp();
        icave();
        UpdateBajas1();
        UpdateBajas2();
        UpdateControladores1();
        UpdateControladores2();
        UpdateSindicalizados();
        UpdateSindicalizados1();
        UpdateNoSindicalizados();
        UpdateNoSindicalizados1();
        UpdateId();
        UpdateId1();
        UpdateId2();
        UpdateId3();
        UpdateId4();
        UpdateId5();
        UpdateId6();
        UpdateId7();
        UpdateId8();
        UpdateId9();
        UpdateBajasTemp();
        UpdateTemp2();
        UpdateTemp3();
        UpdateTemp4();
        UpdateTemp5();
        UpdateTemp();
        UpdateTemp1();

    }//GEN-LAST:event_jButton12ActionPerformed

    public void UpdateTemp5() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.fact_empleado (id_num_empleado,id_departamento,id_puesto,id_tipo_empleado,id_tipo_contrato,id_tiempo,d_nombre,d_apellido_paterno,d_apellido_materno,d_salario_base,d_fecha_nacimiento,d_fecha_baja,d_costo_finiquito,d_indemnizacion,d_prima_antiguedad,d_gratificacion,d_t_pagado_separacion,d_motivo_baja,d_volver_contratar,d_pendiente,q_activo) select Num_Empleado,id_Departamento,id_Puesto,id_Tipo_empleado,id_Tipo_contrato,id_Tiempo,Nombre,Apellido_Paterno,Apellido_Materno,Salario_Base,Fecha_Antiguedad,Fecha_Baja,Costo_Finiquito,Indemnizacion,Prima_Antiguedad,Gratificacion,Total_Pagado_Separacion,Motivo_Baja,Volver_Contratar,Pendiente,q_activo from icave.bajas_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateBajasTemp() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update bajas_temp left join dim_tipo_contrato on bajas_temp.Tipo_Contrato = dim_tipo_contrato.d_tipo_contrato set bajas_temp.id_Tipo_contrato = dim_tipo_contrato.id_tipo_contrato;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateTemp() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update  icave.fact_empleado set q_edad = year(id_tiempo) - year (d_fecha_nacimiento);";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateTemp1() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update icave.fact_empleado set q_antiguedad_aos = year(id_tiempo) - year (d_fecha_antiguedad);";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update no_sindicalizado_temp left join dim_area on no_sindicalizado_temp.Area = dim_area.d_area set no_sindicalizado_temp.id_Area = dim_area.id_area;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void Useicave() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "use icave;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton8ActionPerformed
        // TODO add your handling code here:
        cargaBaja();
        cargaNoSin();
        GPNosin();
        cargaSin();
        cargaControladores();
        cargaDistribucion();
    }//GEN-LAST:event_jButton8ActionPerformed

    public void UpdateTemp2() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.fact_empleado (id_Bu,id_area,id_num_empleado,id_departamento,id_puesto,id_tipo_empleado,id_tipo_contrato,id_tiempo,d_nombre,d_apellido_paterno,d_apellido_materno,d_sexo,d_salario_base,d_fecha_antiguedad,d_fecha_nacimiento) select id_Bu,id_Area,Num_Empleado,id_Departamento,id_Puesto,id_Tipo_empleado,id_Tipo_contrato,id_Tiempo,Nombre,Apellido_Paterno,Apellido_Materno,Sexo,Salario_Base,Fecha_Antiguedad,Fecha_Nacimiento from no_sindicalizado_temp";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateTemp3() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.fact_empleado (id_num_empleado,id_puesto,id_tipo_empleado,id_tiempo,d_nombre,d_apellido_paterno,d_apellido_materno,d_sexo,d_fecha_nacimiento,d_1er_turno,d_2do_turno,d_3er_turno,d_t_turnos) select Num_Empleado,id_Puesto,id_Tipo_empleado,id_Tiempo,Nombre,Apellido_Paterno,Apellido_Materno,Sexo,Fecha_Nacimiento,1er_Turno,2do_Turno,3er_Turno,Total_Turnos from controladores_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateTemp4() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.fact_empleado (id_num_empleado,id_puesto,id_tipo_empleado,id_tiempo,d_nombre,d_apellido_paterno,d_apellido_materno,d_sexo,d_fecha_nacimiento,d_1er_turno,d_2do_turno,d_3er_turno,d_t_turnos) select Num_Empleado,id_Puesto,id_Tipo_empleado,id_Tiempo,Nombre,Apellido_Paterno,Apellido_Materno,Sexo,Fecha_Nacimiento,1er_Turno,2do_Turno,3er_Turno,Total_Turnos from sindicalizado_temp;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId1() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update no_sindicalizado_temp left join dim_bu on no_sindicalizado_temp.BU_Host = dim_bu.d_bu_host set no_sindicalizado_temp.id_Bu = dim_bu.id_bu;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId2() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update no_sindicalizado_temp left join dim_departamento on no_sindicalizado_temp.Departamento = dim_departamento.d_departamento set no_sindicalizado_temp.id_Departamento = dim_departamento.id_departamento;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId3() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update no_sindicalizado_temp left join dim_puesto on no_sindicalizado_temp.Puesto = dim_puesto.d_puesto set no_sindicalizado_temp.id_Puesto = dim_puesto.id_puesto;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId4() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update no_sindicalizado_temp left join dim_tipo_contrato on no_sindicalizado_temp.Tipo_Contrato = dim_tipo_contrato.d_tipo_contrato set no_sindicalizado_temp.id_Tipo_contrato = dim_tipo_contrato.id_tipo_contrato;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId5() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update sindicalizado_temp left join dim_puesto on sindicalizado_temp.Puesto = dim_puesto.d_puesto set sindicalizado_temp.id_Puesto = dim_puesto.id_puesto;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId6() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update controladores_temp left join dim_puesto on controladores_temp.Puesto = dim_puesto.d_puesto set controladores_temp.id_Puesto = dim_puesto.id_puesto;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId7() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update bajas_temp left join dim_puesto on bajas_temp.Puesto = dim_puesto.d_puesto set bajas_temp.id_Puesto = dim_puesto.id_puesto;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId8() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update bajas_temp left join dim_tipo_empleado on bajas_temp.Tipo_Empleado = dim_tipo_empleado.d_tipo_empleado set bajas_temp.id_Tipo_empleado = dim_tipo_empleado.id_tipo_empleado;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateId9() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update bajas_temp left join dim_departamento on bajas_temp.Departamento = dim_departamento.d_departamento set bajas_temp.id_Departamento = dim_departamento.id_departamento;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateBajas1() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update bajas_temp left join dim_tiempo on bajas_temp.Fecha_Reporte = dim_tiempo.d_fecha set bajas_temp.id_tiempo = dim_tiempo.id_fecha;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateBajas2() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update icave.bajas_temp set q_activo = 'NO';";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateControladores1() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update controladores_temp left join dim_tiempo on controladores_temp.Fecha_Reporte = dim_tiempo.d_fecha set controladores_temp.id_tiempo = dim_tiempo.id_fecha;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateControladores2() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update controladores_temp set id_tipo_empleado = 1;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateSindicalizados() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update sindicalizado_temp left join dim_tiempo on sindicalizado_temp.Fecha_Reporte = dim_tiempo.d_fecha set sindicalizado_temp.id_tiempo = dim_tiempo.id_fecha;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateSindicalizados1() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update sindicalizado_temp set id_tipo_empleado = 3;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateNoSindicalizados() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update no_sindicalizado_temp left join dim_tiempo on no_sindicalizado_temp.Fecha_Reporte = dim_tiempo.d_fecha set no_sindicalizado_temp.id_tiempo = dim_tiempo.id_fecha;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void UpdateNoSindicalizados1() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "update no_sindicalizado_temp set id_tipo_empleado = 2;";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void NoSindicalizados() {
        String ruta = campoRuta.getText();
        int cont = 0;
        if (ruta != "") {
            try {
                Workbook archivoExcel = Workbook.getWorkbook(new File(ruta));
                Sheet hoja = archivoExcel.getSheet(0);
                int numColm = hoja.getColumns();
                int numFila = hoja.getRows();
                String dato = null;

                for (int fila = 1; fila < numFila; fila++) {
                    cont = 0;
                    for (int columna = 0; columna < numColm; columna++) {
                        dato = hoja.getCell(columna, fila).getContents();
                        System.out.println(dato + " ");
                        switch (cont) {
                        case 0:
                            BU_Home = dato;
                            cont++;
                            break;
                        case 1:
                            BU_Host = dato;
                            cont++;
                            break;
                        case 2:
                            Gen = dato;
                            cont++;
                            break;
                        case 3:
                            Area = dato;
                            cont++;
                            break;
                        case 4:
                            Departamento = dato;
                            cont++;
                            break;
                        case 5:
                            Num_Empleado = dato;
                            cont++;
                            break;
                        case 6:
                            Fecha_Antiguedad = dato;
                            cont++;
                            break;
                        case 7:
                            Nombre = dato;
                            cont++;
                            break;
                        case 8:
                            Apellido_Paterno = dato;
                            cont++;
                            break;
                        case 9:
                            Apellido_Materno = dato;
                            cont++;
                            break;
                        case 10:
                            Sexo = dato;
                            cont++;
                            break;
                        case 11:
                            Fecha_Nacimiento = dato;
                            cont++;
                            break;
                        case 12:
                            Puesto = dato;
                            cont++;
                            break;
                        case 13:
                            Tipo_Contrato = dato;
                            cont++;
                            break;
                        case 14:
                            Salario_Base = dato;
                            cont++;
                            break;
                        case 15:
                            Fecha_Reporte = dato;
                            cont++;
                            break;
                        }
                    }
                    System.out.println("\n");
                    Database con = new Database();
                    Connection conn = con.conectar();
                    String sentencia = "insert into no_sindicalizado_temp(`BU_Home`, `BU_Host`, `Gen_Local`, `Area`,`Departamento`,`Num_Empleado`,`Fecha_Antiguedad`,`Nombre`,`Apellido_Paterno`,`Apellido_Materno`,`Sexo`,`Fecha_Nacimiento`,`Puesto`,`Tipo_Contrato`,`Salario_Base`,`Fecha_Reporte`) values ('"
                            + BU_Home + "','" + BU_Host + "','" + Integer.parseInt(Gen) + "','" + Area + "','"
                            + Departamento + "','" + Integer.parseInt(Num_Empleado) + "','" + Fecha_Antiguedad
                            + "','" + Nombre + "','" + Apellido_Paterno + "','" + Apellido_Materno + "','" + Sexo
                            + "','" + Fecha_Nacimiento + "','" + Puesto + "','" + Tipo_Contrato + "','"
                            + Float.parseFloat(Salario_Base) + "',NOW())";
                    PreparedStatement pst = conn.prepareStatement(sentencia);
                    pst.executeUpdate();
                    con.CerrarConexion();
                }

            } catch (Exception ioe) {
                ioe.printStackTrace();
            }
        }
    }

    public void Sindicalizados() {
        String ruta = campoRuta.getText();
        int cont = 0;
        if (ruta != "") {
            try {
                Workbook archivoExcel = Workbook.getWorkbook(new File(ruta));
                Sheet hoja = archivoExcel.getSheet(2);
                int numColm = hoja.getColumns();
                int numFila = hoja.getRows();
                String dato = null;

                for (int fila = 1; fila < numFila; fila++) {
                    cont = 0;
                    for (int columna = 0; columna < numColm; columna++) {
                        dato = hoja.getCell(columna, fila).getContents();
                        System.out.println(dato + " ");
                        switch (cont) {
                        case 0:
                            Num_Empleado2 = dato;
                            cont++;
                            break;
                        case 1:
                            Nombre2 = dato;
                            cont++;
                            break;
                        case 2:
                            Apellido_Paterno2 = dato;
                            cont++;
                            break;
                        case 3:
                            Apellido_Materno2 = dato;
                            cont++;
                            break;
                        case 4:
                            Puesto2 = dato;
                            cont++;
                            break;
                        case 5:
                            Sexo2 = dato;
                            cont++;
                            break;
                        case 6:
                            Fecha_Nacimiento2 = dato;
                            cont++;
                            break;
                        case 7:
                            P1_Turno = dato;
                            cont++;
                            break;
                        case 8:
                            P2_Turno = dato;
                            cont++;
                            break;
                        case 9:
                            P3_Turno = dato;
                            cont++;
                            break;
                        case 10:
                            Total_Turnos2 = dato;
                            cont++;
                            break;
                        case 11:
                            Fecha_Reporte2 = dato;
                            cont++;
                            break;
                        }
                    }
                    System.out.println("\n");
                    Database con = new Database();
                    Connection conn = con.conectar();
                    String sentencia = "insert into sindicalizado_temp(`Num_Empleado`, `Nombre`, `Apellido_Paterno`, `Apellido_Materno`,`Puesto`,`Sexo`,`Fecha_Nacimiento`,`1er_Turno`,`2do_Turno`,`3er_Turno`,`Total_Turnos`,`Fecha_Reporte`) values ('"
                            + Integer.parseInt(Num_Empleado2) + "','" + Nombre2 + "','" + Apellido_Paterno2 + "','"
                            + Apellido_Materno2 + "','" + Puesto2 + "','" + Sexo2 + "','" + Fecha_Nacimiento2
                            + "','" + Integer.parseInt(P1_Turno) + "','" + Integer.parseInt(P2_Turno) + "','"
                            + Integer.parseInt(P3_Turno) + "','" + Integer.parseInt(Total_Turnos2) + "',NOW())";
                    PreparedStatement pst = conn.prepareStatement(sentencia);
                    pst.executeUpdate();
                    con.CerrarConexion();
                }

            } catch (Exception ioe) {
                ioe.printStackTrace();
            }
        }

    }

    public void icave() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "INSERT into icave.dim_departamento (d_departamento) select Departamento from bajas_temp where trim(Departamento) not in (select trim(d_departamento) from dim_departamento) group by Departamento";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void BajasTemp() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_tipo_contrato (d_tipo_contrato) select Tipo_Contrato from bajas_temp where trim(Tipo_Contrato) not in (select trim(d_tipo_contrato) from dim_tipo_contrato) group by Tipo_Contrato";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void NoSinArea() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_area (d_area) select Area from no_sindicalizado_temp where trim(Area) not in (select trim(d_area) from dim_area) group by Area";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void SinPuesto() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_puesto (d_puesto) select Puesto from sindicalizado_temp where trim(Puesto) not in (select trim(d_puesto) from dim_puesto) group by Puesto";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void NoSinPuesto() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_puesto (d_puesto) select Puesto from no_sindicalizado_temp where trim(Puesto) not in (select trim(d_puesto) from dim_puesto) group by Puesto";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void NoSinBuHo() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_bu (d_bu_host) select BU_Host from no_sindicalizado_temp where trim(BU_Host) not in (select trim(d_bu_host) from dim_bu) group by BU_Host";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void NoSinDepartamento() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_departamento (d_departamento) select Departamento from no_sindicalizado_temp where trim(Departamento) not in (select trim(d_departamento) from dim_departamento) group by Departamento";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void NoSinContrato() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_tipo_contrato  (d_tipo_contrato) select Tipo_Contrato from no_sindicalizado_temp where trim(Tipo_Contrato) not in (select trim(d_tipo_contrato) from dim_tipo_contrato)group by Tipo_Contrato";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void dimPuestoBajas() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_puesto (d_puesto) select Puesto from bajas_temp where trim(Puesto) not in (select trim(d_puesto) from dim_puesto) group by Puesto";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void dimPuestoControladores() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_puesto (d_puesto) select Puesto from bajas_temp where trim(Puesto) not in (select trim(d_puesto) from dim_puesto) group by Puesto";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void dimBajasDepartamento() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_departamento (d_departamento) select Departamento from bajas_temp where trim(Departamento) not in (select trim(d_departamento) from dim_departamento) group by Departamento";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void dimEmpleadoBajas() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "insert into icave.dim_tipo_empleado (d_tipo_empleado) select Tipo_Empleado from bajas_temp where trim(Tipo_Empleado) not in (select trim(d_tipo_empleado) from dim_tipo_empleado) group by Tipo_Empleado";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    public void Controladores() {
        String ruta = campoRuta.getText();
        int cont = 0;
        if (ruta != "") {
            try {
                Workbook archivoExcel = Workbook.getWorkbook(new File(ruta));
                Sheet hoja = archivoExcel.getSheet(1);
                int numColm = hoja.getColumns();
                int numFila = hoja.getRows();
                String dato = null;

                for (int fila = 1; fila < numFila; fila++) {
                    cont = 0;
                    for (int columna = 0; columna < numColm; columna++) {
                        dato = hoja.getCell(columna, fila).getContents();
                        System.out.println(dato + " ");
                        switch (cont) {
                        case 0:
                            Num_Empleado1 = dato;
                            cont++;
                            break;
                        case 1:
                            Nombre1 = dato;
                            cont++;
                            break;
                        case 2:
                            Apellido_Paterno1 = dato;
                            cont++;
                            break;
                        case 3:
                            Apellido_Materno1 = dato;
                            cont++;
                            break;
                        case 4:
                            Puesto1 = dato;
                            cont++;
                            break;
                        case 5:
                            Sexo1 = dato;
                            cont++;
                            break;
                        case 6:
                            Fecha_Nacimiento1 = dato;
                            cont++;
                            break;
                        case 7:
                            Primer_Turno = dato;
                            cont++;
                            break;
                        case 8:
                            Segundo_Turno = dato;
                            cont++;
                            break;
                        case 9:
                            Tercer_Turno = dato;
                            cont++;
                            break;
                        case 10:
                            Total_Turnos = dato;
                            cont++;
                            break;
                        case 11:
                            Fecha_Reporte1 = dato;
                            cont++;
                            break;
                        }
                    }
                    System.out.println("\n");
                    Database con = new Database();
                    Connection conn = con.conectar();
                    String sentencia = "insert into controladores_temp(`Num_Empleado`, `Nombre`, `Apellido_Paterno`, `Apellido_Materno`,`Puesto`,`Sexo`,`Fecha_Nacimiento`,`1er_Turno`,`2do_Turno`,`3er_Turno`,`Total_Turnos`,`Fecha_Reporte`) values ('"
                            + Integer.parseInt(Num_Empleado1) + "','" + Nombre1 + "','" + Apellido_Paterno1 + "','"
                            + Apellido_Materno1 + "','" + Puesto1 + "','" + Sexo1 + "','" + Fecha_Nacimiento1
                            + "','" + Integer.parseInt(Primer_Turno) + "','" + Integer.parseInt(Segundo_Turno)
                            + "','" + Integer.parseInt(Tercer_Turno) + "','" + Integer.parseInt(Total_Turnos)
                            + "',NOW())";
                    PreparedStatement pst = conn.prepareStatement(sentencia);
                    pst.executeUpdate();
                    con.CerrarConexion();
                }

            } catch (Exception ioe) {
                ioe.printStackTrace();
            }
        }
    }

    public void Bajas() {

        String ruta = campoRuta.getText();
        int cont = 0;
        if (ruta != "") {
            try {
                Workbook archivoExcel = Workbook.getWorkbook(new File(ruta));
                Sheet hoja = archivoExcel.getSheet(3);
                int numColm = hoja.getColumns();
                int numFila = hoja.getRows();
                String dato = null;

                for (int fila = 1; fila < numFila; fila++) {
                    cont = 0;
                    for (int columna = 0; columna < numColm; columna++) {
                        dato = hoja.getCell(columna, fila).getContents();
                        System.out.println(dato + " ");
                        switch (cont) {
                        case 0:
                            Tipo_Empleado = dato;
                            cont++;
                            break;
                        case 1:
                            Departamento2 = dato;
                            cont++;
                            break;
                        case 2:
                            Num_Empleado3 = dato;
                            cont++;
                            break;
                        case 3:
                            Fecha_Antiguedad2 = dato;
                            cont++;
                            break;
                        case 4:
                            Nombre3 = dato;
                            cont++;
                            break;
                        case 5:
                            Apellido_Paterno3 = dato;
                            cont++;
                            break;
                        case 6:
                            Apellido_Materno3 = dato;
                            cont++;
                            break;
                        case 7:
                            Puesto3 = dato;
                            cont++;
                            break;
                        case 8:
                            Tipo_Contrato2 = dato;
                            cont++;
                            break;
                        case 9:
                            Salario_Base2 = dato;
                            cont++;
                            break;
                        case 10:
                            Fecha_Baja = dato;
                            cont++;
                            break;
                        case 11:
                            Costo_Finiquito = dato;
                            cont++;
                            break;
                        case 12:
                            Indemnizacion = dato;
                            cont++;
                            break;
                        case 13:
                            Prima_Antiguedad = dato;
                            cont++;
                            break;
                        case 14:
                            Gratificacion = dato;
                            cont++;
                            break;
                        case 15:
                            Total_Pagado_Separacion = dato;
                            cont++;
                            break;
                        case 16:
                            Motivo_Baja = dato;
                            cont++;
                            break;
                        case 17:
                            Volver_Contratar = dato;
                            cont++;
                            break;
                        case 18:
                            Pendiente = dato;
                            cont++;
                            break;
                        case 19:
                            Fecha_Reporte3 = dato;
                            cont++;
                            break;

                        }
                    }
                    System.out.println("\n");
                    Database con = new Database();
                    Connection conn = con.conectar();
                    String sentencia = "insert into bajas_temp(`Tipo_Empleado`, `Departamento`,`Num_Empleado`,`Fecha_Antiguedad`,`Nombre`, `Apellido_Paterno`,`Apellido_Materno`,`Puesto`,`Tipo_Contrato`,`Salario_Base`,`Fecha_Baja`,`Costo_Finiquito`,`Indemnizacion`,`Prima_Antiguedad`,`Gratificacion`,`Total_Pagado_Separacion`,`Motivo_Baja`,`Volver_Contratar`,`Pendiente`,`Fecha_Reporte` ) values ('"
                            + Tipo_Empleado + "','" + Departamento2 + "','" + Num_Empleado3 + "','"
                            + Fecha_Antiguedad2 + "','" + Nombre3 + "', '" + Apellido_Paterno3 + "', '"
                            + Apellido_Materno3 + "','" + Puesto3 + "','" + Tipo_Contrato2 + "','" + Salario_Base2
                            + "','" + Fecha_Baja + "','" + Costo_Finiquito + "','" + Indemnizacion + "','"
                            + Prima_Antiguedad + "','" + Gratificacion + "','" + Total_Pagado_Separacion + "','"
                            + Motivo_Baja + "','" + Volver_Contratar + "','" + Pendiente + "',NOW())";
                    PreparedStatement pst = conn.prepareStatement(sentencia);
                    pst.executeUpdate();
                    con.CerrarConexion();
                }

            } catch (Exception ioe) {
                ioe.printStackTrace();
            }
        }
    }

    public void Fecha() {
        try {
            Database con = new Database();
            Connection conn = con.conectar();
            String sentencia = "";
            PreparedStatement pst = conn.prepareStatement(sentencia);
            pst.executeUpdate();
            con.CerrarConexion();
        } catch (Exception ioe) {
            ioe.printStackTrace();
        }
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Trabajadores.class.getName()).log(java.util.logging.Level.SEVERE,
                    null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Trabajadores.class.getName()).log(java.util.logging.Level.SEVERE,
                    null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Trabajadores.class.getName()).log(java.util.logging.Level.SEVERE,
                    null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Trabajadores.class.getName()).log(java.util.logging.Level.SEVERE,
                    null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Trabajadores().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JFileChooser DialogoAbrirArchivo;
    private javax.swing.JDialog DialogoImportar;
    private javax.swing.JPanel PastelNosin;
    private javax.swing.JTable antiguedad;
    private javax.swing.JTextField campoRuta;
    private javax.swing.JLayeredPane capas;
    private javax.swing.JTable edad;
    private javax.swing.JButton jButton10;
    private javax.swing.JButton jButton11;
    private javax.swing.JButton jButton12;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton7;
    private javax.swing.JButton jButton8;
    private javax.swing.JComboBox<String> jComboBox2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel19;
    private javax.swing.JLabel jLabel20;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel23;
    private javax.swing.JLabel jLabel24;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JPanel jPanel10;
    private javax.swing.JPanel jPanel14;
    private javax.swing.JPanel jPanel16;
    private javax.swing.JPanel jPanel18;
    private javax.swing.JPanel jPanel19;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel20;
    private javax.swing.JPanel jPanel21;
    private javax.swing.JPanel jPanel22;
    private javax.swing.JPanel jPanel23;
    private javax.swing.JPanel jPanel24;
    private javax.swing.JPanel jPanel25;
    private javax.swing.JPanel jPanel26;
    private javax.swing.JPanel jPanel29;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JPanel jPanel7;
    private javax.swing.JPanel jPanel8;
    private javax.swing.JPanel jPanel9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane12;
    private javax.swing.JScrollPane jScrollPane15;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JScrollPane jScrollPane9;
    private javax.swing.JToolBar.Separator jSeparator1;
    private javax.swing.JSeparator jSeparator3;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTabbedPane jTabbedPane3;
    private javax.swing.JTabbedPane jTabbedPane4;
    private javax.swing.JToolBar jToolBar1;
    private javax.swing.JTable salario;
    private javax.swing.JScrollPane scroll1;
    private javax.swing.JScrollPane tablaBaja;
    private javax.swing.JTable tablaBajas;
    private javax.swing.JTable tablaControladores;
    private javax.swing.JTable tablaDistri;
    private javax.swing.JTable tablaNoSin;
    private javax.swing.JTable tablaSin;
    private javax.swing.JTable turnoCont;
    private javax.swing.JTable turnosin;
    // End of variables declaration//GEN-END:variables
}