Advertisement
Fhernd

DescargarExtractoProcesar.jsp

Apr 8th, 2013
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.30 KB | None | 0 0
  1. <%@page import="java.io.File"%>
  2. <%@page import="java.io.FileInputStream"%>
  3. <%@page import="java.io.FileOutputStream"%>
  4. <%@page import="java.io.IOException"%>
  5. <%@page import="java.io.InputStream"%>
  6. <%@page import="java.sql.Connection"%>
  7. <%@page import="java.sql.DriverManager"%>
  8. <%@page import="java.sql.ResultSet"%>
  9. <%@page import="java.sql.Statement"%>
  10. <%@page import="java.util.HashMap"%>
  11. <%@page import="java.util.Map"%>
  12. <%@page import="java.util.zip.ZipEntry"%>
  13. <%@page import="java.util.zip.ZipOutputStream"%>
  14. <%@page import="net.sf.jasperreports.engine.JRExporter"%>
  15. <%@page import="net.sf.jasperreports.engine.JRExporterParameter"%>
  16. <%@page import="net.sf.jasperreports.engine.JasperFillManager"%>
  17. <%@page import="net.sf.jasperreports.engine.JasperPrint"%>
  18. <%@page import="net.sf.jasperreports.engine.JasperReport"%>
  19. <%@page import="net.sf.jasperreports.engine.export.JRPdfExporter"%>
  20. <%@page import="net.sf.jasperreports.engine.util.JRLoader"%>
  21.  
  22. <%@include file="../snippets/DbParams.jsp" %>
  23.  
  24. <html>
  25.    
  26.     <head>
  27.        
  28.         <script language="javascript">
  29.             <!--
  30.             function delayer()
  31.             {
  32.                 // window.parent.location = "../AdminOpcionesUsuario.jsp"
  33.             }
  34.             //-->
  35.         </script>
  36.     </head>
  37.     <body>
  38. <%
  39.     try
  40.     {
  41.         Connection conexion = null;
  42.         String driver = "com.mysql.jdbc.Driver";
  43.         Class.forName(driver).newInstance();
  44.         conexion=(Connection) DriverManager.getConnection(UrL, UseR, PassworD);
  45.        
  46.         String fechaSubidaExtracto = request.getParameter( "extractDate" );
  47.        
  48.         File reportFile = new File(application.getRealPath("reports//WebReport_2.jasper"));
  49.        
  50.         JasperReport reporte = (JasperReport) JRLoader.loadObject(reportFile.getPath());
  51.        
  52.         String querySeleccionarFechaExtracto = "SELECT DISTINCT `extractos`.`cuenta_codigocuenta`, `extractos`.`fechainicialmovimiento`, `usuario_has_cuenta`.`usuario_idcedulanit` FROM `certextrdb`.`extractos` INNER JOIN `certextrdb`.`usuario_has_cuenta`  ON (`extractos`.`cuenta_codigocuenta` = `usuario_has_cuenta`.`cuenta_codigocuenta`) WHERE (fechasubidaextracto = '" + fechaSubidaExtracto + "')";
  53.        
  54.         Statement stmtSeleccionarFechaExtracto = conexion.createStatement();
  55.        
  56.         ResultSet resultSetSeleccionarFechaExtraco = stmtSeleccionarFechaExtracto.executeQuery(querySeleccionarFechaExtracto);
  57.        
  58.         int contadorExtracto = 0;
  59.        
  60.         File directorioExtractos = new File(application.getRealPath("OperacionesExtractos//extractos"));
  61.        
  62.         File[] listadoExtractos = directorioExtractos.listFiles();
  63.        
  64.         if( listadoExtractos.length != 0 ){
  65.        
  66.             for (File extracto : listadoExtractos) {
  67.                 extracto.delete();
  68.             }
  69.            
  70.         }
  71.  
  72.     InputStream subInputStream = application.getResourceAsStream("reports/WebReport_3.jasper");
  73.  
  74.         while (resultSetSeleccionarFechaExtraco.next()) {
  75.            
  76.             Map parameters = new HashMap();
  77.             parameters.put("codigocuenta", resultSetSeleccionarFechaExtraco.getLong("cuenta_codigocuenta"));
  78.             parameters.put("idcedulanit", resultSetSeleccionarFechaExtraco.getLong("usuario_idcedulanit"));
  79.             parameters.put("fechaextracto", resultSetSeleccionarFechaExtraco.getString("fechainicialmovimiento"));
  80.          parameters.put("SUBREPORT_INPUT_STREAM", subInputStream);
  81.  
  82.  
  83.             JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parameters, conexion);
  84.  
  85.             JRExporter exporter = new JRPdfExporter();
  86.            
  87.             exporter.setParameters(parameters);
  88.             exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  89.             exporter.setParameter(JRExporterParameter.OUTPUT_FILE, new File(application.getRealPath("OperacionesExtractos//extractos//extracto_" + resultSetSeleccionarFechaExtraco.getString("usuario_idcedulanit") + ".pdf")));
  90.             exporter.exportReport();
  91.            
  92.             ++contadorExtracto;
  93.         }
  94.  
  95.         listadoExtractos = directorioExtractos.listFiles();
  96.        
  97.         byte[] buffer = new byte[1024];
  98.        
  99.         try {
  100.  
  101.             FileOutputStream fos = new FileOutputStream(new File(application.getRealPath( "OperacionesExtractos//extractos.zip") ) );
  102.             ZipOutputStream zos = new ZipOutputStream(fos);
  103.  
  104.         FileInputStream in = null;
  105.  
  106.             for (File extracto : listadoExtractos) {
  107.                 ZipEntry ze = new ZipEntry(extracto.getName());
  108.  
  109.                 zos.putNextEntry(ze);
  110.                
  111.                 in = new FileInputStream(application.getRealPath( "OperacionesExtractos//extractos" + File.separator + extracto.getName()));
  112.                
  113.                 int len;
  114.                 while ((len = in.read(buffer)) > 0) {
  115.                     zos.write(buffer, 0, len);
  116.                 }
  117.                
  118.                 in.close();
  119.        
  120.             }
  121.            
  122.             zos.closeEntry();
  123.             //remember close it
  124.             zos.close();
  125.  
  126.         out.print( "<a href=\"extractos.zip\">Descargar Extractos</a><br/><br/>");
  127.         out.print( "<a href=\"http://75.127.101.141:8080/sgce/SubirExtractos.jsp\">Regresar</a>" );
  128.  
  129.  
  130.         } catch (Exception ex) {
  131.        
  132.         }
  133.  
  134.     }
  135.     catch( Exception ex )
  136.     {
  137.         ex.printStackTrace( new java.io.PrintWriter( out ) );
  138.     }
  139. %>
  140. </body>
  141. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement