leonardo 2015-03-19 17:24:07 +00:00
parent f2ffee1ae4
commit e8d4534672
11 changed files with 894 additions and 3 deletions

View File

@ -0,0 +1,138 @@
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioEmpresaOnibusBean;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioGratuidadeBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
public class RelatorioGratuidade extends Relatorio {
private List<RelatorioGratuidadeBean> lsDadosRelatorio;
public RelatorioGratuidade(Map<String, Object> parametros, Connection conexao) throws Exception {
super(parametros, conexao);
this.setCustomDataSource(new DataSource(this) {
@Override
public void initDados() throws Exception {
Connection conexao = this.relatorio.getConexao();
Map<String, Object> parametros = this.relatorio.getParametros();
String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00";
String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59";
String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : "";
String agencia = parametros.get("agencia") != null ? parametros.get("agencia").toString() : "";
String ruta = parametros.get("ruta") != null ? parametros.get("ruta").toString() : "";
String sql = getSql(empresa, agencia, ruta, fecInicio, fecFinal);
System.out.println(sql);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
stmt.setTimestamp("fecInicio", new java.sql.Timestamp(sdf.parse(fecInicio).getTime()));
stmt.setTimestamp("fecFinal", new java.sql.Timestamp(sdf.parse(fecFinal).getTime()));
if (empresa != null && !empresa.equals("")){
stmt.setInt("empresa_id", Integer.parseInt(empresa));
}
if (agencia != null && !agencia.equals("")){
stmt.setInt("puntoventa_id", Integer.parseInt(agencia));
}
if (ruta != null && !ruta.equals("")){
stmt.setInt("ruta_id", Integer.parseInt(ruta));
}
ResultSet rset = null;
rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioGratuidadeBean>();
while (rset.next()) {
RelatorioGratuidadeBean gratuidadeBean = new RelatorioGratuidadeBean();
gratuidadeBean.setCorridaId(rset.getString("corrida_id"));
gratuidadeBean.setCveusuario(rset.getString("cveusuario"));
gratuidadeBean.setDescnumdoc(rset.getString("descnumdoc"));
gratuidadeBean.setDesctipoventa(rset.getString("desctipoventa"));
gratuidadeBean.setDestino(rset.getString("destino"));
gratuidadeBean.setFeccorrida(rset.getDate("feccorrida"));
gratuidadeBean.setFechorviaje(rset.getTime("fechorviaje"));
gratuidadeBean.setKm(rset.getInt("numkmviaje"));
gratuidadeBean.setLinha(rset.getString("descruta"));
gratuidadeBean.setNombpasajero(rset.getString("nombpasajero"));
gratuidadeBean.setNombpuntoventa(rset.getString("nombpuntoventa"));
gratuidadeBean.setOrigen(rset.getString("origen"));
gratuidadeBean.setPorccategoria(rset.getBigDecimal("porccategoria"));
gratuidadeBean.setPreciooriginal(rset.getBigDecimal("preciooriginal"));
gratuidadeBean.setPreciopagado(rset.getBigDecimal("preciopagado"));
lsDadosRelatorio.add(gratuidadeBean);
}
if (lsDadosRelatorio.size() > 0) {
setLsDadosRelatorio(lsDadosRelatorio);
}
}
});
}
public void setLsDadosRelatorio(List<RelatorioGratuidadeBean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio;
}
@Override
protected void processaParametros() throws Exception {
}
private String getSql(String empresa, String agencia, String ruta, String fecInicio, String fecFinal) {
StringBuffer sql = new StringBuffer();
sql.append("SELECT b.feccorrida, ori.cveparada origen, des.cveparada destino, ");
sql.append("b.numkmviaje, r.descruta, b.corrida_id, b.fechorviaje, ");
sql.append("tv.desctipoventa, b.nombpasajero, b.descnumdoc, tar.preciooriginal, ");
sql.append("b.porccategoria, b.preciopagado, u.cveusuario, ag.nombpuntoventa ");
sql.append("FROM boleto b ");
sql.append("JOIN categoria c ON b.categoria_id = c.categoria_id ");
sql.append("JOIN grupo_categoria gc ON c.grupocategoria_id = gc.grupocategoria_id ");
sql.append("JOIN parada ori ON ori.parada_id = b.origen_id ");
sql.append("JOIN parada des ON des.parada_id = b.destino_id ");
sql.append("JOIN ruta r ON r.ruta_id = b.ruta_id ");
sql.append("JOIN tipo_venta tv ON tv.tipoventa_id = b.tipoventa_id ");
sql.append("JOIN punto_venta ag ON ag.puntoventa_id = b.puntoventa_id ");
sql.append("JOIN usuario u ON u.usuario_id = b.usuario_id ");
sql.append("JOIN vigencia_tarifa vt ON b.feccorrida BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia ");
sql.append("JOIN tarifa tar ON (tar.ruta_id = b.ruta_id ");
sql.append(" AND tar.marca_id = b.marca_id ");
sql.append(" AND tar.claseservicio_id = b.claseservicio_id ");
sql.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id ");
sql.append(" AND tar.origen_id = b.origen_id ");
sql.append(" AND tar.destino_id = b.destino_id) ");
sql.append("WHERE ");
sql.append(" gc.grupocategoria_id IN (1,2,3,4) ");
sql.append("AND b.feccorrida BETWEEN :fecInicio AND :fecFinal ");
sql.append("AND b.motivocancelacion_id IS NULL ");
if (!empresa.isEmpty()){
sql.append("AND b.empresacorrida_id = :empresa_id ");
}
if (!agencia.isEmpty()){
sql.append(" AND b.puntoventa_id = :puntoventa_id ");
}
if (!ruta.isEmpty()){
sql.append(" AND b.ruta_id = :ruta_id ");
}
return sql.toString();
}
}

