/*
* PrintGafete.java
*
* Created on 25 de enero de 2008, 09:32 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package gafetes.print;
import gafetes.db.*;
import gafetes.util.VariablesAmbiente;
import java.io.*;
//import gafetes.db.*;
import java.net.URL;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine .*;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
import org.apache.commons.logging.Log;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.*;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.engine.export.*;
public class PrintGafete {
public PrintGafete() {
}
public java.sql.Connection getConnection( )
{
Connection conn=null;
try{
conn = ConnectionFactory.getConnection();
}catch(java.sql.SQLException ex){
conn = null;
}
return conn;
}
public void print(gafetes.beans.Empleado e, boolean frente) {
java.util.Calendar cal = java.util.Calendar.getInstance();
java.sql.Date fecha = new java.sql.Date( cal.getTime().getTime() );
int year = cal.get(java.util.Calendar.YEAR);
int year2 = year + 1;
String vigencia = year + " - " + year2;
URL urlMaestro = null;
String ruta = gafetes.business.SqlHelper.getRutaTemplate(e.getTemplate(),frente);
/* Modificado por: Juan Carlos Alafita Caballero
Desactivamos la extraccion por URL con getClass, lo obtendremos como archivo*/
//URL urlMaestro = getClass().getResource("/gafetes/reports/firmas.jasper");
/*urlMaestro = getClass().getResource( "/gafetes/reports/"+ruta);
if (urlMaestro == null) {
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame(),
"No se encontr� el archivo del reporte maestro.", "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
}*/
//JasperReport jasperReport = (JasperReport) JRLoader.loadObject(file);
//System.out.println("Successfully created jasper report");
// Cargamos el reporte mediante como archivo mediante FileInputStream desde el directorio reports
JasperReport masterReport = null;
FileInputStream file = null;
String rutaReporte = gafetes.business.SqlHelper.getRutaTemplate(e.getTemplate(),frente);
try {
rutaReporte = "reports" + java.io.File.separator + rutaReporte;
System.out.println("Ruta al reporte:" + rutaReporte);
file = new FileInputStream(rutaReporte);
masterReport = (JasperReport) JRLoader.loadObject(file);
} catch (JRException ex) {
System.out.println("JRException:: Error en metodo masterReport = (JasperReport) JRLoader.loadObject(file)");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
ex.getStackTrace() + " Error cargando el archivo." + ex.getMessage() + " " + rutaReporte, "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
return;
}catch(Exception exs){
System.out.println("Error en metodo masterReport = (JasperReport) JRLoader.loadObject(file)");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
exs.getStackTrace() + " Excepcion General. Error cargando el archivo: " + exs.getMessage() + " " , "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
return;
}
// Obtenemos una conexi�n con la base de datos
java.sql.Connection con = null;
con = getConnection();
// Par�metros del reporte maestro
Map masterParams = new HashMap();
/*
gafetes.beans.Configuracion config = gafetes.business.SqlHelper.getConfiguracionEspecifica("CAMPO_CODIGOBARRA");
if(config!=null){
if( config.getValor().equals("IMSS") )
masterParams.put("CODIGOBARRA", e.getImss());
else if( config.getValor().equals("CLAVE") )
masterParams.put("CODIGOBARRA", e.getClave());
else if( config.getValor().equals("IDE_INTEGRANTE") )
masterParams.put("CODIGOBARRA", e.getId());
else if( config.getValor().equals("RFC") )
masterParams.put("CODIGOBARRA", e.getRfc());
else
masterParams.put("CODIGOBARRA", e.getClave());
}else
masterParams.put("CODIGOBARRA", e.getClave());
*/
masterParams.put("CLAVE", e.getClave());
/*
masterParams.put("DATAKEY", e.getId());
masterParams.put("VIGENCIA", vigencia);
masterParams.put("TABLE_NAME", "Empleados");*/
try {
//String rutaCompleta = VariablesAmbiente.getRutaCarpetaFotos()+e.getRutaFoto().substring(11).replace("\\","//");
// java.io.File file = null;
/*
if(reverso)
file = new java.io.File(e.getRutaFoto());
else
file = new java.io.File(e.getRutaFirma());
*/
//java.net.URL rutaURL = new java.net.URL(rutaCompleta);
// masterParams.put("PHOTOFILE", file );
// System.out.println("Ruta Web"+ rutaCompleta );
// Llenamos el reporte maestro (y por ende el subreporte)
// y obtenemos un objeto JasperPrint que puede ser
// visua lizado, impreso o exportado
JasperPrint masterPrint = null;
try {
masterPrint = JasperFillManager.fillReport(masterReport, masterParams,
con);
JasperViewer.viewReport(masterPrint , false);
} catch (JRException exe) {
System.out.println("ex Error en metodo masterPrint = JasperFillManager.fillReport(masterReport, masterParams,con); ");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
"Error llenando el reporte" + exe.getMessage(), "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
}
catch (Exception exs) {
System.out.println("exs Error en metodo masterPrint = JasperFillManager.fillReport(masterReport, masterParams,con); ");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
"Error llenando el reporte" + exs.getStackTrace(), "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
}
} catch (Exception exa) {
System.out.println("exa Error en metodo masterPrint = JasperFillManager.fillReport(masterReport, masterParams,con); ");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
"Error llenando el reporte" + exa.getStackTrace(), "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
}
}
public void printLetterSize(gafetes.beans.Empleado e, boolean frente, String sqlString1,String sqlString2,String sqlString3) {
java.util.Calendar cal = java.util.Calendar.getInstance();
java.sql.Date fecha = new java.sql.Date( cal.getTime().getTime() );
int year = cal.get(java.util.Calendar.YEAR);
int year2 = year + 1;
String vigencia = year + " - " + year2;
URL urlMaestro = null;
// String ruta = gafetes.business.SqlHelper.getRutaTemplate(e.getTemplate(),frente);
/* Modificado por: Juan Carlos Alafita Caballero
Desactivamos la extraccion por URL con getClass, lo obtendremos como archivo*/
//URL urlMaestro = getClass().getResource("/gafetes/reports/firmas.jasper");
/*urlMaestro = getClass().getResource( "/gafetes/reports/"+ruta);
if (urlMaestro == null) {
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame(),
"No se encontr� el archivo del reporte maestro.", "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
}*/
// Cargamos el reporte mediante como archivo mediante FileInputStream desde el directorio reports
JasperReport masterReport = null;
FileInputStream file = null;
String rutaReporte = gafetes.business.SqlHelper.getRutaTemplate(e.getTemplate(),frente);
try {
rutaReporte = "reports" + java.io.File.separator + rutaReporte;
file = new FileInputStream(rutaReporte);
System.out.println("Ruta al reporte:" + rutaReporte);
masterReport = (JasperReport) JRLoader.loadObject(file);
} catch (JRException ex) {
System.out.println("JRException:: Error en metodo masterReport = (JasperReport) JRLoader.loadObject(file)");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
ex.getStackTrace() + " Error cargando el archivo." + ex.getMessage() + " " + rutaReporte, "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
return;
}catch(Exception exs){
System.out.println("Error en metodo masterReport = (JasperReport) JRLoader.loadObject(file)");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
exs.getStackTrace() + " Excepcion General. Error cargando el archivo: " + exs.getMessage() + " " , "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
return;
}
// Obtenemos una conexi�n con la base de datos
java.sql.Connection con = null;
con = getConnection();
// Par�metros del reporte maestro
Map masterParams = new HashMap();
/*
gafetes.beans.Configuracion config = gafetes.business.SqlHelper.getConfiguracionEspecifica("CAMPO_CODIGOBARRA");
if(config!=null){
if( config.getValor().equals("IMSS") )
masterParams.put("CODIGOBARRA", e.getImss());
else if( config.getValor().equals("CLAVE") )
masterParams.put("CODIGOBARRA", e.getClave());
else if( config.getValor().equals("IDE_INTEGRANTE") )
masterParams.put("CODIGOBARRA", e.getId());
else if( config.getValor().equals("RFC") )
masterParams.put("CODIGOBARRA", e.getRfc());
else
masterParams.put("CODIGOBARRA", e.getClave());
}else
masterParams.put("CODIGOBARRA", e.getClave());
*/
masterParams.put("SQLQUERY1", sqlString1);
masterParams.put("SQLQUERY2", sqlString2);
masterParams.put("SQLQUERY3", sqlString3);
masterParams.put("CLAVE", e.getClave());
/*
masterParams.put("DATAKEY", e.getId());
masterParams.put("VIGENCIA", vigencia);
masterParams.put("TABLE_NAME", "Empleados");*/
try {
//String rutaCompleta = VariablesAmbiente.getRutaCarpetaFotos()+e.getRutaFoto().substring(11).replace("\\","//");
// java.io.File file = null;
/*
if(reverso)
file = new java.io.File(e.getRutaFoto());
else
file = new java.io.File(e.getRutaFirma());
*/
//java.net.URL rutaURL = new java.net.URL(rutaCompleta);
// masterParams.put("PHOTOFILE", file );
// System.out.println("Ruta Web"+ rutaCompleta );
// Llenamos el reporte maestro (y por ende el subreporte)
// y obtenemos un objeto JasperPrint que puede ser
// visua lizado, impreso o exportado
JasperPrint masterPrint = null;
try {
masterPrint = JasperFillManager.fillReport(masterReport, masterParams,
con);
JasperViewer.viewReport(masterPrint, false);
} catch (JRException exe) {
System.out.println("ex Error en metodo masterPrint = JasperFillManager.fillReport(masterReport, masterParams,con); ");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
"Error llenando el reporte" + exe.getMessage(), "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
}
catch (Exception exs) {
System.out.println("exs Error en metodo masterPrint = JasperFillManager.fillReport(masterReport, masterParams,con); ");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
"Error llenando el reporte" + exs.getStackTrace(), "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
}
} catch (Exception exa) {
System.out.println("exa Error en metodo masterPrint = JasperFillManager.fillReport(masterReport, masterParams,con); ");
javax.swing.JOptionPane.showMessageDialog( new javax.swing.JFrame() ,
"Error llenando el reporte" + exa.getStackTrace(), "Mensaje desde el Servidor",
javax.swing.JOptionPane.INFORMATION_MESSAGE);
}
}
}