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 979f77399..1f63c2c76 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioReceitaServico.jasper differ 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" /> - + +