Package Control

Source Code of Control.ReportesC

package Control;

import DAO.CiudadDAO;
import DAO.Registro_invDAO;
import DAO.UsuarioDAO;
import java.awt.Color;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.JasperViewer;

/**
*  <p style="margin-top: 0">
*    Clase que controla las operaciones m&#225;s importantes en la generaci&#243;n de
*    los reportes de puntos otorgados, cantidad de puntos canjeados y general.
*      </p>
*/
// <editor-fold defaultstate="collapsed" desc=" UML Marker ">
// #[regen=yes,id=DCE.76E2F64B-A78E-0F95-052D-08CA26DF7522]
// </editor-fold>
public class ReportesC {

    private static final String JASPER_REP_PREM_EST = "src/Reportes/ReportePremioEstacion.jasper";
    private static final String JASPER_REP_INV = "src/Reportes/ReporteInventario.jasper";
    private static final String JASPER_REP_PUN_EST="src/Reportes/ReportePuntosEst.jasper";
    UsuarioDAO usdao = Login.usuariodao;
    Registro_invDAO regdao = Login.regdao;
    CiudadDAO ciudaddao = Login.ciudaddao;

    private Connection conectar() {
        Connection con = null;
        try {
            Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(ReportesC.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            con = DriverManager.getConnection("jdbc:derby:ppgdb;create=true", "admin", "admin");
        } catch (SQLException ex) {
            Logger.getLogger(ReportesC.class.getName()).log(Level.SEVERE, null, ex);
        }
        return con;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
    // #[regen=yes,id=DCE.556CA207-830C-A0D5-F1D9-9FB7ED3CFCB3]
    // </editor-fold>
    public ReportesC() {
    }

    public DefaultComboBoxModel combodatos(String nomCiudad) {
        DefaultComboBoxModel datosCB = new DefaultComboBoxModel();
        Connection con = conectar();
        Statement stmt = null;
        ResultSet rs = null;
        int i = 1;
        String cons = "SELECT ESTACIONES.NOMB_ESTACION from CIUDAD, " + "CIUDAD_ESTACIONES, ESTACIONES WHERE " + "CIUDAD.ID=CIUDAD_ESTACIONES.CIUDAD_ID and " + "ESTACIONES.SIGLA=CIUDAD_ESTACIONES.MESTACIONES_SIGLA and " + "CIUDAD.NOMBRECITY='" + nomCiudad + "'";
        try {
            stmt = con.createStatement();
            rs = stmt.executeQuery(cons);
            while (rs.next()) {
                datosCB.addElement(rs.getString(1));
            }
            con.close();
        } catch (SQLException ex) {
            Logger.getLogger(ReportesC.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            return datosCB;
        }
    }

    public DefaultTableModel genRepEst(String nombreCiudad, String nombreEstacion) {
        DefaultTableModel tabla = new DefaultTableModel();
        tabla.addColumn("Premio");
        tabla.addColumn("Disponibles");
        tabla.addColumn("Entregados");
        Connection con = conectar();
        Statement stmt = null;
        ResultSet rs = null;
        Object[] fila = new Object[3];

        String prem_est = "CREATE VIEW PREM_EST AS (SELECT PREMIOS.NOMBRE, " + "PREMIOS.CANTIDAD FROM PREMIOS, ESTACIONES_PREMIOS, ESTACIONES " + "where PREMIOS.ID=ESTACIONES_PREMIOS.PREMIOS_ID and " + "ESTACIONES.SIGLA=ESTACIONES_PREMIOS.ESTACIONES_SIGLA and " + "ESTACIONES.NOMB_ESTACION='" + nombreEstacion + "')";
        String reg_est = "CREATE VIEW REG_EST AS(SELECT CANJES.PREMIO, " + "SUM(CANJES.CANTIDAD) AS ENTREGADOS FROM CANJES WHERE CANJES.BOMBA='" + nombreEstacion + "' GROUP BY CANJES.PREMIO)";
        String cons = "SELECT PREM_EST.NOMBRE, PREM_EST.CANTIDAD, " + "REG_EST.ENTREGADOS FROM PREM_EST LEFT OUTER JOIN REG_EST ON " + "PREM_EST.NOMBRE = REG_EST.PREMIO";
        String borra_prem_est = "DROP VIEW PREM_EST";
        String borra_reg_est = "DROP VIEW REG_EST";
        try {
            stmt = con.createStatement();
            stmt.executeUpdate(prem_est);
            stmt.executeUpdate(reg_est);
            rs = stmt.executeQuery(cons);
            while (rs.next()) {
                fila[0] = rs.getString(1);
                fila[1] = rs.getInt(2);
                fila[2] = rs.getInt(3);
                tabla.addRow(fila);
            }
            stmt.executeUpdate(borra_prem_est);
            stmt.executeUpdate(borra_reg_est);
            con.close();
        } catch (SQLException ex) {
            Logger.getLogger(ReportesC.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null, "No se pudo efectuar la consulta.\n" + ex, "Error", JOptionPane.ERROR_MESSAGE);
        } finally {
            return tabla;
        }

    }

    public DefaultTableModel genRepInv(String nomCiudad) {
        DefaultTableModel tabla = new DefaultTableModel();
        Connection con = conectar();
        ResultSet rs = null;
        Statement stmt = null;
        Object[] fila = new Object[14];

        tabla.addColumn("Fecha");
        tabla.addColumn("Administrador");
        tabla.addColumn("Estación");
        tabla.addColumn("Operación");
        tabla.addColumn("BComb");
        tabla.addColumn("BCons");
        tabla.addColumn("CPerro");
        tabla.addColumn("DAceite");
        tabla.addColumn("Dllanta");
        tabla.addColumn("LavBus");
        tabla.addColumn("LavCam");
        tabla.addColumn("LavCar");
        tabla.addColumn("LavMot");
        tabla.addColumn("RecCel");
        String inv = "CREATE VIEW INV AS(SELECT REGISTRO_INV.FECHA, REGISTRO_INV.NOMBREUSER, REGISTRO_INV.NOMBREESTACION, REGISTRO_INV.OPERACION, REGISTRO_INV.BONOCOMBUSTIBLE, REGISTRO_INV.BONOCONSUMO50MIL, REGISTRO_INV.CPERRO, REGISTRO_INV.DESACEITE, REGISTRO_INV.DESC4LLANTAS, REGISTRO_INV.LAVADABUSETA, REGISTRO_INV.LAVADACAMIONETA, REGISTRO_INV.LAVADACARRO, REGISTRO_INV.LAVADOMOTO, REGISTRO_INV.REACARGACEL, CIUDAD.NOMBRECITY FROM REGISTRO_INV, CIUDAD WHERE REGISTRO_INV.NOMBRECIUDAD=CIUDAD.NOMBRECITY and NOMBRECITY='" + nomCiudad + "')";
        String cons = "SELECT * FROM INV";
        String drop_inv = "DROP VIEW INV";
        try {
            stmt = con.createStatement();
            stmt.executeUpdate(inv);
            rs = stmt.executeQuery(cons);
            while (rs.next()) {
                fila[0] = rs.getString(1);
                fila[1] = rs.getString(2);
                fila[2] = rs.getString(3);
                fila[3] = rs.getString(4);
                fila[4] = rs.getInt(5);
                fila[5] = rs.getInt(6);
                fila[6] = rs.getInt(7);
                fila[7] = rs.getInt(8);
                fila[8] = rs.getInt(9);
                fila[9] = rs.getInt(10);
                fila[10] = rs.getInt(11);
                fila[11] = rs.getInt(12);
                fila[12] = rs.getInt(13);
                fila[13] = rs.getInt(14);
                tabla.addRow(fila);
            }
            stmt.executeUpdate(drop_inv);
            con.close();
        } catch (SQLException ex) {
            Logger.getLogger(ReportesC.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            return tabla;
        }
    }

    public DefaultTableModel genRepPunEst(String nomCiudad) {
        DefaultTableModel tabla = new DefaultTableModel();
        Connection con = conectar();
        ResultSet rs = null;
        Statement stmt = null;
        Object[] fila = new Object[2];
        String punt_prem = "CREATE VIEW PUNT_PREM AS (SELECT ESTACIONES.NOMB_ESTACION, " +
                "(CANJES.CANTIDAD*PREMIOS.PUNTOS) AS TOTAL FROM ESTACIONES, CANJES, " +
                "PREMIOS, ESTACIONES_PREMIOS WHERE ESTACIONES.NOMB_ESTACION=CANJES.BOMBA " +
                "AND PREMIOS.NOMBRE=CANJES.PREMIO AND PREMIOS.ID=ESTACIONES_PREMIOS.PREMIOS_ID" +
                " AND ESTACIONES.SIGLA=ESTACIONES_PREMIOS.ESTACIONES_SIGLA AND CANJES.CIUDAD='" + nomCiudad + "')";
        String cons = "SELECT NOMB_ESTACION, SUM(TOTAL) AS PUNTOS FROM PUNT_PREM GROUP BY NOMB_ESTACION";
        String drop = "DROP VIEW PUNT_PREM";
        tabla.addColumn("Estación");
        tabla.addColumn("Puntos entregados");
        try {
            stmt = con.createStatement();
            stmt.executeUpdate(punt_prem);
            rs = stmt.executeQuery(cons);
            while (rs.next()) {
                fila[0] = rs.getString(1);
                fila[1] = rs.getInt(2);
                tabla.addRow(fila);
            }
            stmt.executeUpdate(drop);
            con.close();
        } catch (SQLException ex) {
            Logger.getLogger(ReportesC.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            return tabla;
        }
    }

    public void impRepEst(String est, JLabel label) {
        Connection con = conectar();
        Statement stmt = null;
        String vista1 = "CREATE VIEW PREM_EST AS (SELECT PREMIOS.NOMBRE, " +
                "PREMIOS.CANTIDAD, CIUDAD.NOMBRECITY, ESTACIONES.NOMB_ESTACION " +
                "FROM CIUDAD, CIUDAD_ESTACIONES, PREMIOS, ESTACIONES_PREMIOS, " +
                "ESTACIONES  where PREMIOS.ID=ESTACIONES_PREMIOS.PREMIOS_ID and " +
                "ESTACIONES.SIGLA=ESTACIONES_PREMIOS.ESTACIONES_SIGLA and " +
                "CIUDAD.ID=CIUDAD_ESTACIONES.CIUDAD_ID and " +
                "ESTACIONES.SIGLA=CIUDAD_ESTACIONES.MESTACIONES_SIGLA and " +
                "ESTACIONES.NOMB_ESTACION='" + est + "')";
        String vista2 = "CREATE VIEW REG_EST AS(SELECT CANJES.PREMIO, SUM(CANJES.CANTIDAD)" +
                " AS ENTREGADOS FROM CANJES WHERE CANJES.BOMBA='"+est+"' GROUP BY CANJES.PREMIO)";
        String drop1 = "DROP VIEW PREM_EST";
        String drop2 = "DROP VIEW REG_EST";
        try {
            stmt = con.createStatement();
            stmt.executeUpdate(vista1);
            stmt.executeUpdate(vista2);
            JasperPrint print = JasperFillManager.fillReport(JASPER_REP_PREM_EST, null, con);
            JasperViewer viewer = new JasperViewer(print, false);
            viewer.setVisible(true);
            stmt.executeUpdate(drop1);
            stmt.executeUpdate(drop2);
            con.close();
            label.setForeground(Color.green);
            label.setText("Generación del reporte exitosa");
        } catch (SQLException ex) {
            Logger.getLogger(ReportesC.class.getName()).log(Level.SEVERE, null, ex);
            label.setForeground(Color.red);
            label.setText("Generación del archivo fallida");
            JOptionPane.showMessageDialog(null, "Hubo problemas al guardar el reporte\n" +
                    ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        } catch (JRException ex) {
            ex.printStackTrace();
            label.setForeground(Color.red);
            label.setText("Generación del archivo fallida");
            JOptionPane.showMessageDialog(null, "Hubo problemas al guardar el reporte\n" +
                    ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    public void impRepInv(String ciudad, JLabel label) {
        Connection con = conectar();
        Statement stmt = null;
        String vista1 = "CREATE VIEW INV AS (SELECT REGISTRO_INV.FECHA, " +
                "REGISTRO_INV.NOMBREUSER, REGISTRO_INV.NOMBREESTACION, " +
                "REGISTRO_INV.OPERACION, REGISTRO_INV.BONOCOMBUSTIBLE, " +
                "REGISTRO_INV.BONOCONSUMO50MIL, REGISTRO_INV.CPERRO, " +
                "REGISTRO_INV.DESACEITE, REGISTRO_INV.DESC4LLANTAS, " +
                "REGISTRO_INV.LAVADABUSETA, REGISTRO_INV.LAVADACAMIONETA, " +
                "REGISTRO_INV.LAVADACARRO, REGISTRO_INV.LAVADOMOTO, " +
                "REGISTRO_INV.REACARGACEL, CIUDAD.NOMBRECITY FROM REGISTRO_INV, " +
                "CIUDAD WHERE REGISTRO_INV.NOMBRECIUDAD=CIUDAD.NOMBRECITY and NOMBRECITY='" + ciudad + "')";
        String drop1 = "DROP VIEW INV";
        try {
            stmt = con.createStatement();
            stmt.executeUpdate(vista1);
            JasperPrint print = JasperFillManager.fillReport(JASPER_REP_INV, null, con);
            JasperViewer viewer = new JasperViewer(print, false);
            viewer.setVisible(true);
            stmt.executeUpdate(drop1);
            con.close();
            label.setForeground(Color.green);
            label.setText("Generación del reporte exitosa");
        } catch (SQLException ex) {
            Logger.getLogger(ReportesC.class.getName()).log(Level.SEVERE, null, ex);
            label.setForeground(Color.red);
            label.setText("Generación del archivo fallida");
            JOptionPane.showMessageDialog(null, "Hubo problemas al guardar el reporte\n" +
                    ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        } catch (JRException ex) {
            ex.printStackTrace();
            label.setForeground(Color.red);
            label.setText("Generación del archivo fallida");
            JOptionPane.showMessageDialog(null, "Hubo problemas al guardar el reporte\n" +
                    ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    public void impRepPunEst(String ciudad, JLabel label) {
        Connection con = conectar();
        Statement stmt = null;
        String vista1 = "CREATE VIEW PUNT_PREM AS (SELECT ESTACIONES.NOMB_ESTACION,"+
                " (CANJES.CANTIDAD*PREMIOS.PUNTOS) AS TOTAL, CANJES.CIUDAD FROM "+
                "ESTACIONES, CANJES, PREMIOS, ESTACIONES_PREMIOS WHERE "+
                "ESTACIONES.NOMB_ESTACION=CANJES.BOMBA AND PREMIOS.NOMBRE=CANJES.PREMIO"+
                " AND PREMIOS.ID=ESTACIONES_PREMIOS.PREMIOS_ID AND "+
                "ESTACIONES.SIGLA=ESTACIONES_PREMIOS.ESTACIONES_SIGLA AND "+
                "CANJES.CIUDAD='"+ciudad+"')";
        String drop1 = "DROP VIEW PUNT_PREM";
        try {
            stmt = con.createStatement();
            stmt.executeUpdate(vista1);
            JasperPrint print = JasperFillManager.fillReport(JASPER_REP_PUN_EST, null, con);
            JasperViewer viewer = new JasperViewer(print, false);
            viewer.setVisible(true);
            stmt.executeUpdate(drop1);
            con.close();
            label.setForeground(Color.green);
            label.setText("Generación del reporte exitosa");
        } catch (SQLException ex) {
            Logger.getLogger(ReportesC.class.getName()).log(Level.SEVERE, null, ex);
            label.setForeground(Color.red);
            label.setText("Generación del archivo fallida");
            JOptionPane.showMessageDialog(null, "Hubo problemas al guardar el reporte\n" +
                    ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        } catch (JRException ex) {
            ex.printStackTrace();
            label.setForeground(Color.red);
            label.setText("Generación del archivo fallida");
            JOptionPane.showMessageDialog(null, "Hubo problemas al guardar el reporte\n" +
                    ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }
}
TOP

Related Classes of Control.ReportesC

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.