From 2dba73c74d065cd86ffcc2e37f1a895384527e80 Mon Sep 17 00:00:00 2001 From: leonardo Date: Thu, 26 Jun 2014 20:23:34 +0000 Subject: [PATCH] =?UTF-8?q?Relat=C3=B3rio=20por=20Empresa=20corrida=20(fix?= =?UTF-8?q?ed=20bug=20#5394)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@36236 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioEmpresaCorrida.java | 121 ++++++--- .../impl/RelatorioEmpresaOnibus.java | 95 ++++++++ .../RelatorioEmpresaCorrida_es.properties | 14 +- .../RelatorioEmpresaOnibus_es.properties | 25 ++ ... RelatorioEmpresaOnibus_pt_BR2.properties} | 0 .../templates/RelatorioEmpresaCorrida.jasper | Bin 33617 -> 37343 bytes .../templates/RelatorioEmpresaCorrida.jrxml | 171 +++++++------ .../templates/RelatorioEmpresaOnibus.jasper | Bin 0 -> 33618 bytes .../templates/RelatorioEmpresaOnibus.jrxml | 229 ++++++++++++++++++ .../RelatorioEmpresaCorridaBean.java | 96 ++++---- .../RelatorioEmpresaOnibusBean.java | 62 +++++ .../RelatorioEmpresaCorridaController.java | 3 +- .../RelatorioEmpresaOnibusController.java | 6 +- 13 files changed, 664 insertions(+), 158 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaOnibus.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaOnibus_es.properties rename src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/{RelatorioEmpresaCorrida_pt_BR2.properties => RelatorioEmpresaOnibus_pt_BR2.properties} (100%) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmpresaOnibusBean.java diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java index 47dd01f5c..567d2ee93 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java @@ -2,6 +2,7 @@ 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; @@ -11,14 +12,13 @@ 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.RelatorioEmpresaCorridaBean; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioLinhasHorarioBean; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; public class RelatorioEmpresaCorrida extends Relatorio { private List lsDadosRelatorio; - public RelatorioEmpresaCorrida(Map parametros, Connection conexao, final boolean empresaCorrida) throws Exception { + public RelatorioEmpresaCorrida(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); this.setCustomDataSource(new DataSource(this) { @@ -29,32 +29,34 @@ public class RelatorioEmpresaCorrida extends Relatorio { Map parametros = this.relatorio.getParametros(); - @SuppressWarnings("unchecked") String fecInicio = parametros.get("fecInicio").toString(); - @SuppressWarnings("unchecked") String fecFinal = parametros.get("fecFinal").toString(); - String sql = getSql(fecInicio, fecFinal, empresaCorrida); + String sql = getSql(fecInicio, fecFinal); System.out.println(sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); ResultSet rset = null; + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + stmt.setDate("fecInicio", new java.sql.Date(sdf.parse(fecInicio).getTime())); + stmt.setDate("fecFinal", new java.sql.Date(sdf.parse(fecFinal).getTime())); + rset = stmt.executeQuery(); lsDadosRelatorio = new ArrayList(); while (rset.next()) { RelatorioEmpresaCorridaBean empresaCorridaBean = new RelatorioEmpresaCorridaBean(); - empresaCorridaBean.setCorridaId(rset.getInt("corridaId")); - empresaCorridaBean.setEmpresa(rset.getString("empresa")); - empresaCorridaBean.setCoche(Integer.parseInt(rset.getString("coche"))); - empresaCorridaBean.setDestino(rset.getString("destino")); - empresaCorridaBean.setDia(rset.getDate("dia")); - empresaCorridaBean.setHora(rset.getString("hora")); - empresaCorridaBean.setKmts(rset.getInt("kmts")); - empresaCorridaBean.setOrigem(rset.getString("origem")); + empresaCorridaBean.setAbonos(rset.getBigDecimal("abonos")); + empresaCorridaBean.setBoletos(rset.getBigDecimal("boletos")); + empresaCorridaBean.setEmpresa(rset.getString("nombempresa")); + empresaCorridaBean.setKmOnibusArrendados(rset.getInt("kmOnibusArrendados")); + empresaCorridaBean.setKmOnibusProprio(rset.getInt("kmOnibusProprio")); + empresaCorridaBean.setKmTotal(rset.getInt("kmTotal")); + empresaCorridaBean.setLinea(rset.getString("linea")); + empresaCorridaBean.setPasajerosTransportados(rset.getInt("passageirosTransp")); lsDadosRelatorio.add(empresaCorridaBean); } @@ -76,25 +78,82 @@ public class RelatorioEmpresaCorrida extends Relatorio { protected void processaParametros() throws Exception { } - private String getSql(String fecInicio, String fecFinal, boolean empresaCorrida) { + private String getSql(String fecInicio, String fecFinal) { StringBuffer sql = new StringBuffer(); - - sql.append(" select c.corrida_Id corridaId, e.nombempresa empresa, c.feccorrida dia, a.numautobus coche, "); - sql.append(" o.cveparada origem, d.cveparada destino, "); - sql.append(" to_char(c.fechorsalida, 'HH24:MI') Hora, t.cantkmreal KMTS "); - sql.append(" from corrida c "); - sql.append(" left join parada o on o.parada_id = c.origen_id "); - sql.append(" left join parada d on d.parada_id = c.destino_id "); - sql.append(" left join tramo t on t.origen_id = c.origen_id and t.destino_id = c.destino_id "); - sql.append(" inner join autobus a on a.autobus_id = c.autobus_id "); - if (empresaCorrida){ - sql.append(" left join empresa e on e.empresa_id = c.empresacorrida_id "); - } else { - sql.append(" left join empresa e on e.empresa_id = a.empresa_id "); - } - sql.append(" where extract(month from c.feccorrida) = 6 "); - sql.append(" and c.activo = 1 and c.feccorrida between to_date('" + fecInicio + "', 'DD/MM/YYYY') and to_date('" + fecFinal + "', 'DD/MM/YYYY') "); - sql.append(" order by e.nombempresa, c.feccorrida "); + + sql.append("SELECT DISTINCT empresa_id, "); + sql.append(" nombempresa, "); + sql.append(" Concat(o.descparada, Concat('-', d.descparada)) "); + sql.append(" linea, "); + sql.append(" (SELECT COALESCE(Sum(preciopagado), 0) "); + sql.append(" FROM boleto b1 "); + sql.append(" WHERE b1.motivocancelacion_id IS NULL "); + sql.append(" AND b1.empresacorrida_id = empresa_id "); + sql.append(" AND b1.origen_id = b.origen_id "); + sql.append(" AND b1.destino_id = b.destino_id "); + sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) boletos, "); + sql.append(" (SELECT COALESCE(Sum(preciopagado), 0) "); + sql.append(" FROM boleto b1 "); + sql.append(" WHERE b1.motivocancelacion_id IS NOT NULL "); + sql.append(" AND b1.empresacorrida_id = empresa_id "); + sql.append(" AND b1.origen_id = b.origen_id "); + sql.append(" AND b1.destino_id = b.destino_id "); + sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) abonos, "); + sql.append(" (SELECT COALESCE(Sum(cantkmreal), 0) "); + sql.append(" FROM tramo t, "); + sql.append(" boleto b1, "); + sql.append(" autobus a, "); + sql.append(" corrida c "); + sql.append(" WHERE t.origen_id = b1.origen_id "); + sql.append(" AND t.destino_id = b1.destino_id "); + sql.append(" AND c.corrida_id = b1.corrida_id "); + sql.append(" AND a.autobus_id = c.autobus_id "); + sql.append(" AND b1.empresacorrida_id = empresa_id "); + sql.append(" AND a.empresa_id = empresa_id "); + sql.append(" AND b1.origen_id = b.origen_id "); + sql.append(" AND b1.destino_id = b.destino_id "); + sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) kmOnibusProprio, "); + sql.append(" (SELECT COALESCE(Sum(cantkmreal), 0) "); + sql.append(" FROM tramo t, "); + sql.append(" boleto b1, "); + sql.append(" autobus a, "); + sql.append(" corrida c "); + sql.append(" WHERE t.origen_id = b1.origen_id "); + sql.append(" AND t.destino_id = b1.destino_id "); + sql.append(" AND c.corrida_id = b1.corrida_id "); + sql.append(" AND a.autobus_id = c.autobus_id "); + sql.append(" AND b1.empresacorrida_id = empresa_id "); + sql.append(" AND a.empresa_id <> empresa_id "); + sql.append(" AND b1.origen_id = b.origen_id "); + sql.append(" AND b1.destino_id = b.destino_id "); + sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) kmOnibusArrendados, "); + sql.append(" (SELECT COALESCE(Sum(cantkmreal), 0) "); + sql.append(" FROM tramo t, "); + sql.append(" boleto b1 "); + sql.append(" WHERE t.origen_id = b1.origen_id "); + sql.append(" AND t.destino_id = b1.destino_id "); + sql.append(" AND b1.empresacorrida_id = empresa_id "); + sql.append(" AND b1.origen_id = b.origen_id "); + sql.append(" AND b1.destino_id = b.destino_id "); + sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) kmTotal, "); + sql.append(" (SELECT COALESCE(Count(boleto_id), 0) "); + sql.append(" FROM boleto b1 "); + sql.append(" WHERE b1.empresacorrida_id = empresa_id "); + sql.append(" AND b1.motivocancelacion_id IS NULL "); + sql.append(" AND b1.origen_id = b.origen_id "); + sql.append(" AND b1.destino_id = b.destino_id "); + sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) passageirosTransp "); + sql.append("FROM empresa, "); + sql.append(" parada o, "); + sql.append(" parada d, "); + sql.append(" boleto b "); + sql.append("WHERE o.parada_id = b.origen_id "); + sql.append(" AND d.parada_id = b.destino_id "); + sql.append(" AND b.motivocancelacion_id IS NULL "); + sql.append(" AND b.empresacorrida_id = empresa_id "); + sql.append(" AND b.fechorventa BETWEEN :fecInicio AND :fecFinal "); + sql.append("ORDER BY empresa_id, "); + sql.append(" linea "); return sql.toString(); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaOnibus.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaOnibus.java new file mode 100644 index 000000000..db8f766a9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaOnibus.java @@ -0,0 +1,95 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +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.RelatorioEmpresaCorridaBean; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioEmpresaOnibusBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioEmpresaOnibus extends Relatorio { + + private List lsDadosRelatorio; + + public RelatorioEmpresaOnibus(Map 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 parametros = this.relatorio.getParametros(); + + String fecInicio = parametros.get("fecInicio").toString(); + String fecFinal = parametros.get("fecFinal").toString(); + + String sql = getSql(fecInicio, fecFinal); + + System.out.println(sql); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + ResultSet rset = null; + + rset = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + + while (rset.next()) { + RelatorioEmpresaOnibusBean empresaOnibusBean = new RelatorioEmpresaOnibusBean(); + empresaOnibusBean.setCorridaId(rset.getInt("corridaId")); + empresaOnibusBean.setEmpresa(rset.getString("empresa")); + empresaOnibusBean.setCoche(Integer.parseInt(rset.getString("coche"))); + empresaOnibusBean.setDestino(rset.getString("destino")); + empresaOnibusBean.setDia(rset.getDate("dia")); + empresaOnibusBean.setHora(rset.getString("hora")); + empresaOnibusBean.setKmts(rset.getInt("kmts")); + empresaOnibusBean.setOrigem(rset.getString("origem")); + + lsDadosRelatorio.add(empresaOnibusBean); + } + + if (lsDadosRelatorio.size() > 0) { + + setLsDadosRelatorio(lsDadosRelatorio); + } + } + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(String fecInicio, String fecFinal) { + StringBuffer sql = new StringBuffer(); + + sql.append(" select c.corrida_Id corridaId, e.nombempresa empresa, c.feccorrida dia, a.numautobus coche, "); + sql.append(" o.cveparada origem, d.cveparada destino, "); + sql.append(" to_char(c.fechorsalida, 'HH24:MI') Hora, t.cantkmreal KMTS "); + sql.append(" from corrida c "); + sql.append(" left join parada o on o.parada_id = c.origen_id "); + sql.append(" left join parada d on d.parada_id = c.destino_id "); + sql.append(" left join tramo t on t.origen_id = c.origen_id and t.destino_id = c.destino_id "); + sql.append(" inner join autobus a on a.autobus_id = c.autobus_id "); + sql.append(" left join empresa e on e.empresa_id = a.empresa_id "); + sql.append(" where extract(month from c.feccorrida) = 6 "); + sql.append(" and c.activo = 1 and c.feccorrida between to_date('" + fecInicio + "', 'DD/MM/YYYY') and to_date('" + fecFinal + "', 'DD/MM/YYYY') "); + sql.append(" order by e.nombempresa, c.feccorrida "); + + return sql.toString(); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_es.properties index d00d8ed86..6f7d3b84b 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_es.properties @@ -13,13 +13,13 @@ header.filtro.grupo=Grupo de l #Labels detail -detail.dia=Dia -detail.coche=Coche -detail.origen=Origen -detail.destino=Destino -detail.hora=Hora -detail.kmts=Kmts -detail.corridaId=Corrida +detail.linea=Línea origen - destino +detail.boletos=Recaudaciones Boletos ($) +detail.abonos=Recaudaciones abonos ($) +detail.kmOnibusProprio=Distancia recorrida ómnibus propios (km) +detail.kmOnibusArrendados=Distancia recorrida ómnibus arrendados (km) +detail.kmTotal=Distancia recorrida total (km) +detail.pasajerosTransportados=Pasajeros transportados linhas=Líneas diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaOnibus_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaOnibus_es.properties new file mode 100644 index 000000000..d00d8ed86 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaOnibus_es.properties @@ -0,0 +1,25 @@ +#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.dia=Dia +detail.coche=Coche +detail.origen=Origen +detail.destino=Destino +detail.hora=Hora +detail.kmts=Kmts +detail.corridaId=Corrida + +linhas=Líneas + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_pt_BR2.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaOnibus_pt_BR2.properties similarity index 100% rename from src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_pt_BR2.properties rename to src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaOnibus_pt_BR2.properties diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jasper index 471282848a503535f844a72cf97b9e6a9982ed10..d857be62f747c54e324921a6404e46de7cf1a4ea 100644 GIT binary patch literal 37343 zcmeHw36xw#xqnsNOr|sGOeUFZ1QJ3b*_lZ~62cakmFY>(!Ym;RGU=J=$u#Ndo^hIms=HM8ot_S!=Q;m# z-kiC0YhQl#)mL9teYg6yS6ERx#TF)_nTm8@#rcu+U^JDA4klBXbVW3=HI|50G)m7l z>B;2Zf?o<|h1vL?%d5k$7x(q&prxHOwaIXw8v< zX!}rKUu-zTCacKtNMdVcdnOf2Y(>NgI%29O9!aOSvpq}ed}eqk?VKcx6{` zaflt&+FsXL+tSru*A}V@cdf5$YY(+FcXftpLoC>x%w&=SO_3BD8KSnthXxWg$)Q9h zL^UB-`(UI8RdYhmiS=gsH?gwV)zr7opZpr4k=|&kD$#4FDvhN(VwreUrwOr=c(gC0Dq79P zCsVO#0)V4j1P#g@Vq5!B>v80eb*x4JK+UwIkTt5Gq6l_V$7Pa(c5bCR`=g2GB=um& zuEA)Sm2^jXwrx!ThTaT&Ul`a|ru!-lx~NoiQAw~TdeLta665O_)JR zm2E=_CqZ3eXaM;HRXz#_>i#i~p8`qxZDxU9R5u;Xq%&;c=DZ~}wo%Ivm2&Tm_C7CVhP>Y3>&RlE-GUZ z7?nEbu?a~Cx~XLzLR%k+4*|0kd0Q*HwZ)}Q-K&yBjk;>0C9>CLO?0VM7qxu!qFNma zmnCgxW7E{Npo;mUQH9;P#c4G>Wi>Xlahd4AU_6qcJSs=aL-CsqodO+Il%Y|pTU2fi zEZwSAqqpiDV?fH54G%K*KnFPQ6g*t9V6jBKm8aFnm}n;-iZX?Pr7tOvZPFN4SrJz+ z&d)T*_D6}6Y+~S1?St`HrYas!?u_<^S-I>%s(jt>U@DqUOFpnTZ+jct+_=DR!eA2Kmp%)O6rD$Zgs#A7?&*)kds7Ir>nMkMIF^VN3JY5b$|opE^8< zUN5IPxPr2*s7j?GyC~n`iyxnLidE!m zBB4@Yph7v(-(wwS{%~Z1qt`CAXv8mt+nN&2>(@(-p z%Z_NO59}e#rbH4w{mB#wfbNK=KA8;R!7WCPmeFTs84Uxv+)YUpES$yG84Z&|8?!J* zh2~qjW=A=#tCH2vsrqy$0!_zR!JApRCpd+sLnH+4oH!coG}tJ&MszB)^%y6wwrF1z z?4u{UyfB;T#OX*Tlb$dpoVOaxd^L%WMgJz_y;Q<7 zR4$edq2O4Lc29_TL^+~k+oB!)n98>H>$pMkhOE^~Y)1QykEJ^k zz#F6>+lM0L!o>h|A}wWd;T%ui8cfO#*c4Mf)k&-sM-yhlDkAV6Pigd`jj}wc#*R4S&>-asdIx>Wj@Na?!YdWonu-keXV{{=z0=r6qgqC#`VIo{L{E}v zNasvm^(NJ*)tdohnOxB2;uw_vCXj(tQmqy>A`@)4hNCiXg(W$)=^Qi`w170KQ|fql z$4Ci$&8keojF5@-zoB&<9m7`Z~y*E!;L-3VCXZakSa&$hP5@L=3JRPHj)*qon zeGF{#q!~MbY5@X4TCG&%N{L$hy&J8!ZWy?<5{tA(7KEUa z&a}t2R>v~wMmByR>9~dm_dR!I*{h4!tiS(1=GJar+i(j3MYWWxi%IVKM~eZI|NFC_ zf9v9ptib{TBX$REq<}w_x$&BZFy*E$yX}*+#$WgR$L$qB38A_&pL8T!?K9E)w7jS- zbXJ3|q^f73{E^rZCSjE)t%Am9%Rbb1n6AfZfru8i`3E>HQfTimIouj0X%ceRa1F^o zC<@GJv^6i%Ik9O9^^+V(n21W@^X#0t+8T61{AWwr;BZstPGVzeTGM$9%T6zJQvg-3 zmYdEfXx-6Ety2~BAKb&zRs{oo`r|pSSLamjADPjU_wCyo!FY6(I6$9+8v{cwgmF- zMR*_s`e8*{ZV#|w%B$060#3&5YG1-Ppzvi6N^H~gSWuCL?++m74oSy_f_6uk~DGy8sm(YY) zC2d|qPqPv#Ig{pPCX(mpZeJ*%jk(lnZaL=&NZS=j+)f)4Vj|XyZS|i1p~Ns&EBXyK4%+dxYq);)wJKoVkL(%YeG+%L@$pVmTh`V8{U z6`zP^YA6e`)Ju|S`0z2Ezq;q5rZ<*P+Ijw43u?-3{-PpU zl5nMgiHbZn=Z5+)DwRwHoHtU6Ej|ILku0X$ZjMt$$3m$T#Ehxd^vNXs@LV)Rb=*cM zNxuPLUA%3e1Iy32odG)5BV<*pO{t&GNnP~hr~mdUgse@rkTppA*{V9Zy@B%*_G>Cf zB3VYoYGIbF*}ZYgr$6!I+aDe3Ke6WP`;S|)?n%4lN7x$|Q{K|}psJVA8!A)<7}JI~ zz~~Kcz!tksP8kUY}>Izo`IA^@cE2_KMEs1L~A00U%ifB~`&02C(4f5HQfvgQMM zi4Vxr1|#Xn`O#D|-I0nU(sVc+>2*P;2JWGpWx2VuO$)WHfSnaY+ZWCG&yrhDzv44L zduhQ>AAPv$(0hda(^M;I?DK(Lh5Eqm4KQH$1{kpG0K54PZSPZ9d(3>WFZF?avdz_T zau!YW9tq?hBe?Nb7(4mWlMBE7;DZx?_L=mo&oA3uJ1!gYJ%nXb2I>!W^`2E5`L-$y z4JQ9p3XsNrALv!65A@yu1A1@37Q1dv8DAxYO^V;|0bN=1L4Se|^hG4#MeJ;-ED$)o zu24ng5_t${6Y7N_e$maPQ@_^n(4yN1?s=y2%MD+!TXlrI5=r z6uQr)uMw!^NY_yqvx=vprg=4iupsuT(YO_be&-lk)N3*=)tlE)&LN!=@|~VtS5tcp zIy~5R!5_Al-Q7-X(_%y`CixhGYXyX+2a%wC%`>J(6a;sgc4CK(UX$e zax~9xVx)4gD-BId9794X?5$?wK;KcR*oQgYlUBo8z`<9ITcE}?x6ewQdYnb#0l|rr zyvdF))lQd~{{WS?j4DIkM(Hw-cJhj*yn4XS{#TeCJ3Khsvg8|c zHYt(Vd0RvRghErdrhu(_IrIns-I61nj-ZwIDr9wrGp)S4$OK(QR%dB~lnRE_DL5!B zs%hzL?vNahwvEPR%eg$mW+b9J=eX03=I#rZFTxaqTIAI`lC{X`K%aVyX>Mt*)2kt> zNJ-%pS%!*a*aXeIyJUl?b#J3`c@O7g<&6IDsaVljZ7rRxI7Z1qK+SJd*-6=zrOh^7 zp8|KHbGemIUB))Iv^7-woq%7?ESjS zKmLyu>rUEJcm24w8;&VI6YE6#h?a6MboZ1Wi`dGTrE2fpuhXF_z`I{(1bCNwM!*)k zPEHxeQfnkl+j|;(7I_(e`IdV#vpaN51_~oX0~J|IKEgolAB`d#dd_s{+(z{+E#|EJ z6Z^Pc`%4fkOdNaRypswuzYW2;=Bff`qq9g2E7p^v*i)3R&fu9?E6R^NNLhvKy1Mz# zvS~0@)+4s&i&AL~2ag#xZxrzXksvwPhtX4psZ&nTy~}N~ca{7LBKxoJKV5w3H$9E< zKi%}wg|9YzoVczgsr6oRt5nJz1+l@LzVI300qALT)wZ0|EU7nl@Y?oAGq_u zH!gkjyQ>;c|H?B5>h7~^PUC=38vWRVpG1R78moK;t_t-TxZVI`;Ccg$fvW>hGjrgs zG6pR<@(tXheFkm`4cwf~c3n;`#I|xyVG!Tla^8mfZn>RTo_+cE-ng^s==T6|EkP`e zY9EMIs1L;600UxgfB~@%$bq=}h#)@32jX&q*xvIU^(4=oi|qY%QP7~gH?rWA*ZQj_ z#-IPj$|M@*&eKuh&jTRrQRj3cv-T(t@Z-9Zd4#>f}<%qDJ<%9J!FV?yH>oWfl zxW`(^3UqK<7-@fM_k-83dGqA^Px)T?4-P&T!ts+m^%u-N&Lg;`ajp;CD%1yVZ-4=} zH^6{f2jswg?h(N~+Xrqr?PndF=EK-NsVfZQYgfN@&J{oY^_TXo+H#;~d(#E)0po3i zu{2^n7^_epjJ*K{#@+w}V;zu#aqNgNKGp~0nMBh0PwHeD&dPcjZK-PxKC&EKqCfQk zK#m+d#TEz{9jD4am-i^`66wyCgKvK2f$KlKX5IJ4E$h8**K4&n@U{no9BVW$2i35U z@}N_@Rt3HHl!;$RJtmFaK0T&FeR|9rVDy+bV2fQbr;H1ox;Vn{Zt^nzD3wAZSCwFL zc8?jW8&5U{*Qs=Xwq=&71p$58w!=T)y>{;_zgyMX@Y$0ZPO{shzzq-Xq29!a-nhoj z_Kr|}sIJzjfh^w-@GA%mX?)ZNa24tUxHrH6+#6s3t^=?f9g|2VqAE`Z_K!L>wJrHz zFVBX(2#Z|x&Ge|!%rXc3wVLG@2L880mrh;rx2KGWj& z%C?iYrth1#YTdoHcfCizzeIpbI3*J z4R`^Qfx&HD{O#?H!tg(^^R$`c7o2kOFE45TM;ImVEe6^TFRH_^f>nncWD0+cNx=g4p{V>~FO_Qy09se&4TWKbo$F zI=nrP0z$Q)R0xN8kN}s){XT%JP#?g(0S4gS00VFxFaqHB+c-P#e1K2)0sJV3!zeY# zLIir3*zL7yVZ?r8Wkt=td%v(_`I-yAf6RY{7raO8A1CakamWXI73zb%H^9K&8(?6s z14h99kb}8x$%p+6AMB@PVL#Hsl`qyg=k6vIM)Wt_ebaXi{k3P?jmw1nsD-(rl+z=&F->6MJRqk#9;zJ8ZY{gnF{qGGjD)FX5N4;c72>O z4olq}AEE6ZdkFK0bdC)YFXp+SaCZ;Rqo58oaq>(rri zO)`~=^+s^|th7(^Xj-_6GILq*6N?|%a-4kvJrieI;`+z@_f~Oj`ZY=1LO=VZL4c-Y3sl- zQFBM#h7LtRN?T%4zI}0ZM-6@H0R45DiodCHoT_tdt!k@ks_VebSY1t3nxa+46Xe;E z{6G$>97f^^jaBWfb#3@ok80(uO~Dt58Tn0eo7Y@d(}6p>ym_iSP14)r6=+C8U8rOv zFVo4Jsy3*DG&eO3l}SeA$vSdvRYz4}C!EBoxLUZ`{X0#kYpYXj z?5gf;t~E25;dU_26FoX*Mg{Dqb%dJgx;D{yrxd9ajZAj4per~w*~>?}7B-dD(-B}t zSAA7YM@!pAZw`6SI%VT9a@~8gjH;FEHr9lz+S|LrEmgI3`Z^d@yQ%K!r__oIC+W&5 zBa4|ji_W%iS3?yc)aF-9b&^b^fr#{_X=I=QAA850b9^JyDLT{oP`D0bq`f7Ko9DcZ z&ilEaYBa9ZqfUwA!+0Zar#tGJTJfQ5o&L^DHCSm*$qb+n6ZaV^Mv-ID4loFB1M)H*t^0{%F(_XeIoV@xeWT!Rd)@&;zNl9mWXH{FMr7Kihcsapv zsJWpEU5>kw^zlI522|AWn|ydxwhM z$>adK!*=2t5XZi27y^OnQ%UL#k#s+1sG{Ou{osLVTOPBRsK;l880$*M2KORn`cu&~ zZfNKo9z5er>TDDkfH{V2=rGZfVPfSPvf(02Yk9>gvUbC|V)aTYtxyFxsiaH!>-)Yu zAI~irP5)JN`Z-??MH$ePeq^U6b719mcS(6EvRC{Qh3UDQIW?euN#&L+j3W){nqr`}ZJxtG%;Hh7hrj&n}ye z7~DN5$_!(JCI~ty(gBqD+Y~f0!}2IPYl3GCQN`z-B7;6fx}W5^C3>_6{A63wdM}Kq+Bo#$Unh=RPHp0PQm-Opi(a7^1aa!|K zPM*&f#p7tDYG}@atgyY(pa9u-kb_PO=` zFYS2h&0oAU?YB>C4;TNW`du4HqkRfUzfS!f0WOWhDw5HuD%7V_y#Yq2dIOA3)d8rM z*{Rr<%lgaLsdIcfwX|Q}3SNN=H)F}(JQobOssY%b)E*=Ps2USQ;|(!bbM#apZ{@e)%7h`eDOnPzr$LN z@`6ki8eNsq5{Rb^{h7U&mUU<@&_;k4Xd}Q2v>gBl3|hA2!q@{$HqcTu!i~#XXqSme zI-2W1E~MW8mI7nv&Y3%B$sFY-?PRa??=3^d$VDGV8vGXpqknZee(Q^|z02;McFpf! zTh@dHpM7eVQVv#WrUDG)y#WUDIv@x6N#1Hodp<5Q&%xUz z@d-8;k-t=6WS1uT%SHGA&?R177=3^1ujQ|QH+5TUXv)(s#eY|aY2t_wo3^@7rz^RRM&YwtOEGa3QfZm^Iafxru!B`<#U*1%&=&z_as zS{}XZ%BnAVp(PUdvQwfg&X0|(C3vNAnh(4x)CXQ~fB~;Jz<^f=phhOVr#W@BE&1S` z?-03WBcSLh&bL%@zYY7l(S`IKmHmggw70jisi|@o{^m3^oH8(=>X6G{W&r+w0R6)F z%N++>TRKkKzi+7Fsd;~oH$0IIe*yDnnBbR2qYwNl)CYcVfC0ZZz<^%|0234bMjIvP zoe%y64*Yu7%$g---f}8kGIvgIbgq*rSsaP~G?MsoI3QwMr+Zfv6=4Pk1`8k{Edg)C{=cJHhnA_K1bh&329CwO1-hM}AoE@7J!91tt@(y5i zv4%c{w$H{no0XH;dqBw9`*Om4PX9PNCMTNb$k=Fu-}w{Ab-zv{okJx*xSUgKzd-D= zt7AT{Zab7$iFDaVM@Ii@B-KGNhsujnyytw%uUVecI3trtehg@}6yRHpdOnWo4ayb2g!mE|KZdo3Wf#7q>v(jH>mzI14I&^(`1@33h6b6)W56K^9Q9GlFcKvQ-6HiL%uM*?48E3$mcH zofTvglr0owrOLK0$R;XVQ;?M@TT75lQns^$*n5@bwg*|cvULX86lFUn$fhdW#vq%f zY@35@y0X1L$Yv;8SCAd0Y>^{w+R2(mfs zIKm(qWOJ2mdyvgjwseraPuYfo?099{8D#U7ZC8*jP__>Q*+ONzFvu3M#gyL%gSduV z+Aa=a^(t*23bGTF?b0BtP_~Z*S*5alEXbBA+sA`g*~%232(lH*c2$s_sBBjU*-B-* zHpo^f+b21Gjt$=;tNTVe=prM|N_&RV_}xHgA@o8~Aj8?Rg`S^mqf2k{JBegUh=5v& zi>1NWv(qnHA7uO3f0UrTpVo2f<<(a~cC+&S49Bl`AdB^p6wv&f^1KBs#hBv*?DOy< z9hgdz+bdDGV)jLlEiOahY`!j5{sd!7_xVs3Idzfe)@AJ#WM5)m9?$l(ub`y`h#!W; zP|R-Q_TntSz7Bq`Ifx@71lTvxL{~Nluy2E@=~#yTOn`j{yh4YV(m;S6K)*Q5Nvg;N z*d5?dwx35qD8TN*Y^DQzCjJ2X9{NOwduIFqyB9U{o9YAXKJHN*39$R!hB}jbfIaB? zI*Cn`!QI)X95qfpSacY%-jL?Geq=E*#UOQEzp^(1MG1? zWlquo_5^3SDtH0*6gp2$%K`RF7kqO*4zOQgj`B{#0rp>D_qrKbGjM=C%bi2g0DHbL znU;u34uN9!-*W!;3H&r#@>Dv&{)#c- z&Zzhl zD@VS0ju`{I1Oy%3A%8gx+;Zx|kPlNq#p;H8qEN<7Ccpuuf@h^uyu5@@=2K80IGR-4#Ry&KQ(llyAay}OW&(YnN5=Vf) z533dJ=Pzvp_Si`}}*s0K8Fs zCL)zu6>(~ipTdq0X zfeM_(8%p>r9s(WGE^mOZ%W8w&+#CcvZD^u;H3M`BrJSB=TdkP4mhiI~VZ=@bp<#EBghD6VehD<8okVxfwseVHm zm2SwQ@(oE;z9EOoH>6Pch72m-kU-@d@~3=5`ouc`_Kh_KOgh;8K5*yo{lnse?3Bg) zyX-VF){=218P#Oel2K1a0~w8Egvn?oqm_&{GCIguPsRo^Hj!~I8RwC)g^X@8ddcV` zqo0iP$%vDYAY+h>6d4&Zc91bl#%?k$AY%_17m;xZ86PI&GBQ3&#^q#OLB^G2>?PwG zGOi=z`fs7RoP7%B{Se_vwPXwyC*!azDaC@M97~ZIScJ^N@?$O*9t+qUEC`N+h(8yw z&10uxk#Q!L7j;-zG$OPGi-`^_BQ^ru^RS5MLF|4k90owz*dt{-QN{&GeKD2>mtj%x zaV!V+Vj=KJ&X3fb{e~bozCuIYf-;5*uyC8C#;G+#;Vy< ztcE?qYT5HB{kN>1y^OkZb_2UnbtZCFgQ{%tl7sA~#Y+#e&n`aUAiLFVF}0PkHVnCT zEE7Ah@asexEDBT(qLV?(74ST{c**21+{wNw*nRA4_$RtpGWi>Z&sz9=%kVi9KDQe_ z)$sYQ;ZqBrgN9E%eC{-S8sKxc;nN78dkmj2e7>0DSib@^P5?Qf0GUI z``Hfu1crd11*Rs_A1M-JSEGV2=nDSkKK2_L_)8}L*6>Ne=Ox1@1E1d;K0Dy^2g7F= zKCc))yW#UE!{-9{yk_|9ap9Q{Zot?F0nbH%=VHKf3E=q<;Q27%xfJkR26#S#W?_k} zn#C9BW<7_DU)LG`bgcRhSQ#l8Rrbq83~qhK@75?nmUCqQg1Md~qdmC-y@Gy(8gq%_Z)j{XYXafH%e zC7z$+c^uEPcwWZyCKwbkDdfOs;+c^&|5%zKp;P{9nV#G_ThO155D6RFQBfdi-l7g zYc`&xcuv97fM-3PUf#4{+;lgeym8DyJ{9(>J@!jI_FZJRRGa~if5hY8>G2PF{7?7z zFZcK#zxX?B@BlyRK7KSxo(|Uqj%yrTyQOP#(|-PUxOO}6d46F;3^*UG=DeK2zU81aeU_C)u)38=5Yd^BS;s9SJ zE6+E;wFa1H7hbKYJb#>r})iDI%h@9pLr%@mY89MkFcc;RCz{z8jP;94g^{_^nlb z$mYho`Pmx}@-|qnq-+lIcB8Oz-sz+qK#0>ftP3uuH`v*5Ilahg;Bxwgt%A$xMYaI0 zJ$6sAqu_FAfsIF_&Y?yv{U!#Kl!o}_VE&BV3a<7Ab_nvw}_@rhTy%t2zyec>;XQBJ&d9F2%m*rr1|Wpd=YyLL-KLH3VS_k*?;mX z_6&yRfAJ>l%xqvU;3v<2iy?ZLV@km={R7|0{)D0WKm1bcW9-Fh;ac`KhV0+?=dk;5 z8+(_3gIoMA>?hoVZGwmRIQ|Hqzz^|K{tK+rpW)^FSw5W~#=7hGSXsY@MbsPoIQ|Y+ z#_#g^qL?obC47mP%9n~6e3_WXmy7v)l~~SKi;Q(*NO9Z zNc8bW5#!BbJ8uyg-Y%}<9pW0kLG0rj#ZCPE;t_tHc$9aGr+ANenr{^^@P6?kk6VHd zSVerhRmM|RIp1N;<~yz9_y??|`~s_zUu2!aFSbtSms$<{GHV^b+*;2+Zf)dOfmQ6a zw({$&B>yzn;)efYl8PDro0#NggGp+aW|DAun51@TCaGPTNotp7l5lyLq;~ypFv)Wb zCaGPTNy6n}lG>%2q;_d0sa*v!Ns9e%W0JZsA10{~x0$4NX(kC5CO(@<>M+eDwM#Qe zxX@EJlho-(WRm;~kYDy=AN;FeaksH2A?rTNzXi7TU9htQ>=j5EZ}Pjr!oH8a(ffE2 ze-NzdA?z^z2-|@_27CG$cHe%^7lD1P;7?$8>zCMedYV`9U-L$=vL^oD82-QEoB2z; zkN=Lx_#b(OzruHdwOzvh%rC`P(0ln?{968ZelytI=dgsoO>q7VQN-^OWBEN`cMpm2 z{1Gvc9};E!7h(#32JG)yaTGr+X7b;Q+59zeEPn&6@E!3!{;pUkip3&PB2ExfMTM9l zR)~4xL@{5SB$kUcVx>4uoFPsZ)uKu?!E6=vVzW3)oF~?aJ`ol%_-q$vi;U$~U^8af| za*M$vwM#QexI9c!yEK#3F3lvht3W16vHxvMQWxgKB++kZp3Nk+>wj626#JPFUuK8I z*VyCY>+DJKZT76VoxLCqvX{jj>=p4n_NKUpy)Aygg}9#=i68P(@i3nRnQEr^37;hn zL3VqLFA`7k6_Bx3iC^)x;u&5go`YQWJa2-mwL$!rZx+Ajed1*v6R+}&_!HkLUgwvH zH~6LEuY9j~n_nyb!EYA-|YXX17n#2!Tlld>KY5W;$ zI)BzWnjf}~;lH=$@Yf)>yI%%B&q$xwYGxZGFHx&ibIW)Vj#3v_5Q| zVqI#TZhg#Zur9aOSyx)?t*fk!*0olzb)B`4+Zn_MF0Q* delta 11201 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 QK7`d3wKlimTTuJ|0lR)a#sB~S diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jrxml index 7395a97e0..f51ca9c32 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jrxml @@ -1,8 +1,8 @@ - - + + @@ -15,102 +15,137 @@ - - - - - - + + + + + + + - - - + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - + - + - + - - + + - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -165,55 +200,55 @@ - + - - + + - + - - + + - + - - - + + + - - - - - - - - + - - + + - + - - + + - + - + - + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jasper new file mode 100644 index 0000000000000000000000000000000000000000..305389cfcb4902c251bc7ea638c805e6ece7e491 GIT binary patch literal 33618 zcmeHQd7M5HJqSOb^r2(>-?gz<`Px zqls~e<{6_zO`c0opXRv*G)7}I#+SsH7?&80Mzdf{qCU-{Sv2oERdtu@zSGm=@8$jV z=11RKw@xjmzB+a4RGqq)JKv%)=@iXRL^D49h}6&*;XGU=*lVoNL$ty&`^ z+hiokzj-fOR1~K1-O2ueSUg%E$wV?VHGF1dTckRctZt8{Vv%@kXJm6cx-v|Ybh741 zf3$tDw>LJFp$e5a9!YGeZqKA*i7iMtK_^Vr#UttTS+t9+p%fjNkGIW{G#G5F#Vwn` zg&~^W+TPGv-_q6I&=#r*cdcz`YY(+FcXfv9LloSc%w&@NO_3BD8RE9Y2m2Fs$-zV> z#GLR``#_`{tU1(mv7Sud1}cwjNhDLz)(CP&GO=W0169V-tK-Q?rcUNtolIt;DNdMf zAMEdsq;@n%w1#*2OY?9M>3)^h8rNi5@#wSuEWV%fzEPPl!t6(cX+=w3fyv zQ?Y0QfTLcJ24o4bEq&m696v}NYe4|0nU)la2Ky;aU^jJKCOKf2R<^w_nrKdP4|ePr zh=!?jbEJFgmK0#<$W^erN4hh~)DBm|0eP%n zj<@z`CPNd|z!=QL;uuHFcYp`UAbM5~h%l95aAa6;44lUIM`8)x*bI%tmWxVp0;5uw zJT@T(K{vJBBWPZ+EETve+h;j*TU zG&ap$3#mAKB&o1Fw`e-uA9(bJGI92?MDlW}i$f znr?~=Wa!8dGPin@BmcNGbHr*aL*<_NrFKV#r=c>3tUF_I-twh1%QkX}svlBxbb+Wg z#H0Pt(kDZaqVxEV(X}v|yZd7Co)l;{k8-GoV`-_QqMm#iIwCKJfX|b9<DbOF3l!1zVq8ic;UY0GFt95{Rr#98s8kuK za7p}EL4?V=OxDjDtBN60Bt=Azmb7=YHFVT9qLw8i){;Fzc+28JHY)=gq@!&>8VZx- zbq1&LYZj+J2+adRd7I}kC$x%JwQ}c)jWlL61`Bk<+>vyHoEV1&22(oe@V1qjL%;CK zu0LG%{fm}a0FnDfWHqWpH45x6&WD?a{f_8RW_2tY_l)f+`N#Hz&B^3e*eYAY(QVOq zEtN&LLF-F9qa)TIt)+>5==@YXme|?>qbZuHr3r2fNE>Jhv_d8o&2;y%anrIbn(Bpm z2-D<9qPs7dVgt|}@!TgBFdp1$OG^pI0%I!r>y&e0>uPNR)-YeeTlTMu-~YK!(pp+35^>kHEi zCrw8(8PCK9vN#Hp%dn}a?XHNWYcX`U$|-0t9?wvvSB;|3Xe0qeqX zB?FNRnw!v%lk{U2L(msTjY6EYwsS}1+?+2x`5VCaFb&ijxVsw4*RrDMD+crw0oJ6R1!k6WtO`p~yfljA52~je~q{hXUs3 zqanc<6tSI16N%Tvv8doFL$iB;4@pb-^1QQxoVOaya28wnjVpFqLiT(`kbo4O^>+)r^iCA4_*8fHy=zwhvXv zg^K~`L|)3|!a1I!HJDr+uqokkYLi$ij%3V+RYKrBp7ZEM8yACaFZV=g{0gvQxkz1( zjU8*o!2vE6@(%fy9j|%C!YdWol8OxUWoSX(-dWSeqgp0qeg^<}qC3elq)XA`|Rq4M%lehNU>Q=@K*+ynr;=DRUycW26+ZCM%OL zBV=OTxzav0hoG5TIx=%>y=6)cp;ro><#Tk(%zQc}M2-PG4WotEAECtR7}WZ@J}5_? z_2nceDOevwv6SeMElF>n89E1R*Lu08v?oXqF>|&>`;*(EEP0$lD&krS4kXhtUQ@FX zip76gO|SeEqA}ZfKO#h82)`XLfO+lS%?ggY8d_?ycgYKLd0PzQGeh}7#hTf(P_}ci zg7g}vT*CpV606#%x5}ce(H&Zpi~Ey3QWIbpj^nWI(?uiqX%kXwVH=OJ1+^&E4HsMz zrUN`ttX-WcQCB?43!1L9fE|fe57fGHzf}!a0=s33v*3~TNL?Rn-l#O&j?7-laE?mY z1A2Y4!<_~Tu?O@r$CC?vQSK20-NFLYnl{c@dUOMe2L~ZT_H-zhBAwVC!(u`&Im_(@ zCvC#SdoNGEQVEuGqZY!X#$Q3^d^WmV694hKfy;t9U%5JTT31^`xTYhtwxO$|1^-%g z`FYJ=)=^biZBvCC#g{f?Cr~XwU`VT#id-pii@$kY(fil-UsR1n+8PSN&`D?7V_Rxt zne-YO-=B1zh6Z;3;)?RO7p_?Q*q7$iZ(P-Q69dIu%GJdrcm1QyfQny!<(Bs^`1A@a zATVOL@kR>tQ@NY2c@R@>>f$@UFl+qPuU%@d07@CvrTMHQ*=nDO-lyfo;fB?kN5y8L z>XEe(=3rGMFM`Hrn?Brin61ZYdx+Py`Nub}QF!YxIn)|uV-jZ9P#v2{m3z*}?jp*o z=0dl)6=-f=;hIU@56e*0!h9m*SsxlajLkRcp>x@W^3Los!qLc3?`51qMrdVJz}^bW zmdv76kt|g1UT0{MXWb$9)mcymqS&4a=x$Q*gW5mhdGMzUo1ZZCV}+s*A+FltQ&=ByB3MtX~iM3Vm;VZ@9rB+Y=xz=c%+>Rx0E{00$|JJ zd?%e9o@H=_8`~C*#2t#<`Z@@kW~!zg>Y$7UgZVz6Gv>!rTXY6l}!=O z7%s;q9|Aa%)oiw#x$VvT`{IR z+1(d)vO87eB76eCJN$zs!J!AMzo5h!4U=Juyetxiz~6;43NZ>8WmNs@{P=RbejP)fh3m z3t-}lT29=yA8P2c-7&VGG0hJw9r;W`UeF4uEvdD-oQx1##s?Ijp^dkF^KnvjF{ z?or`A#|Q7?t^Jv_U5W;LShdj&kg-NBRH$eFwDjf^F8lJ+Z_NAQ51y>~@y7)DcIHZ6 z_V|FTs6HTj2?oesf&sE7KER}WE5;23PeT(H z^tCi?JN7c$qUq#dsyo^g!?A$GmJZldFe`i6I|;LL#KRiWjR|A2yf+qyG49%H+@1=Q zw1vIwg_LA_4&6g98~Fs4>zrFSl8MWU8|lddKjwJ_W~LH{K+YPBrgn_%#5|Rgv4squ zqXefGC$7}#5%?F%(%q@p08W!++=D`3)rm!8M`X3#E@CC;gwspnSWr$oG5C`kgxt21 za6D#P1PA+Ys1JoK7zwGhIxWgLa2O%bdj+dT-Vf#-aUUs?I|oX}1!3KwL@Cd@L5Y%e z{4bttUijXCy;=ysz&xVB)q*U+9S38uc!Z*pP-B;#fkOAW@->WUGQAUxlQw)ngkz^=b7~$%!+{)ZqTny%-8h9>h${8?BM_9K zD2=0^$dn$VU2lfEiS-)FliIT-ioIOu2{*AlmlT#-t{n9lf z?4FVi4|Nc;CD9P+mZw)Y&?Kheh$WwaP28R-G8rQJiuE1-C|{ z106{mB@=0mx*KEavKy!v8Io1GGxC-+cCrP(yCf(kg7 zr%o{1kmxG36RyGoD z$LF25;a`MrwtEmKAfd}}yeF3EPRVm@JY{bnJ`AuUjWd#P5Mm>*r zyc*U5TvByzg&Nb`J}YzhIGJa9h7&%v3MZDi(>3OIZSrnTb;#Q&UFS@vtZ2%6Lf6@v z3e&;EBr$fd!ZbCOfWI~pm;7XzD(1vcDzWpnh;0Fdrfy9EyXbQ0F#x(Hqn%lBUhZue z-2`t_-VI)ct}3guv_N`Ycw_2XI-5JB%Hyq_aoGl|$j||a==RyJ`%BLZ^Or2ZoB=NK zo(Pg${H+-ajv%V;bm-dOIuS-SXDe%RyrTavJW2?>BEN%LhdHS zvB+RXD5&K|_73M~Fa7YSQ;ylyaLu^3YY(hE>5`APZWFV>i@MBI+XpjLJB zZbyqn45Yj)P*kI{6jc$7&hiqB&hiqB&e8<1Wp);87V{6rY6s3V#YZxzJ#H;_UAZ6^ zixOSHnIP0Ix2hn2PIY*nu-k3>+k@{lLx+xFrXdk5G}|9PSsns8PD`q=Po220IXK%w`6Tsgdrq)! z`&IXv_&YbeaqioVm-6hUrD3ftwJeP*)E;d?(@joaC@C=9Z2_EA>8fv8*X$T;mC_ZV z1aWxPTI!=(C);hOH*`&hxNSd4$uW=WY}I<>TaRD!sTHSuYuw_Vt9QIx|BBsS-G00w z0vEb03H!_HPYx5mA=|(p$xE%zkX2NlA?qa=L)J^!WHaW}fr&bM$ku8O-J6yS35jZk z>p_~3tzV4^(=9`>Y|mj69iVO3(6WMnzIf~YAMIRqm?ZYY61+J;zTl`7wgU}*6QI^1@oa?mW}e548K&zZ^u=Q z;3IOOwr8HgpuRVB(Uhb9_OoBS_2P~1e*T41x;_Tfn;2?&Im1Vk71al7FTsG?OE93; zgkhjQV^mO2^nn`tOcH9ZXH*s{M{%xD+uotVkiI@$A>P`0?3VPShb}wik@|0Z45WGY zOUO&y2Wdt1LE1|&koFP`q%~m}q~oJPx;zikUh6C$(zf5TFr@cxKYqsedBplk3=P=UpveO4?MfE}2OE8f35)7m@VHl)$jtc2XK1i2pnf5q9^8s!9;tB)$ z0s32g_mp{mS-bm{gMN^%#VJP9;puWe>^%5c23lS|;{&v!`T*@E7(jao2GE)?4A7r( zS=AwK3+cb?*|5R~=rS8<(eY5uocw@Y%jq8+e<)WobxfNj%%eO%x6-(W>jET`hcxp60efSgc3$^ENS9s-FvxK zZedto`_K*d|M-LMt=r1ON559I2G)zem3xb_a=FUmN2s{IAj{`VtM*UXTeolMi`_T; z`i1E&V}`4EPgcdwwt;I0*zVrt1yy{-C%^TFJ$K!)u;QID6OLWc^n%@+qcFMdWEkY- z4j<`KR3GW`5)A3`5)A3mgkgsA9fmmYgBAviHaKi08m?hG*+;s{9g{1|?<-4o79b6B z0pe~PWoTMk6g#^R%4CD`WYj6oF+32;nV83M=K4M7Q1J4Fk8e7}_Cn0S8anUJp=S;4 zlp-4|9m(UQXJBGkZ;Ydz97H{QL%v|bBS-N5~t`ATWi{Cni@Lr z-IA`R8og9d1y7Lshw}9W_~wkv6V}wUw>GrlO$z49%T2+bc`?eH%JNL-;4*VlB^bhWp1w$(Mb$>I9R2dDbj zN4xZ<8->~&wAZzTT06oG1}1rZDQntlHsehje6z#xrW++s(Cmg=>T1FUr^+=b`zM@) zXGAT%?Eamq^R+doHg?r^HrJa49N=~^_LMzG1Pli3rgemx8oD;{p0~7Rl#EokMeqyK z8|($3&4n#xt9cu^qic0dT}MmXdT$AN_q%1|Fmm0mni#BA>NeJeYuekp!YwuR4fq(Lh3e4=B>#h*$CAjxWb3bh0jV zbtv3`G1A@=#&?0djn4ZvhH5lEdc>U)$7_p5*-m#fG_~S2rUv~QfNJn$w>#hzjr$Ch z@$IZeR)-qG^+rz5yGrb@H>wAJ8%9wo zysoiSW{|)7lvV2FP{>a4mIQDE>nScJR$mMugw)nS!Rz2CPr4Y<9egr zp+u}Zmh?8)-wO{RN3INwZ*FO-MR%a5@wNvv4yoSApDTcxR^#hVdL>&(meS7l&YHGR zOIN7A@OpybP;+Aqx*T7!Xem5f8NO(>HdNO#>WpJMLLHsq0%`(E608{jUpau_vj}2W zn?F@lwKJLQM|aqda6dTV9YZh(RG-SR(ilniVTKx0^3t~-pStOpBC=NFtq+WK6ohgl0UWF57HL-TMBW=YjD4$jYzSj=@5dIUnA zxZ=|Fw^%%HHY^(HFq6z{ztmuUkO`+^z!c`c;SDUvuEetO?wd}3^;exQt-AWcy3J)z zt$qoXmpVt4$MUj$_$xQ>zwn%EkJwjl8(t-{%nuv~E{pbucsZeceS1ekle8qo7+o`u zA(3rM=J&;7r)SO*& zF|#vFz4Va;gPU12y6V{AHef0)Jiqc32km)|J>OiMb>hfejw!qr=@`%Ea%|!G6_=&5 zGo>?I@_6#dJeCw*hcAzT!t-k+b;m0%9f?!1ieFsmA6~&H;&d$dMeUtUjuec~uAAQ} z(ffH^5(Wl_t>c5`BHrit3BI0r_=%3sXL(A`f1WdntaJF!^RDw4Oi3Nujkg{ zH~H0NyV77@H-)Aug4c6v5WH(J*o?Z>`imR zj863uHrc#5bzI6^nVoux$ta%kb?VgYk&I3)>yzKititE0V#yxo6$4qWtjqR>xV}_u zl8LJr>tAcy)O+ub|FY=aQ=YV&WpY03xZ#~gOJ00-G8N%kABa^pMKB=t z5)6nn0c@ENk8Tfhnh(U~8sZ*&KeH;o%gF_KD!xKE1sE45#}Br=_u;`c*R)*r)eBGk z2elZ-N~BV6!ZD4u(8-OSPZ#ib@Du7ijJUkqte`M7m7@9}?j;zAdkF^OnvjF|&8BGJ z$rNhYAbglm+fTB)*jzcl!QPT_{jkc$&Y3-D_M+M98D_U(hYXX>(&35L9 zyl~&R?DH{&>GYeHc1_u}{JQT(53P83!NS_6QTDCf_c5X}F)egJ9y%dfi0FRJrd zNA!;T^IHGdNbU&16TsD=$dSM0!D~kM>+8c5I}zWlQvML-eZihr-fvsreKdSa5?{r) z{Y%bA`W44~NEk1KRd%P6=`_AnQs;ifpTT$*uU4?thgT7DDN{Y48PB2$e1MpxXrbQ3 z3(8Hra;|e|SORvytc|sI{&Cs|V*?$p>8-6fiSK{(jYp8LN}Md{h+*88T}zfOK6=IC zW0oGfY{fClx{g_~bjeXmN=P6F*6PE4wVqG5;`>wjD=NuU2^9&N=DY;jWjN2o2%kLH zh4J}U$G5psP`O*2+HVy!!;RAWMUKlxV3^ylm3FzC$O7-`I?;YU3qc3xBrqL@LVhYw zy|Aj?fwq%U(5#%yUQdmn!*b|8ZWuua<|Om@?u<70IRXT}isv-a+1>Yp%W)t25wYQ^ z{4GL#6-d6K+hyujw9ET<@A^BEoO5S)I&HZR21iFY?vy{Wxhncm`!*NPymPBC~LWa)AR z(b(hpC9+k5ismm^E2y{*U&9Pyy>V12d?HJOG=|2GBa4;?sYHcV1Sz0G#|3Ge3LPJ$ zQWaVir12_rQjmfwR2!rTDpVh&G8I}Kq=_oj7^HF)S`(y6DijW4`%>219HdGWY7Nq4 z6>1C86cy?S(o_{%8>DF}bXt%OP@xS$nyx~p2Wf^1oe`v&Dzqs`2ddEKAk9*to**5h zLcKvcScUq6G@A}#49*PF92JTO=};9)1nDpp8VJ%{6-ou^a23h~X`Tvg3(|ZQ8Vb?^ zTFB+?4ALSMIwy!zOEPX(kd9QL^Mh2SLZ1v$wF-SINQ+hIV#p}JETCS3?cf*X1(kIV zrt#m*z%AMX&t*o?;`yHc;e%hR&i}{)P|D)a%6bapry@K50^ocpT~-S2FV|^T%TFr= z>2oUjN`a3(qlmSUR60nXSCRjQp=iu?0r~=>*hgK>_G>kGE1@q!2=Rulpu=^w@_+1U z*?cCv*DDuzzS5_of^;429#7ZOm(bDzreR~|ETJ2Oy+{erm!bFcm~*De0R20f=+2P= zx*2Lfr!pM+0lF2#QB%xWF+h9JFV1k5XLbT~JI1sf=Q*(up#OkY*94ylFhF;qPc+># z^9ATX!I|Hb7odAs&)J^r0Nv*{)S2W0^mRAZncV`k4_#?bYXN!?9j2>R^I3o%f=2aB zWC42EWzRE%1?XEy=$X0#^li67XU+=H3U>ea{8ooRdgcP73LP6?gWX(hY`jH^}?f(EhQHtnn4ouE4wB10Wd|OP(VxQ zZ>98C`a3Fwx{$~8ApY}x>I>3`^ie52NB@Mpxn-(PK9mT7Ryqe9@!he2fO%eoGgw(F zNToMakd6w9F=8yVp(sIL>7t|vh;eR&lmsyzjkga*qvOQ{2)q5P4oU~aM1ZX0q)a3N zViGvlQLbo+%2L|TjmmOP1jJM%&)!WBhyx(>+0C!T|Be<-m53QQ89X~64&*-b=vceW zjJG(bRLm3yLsBCH_%Lb@Mus=3kA_ycRTV3P;t(;1OE?rgmPsmFc8@uL&J~Aq+IfJ& z*eVT(1*LQ&H@bwSEZWkW)l0*&0S1l`N0tgpR6&M#8!#XiXSKm@ZVm#THXOx#9SzXk zd5ia5O2o2Kv7DBIN=qR>*aHZNW6|5LH!vVpLLBVT(GmxO;~}~TNa+oVRZ>jFiRe~w zBIMsr+JMhm;mBJQ873iv^Qg1cakl-U9+j!1h#2}&Is~&bpJ!QsJIptP@P94oJ4`qE z48u*{VYbOTj5c|P$tLeG*yJ7Nn!LkUlXsYE@(x2y-eIQ6JB&1WhlwWdFwo>3=9#?1 zIFomnX7UchOx|IZ$vccPd51|R?=Z;Z9p;$4!x)oym}2q{LrmUbhRHjOFnNawChsu7 zx)J}ls~1&##fUi;F*g}8D-m;x5px1!zG}prh?v`qm>R^~VZ_uS=1wD~0Wn`Q zVopZP-9}6ZG4~oVry%BjBc=&4dySYD#5`ccoQjxl7%}aL`KA%miI_)>n01JG)QDM+ zn8%EmjfnY<5%USeeAkHSLd<^|F%iUk--zi(%u_~86fsX5F`Q> zXFWuB1H^74HPYz_eS+c;*lQFB&mP#Jpt0oQ0U58!>6bylTV@BIY$CW;5pFd+;L1zP= za{$k|fM*xrIS=rhkI)5x=aXm_mU+5a_vvPxhk}2t3*P@I?Pt}qsN%Oq%(;m9oe{&i z{$RvhfS9+9m<_)fYqfU5MWm_~GSDu?N3<@p~A*m+?b+)@1xp zhIJ%<&G?;;-7$3l%=MLG z);=*Csn1ra_lm>ziup}@=rtrk|p3*jsFdgovK}lPV zf|udR!IOaLxhc83ie=ch1HHiG{q6Mqabud&n(C;AnzZX%g9sB9O#Q^;Y zL*UQiZ2BvP!QaHi^bv-_KgCs8h+QX&#q}Z}_FyS>2Ubh>iZbzaQ6U}{mEut`O}va% z&8t|p>=(1do8k~_vY2B{6Ng)K#5`-RSY#b3j<6Ps#a6ReVx20MS*MHTR+l)=I#aB) z`o)RXkT}UYThv<@iw5fw5wflpYpgGdX6q)=V%;j*F`PQA`^0J1Lt+#BJSY6Wg4iSe z7Zk)vhJrZBP!Rg*U!fpsMx`J)_5YcI(3SZp2!)5OAoP<~5DG_IL4f8_5SpeHgwCfG zgr*IvAVdtC8C&T#k)%5?JnzC$gT44q1s)VT=rPzePl#Rgv^WpL{X%+4djI4h|S_55f$GO{TSv0;yYqUJR!~&-xC*#?~9AY)8Y#8BPfVx zp&*_^=`W(RpFu&q0tN9ZO8F%e#IKO^4Je4;BIXZJ5N|<2ybA^K9u&l1pdj9dg7`ZW z#6PUX_%E26En%H%jj>L*##&ugsdc6`-s-m|T0>U3b+$Fxy4adxU1CkQuC``aU$hRg zZn6%xZnX}z?zRrI?z84w4_S+$AZq_#LHw^M2r?7|845x_{VNni!>AMlr~W@v5V|rS z1)=b;6@-5J7h4e4v1C~*={D;`y2Cn&?y~A>uhl>gS|NH2|C`wpFj1ejTId<8onEp! z=oRZU+Hb9=H?2?5d)68BXKOQkWOWN+Z4sqbpO|39#Z=74)2*{Gf2YJ;Ya8b5?c!+6 z&8w_)M2&U62wN9mPQFO2!(6?=`mES&T`Hp1=S07Cr5M1xJ!E}BoNZkvF0^)wi>({Q z71o!*+|W8E(9u + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmpresaCorridaBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmpresaCorridaBean.java index ab8ef112a..04505777c 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmpresaCorridaBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmpresaCorridaBean.java @@ -1,62 +1,62 @@ package com.rjconsultores.ventaboletos.relatorios.utilitarios; -import java.util.Date; +import java.math.BigDecimal; public class RelatorioEmpresaCorridaBean { - protected Integer corridaId; protected String empresa; - protected Date dia; - protected Integer coche; - protected String origem; - protected String destino; - protected String hora; - protected Integer kmts; - public Date getDia() { - return dia; - } - public void setDia(Date dia) { - this.dia = dia; - } - public Integer getCoche() { - return coche; - } - public void setCoche(Integer coche) { - this.coche = coche; - } - public String getOrigem() { - return origem; - } - public void setOrigem(String origem) { - this.origem = origem; - } - public String getDestino() { - return destino; - } - public void setDestino(String destino) { - this.destino = destino; - } - public String getHora() { - return hora; - } - public void setHora(String hora) { - this.hora = hora; - } - public Integer getKmts() { - return kmts; - } - public void setKmts(Integer kmts) { - this.kmts = kmts; - } + protected String linea; + protected BigDecimal boletos; + protected BigDecimal abonos; + protected Integer kmOnibusProprio; + protected Integer kmOnibusArrendados; + protected Integer kmTotal; + protected Integer pasajerosTransportados; public String getEmpresa() { return empresa; } public void setEmpresa(String empresa) { this.empresa = empresa; } - public Integer getCorridaId() { - return corridaId; + public String getLinea() { + return linea; } - public void setCorridaId(Integer corridaId) { - this.corridaId = corridaId; + public void setLinea(String linea) { + this.linea = linea; + } + public BigDecimal getBoletos() { + return boletos; + } + public void setBoletos(BigDecimal boletos) { + this.boletos = boletos; + } + public BigDecimal getAbonos() { + return abonos; + } + public void setAbonos(BigDecimal abonos) { + this.abonos = abonos; + } + public Integer getKmOnibusProprio() { + return kmOnibusProprio; + } + public void setKmOnibusProprio(Integer kmOnibusProprio) { + this.kmOnibusProprio = kmOnibusProprio; + } + public Integer getKmOnibusArrendados() { + return kmOnibusArrendados; + } + public void setKmOnibusArrendados(Integer kmOnibusArrendados) { + this.kmOnibusArrendados = kmOnibusArrendados; + } + public Integer getKmTotal() { + return kmTotal; + } + public void setKmTotal(Integer kmTotal) { + this.kmTotal = kmTotal; + } + public Integer getPasajerosTransportados() { + return pasajerosTransportados; + } + public void setPasajerosTransportados(Integer pasajerosTransportados) { + this.pasajerosTransportados = pasajerosTransportados; } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmpresaOnibusBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmpresaOnibusBean.java new file mode 100644 index 000000000..70054cd41 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioEmpresaOnibusBean.java @@ -0,0 +1,62 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.util.Date; + +public class RelatorioEmpresaOnibusBean { + protected Integer corridaId; + protected String empresa; + protected Date dia; + protected Integer coche; + protected String origem; + protected String destino; + protected String hora; + protected Integer kmts; + public Date getDia() { + return dia; + } + public void setDia(Date dia) { + this.dia = dia; + } + public Integer getCoche() { + return coche; + } + public void setCoche(Integer coche) { + this.coche = coche; + } + public String getOrigem() { + return origem; + } + public void setOrigem(String origem) { + this.origem = origem; + } + public String getDestino() { + return destino; + } + public void setDestino(String destino) { + this.destino = destino; + } + public String getHora() { + return hora; + } + public void setHora(String hora) { + this.hora = hora; + } + public Integer getKmts() { + return kmts; + } + public void setKmts(Integer kmts) { + this.kmts = kmts; + } + public String getEmpresa() { + return empresa; + } + public void setEmpresa(String empresa) { + this.empresa = empresa; + } + public Integer getCorridaId() { + return corridaId; + } + public void setCorridaId(Integer corridaId) { + this.corridaId = corridaId; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmpresaCorridaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmpresaCorridaController.java index 49ea7a6bd..146a7d536 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmpresaCorridaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmpresaCorridaController.java @@ -15,6 +15,7 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zul.Datebox; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioEmpresaOnibus; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioEmpresaCorrida; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @@ -40,7 +41,7 @@ public class RelatorioEmpresaCorridaController extends MyGenericForwardComposer parametros.put("fecFinal", sdf.format(this.datFinal.getValue())); parametros.put("TITULO", Labels.getLabel("relatorioEmpresaCorridaController.window.title")); - Relatorio relatorio = new RelatorioEmpresaCorrida(parametros, dataSource.getConnection(), true); + Relatorio relatorio = new RelatorioEmpresaCorrida(parametros, dataSource.getConnection()); Map args = new HashMap(); args.put("relatorio", relatorio); diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmpresaOnibusController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmpresaOnibusController.java index 32b1d96e1..49dec40ef 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmpresaOnibusController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioEmpresaOnibusController.java @@ -15,7 +15,7 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zul.Datebox; -import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioEmpresaCorrida; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioEmpresaOnibus; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @@ -23,7 +23,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @Scope("prototype") public class RelatorioEmpresaOnibusController extends MyGenericForwardComposer { private static final long serialVersionUID = 1L; - private static Logger log = Logger.getLogger(RelatorioEmpresaCorridaController.class); + private static Logger log = Logger.getLogger(RelatorioEmpresaOnibusController.class); @Autowired private DataSource dataSource; @@ -40,7 +40,7 @@ public class RelatorioEmpresaOnibusController extends MyGenericForwardComposer { parametros.put("fecFinal", sdf.format(this.datFinal.getValue())); parametros.put("TITULO", Labels.getLabel("relatorioEmpresaOnibusController.window.title")); - Relatorio relatorio = new RelatorioEmpresaCorrida(parametros, dataSource.getConnection(), false); + Relatorio relatorio = new RelatorioEmpresaOnibus(parametros, dataSource.getConnection()); Map args = new HashMap(); args.put("relatorio", relatorio);