Saludos
dejo mi codigo:
Código:
<%@page contentType = "text/html" pageEncoding="UTF-8"%>
<%@page import = "java.io.IOException"%>
<%@page import = "java.io.OutputStream"%>
<%@page import = "java.io.FileOutputStream"%>
<%@page import = "java.io.File"%>
<%@page import = "java.io.BufferedWriter"%>
<%@page import = "java.io.OutputStreamWriter"%>
<%@page import = "javax.servlet.ServletException"%>
<%@page import = "javax.servlet.http.HttpServlet"%>
<%@page import = "javax.servlet.http.HttpServletRequest"%>
<%@page import = "javax.servlet.http.HttpServletResponse"%>
<%@page import = "org.xhtmlrenderer.pdf.ITextRenderer"%>
<%@page import = "javax.servlet.http.HttpSession"%>
<%@page import = "java.sql.SQLException"%>
<%@page import = "java.io.PrintWriter"%>
<%@page import = "java.util.Vector"%>
<%@page import = "java.io.InputStream"%>
<%@page import = "java.io.FileInputStream"%>
<%@ page import="java.util.Vector" %>
<%@page import="java.util.ArrayList"%>
<%@page import= "java.sql.Timestamp"%>
<%@page import= "java.util.Date"%>
<%@page import= "java.text.SimpleDateFormat"%>
<%
String strCadena = "";
String htmlPDF = "";
String strOrientacion = "";
String strResultado = "";
String strDependencia = "";
String DATE_FORMAT = "yyMMddHHmmss";
String fecha = "";
int iPagina = 1;
int iTotalEmpleados = 0;
int iPaginaInicio = 0;
int iPaginaFinal = 0;
long iTotalPaginas = 0;
int iOpcion = 0;
int iRangoDesde = 0;
int iRangoHasta = 0;
int iOrdenar = 1;
int iRegsXpagina = 10000;
ArrayList vcResultado = null;
Vector vcColumnas = null;
int iColumnas = 0;
File inputFile;
ResultSQL result = null;
try{
if (request.getParameter("input-opcion")!= null
&& !request.getParameter("input-opcion").equals("undefined")){
String tmp = request.getParameter("input-opcion");
iOpcion = Integer.parseInt(tmp);
}
if (iOpcion == 4){
if (request.getParameter("input-rangoDesde")!= null
&& !request.getParameter("input-rangoDesde").equals("undefined")){
iRangoDesde = Integer.parseInt(request.getParameter("input-rangoDesde"));
}
if (request.getParameter("input-rangoHasta")!= null
&& !request.getParameter("input-rangoHasta").equals("undefined")){
iRangoHasta = Integer.parseInt(request.getParameter("input-rangoHasta"));
}
}else{
if (request.getParameter("input-buscarCadena")!= null
&& !request.getParameter("input-buscarCadena").equals("undefined")){
strCadena = request.getParameter("input-buscarCadena");
}
}
if(request.getParameter("ordenar")!= null
&& !request.getParameter("ordenar").equals("")
&& !request.getParameter("ordenar").equals("undefined")){
iOrdenar = Integer.parseInt(request.getParameter("ordenar"));
}
if (request.getParameter("orientacion")!= null
&& !request.getParameter("orientacion").equals("undefined")){
strOrientacion = request.getParameter("orientacion");
}
//**XHTML
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
fecha += sdf.format(date);
inputFile = new File(getServletContext().getRealPath("tmp/temporal"+fecha+".xhtml"));
if(!inputFile.exists()){
inputFile.createNewFile();
}
result = new ResultSQL();
result.setStrSever(request.getHeader("host"));
result.setStrUbicacion(getServletContext().getRealPath("").toString());
result.setiRegistrosXPagina(iRegsXpagina);
result.resultSQLConecta("logsweb");
String strTempEmpleados = "";
if (iOpcion != 4){
vcResultado = (ArrayList) result.getConsultaEmpleados(strCadena, iOpcion, false, iPagina, iOrdenar, strOrientacion, true);
}
else{
vcResultado = (ArrayList) result.getConsultaEmpleadosRangos(iRangoDesde,iRangoHasta, false, iPagina, iOrdenar, strOrientacion, true);
}
Empleado empleado = null;
strResultado +=" <div id='tbConsultasRecibidas' class='tabla-seguimiento'> "+
" <table class='tabla' id='tbConsultasRecibidas-tabla' align='center'>"+
" <thead>"+
" <tr class='thead'>";
if (iOpcion != 2){
strResultado +=" <th>Dependencia</th>"+
" <th>Nombre</th>"+
" <th>Puesto</th>"+
" <th>Sueldo Bruto (Incluye prestaciones)</th>"+
" <th>Prima Vacacional</th>"+
" <th>Aguinaldo</th>"+
" <th>Pagos Anuales</th>"+
" </tr>"+
" </thead>"+
" <tbody>";
}
else{
strResultado +=" <th>Nombre</th>"+
" <th>Puesto</th>"+
" <th>Sueldo Bruto (Incluye prestaciones)</th>"+
" <th>Prima Vacacional</th>"+
" <th>Aguinaldo</th>"+
" <th>Pagos Anuales</th>"+
" </tr>"+
" </thead>"+
" <tbody>";
}
for(int i = 0 ; i < vcResultado.size(); i++){
empleado = (Empleado) vcResultado.get(i);
String strOpcion = "";
if (iOpcion != 2){
strResultado += "<tr class='fila1'> "+
" <td id='cadena'>"+empleado.getStrDependencia() + "</td>"+
" <td id='cadena'>"+empleado.getStrNombre() + "</td>"+
" <td id='cadena'>"+empleado.getStrPuesto() + "</td>"+
" <td id='moneda'>"+empleado.getStrSueldo() + "</td>"+
" <td id='moneda'>"+empleado.getStrPrimaVacacional() + "</td>"+
" <td id='moneda'>"+empleado.getStrAguinaldo() + "</td>"+
" <td id='moneda'>"+empleado.getStrPagosAnuales() + "</td>";
strResultado += "</tr>" ;
}else{
strResultado += "<tr class='fila1'> "+
" <td id='cadena'>"+empleado.getStrNombre() + "</td>"+
" <td id='cadena'>"+empleado.getStrPuesto() + "</td>"+
" <td id='moneda'>"+empleado.getStrSueldo() + "</td>"+
" <td id='moneda'>"+empleado.getStrPrimaVacacional() + "</td>"+
" <td id='moneda'>"+empleado.getStrAguinaldo() + "</td>"+
" <td id='moneda'>"+empleado.getStrPagosAnuales() + "</td>";
strResultado += "</tr>" ;
strDependencia = empleado.getStrDependencia().toUpperCase();
}
}
strResultado+=" </tbody> "+
" <tfoot> "+
" </tfoot> "+
" </table> "+
" </div>";
htmlPDF += "<!DOCTYPE html> "+
"<html> "+
"<head> "+
"<meta charset='UTF-8'></meta> "+
"<title>Sueldos de Personal</title> "+
"<link rel='stylesheet' media='print' href='../css/print.css' type='text/css'></link> "+
"</head> "+
"<body> "+
"<div class='contenedor-Principal'> "+
" <div class='titulos'> "+
if (iOpcion == 2){
htmlPDF +=" <h4>"+strDependencia+"</h4> ";
}
htmlPDF +=" </div> "+
" <br/> "+
" <br/> "+
" <br/> "+
strResultado+
"</div> "+
"</body> "+
"</html>";
BufferedWriter Fescribe=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(inputFile,false), "utf-8"));
Fescribe.write(htmlPDF);
Fescribe.close();
String outputFile = getServletContext().getRealPath("tmp/sueldosplantilla"+ fecha +".pdf");
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(inputFile);
renderer.layout();
renderer.createPDF(os);
os.close();
//***Borrar XHTML
if(inputFile.exists()){
inputFile.delete();
}
}catch(Exception e){
out.println("-1");
Bitacora bitacora = new Bitacora();
bitacora.setStrServer(request.getHeader("host"));
bitacora.setStrUbicacion(getServletContext().getRealPath("").toString());
bitacora.setITipoBitacora(1);
bitacora.setStrInformacion(e, request.getServletPath());
bitacora.grabaBitacora();
}finally{
}
%>
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script type='text/javascript' src='js/jquery-1.8.2.js'></script>
<script type="text/javascript">
window.location.replace("../tmp/sueldosplantilla<%=fecha%>.pdf");
</script>
</head>
<body>
<header>Header</header>
<div id='content'>Content</div>
<div id='footer'>Footer</div>
</body>
</html>