From be59404e19ce8eb408715207bfe353e640ad04c3 Mon Sep 17 00:00:00 2001 From: "daniel.zauli" Date: Wed, 17 Jun 2015 18:06:57 +0000 Subject: [PATCH] fixed bug #6361 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@45089 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioReceitaServico.java | 85 +++--- .../templates/RelatorioReceitaServico.jasper | Bin 38876 -> 43511 bytes .../templates/RelatorioReceitaServico.jrxml | 252 ++++++++++++++---- .../RelatorioReceitaServicoController.java | 51 ++-- web/WEB-INF/i3-label_es_MX.label | 1 + web/WEB-INF/i3-label_pt_BR.label | 1 + .../filtroRelatorioReceitaServico.zul | 8 +- 7 files changed, 290 insertions(+), 108 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java index 6bfd3a73c..2c07100e6 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java @@ -30,7 +30,8 @@ public class RelatorioReceitaServico extends Relatorio { String sql = getSql( (parametros.get("ORIGEN_ID") != null && parametros.get("ORIGEN_ID") != "" ) , - (parametros.get("DESTINO_ID") != null && parametros.get("DESTINO_ID") != "" ) + (parametros.get("DESTINO_ID") != null && parametros.get("DESTINO_ID") != "" ) , + (parametros.get("CORRIDA_ID") != null && parametros.get("CORRIDA_ID") != "" ) ); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); @@ -41,6 +42,10 @@ public class RelatorioReceitaServico extends Relatorio { stmt.setTimestamp("DATA_INICIAL", new Timestamp(((Date) parametros.get("DATA_INICIAL")).getTime())); stmt.setTimestamp("DATA_FINAL", new Timestamp(((Date) parametros.get("DATA_FINAL")).getTime())); + if (parametros.get("CORRIDA_ID") != null) + stmt.setString("CORRIDA_ID", (String)parametros.get("CORRIDA_ID")); + else{} + if (parametros.get("ORIGEN_ID") != null) stmt.setInt("ORIGEN_ID", (Integer) parametros.get("ORIGEN_ID")); else{} @@ -73,61 +78,62 @@ public class RelatorioReceitaServico extends Relatorio { dataResult.put("origem", rset.getString("origem")); dataResult.put("destino", rset.getString("destino")); dataResult.put("classe", rset.getString("classe")); - dataResult.put("tarifa", rset.getString("tarifa")); + dataResult.put("tarifa", rset.getBigDecimal("tarifa")); dataResult.put("tut", rset.getBigDecimal("tut")); dataResult.put("pedagio", rset.getBigDecimal("pedagio")); dataResult.put("total", rset.getBigDecimal("total")); dataResult.put("tipo", rset.getString("tipo")); dataResult.put("agencia", rset.getString("agencia")); - dataResult.put("dataHoraCompra", rset.getDate("dataHoraCompra")); - dataResult.put("passageiro", rset.getString("passageiro")); - dataResult.put("nrBilhete", rset.getString("nrBilhete")); + dataResult.put("dataHoraCompra", rset.getTimestamp("dataHoraCompra")); + dataResult.put("passageiro", !(rset.getString("passageiro") == null) ? rset.getString("passageiro") : ""); + dataResult.put("nrBilhete", !(rset.getString("nrBilhete") == null) ? rset.getString("nrBilhete") : ""); this.dados.add(dataResult); } this.resultSet = rset; - } - }); - } @Override protected void processaParametros() throws Exception { } - private String getSql(boolean origemSelected , boolean destinoSelected) { + private String getSql(boolean origemSelected , boolean destinoSelected, boolean servicoSelected) { StringBuilder sql = new StringBuilder(); - sql.append(" select c.feccorrida as data, "); - sql.append(" c.CORRIDA_ID as servico , "); - sql.append(" e.nombempresa as empresa, "); - sql.append(" pOrig.cveparada as origem, "); - sql.append(" pDest.cveparada as destino, "); - sql.append(" cs.descclase as classe, "); - sql.append(" cj.preciopagado as tarifa, "); - sql.append(" cj.importetaxaembarque as tut, "); - sql.append(" cj.importepedagio as pedagio, "); - sql.append(" (cj.preciopagado + cj.importetaxaembarque + cj.importepedagio ) as total, "); - sql.append(" CAT.desccategoria as tipo, "); - sql.append(" pv.nombpuntoventa as agencia, "); - sql.append(" cj.fechorventa as dataHoraCompra, "); - sql.append(" cj.nombpasajero as passageiro, "); - sql.append(" cj.NUMFOLIOPREIMPRESO as nrBilhete "); - sql.append(" from corrida c "); - sql.append(" inner join marca m on c.marca_id = m.marca_id "); - sql.append(" inner join empresa e on m.empresa_id = e.empresa_id "); - sql.append(" inner join caja cj on cj.corrida_id = c.corrida_id "); - sql.append(" inner join parada pOrig on pOrig.parada_id = cj.origen_id "); - sql.append(" inner join parada pDest on pDest.parada_id = cj.destino_id "); - sql.append(" inner join CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = cj.CLASESERVICIO_ID "); - sql.append(" inner join CATEGORIA CAT on cj.usuario_id = CAT.usuario_id "); - sql.append(" inner join punto_venta pv on cj.puntoventa_id = pv.puntoventa_id "); - sql.append(" where c.feccorrida >= :DATA_INICIAL "); - sql.append(" and c.feccorrida <= :DATA_FINAL "); + + sql.append(" select cj.feccorrida as data, "); + sql.append(" cj.corrida_id as servico, "); + sql.append(" mar.descmarca as empresa , "); + sql.append(" pOrig.cveparada as Origem, "); + sql.append(" pDest.cveparada as Destino, "); + sql.append(" cl_ser.descclase as Classe, "); + sql.append(" cj.preciopagado as tarifa, "); + sql.append(" cj.importetaxaembarque as tut, "); + sql.append(" cj.importepedagio as pedagio, "); + sql.append(" (cj.preciopagado + cj.importetaxaembarque + cj.importepedagio ) as total, "); + sql.append(" cat.desccategoria as tipo, "); + sql.append(" pv.nombpuntoventa as agencia, "); + sql.append(" cj.fechorventa as dataHoraCompra, "); + sql.append(" cj.nombpasajero as passageiro, "); + sql.append(" cj.NUMFOLIOSISTEMA as nrBilhete "); + + sql.append(" from caja cj "); + sql.append(" inner join marca mar on mar.marca_id = cj.marca_id "); + sql.append(" inner join parada pOrig on pOrig.parada_id = cj.origen_id "); + sql.append(" inner join parada pDest on pDest.parada_id = cj.destino_id "); + sql.append(" inner join clase_servicio cl_ser on cl_ser.claseservicio_id = cj.claseservicio_id "); + sql.append(" inner join categoria cat on cj.categoria_id = cat.categoria_id "); + sql.append(" inner join punto_venta pv on cj.puntoventa_id = pv.puntoventa_id "); + + sql.append(" where cj.feccorrida >= :DATA_INICIAL "); + sql.append(" and cj.feccorrida <= :DATA_FINAL "); + + if(servicoSelected){ sql.append(" and cj.corrida_id IN (:CORRIDA_ID) "); } + //else{ sql.append(" and cj.corrida_id IN ( select p.PARADA_ID from parada p ) "); } if(origemSelected){ sql.append(" and pOrig.PARADA_ID IN (:ORIGEN_ID) "); } else{ sql.append(" and pOrig.PARADA_ID IN ( select p.PARADA_ID from parada p ) "); } @@ -135,10 +141,15 @@ public class RelatorioReceitaServico extends Relatorio { if(destinoSelected){ sql.append(" and pDest.PARADA_ID IN (:DESTINO_ID) "); } else{ sql.append(" and pDest.PARADA_ID IN ( select p.PARADA_ID from parada p) "); } - sql.append(" and e.EMPRESA_ID = :EMPRESA_ID "); - sql.append(" and CLASESERVICIO_ID = :CLASESERVICIO_ID "); + sql.append(" and mar.EMPRESA_ID = :EMPRESA_ID "); + sql.append(" and cj.CLASESERVICIO_ID = :CLASESERVICIO_ID "); + sql.append(" order by cj.corrida_id "); + + return sql.toString(); } + + } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jasper index 979f7739972c6226db7fc849a322a94211fbaa52..1f63c2c76d769580841cd767fc4c0f9beac8fb0a 100644 GIT binary patch literal 43511 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jrxml index f4e45a4e1..5345d343d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jrxml @@ -1,7 +1,7 @@ - + - + @@ -17,7 +17,7 @@ - + @@ -26,6 +26,18 @@ + + + + + + + + + + + + @@ -79,8 +91,8 @@ - - + + @@ -90,7 +102,7 @@ - + @@ -98,15 +110,15 @@ - - + + - + @@ -128,68 +140,115 @@ - - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + + + + @@ -200,75 +259,160 @@ - + + + + - - - - - + + + + - + + + + - + + + + - + + + + - - + + + + + - - + + + + + - - + + + + + - - + + + + + - + + + + - + + + + - - + + + + + - + + + + - + + + + - - + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaServicoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaServicoController.java index a6ceacfca..3ab10bdcb 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaServicoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaServicoController.java @@ -37,6 +37,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParadaCve; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; @Controller("relatorioReceitaServicoController") @Scope("prototype") @@ -53,6 +54,7 @@ public class RelatorioReceitaServicoController extends MyGenericForwardComposer private MyComboboxParadaCve cmbParadaDestinoCve; private List lsEmpresa; private List lsClase; + private MyTextbox txtCorridaId; private MyComboboxEstandar cmbEmpresa; private MyComboboxEstandar cmbClase; @@ -140,6 +142,18 @@ public class RelatorioReceitaServicoController extends MyGenericForwardComposer StringBuilder filtro = new StringBuilder(); + if(null != txtCorridaId.getValue() && !("".equals(txtCorridaId.getValue()))) + { + filtro.append("Serviço: "); + filtro.append(txtCorridaId.getValue()+"; "); + parametros.put("CORRIDA_ID", txtCorridaId.getValue()); + }else{ + filtro.append("Serviço: TODOS; "); + parametros.put("CORRIDA_ID", null); + } + + + filtro.append("Início período: "); Calendar cal = Calendar.getInstance(); cal.setTime(datInicial.getValue()); @@ -148,15 +162,11 @@ public class RelatorioReceitaServicoController extends MyGenericForwardComposer filtro.append(cal.get(Calendar.YEAR)+"; "); filtro.append("Fim período: "); - cal.setTime(datFinal.getValue()); filtro.append(cal.get(Calendar.DATE)+"/"); filtro.append((cal.get(Calendar.MONTH)+1)+"/"); filtro.append(cal.get(Calendar.YEAR)+"; "); - - - parametros.put("DATA_INICIAL", (java.util.Date) datInicial.getValue()); parametros.put("DATA_FINAL", (java.util.Date) datFinal.getValue()); @@ -209,23 +219,23 @@ public class RelatorioReceitaServicoController extends MyGenericForwardComposer relatorio = new RelatorioReceitaServico(parametros, dataSourceRead.getConnection()); - if(relatorio.getCustomDataSource().next()) - { +// if(relatorio.getCustomDataSource().next()) +// { Map args = new HashMap(); args.put("relatorio", relatorio); openWindow("/component/reportView.zul", Labels.getLabel("relatorioReceitaServicoController.window.title"), args, MODAL); - }else - { - try { - Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), - Labels.getLabel("relatorioReceitaServicoController.window.title"), - Messagebox.OK, Messagebox.INFORMATION); - } catch (InterruptedException ex) { - ex.printStackTrace(); - } - } +// }else +// { +// try { +// Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), +// Labels.getLabel("relatorioReceitaServicoController.window.title"), +// Messagebox.OK, Messagebox.INFORMATION); +// } catch (InterruptedException ex) { +// ex.printStackTrace(); +// } +// } @@ -331,5 +341,14 @@ public class RelatorioReceitaServicoController extends MyGenericForwardComposer public void setCmbParadaDestinoCve(MyComboboxParadaCve cmbParadaDestinoCve) { this.cmbParadaDestinoCve = cmbParadaDestinoCve; } + + public MyTextbox getTxtCorridaId() { + return txtCorridaId; + } + + public void setTxtCorridaId(MyTextbox txtCorridaId) { + this.txtCorridaId = txtCorridaId; + } + } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 94db8748b..7bb159533 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -443,6 +443,7 @@ relatorioReceitaServicoController.lbCidadeOrigem.value = Localidade Origem relatorioReceitaServicoController.lbCidadeDestino.value = Localidade Destino relatorioReceitaServicoController.lbEmpresa.value = Empresa relatorioReceitaServicoController.lbClase.value = Clase +relatorioReceitaServicoController.lbServico.value = N. Serviço # Relatorio Sisdap relatorioSisdapController.window.title=Reporte SISDAP diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 76bf5e1fb..f2363cc8b 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -478,6 +478,7 @@ relatorioReceitaServicoController.lbCidadeOrigem.value = Localidade Origem relatorioReceitaServicoController.lbCidadeDestino.value = Localidade Destino relatorioReceitaServicoController.lbEmpresa.value = Empresa relatorioReceitaServicoController.lbClase.value = Classe +relatorioReceitaServicoController.lbServico.value = N. Serviço # Relatorio Sisdap relatorioSisdapController.window.title=Relatório SISDAP diff --git a/web/gui/relatorios/filtroRelatorioReceitaServico.zul b/web/gui/relatorios/filtroRelatorioReceitaServico.zul index 3caaf648b..30371b7ad 100644 --- a/web/gui/relatorios/filtroRelatorioReceitaServico.zul +++ b/web/gui/relatorios/filtroRelatorioReceitaServico.zul @@ -73,7 +73,13 @@ model="@{winFiltroRelatorioReceitaServico$composer.lsClase}" constraint="no empty" /> - + +