View File

@ -0,0 +1,35 @@
#geral
msg.noData=No se pudo obtener datos con los parámetros reportados.
msg.a=a
#Labels header
header.periodo=Período:
header.data.hora=Fecha/Hora\:
header.pagina=Página\:
header.filtro=Filtro\:
header.filtro.servico=Servicio\:
header.filtro.linha=Línea\:
header.filtro.grupo=Grupo de líneas\:
#Labels detail
detail.data=Data
detail.origen=Origem
detail.destino=Destino
detail.km=Km
detail.linha=Linha
detail.servicio=Serviço
detail.hora=Hora
detail.tipobilhete=Tipo Bilhete
detail.pasajero=Passageiro
detail.documento=Doc
detail.precio=Preço
detail.desconto=Desc.(%)
detail.tarifadesconto=Tarifa
detail.bilheteiro=Bilheteiro
detail.agencia=Agência
detail.total=Total Quantidade:
linhas=Líneas

View File

@ -0,0 +1,36 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
msg.a=à
#Labels header
header.periodo=Período:
header.data.hora=Data/Hora\:
header.pagina=Página\:
header.filtro=Filtro\:
header.filtro.servico=Serviço\:
header.filtro.linha=Linha\:
header.filtro.grupo=Grupo de Linhas\:
#Labels detail
detail.data=Data
detail.origen=Origem
detail.destino=Destino
detail.km=Km
detail.linha=Linha
detail.servicio=Serviço
detail.hora=Hora
detail.tipobilhete=Tipo Bilhete
detail.pasajero=Passageiro
detail.documento=Doc
detail.precio=Preço
detail.desconto=Desc.(%)
detail.tarifadesconto=Tarifa
detail.bilheteiro=Bilheteiro
detail.agencia=Agência
detail.total=Total Quantidade:
linhas=Linhas

View File

