diff --git a/pom.xml b/pom.xml index efeb56ca5..32bdf6bdb 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.152.9 + 1.152.10 war diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/DocumentosExpresosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/DocumentosExpresosController.java index a997427d0..4f4fc5dc5 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/DocumentosExpresosController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/expressos/DocumentosExpresosController.java @@ -1,18 +1,38 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.expressos; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.InputStream; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import javax.sql.DataSource; + +import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; +import org.zkoss.util.media.AMedia; +import org.zkoss.util.media.Media; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Filedownload; +import org.zkoss.zhtml.Fileupload; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zul.Checkbox; import org.zkoss.zul.Combobox; +import org.zkoss.zul.Messagebox; import org.zkoss.zul.Paging; +import com.rjconsultores.ventaboletos.dao.InformeVentasPuntoVentaDAO; +import com.rjconsultores.ventaboletos.dao.SolicitudExpresosDAO; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.SolicitudExpreso; import com.rjconsultores.ventaboletos.service.EmpresaService; @@ -24,6 +44,18 @@ import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderDocumentosExpresos; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderExpresosPorCotizar; +import net.sf.jasperreports.engine.JRDataSource; +import net.sf.jasperreports.engine.JRExporterParameter; +import net.sf.jasperreports.engine.JRResultSetDataSource; +import net.sf.jasperreports.engine.JasperCompileManager; +import net.sf.jasperreports.engine.JasperFillManager; +import net.sf.jasperreports.engine.JasperPrint; +import net.sf.jasperreports.engine.JasperReport; +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; +import net.sf.jasperreports.engine.export.HtmlExporter; +import net.sf.jasperreports.engine.export.JRPdfExporter; +import net.sf.jasperreports.export.SimpleExporterInput; + @Controller("documentosExpresosController") @Scope("prototype") public class DocumentosExpresosController extends MyGenericForwardComposer{ @@ -35,6 +67,12 @@ public class DocumentosExpresosController extends MyGenericForwardComposer{ @Autowired private EmpresaService empresaService; + @Autowired + private DataSource dataSource; + + @Autowired + private SolicitudExpresosDAO solicitudExpresosDAO; + private List lsEmpresa; private Combobox cmbEmpresa; private MyListbox expresosList; @@ -51,7 +89,47 @@ public class DocumentosExpresosController extends MyGenericForwardComposer{ lsEmpresa = empresaService.obtenerTodos(); super.doAfterCompose(comp); - expresosList.setItemRenderer(new RenderDocumentosExpresos(this)); + expresosList.setItemRenderer(new RenderDocumentosExpresos(this, new EventListener() { + @Override + public void onEvent(Event arg0) throws Exception { + expreso = (SolicitudExpreso)arg0.getTarget().getAttribute("data"); + + byte[] response = null; + List jasperPrintList = new ArrayList(); + + Connection conn = dataSource.getConnection(); + + String sql = "select * from expreso_pasajero where solicitudexpreso_id = ?"; + + PreparedStatement stmt = conn.prepareStatement(sql); + stmt.setInt(1, expreso.getSolicitudExpresoId().intValue()); + + ResultSet rset = stmt.executeQuery(); + + JRDataSource jrDataSource = new JRResultSetDataSource(rset); + + HashMap parametros = new HashMap(); + parametros.put("usuario", "FAAU"); + + InputStream is = desktop.getWebApp().getResourceAsStream( + "/gui/expressos/listaPasajerosExpreso.jrxml"); + JasperReport jr = JasperCompileManager.compileReport(is); + JasperPrint jasperPrint = JasperFillManager.fillReport(jr, parametros, jrDataSource); + + jasperPrintList.add(jasperPrint); + + JRPdfExporter exporter = new JRPdfExporter(); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); + exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out); + exporter.exportReport(); + response = out.toByteArray(); + + AMedia amedia = new AMedia("LISTA DE PASAJEROS - EXPRESO " + expreso.getStatusSolicitudExpresoId() + ".pdf", "pdf", null, response); + org.zkoss.util.media.Media pdf = amedia; + Filedownload.save(pdf); + } + })); refreshLista(); } diff --git a/web/gui/expressos/listaPasajerosExpreso.jrxml b/web/gui/expressos/listaPasajerosExpreso.jrxml new file mode 100644 index 000000000..d304273d7 --- /dev/null +++ b/web/gui/expressos/listaPasajerosExpreso.jrxml @@ -0,0 +1,36 @@ + + + + + + + + + + + + <band height="43" splitType="Stretch"> + <staticText> + <reportElement x="0" y="0" width="802" height="20"/> + <textElement textAlignment="Center"> + <font size="14" isBold="true"/> + </textElement> + <text><![CDATA[LISTA DE PASAJEROS]]></text> + </staticText> + </band> + + + + + + + + + + + + + + + +