@ -0,0 +1,312 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="RelatorioEmpresaCorrida" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" resourceBundle="RelatorioEmpresaCorrida" whenResourceMissingType="Empty" uuid="94834362-0ecc-46da-b0a2-5cdee355da3e">
<property name="ireport.zoom" value="1.5"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="fecInicio" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="NOMBEMPRESA" class="java.lang.String"/>
<parameter name="fecFinal" class="java.lang.String"/>
<parameter name="USUARIO_ID" class="java.lang.String"/>
<parameter name="LINHA_FILTRO" class="java.lang.String"/>
<parameter name="SERVICO_FILTRO" class="java.lang.String"/>
<parameter name="TITULO" class="java.lang.String"/>
<queryString>
<![CDATA[]]>
</queryString>
<field name="feccorrida" class="java.util.Date"/>
<field name="origen" class="java.lang.String"/>
<field name="destino" class="java.lang.String"/>
<field name="km" class="java.lang.Integer"/>
<field name="linha" class="java.lang.String"/>
<field name="corridaId" class="java.lang.String"/>
<field name="fechorviaje" class="java.sql.Time"/>
<field name="desctipoventa" class="java.lang.String"/>
<field name="nombpasajero" class="java.lang.String"/>
<field name="descnumdoc" class="java.lang.String"/>
<field name="preciooriginal" class="java.math.BigDecimal"/>
<field name="porccategoria" class="java.math.BigDecimal"/>
<field name="preciopagado" class="java.math.BigDecimal"/>
<field name="cveusuario" class="java.lang.String"/>
<field name="nombpuntoventa" class="java.lang.String"/>
<variable name="qtde" class="java.lang.Integer" calculation="Count">
<variableExpression><![CDATA[$F{km}]]></variableExpression>
</variable>
<variable name="total_sem_desconto" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{preciooriginal}]]></variableExpression>
</variable>
<variable name="total_com_desconto" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{preciopagado}]]></variableExpression>
</variable>
<background>
<band splitType="Stretch"/>
</background>
<pageHeader>
<band height="71" splitType="Stretch">
<textField>
<reportElement uuid="e5d4714c-07cc-42ff-a7a8-76d6f6d3e716" x="0" y="20" width="49" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.periodo}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="66b2d0f6-2bf1-4bc7-9ec0-a34444e04d60" x="648" y="0" width="56" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.data.hora}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="8ca68351-fc00-4f19-b94f-f2fd1f41964f" x="780" y="20" width="22" height="20"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="be1692e9-f130-4d08-9173-6ca3e4699030" x="714" y="20" width="42" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.pagina}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="4914d9e7-6ce8-4512-b1f8-13f3b572ac50" x="49" y="20" width="182" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$P{fecInicio} + " à " + $P{fecFinal}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="652312bd-292a-424d-a234-5f157e3699c6" x="0" y="0" width="231" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$P{TITULO}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm">
<reportElement uuid="6f671365-868e-41a6-81ee-a308d1d91e1d" x="704" y="0" width="98" height="20"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="7548d623-fb6c-48d4-b8b7-504f5437a79a" x="756" y="20" width="24" height="20"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}+" de"]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="d08e6683-5388-4505-9e47-fc3d501c62b9" x="0" y="55" width="49" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.data}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="2c09f3ff-c554-4ce2-886e-eaab93fa15eb" x="49" y="55" width="30" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.origen}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="e18edb89-17f4-417e-8041-664f11245cbd" x="79" y="55" width="34" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.destino}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="6124e4be-a471-4867-86f5-bb635ce5db7f" x="123" y="55" width="21" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.km}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="67851ba5-cc9c-4f37-8857-9e3c5be9b362" x="144" y="55" width="142" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.linha}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="93fedb4f-18e2-4d95-82e8-2108d3eb135c" x="286" y="55" width="44" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.servicio}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="3de0b54a-0b10-4556-9b0a-ba8f19989716" x="330" y="55" width="42" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.hora}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="cc834009-ae90-46d4-8bbb-37578b69f621" x="372" y="55" width="44" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.tipobilhete}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="842c2e2b-0a9e-4a28-9010-9b0c814c5bcb" x="416" y="55" width="72" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.pasajero}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="94fe9e9b-e231-43b8-aeb8-7bc3eb2d61af" x="488" y="55" width="46" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.documento}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="952c3d60-ade1-4f57-8801-3ef6bc7f2333" x="534" y="55" width="41" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.precio}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="e14732be-42a0-4f54-9eb2-52f10ece154b" x="575" y="55" width="48" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.desconto}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="b34ce751-6969-47b0-aeb7-fff00a5de1e3" x="623" y="55" width="53" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.tarifadesconto}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="bb3d2388-6bda-4727-ba30-0a5f4612f1a8" x="676" y="55" width="54" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.bilheteiro}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="e727feec-a329-4f8c-af2a-c89c3c2e9606" x="730" y="55" width="72" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$R{detail.agencia}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="8e2d6686-e4d7-43d5-b3a9-46adc3e58350" x="0" y="70" width="802" height="1"/>
</line>
</band>
</pageHeader>
<columnHeader>
<band splitType="Stretch"/>
</columnHeader>
<detail>
<band height="17" splitType="Stretch">
<textField>
<reportElement uuid="c29b2244-5b3e-48a2-9adf-8e10ee2a3856" x="123" y="0" width="21" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{km}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="3111776a-f727-4313-841c-55dabd804df4" x="286" y="0" width="44" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{corridaId}]]></textFieldExpression>
</textField>
<textField pattern="HH:mm:ss" isBlankWhenNull="true">
<reportElement uuid="4a68f71a-7be1-467a-b3eb-641a0c1f9a48" x="330" y="0" width="42" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{fechorviaje}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="cee727cd-cbc7-41d0-8020-d70aa33d8c9f" x="144" y="0" width="142" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{linha}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy" isBlankWhenNull="true">
<reportElement uuid="9f731da4-307a-4409-a8d5-28b2c4c40fce" x="0" y="1" width="49" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{feccorrida}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="6cc780bc-645e-4f03-a7d0-b4ecf7d4eb6c" x="372" y="0" width="44" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{desctipoventa}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="9c9861ac-780e-4e8b-aab8-9a4f506ce62b" x="416" y="0" width="72" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{nombpasajero}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="37fa056d-c401-4268-a455-c5caf5e4eb54" x="488" y="0" width="46" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{descnumdoc}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00" isBlankWhenNull="true">
<reportElement uuid="695d5bfa-16e3-4163-82a0-36d2a2ba21ed" x="534" y="0" width="41" height="16"/>
<textElement textAlignment="Right">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{preciooriginal}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00" isBlankWhenNull="true">
<reportElement uuid="d7019a40-a617-43c7-9ad2-b7c47fb38d60" x="575" y="0" width="48" height="16"/>
<textElement textAlignment="Right">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{porccategoria}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00" isBlankWhenNull="true">
<reportElement uuid="f0161d55-b853-4318-8028-8aec04c0487d" x="623" y="0" width="43" height="16"/>
<textElement textAlignment="Right">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{preciopagado}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="1f3bab43-ae23-41b1-b5a6-a6c4c09fd359" x="676" y="0" width="54" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{cveusuario}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="24dcce32-309b-48f9-8543-1e1bffdef942" x="730" y="0" width="72" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{nombpuntoventa}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="3343aea7-212b-4bd5-a29c-8dcab3cb7568" x="79" y="0" width="34" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{destino}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy" isBlankWhenNull="true">
<reportElement uuid="b36dbddb-2fa9-48a5-809e-0e15ad54c529" x="49" y="0" width="30" height="16"/>
<textElement textAlignment="Left">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{origen}]]></textFieldExpression>
</textField>
</band>
</detail>
<summary>
<band height="19">
<textField>
<reportElement uuid="5fdd8d50-c70b-4a5c-9621-5b91642257bf" x="0" y="0" width="186" height="16"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$R{detail.total}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="6005f63d-1abc-408d-9af2-adea341fadda" x="196" y="0" width="90" height="16"/>
<textElement/>
<textFieldExpression><![CDATA[$V{qtde}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="c3632bd6-baee-4919-880b-1e0f94fe44c0" x="510" y="0" width="65" height="16"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{total_sem_desconto}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="5bb15b93-745c-48fd-8803-3047a49c358c" x="601" y="0" width="65" height="16"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{total_com_desconto}]]></textFieldExpression>
</textField>
</band>
</summary>
<noData>
<band height="20">
<textField>
<reportElement uuid="5a6c1b7b-2242-4cf1-b957-723b906ee620" x="0" y="0" width="803" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{msg.noData}]]></textFieldExpression>
</textField>
</band>
</noData>
</jasperReport>

View File

@ -0,0 +1,112 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
import java.math.BigDecimal;
import java.util.Date;
public class RelatorioGratuidadeBean {
private Date feccorrida;
private String origen;
private String destino;
private Integer km;
private String linha;
private String corridaId;
private Date fechorviaje;
private String desctipoventa;
private String nombpasajero;
private String descnumdoc;
private BigDecimal preciooriginal;
private BigDecimal porccategoria;
private BigDecimal preciopagado;
private String cveusuario;
private String nombpuntoventa;
public Date getFeccorrida() {
return feccorrida;
}
public void setFeccorrida(Date feccorrida) {
this.feccorrida = feccorrida;
}
public String getOrigen() {
return origen;
}
public void setOrigen(String origen) {
this.origen = origen;
}
public String getDestino() {
return destino;
}
public void setDestino(String destino) {
this.destino = destino;
}
public Integer getKm() {
return km;
}
public void setKm(Integer km) {
this.km = km;
}
public String getLinha() {
return linha;
}
public void setLinha(String linha) {
this.linha = linha;
}
public String getCorridaId() {
return corridaId;
}
public void setCorridaId(String corridaId) {
this.corridaId = corridaId;
}
public Date getFechorviaje() {
return fechorviaje;
}
public void setFechorviaje(Date fechorviaje) {
this.fechorviaje = fechorviaje;
}
public String getDesctipoventa() {
return desctipoventa;
}
public void setDesctipoventa(String desctipoventa) {
this.desctipoventa = desctipoventa;
}
public String getNombpasajero() {
return nombpasajero;
}
public void setNombpasajero(String nombpasajero) {
this.nombpasajero = nombpasajero;
}
public String getDescnumdoc() {
return descnumdoc;
}
public void setDescnumdoc(String descnumdoc) {
this.descnumdoc = descnumdoc;
}
public BigDecimal getPreciooriginal() {
return preciooriginal;
}
public void setPreciooriginal(BigDecimal preciooriginal) {
this.preciooriginal = preciooriginal;
}
public BigDecimal getPorccategoria() {
return porccategoria;
}
public void setPorccategoria(BigDecimal porccategoria) {
this.porccategoria = porccategoria;
}
public BigDecimal getPreciopagado() {
return preciopagado;
}
public void setPreciopagado(BigDecimal preciopagado) {
this.preciopagado = preciopagado;
}
public String getCveusuario() {
return cveusuario;
}
public void setCveusuario(String cveusuario) {
this.cveusuario = cveusuario;
}
public String getNombpuntoventa() {
return nombpuntoventa;
}
public void setNombpuntoventa(String nombpuntoventa) {
this.nombpuntoventa = nombpuntoventa;
}
}

View File

@ -0,0 +1,153 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.ListModelList;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioGratuidade;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.PuntoVentaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEmpresa;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
@Controller("relatorioGratuidadeController")
@Scope("prototype")
public class RelatorioGratuidadeController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(RelatorioGratuidadeController.class);
@Autowired
private DataSource dataSource;
@Autowired
private EmpresaService empresaService;
@Autowired
private PuntoVentaService puntoVentaService;
@Autowired
private RutaService rutaService;
private Datebox datInicial;
private Datebox datFinal;
private MyComboboxEstandar cmbTeste;
private MyComboboxPuntoVenta cmbAgencia;
private MyComboboxEstandar cmbLinha;
private List<Empresa> lsEmpresas;
private List<Ruta> lsLinhas;
private void executarRelatorio() throws Exception {
Map<String, Object> parametros = new HashMap<String, Object>();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
parametros.put("fecInicio", sdf.format(this.datInicial.getValue()));
parametros.put("fecFinal", sdf.format(this.datFinal.getValue()));
if (cmbTeste.getSelectedIndex() != -1) {
parametros.put("empresa", ((Empresa) cmbTeste.getSelectedItem().getValue()).getEmpresaId());
}
if (cmbAgencia.getSelectedIndex() != -1) {
parametros.put("agencia", ((PuntoVenta) cmbAgencia.getSelectedItem().getValue()).getPuntoventaId());
}
if (cmbLinha.getSelectedIndex() != -1) {
parametros.put("ruta", ((Ruta) cmbLinha.getSelectedItem().getValue()).getRutaId());
}
parametros.put("TITULO", Labels.getLabel("relatorioGratuidadeController.window.title"));
Relatorio relatorio = new RelatorioGratuidade(parametros, dataSource.getConnection());
Map<String, Object> args = new HashMap<String, Object>();
args.put("relatorio", relatorio);
openWindow("/component/reportView.zul",
Labels.getLabel("relatorioGratuidadeController.window.title"), args, MODAL);
}
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
executarRelatorio();
}
@Override
public void doAfterCompose(Component comp) throws Exception {
lsLinhas = rutaService.obtenerTodos();
lsEmpresas = empresaService.obtenerTodos();
super.doAfterCompose(comp);
}
public List<Empresa> getLsEmpresas() {
return lsEmpresas;
}
public void setLsEmpresas(List<Empresa> lsEmpresas) {
this.lsEmpresas = lsEmpresas;
}
public List<Ruta> getLsLinhas() {
return lsLinhas;
}
public void setLsLinhas(List<Ruta> lsLinhas) {
this.lsLinhas = lsLinhas;
}
public Datebox getDatInicial() {
return datInicial;
}
public void setDatInicial(Datebox datInicial) {
this.datInicial = datInicial;
}
public Datebox getDatFinal() {
return datFinal;
}
public void setDatFinal(Datebox datFinal) {
this.datFinal = datFinal;
}
public MyComboboxPuntoVenta getCmbAgencia() {
return cmbAgencia;
}
public void setCmbAgencia(MyComboboxPuntoVenta cmbAgencia) {
this.cmbAgencia = cmbAgencia;
}
public MyComboboxEstandar getCmbLinha() {
return cmbLinha;
}
public void setCmbLinha(MyComboboxEstandar cmbLinha) {
this.cmbLinha = cmbLinha;
}
}

View File

@ -0,0 +1,25 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuRelatorioGratuidade extends DefaultItemMenuSistema {
public ItemMenuRelatorioGratuidade() {
super("indexController.mniRelatorioGratuidade.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOGRATUIDADE";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioGratuidade.zul",
Labels.getLabel("relatorioGratuidadeController.window.title"), getArgs() ,desktop);
}
}

View File

@ -231,6 +231,7 @@ indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioEmpresaCorrida.label = Reporte de la empresa corrida
indexController.mniRelatorioEmpresaOnibus.label = Reporte de la empresa autobús
indexController.mniRelatorioOCD.label = Reporte OCD por la empresa
indexController.mniRelatorioGratuidade.label = Reporte Gratuidade
indexController.mniFechamentoParamgeral.label = Fechamento Conta Corrente
indexController.mniFechamentoParamptovta.label = Fechamento Conta Corrente Agência
indexController.mniRelatorioCorridas.label = Reporte de Corridas
@ -5069,3 +5070,12 @@ editarFechamentoParamptovtaController.window.title = Cierre cuenta contable - Ed
editarFechamentoParamptovtaController.MSG.suscribirOK = Cierre cuenta contable agencia se guardó exitosamente.
editarFechamentoParamptovtaController.MSG.borrarPergunta = Eliminar el cierre cuenta contable agencia?
editarFechamentoParamptovtaController.MSG.borrarOK = Cierre cuenta corrente agencia se eliminó exitosamente.
# Relatorio Gratuidade
relatorioGratuidadeController.window.title=Reporte Gratuidade
relatorioGratuidadeController.lbEmpresa.value=Empresa
relatorioGratuidadeController.lbAgencia.value=Agencia
relatorioGratuidadeController.lbLinhas.value=Linha
relatorioGratuidadeController.lbDataIni.value=Fecha Inicio
relatorioGratuidadeController.lbDataFin.value=Fecha Final

View File

@ -235,6 +235,7 @@ indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioEmpresaCorrida.label = Relatório por Empresa Corrida
indexController.mniRelatorioEmpresaOnibus.label = Relatório por Empresa Ônibus
indexController.mniRelatorioOCD.label = Relatório OCD por Empresa
indexController.mniRelatorioGratuidade.label = Relatório Gratuidade
indexController.mniFechamentoParamgeral.label = Fechamento Conta Corrente
indexController.mniFechamentoParamptovta.label = Fechamento Conta Corrente Agência
indexController.mniRelatorioCorridas.label = Relatório de Serviços
@ -5137,6 +5138,11 @@ editarFechamentoParamgeralController.MSG.suscribirOK = Fechamento Conta Corrente
editarFechamentoParamgeralController.MSG.borrarPergunta = Eliminar o Fechamento Conta Corrente?
editarFechamentoParamgeralController.MSG.borrarOK = Fechamento Conta Corrente excluido com Sucesso.
# Relatorio Gratuidade
relatorioGratuidadeController.window.title=Relatório Gratuidade
relatorioGratuidadeController.lbEmpresa.value=Empresa
relatorioGratuidadeController.lbAgencia.value=Agência
relatorioGratuidadeController.lbLinhas.value=Linha
relatorioGratuidadeController.lbDataIni.value=Data Inicio
relatorioGratuidadeController.lbDataFin.value=Data Final

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winFiltroRelatorioGratuidade"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioGratuidade"
apply="${relatorioGratuidadeController}"
contentStyle="overflow:auto" height="225px" width="550px"
border="normal">
<grid fixedLayout="true">
<columns>
<column width="50%" />
<column width="50%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioGratuidadeController.lbEmpresa.value')}" />
<combobox id="cmbTeste" width="70%"
maxlength="60" mold="rounded" buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioGratuidade$composer.lsEmpresas}" />
</row>
<row>
<label
value="${c:l('relatorioGratuidadeController.lbAgencia.value')}" />
<combobox id="cmbAgencia" width="70%"
maxlength="60" mold="rounded" buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta"
/>
</row>
<row>
<label
value="${c:l('relatorioGratuidadeController.lbLinhas.value')}" />
<combobox id="cmbLinha" width="70%"
maxlength="60" mold="rounded" buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioGratuidade$composer.lsLinhas}" />
</row>
<row>
<label
value="${c:l('relatorioGratuidadeController.lbDataIni.value')}" />
<datebox id="datInicial" width="100%" mold="rounded"
format="dd/MM/yyyy" lenient="false" constraint="no empty"
maxlength="10" />
</row>
<row>
<label
value="${c:l('relatorioGratuidadeController.lbDataFin.value')}" />
<datebox id="datFinal" width="100%" mold="rounded"
format="dd/MM/yyyy" lenient="false" constraint="no empty"
maxlength="10" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>