From 40d14606ec74a07b6d54343310111dd8f8f04ce6 Mon Sep 17 00:00:00 2001 From: celio Date: Mon, 30 Sep 2024 20:21:23 -0300 Subject: [PATCH 1/6] fixes bug#AL-4761 --- pom.xml | 2 +- .../RelatorioFormaPagamentoAgenciaNovo.java | 130 ++++++++++++------ 2 files changed, 86 insertions(+), 46 deletions(-) diff --git a/pom.xml b/pom.xml index 7fd4d7fcc..810767612 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.147.0 + 1.147.1 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFormaPagamentoAgenciaNovo.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFormaPagamentoAgenciaNovo.java index 9889d5535..eba93137d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFormaPagamentoAgenciaNovo.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFormaPagamentoAgenciaNovo.java @@ -6,6 +6,7 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.math.BigDecimal; import java.sql.Connection; import java.sql.ResultSet; +import java.sql.SQLException; import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -34,6 +35,7 @@ public class RelatorioFormaPagamentoAgenciaNovo extends RelatorioDemandas { StringBuilder sql = new StringBuilder(); sql.append(" SELECT " ); + sql.append(" c.caja_id AS cajaID, " ); sql.append(" c.fechorventa AS data, " ); sql.append(" c.numfoliosistema AS bilhete, " ); sql.append(" bpe.NBP AS bpe, " ); @@ -102,57 +104,95 @@ public class RelatorioFormaPagamentoAgenciaNovo extends RelatorioDemandas { } ResultSet rset = stmt.executeQuery(); + String cajaID = StringUtils.EMPTY; while (rset.next()) { - Map dataResult = new HashMap(); - - String motivoCancelamento = StringUtils.isNotBlank(rset.getString("motivo")) ? rset.getString("motivo") : StringUtils.EMPTY; - String indStatus = StringUtils.isNotBlank(rset.getString("status")) ? rset.getString("status") : StringUtils.EMPTY; - String bpe = StringUtils.isNotBlank(rset.getString("bpe")) ? rset.getString("bpe") : StringUtils.EMPTY; - - Boolean isCancelamento = "1".equals(rset.getString("indcancelacion")); - BigDecimal tarifa = rset.getBigDecimal("tarifa"); - BigDecimal pedagio = rset.getBigDecimal("PEDAGIO"); - BigDecimal seguro = rset.getBigDecimal("SEGURO"); - BigDecimal seguroOPC = rset.getBigDecimal("seg_opcional"); - BigDecimal taxa = rset.getBigDecimal("taxa"); - BigDecimal valor = rset.getBigDecimal("valor"); - String formaPagamento = StringUtils.isEmpty(rset.getString("forma_pagamento")) ? StringUtils.EMPTY : rset.getString("forma_pagamento"); - String formaPagamentoOriginal = StringUtils.isEmpty(rset.getString("forma_pago_original")) ? StringUtils.EMPTY : rset.getString("forma_pago_original"); - Boolean isFormaPagamentoIguais = formaPagamento.equals(formaPagamentoOriginal); - - dataResult.put("DATA", rset.getDate("data")); - dataResult.put("BILHETE", rset.getString("bilhete")); - dataResult.put("ORIGEM", rset.getString("ORIGEM")); - dataResult.put("DESTINO", rset.getString("DESTINO")); - dataResult.put("AGENCIA", rset.getString("agencia")); - dataResult.put("NUMERO_BPE", bpe); - dataResult.put("STATUS", indStatus); - dataResult.put("MOTIVO_CANCELAMENTO", motivoCancelamento); - - if(isCancelamento) { - dataResult.put("FORMA_PAGAMENTO", formaPagamentoOriginal); - dataResult.put("TARIFA", tarifa.compareTo(BigDecimal.ZERO) == 0 ? tarifa : tarifa.negate()); - dataResult.put("PEDAGIO", pedagio.compareTo(BigDecimal.ZERO) == 0 ? pedagio : pedagio.negate()); - dataResult.put("SEGURO", seguro.compareTo(BigDecimal.ZERO) == 0 ? seguro : seguro.negate()); - dataResult.put("SEG_OPCIONAL", seguroOPC.compareTo(BigDecimal.ZERO) == 0 ? seguroOPC : seguroOPC.negate()); - dataResult.put("TAXA", taxa.compareTo(BigDecimal.ZERO) == 0 ? taxa : taxa.negate()); - dataResult.put("VALOR", valor.compareTo(BigDecimal.ZERO) == 0 ? valor : valor.negate()); - } else if (isFormaPagamentoIguais){ - dataResult.put("FORMA_PAGAMENTO", formaPagamento); - dataResult.put("TARIFA", tarifa); - dataResult.put("PEDAGIO", pedagio); - dataResult.put("SEGURO", seguro); - dataResult.put("SEG_OPCIONAL", seguroOPC); - dataResult.put("TAXA", taxa); - dataResult.put("VALOR", valor); - } + Map dataResult = new HashMap<>(); - this.dados.add(dataResult); + String motivoCancelamento = getValueOrEmpty(rset, "motivo"); + String indStatus = getValueOrEmpty(rset, "status"); + String bpe = getValueOrEmpty(rset, "bpe"); + + Boolean isCancelamento = "1".equals(rset.getString("indcancelacion")); + String formaPagamento = getValueOrEmpty(rset, "forma_pagamento"); + String formaPagamentoOriginal = getValueOrEmpty(rset, "forma_pago_original"); + Boolean isFormaPagamentoIguais = formaPagamento.equals(formaPagamentoOriginal); + + Boolean isCajaIDRepetido = cajaID.equals(rset.getString("cajaID")); + cajaID = isCajaIDRepetido ? cajaID : rset.getString("cajaID"); + + BigDecimal tarifa = getBigDecimal(isCajaIDRepetido, rset, "tarifa"); + BigDecimal pedagio = getBigDecimal(isCajaIDRepetido, rset, "PEDAGIO"); + BigDecimal seguro = getBigDecimal(isCajaIDRepetido, rset, "SEGURO"); + BigDecimal seguroOPC = getBigDecimal(isCajaIDRepetido, rset, "seg_opcional"); + BigDecimal taxa = getBigDecimal(isCajaIDRepetido, rset, "taxa"); + BigDecimal valor = rset.getBigDecimal("valor"); + + popularData(dataResult, rset, bpe, indStatus, motivoCancelamento); + + boolean isReplicado = processarTransacao(dataResult, isCancelamento, tarifa, pedagio, seguro, seguroOPC, taxa, valor, formaPagamento, formaPagamentoOriginal, isFormaPagamentoIguais); + + if (!isReplicado) { + this.dados.add(dataResult); + } } this.resultSet = rset; + + + } + + private String getValueOrEmpty(ResultSet rset, String columnName) throws SQLException { + return StringUtils.defaultString(rset.getString(columnName), StringUtils.EMPTY); + } + + private BigDecimal getBigDecimal(Boolean isCajaIDRepetido, ResultSet rset, String columnName) throws SQLException { + return isCajaIDRepetido ? BigDecimal.ZERO : rset.getBigDecimal(columnName); + } + + private void popularData(Map dataResult, ResultSet rset, String bpe, String indStatus, String motivoCancelamento) throws SQLException { + dataResult.put("DATA", rset.getDate("data")); + dataResult.put("BILHETE", rset.getString("bilhete")); + dataResult.put("ORIGEM", rset.getString("ORIGEM")); + dataResult.put("DESTINO", rset.getString("DESTINO")); + dataResult.put("AGENCIA", rset.getString("agencia")); + dataResult.put("NUMERO_BPE", bpe); + dataResult.put("STATUS", indStatus); + dataResult.put("MOTIVO_CANCELAMENTO", motivoCancelamento); + } + + private boolean processarTransacao(Map dataResult, Boolean isCancelamento, BigDecimal tarifa, BigDecimal pedagio, BigDecimal seguro, BigDecimal seguroOPC, BigDecimal taxa, BigDecimal valor, String formaPagamento, String formaPagamentoOriginal, Boolean isFormaPagamentoIguais) { + if (isCancelamento) { + transacaoNegativa(dataResult, tarifa, pedagio, seguro, seguroOPC, taxa, valor, formaPagamentoOriginal); + return false; + } else if (isFormaPagamentoIguais) { + transacaoNormal(dataResult, tarifa, pedagio, seguro, seguroOPC, taxa, valor, formaPagamento); + return false; + } + return true; + } + + private void transacaoNegativa(Map dataResult, BigDecimal tarifa, BigDecimal pedagio, BigDecimal seguro, BigDecimal seguroOPC, BigDecimal taxa, BigDecimal valor, String formaPagamentoOriginal) { + dataResult.put("FORMA_PAGAMENTO", formaPagamentoOriginal); + dataResult.put("TARIFA", tarifa.negate()); + dataResult.put("PEDAGIO", pedagio.negate()); + dataResult.put("SEGURO", seguro.negate()); + dataResult.put("SEG_OPCIONAL", seguroOPC.negate()); + dataResult.put("TAXA", taxa.negate()); + dataResult.put("VALOR", valor.negate()); + } + + private void transacaoNormal(Map dataResult, BigDecimal tarifa, BigDecimal pedagio, BigDecimal seguro, BigDecimal seguroOPC, BigDecimal taxa, BigDecimal valor, String formaPagamento) { + dataResult.put("FORMA_PAGAMENTO", formaPagamento); + dataResult.put("TARIFA", tarifa); + dataResult.put("PEDAGIO", pedagio); + dataResult.put("SEGURO", seguro); + dataResult.put("SEG_OPCIONAL", seguroOPC); + dataResult.put("TAXA", taxa); + dataResult.put("VALOR", valor); } }); + + } -} +} \ No newline at end of file From 3e8a0a83edfacd2d22076af180f25594461ebfb5 Mon Sep 17 00:00:00 2001 From: valdevir Date: Tue, 1 Oct 2024 09:19:00 -0300 Subject: [PATCH 2/6] fixes bug#AL-4555 --- pom.xml | 2 +- .../ventaboletos/web/utilerias/menu/menu_original.properties | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 810767612..b5f404032 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.147.1 + 1.147.2 war diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index f05b65c4e..632259caf 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -3,6 +3,7 @@ catalogos.mensagemRecusa=com.rjconsultores.ventaboletos.web.utilerias.menu.item. catalogos.claseServicio=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuClaseServicio catalogos.categoria=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuCategoria catalogos.grupoCategoria=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuGrupoCategoria +catalogos.tipoDocumento=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuTipoDocumento catalogos.curso=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuCurso catalogos.escola=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuEscola catalogos.estado=com.rjconsultores.ventaboletos.web.utilerias.menu.item.catalogos.ItemMenuEstado From b4f1ec02911643d53dea64bee4bf841a1770b5f6 Mon Sep 17 00:00:00 2001 From: "gleison.cruz" Date: Tue, 1 Oct 2024 09:55:26 -0300 Subject: [PATCH 3/6] fixes bug#AL-4653 --- pom.xml | 2 +- .../RelatorioBilhetesCancelados.jasper | Bin 58086 -> 58085 bytes .../RelatorioBilhetesCancelados.jrxml | 10 +++++----- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index b5f404032..5a819b524 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.147.2 + 1.147.3 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesCancelados.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesCancelados.jasper index ef5501e24c00680ab3587b2e0d05b5726e5539af..a76b28358d9a6f6abfce73eddaaa7bdb1d2c4f43 100644 GIT binary patch delta 8694 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 ZWo5Qa5$7)5k<3jVn4D`&igP!o{SVAeGED#g delta 8580 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 ViJdt=VQBQw-pUMpCp&Yq?thV$0sa60 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesCancelados.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesCancelados.jrxml index 02f70273f..e593e63d6 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesCancelados.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesCancelados.jrxml @@ -1,8 +1,8 @@ - - + + @@ -328,7 +328,7 @@ - + @@ -585,9 +585,9 @@ - + - + From 4291b248cd582ebd4488fd3031436eea3e26720e Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Tue, 1 Oct 2024 17:22:18 -0300 Subject: [PATCH 4/6] fixes bug#AL-4336 --- pom.xml | 2 +- .../impl/RelatorioBilhetesVendidos.java | 415 +++++------ ...oBilhetesVendidosFiltroFormaPagamento.java | 353 +++++++++ .../RelatorioBilhetesVendidosNovoLayout.java | 213 +++--- ...VendidosFiltroFormaPagamento_es.properties | 13 + ...didosFiltroFormaPagamento_pt_BR.properties | 13 + ...ilhetesVendidosFiltroFormaPagamento.jasper | Bin 0 -> 57256 bytes ...BilhetesVendidosFiltroFormaPagamento.jrxml | 672 ++++++++++++++++++ .../RelatorioBilhetesVendidosController.java | 35 +- web/WEB-INF/i3-label_en.label | 1 + web/WEB-INF/i3-label_es_MX.label | 1 + web/WEB-INF/i3-label_fr_FR.label | 1 + web/WEB-INF/i3-label_pt_BR.label | 1 + .../filtroRelatorioBilhetesVendidos.zul | 25 +- 14 files changed, 1429 insertions(+), 316 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosFiltroFormaPagamento.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosFiltroFormaPagamento_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosFiltroFormaPagamento_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosFiltroFormaPagamento.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosFiltroFormaPagamento.jrxml diff --git a/pom.xml b/pom.xml index 5a819b524..f76ebaed9 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.147.3 + 1.148.0 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidos.java index c2b7ff1c2..fb5034143 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidos.java @@ -38,210 +38,7 @@ public class RelatorioBilhetesVendidos extends Relatorio { Connection conexao = this.relatorio.getConexao(); Map parametros = this.relatorio.getParametros(); - StringBuilder sql = new StringBuilder(); - - if (parametros.get("IDAVOLTA").equals("1")) { - sql.append(" select "); - sql.append(" u.CVEUSUARIO CVEBILHETEIRO, "); - sql.append(" uc.CVEUSUARIO CVEBILHETEIRO_CANCELADO, "); - sql.append(" B.indstatusboleto IMPRESSAO_POSTERIOR, "); - sql.append(" B.NUMFOLIOSISTEMA NUMERO_PASSAGEM, "); - sql.append(" B.NUMSERIEPREIMPRESA SERIE, "); - sql.append(" B.NUMSERIEPREIMPRESA SUB_SERIE, "); - sql.append(" B.NUMFOLIOPREIMPRESO PRE_IMPRESSO, "); - sql.append(" p_origen.PARADA_ID COD_ORIGEM, "); - sql.append(" p_origen.DESCPARADA ORIGEM, "); - sql.append(" p_destino.PARADA_ID COD_DESTINO, "); - sql.append(" p_destino.DESCPARADA DESTINO, "); - sql.append(" pv.NUMPUNTOVENTA COD_AGENCIA, "); - sql.append(" pv.NOMBPUNTOVENTA NOME_AGENCIA, "); - sql.append(" CASE WHEN B.indstatusboleto = 'E' THEN utilizado.fechorventa_h ELSE B.fechorventa_h END DATA_VENDA, "); - sql.append(" CASE WHEN b.fechorventa is null THEN utilizado.fechorventa ELSE b.fechorventa_h END DATA_EMISSAO, "); - sql.append(" B.fechorviaje DATA_VIAGEM, "); - sql.append(" B.CORRIDA_ID SERVICO, "); - sql.append(" to_char(B.fechorviaje, 'hh24:mi:ss') HORA, "); - sql.append(" B.NUMASIENTO NUMASIENTO, "); - sql.append(" ct.DESCCATEGORIA CATEGORIA, "); - sql.append(" R.INDSENTIDOIDA SENTIDO, "); - sql.append(" R.NUMRUTA COD_LINHA, "); - sql.append(" R.DESCRUTA DESC_LINHA, "); - sql.append(" CASE WHEN b.MOTIVOCANCELACION_ID IS NULL THEN 'V' ELSE 'C' END STATUS_PASSAGEM, "); - sql.append(" B.PRECIOPAGADO TARIFA, "); - sql.append(" B.IMPORTETAXAEMBARQUE TX_EMBARQUE, "); - sql.append(" B.IMPORTEPEDAGIO PEDAGIO, "); - sql.append(" B.IMPORTESEGURO SEGURO, "); - sql.append(" u.NOMBUSUARIO BILHETEIRO, "); - sql.append(" uc.NOMBUSUARIO BILHETEIRO_CANCELAMENTO, "); - sql.append(" B.NOMBPASAJERO AS PASSAGEIRO, "); - sql.append(" B.DESCNUMDOC AS DOC, "); - sql.append(" COALESCE(b.NUMOPERACION, bo.NUMOPERACION) AS LOCALIZADOR "); - - sql.append(" FROM caja B "); - sql.append(" LEFT JOIN boleto bo ON (bo.boleto_id = b.transacaooriginal_id AND b.indstatusboleto = 'C') "); - sql.append(" JOIN RUTA R ON R.RUTA_ID = B.RUTA_ID "); - sql.append(" JOIN PUNTO_VENTA pv on B.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); - sql.append(" JOIN USUARIO u on u.USUARIO_ID = B.USUARIO_ID "); - sql.append(" LEFT JOIN USUARIO uc ON uc.USUARIO_ID = bo.USUARIO_ID "); - sql.append(" JOIN PARADA p_origen on p_origen.PARADA_ID = B.ORIGEN_ID "); - sql.append(" JOIN PARADA p_destino on p_destino.PARADA_ID = B.DESTINO_ID "); - sql.append(" JOIN CATEGORIA ct on ct.CATEGORIA_ID = B.CATEGORIA_ID "); - sql.append(" JOIN CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = B.CLASESERVICIO_ID "); - sql.append(" JOIN MARCA m on m.marca_id = b.marca_id "); - sql.append(" left join ciudad co ON co.ciudad_id = p_origen.ciudad_id "); - sql.append(" left join estado est ON est.estado_id = co.estado_id "); - sql.append(" LEFT JOIN boleto utilizado ON (utilizado.boleto_id = b.transacaooriginal_id AND b.INDSTATUSBOLETO = 'E') "); - - sql.append(" WHERE "); - sql.append(" (b.indreimpresion = 0 OR b.INDSTATUSBOLETO = 'E') "); - sql.append(" and m.EMPRESA_ID = :EMPRESA_ID "); - if (parametros.get(DATA_INICIAL) != null && parametros.get(DATA_FINAL) != null) { - if (parametros.get(TIPO_DATA) != null) { - if ((parametros.get(TIPO_DATA).toString().equals(DATA_VENDA))) { - sql.append(" and b.FECHORVENTA_H >= :DATA_INICIAL "); - sql.append(" and b.FECHORVENTA_H <= :DATA_FINAL "); - } - - if ((parametros.get(TIPO_DATA).toString().equals("DATA_EMISSAO"))) { - sql.append(" and utilizado.FECHORVENTA >= :DATA_INICIAL "); - sql.append(" and utilizado.FECHORVENTA <= :DATA_FINAL "); - } - - if ((parametros.get(TIPO_DATA).toString().equals("DATA_VIAGEM"))) { - sql.append(" and b.FECCORRIDA >= :DATA_INICIAL "); - sql.append(" and b.FECCORRIDA <= :DATA_FINAL "); - } - } - } - - if (parametros.get("NUMPUNTOVENTA") != null && !parametros.get("NUMPUNTOVENTA").equals("-1")) { - sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); - } - - if (parametros.get("MOEDA_ID") != null) { - sql.append(" and NVL(B.MONEDA_ID, 1) = "+parametros.get("MOEDA_ID") ); - } - - if (parametros.get("ESTADO_ID") != null && !parametros.get("ESTADO_ID").equals("-1")) { - sql.append(" and est.estado_id = " + parametros.get("ESTADO_ID").toString() + ""); - } - - sql.append(" AND b.INDVIAJEREDONDO = 1 "); - } - - - if (parametros.get("STATUS").toString().contains("C")||parametros.get("STATUS").toString().contains("V")) { - if (parametros.get("IDAVOLTA").equals("1")) { - sql.append(" UNION ALL "); - } - sql.append(" select "); - sql.append(" u.CVEUSUARIO CVEBILHETEIRO, "); - sql.append(" uc.CVEUSUARIO CVEBILHETEIRO_CANCELADO, "); - sql.append(" B.indstatusboleto IMPRESSAO_POSTERIOR, "); - sql.append(" B.NUMFOLIOSISTEMA NUMERO_PASSAGEM, "); - sql.append(" B.NUMSERIEPREIMPRESA SERIE, "); - sql.append(" B.NUMSERIEPREIMPRESA SUB_SERIE, "); - sql.append(" B.NUMFOLIOPREIMPRESO PRE_IMPRESSO, "); - sql.append(" p_origen.PARADA_ID COD_ORIGEM, "); - sql.append(" p_origen.DESCPARADA ORIGEM, "); - sql.append(" p_destino.PARADA_ID COD_DESTINO, "); - sql.append(" p_destino.DESCPARADA DESTINO, "); - sql.append(" pv.NUMPUNTOVENTA COD_AGENCIA, "); - sql.append(" pv.NOMBPUNTOVENTA NOME_AGENCIA, "); - sql.append(" CASE WHEN B.indstatusboleto = 'E' THEN utilizado.fechorventa_h ELSE B.fechorventa_h END DATA_VENDA, "); - sql.append(" CASE WHEN b.fechorventa is null THEN utilizado.fechorventa ELSE b.fechorventa_h END DATA_EMISSAO, "); - sql.append(" B.fechorviaje DATA_VIAGEM, "); - sql.append(" B.CORRIDA_ID SERVICO, "); - sql.append(" to_char(B.fechorviaje, 'hh24:mi:ss') HORA, "); - sql.append(" B.NUMASIENTO NUMASIENTO, "); - sql.append(" ct.DESCCATEGORIA CATEGORIA, "); - sql.append(" R.INDSENTIDOIDA SENTIDO, "); - sql.append(" R.NUMRUTA COD_LINHA, "); - sql.append(" R.DESCRUTA DESC_LINHA, "); - sql.append(" CASE WHEN b.MOTIVOCANCELACION_ID IS NULL THEN 'V' ELSE 'C' END STATUS_PASSAGEM, "); - sql.append(" B.PRECIOPAGADO TARIFA, "); - sql.append(" B.IMPORTETAXAEMBARQUE TX_EMBARQUE, "); - sql.append(" B.IMPORTEPEDAGIO PEDAGIO, "); - sql.append(" B.IMPORTESEGURO SEGURO, "); - sql.append(" u.NOMBUSUARIO BILHETEIRO, "); - sql.append(" uc.NOMBUSUARIO BILHETEIRO_CANCELAMENTO, "); - sql.append(" B.NOMBPASAJERO AS PASSAGEIRO, "); - sql.append(" B.DESCNUMDOC AS DOC, "); - sql.append(" COALESCE(b.NUMOPERACION, bo.NUMOPERACION) AS LOCALIZADOR "); - - sql.append(" FROM caja B "); - sql.append(" LEFT JOIN boleto bo ON (bo.boleto_id = b.transacaooriginal_id AND b.indstatusboleto = 'C') "); - sql.append(" JOIN RUTA R ON R.RUTA_ID = B.RUTA_ID "); - sql.append(" JOIN PUNTO_VENTA pv on B.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); - sql.append(" JOIN USUARIO u on u.USUARIO_ID = B.USUARIO_ID "); - sql.append(" LEFT JOIN USUARIO uc ON uc.USUARIO_ID = bo.USUARIO_ID "); - sql.append(" JOIN PARADA p_origen on p_origen.PARADA_ID = B.ORIGEN_ID "); - sql.append(" JOIN PARADA p_destino on p_destino.PARADA_ID = B.DESTINO_ID "); - sql.append(" JOIN CATEGORIA ct on ct.CATEGORIA_ID = B.CATEGORIA_ID "); - sql.append(" JOIN CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = B.CLASESERVICIO_ID "); - sql.append(" JOIN MARCA m on m.marca_id = b.marca_id "); - sql.append(" left join ciudad co ON co.ciudad_id = p_origen.ciudad_id "); - sql.append(" left join estado est ON est.estado_id = co.estado_id "); - sql.append(" LEFT JOIN boleto utilizado ON (utilizado.boleto_id = b.transacaooriginal_id AND b.INDSTATUSBOLETO = 'E') "); - - sql.append(" WHERE "); - sql.append(" (b.indreimpresion = 0 OR b.INDSTATUSBOLETO = 'E') "); - sql.append(" and m.EMPRESA_ID = :EMPRESA_ID "); - if (parametros.get(DATA_INICIAL) != null && parametros.get(DATA_FINAL) != null) { - if (parametros.get(TIPO_DATA) != null) { - if ((parametros.get(TIPO_DATA).toString().equals(DATA_VENDA))) { - sql.append(" and b.FECHORVENTA_H >= :DATA_INICIAL "); - sql.append(" and b.FECHORVENTA_H <= :DATA_FINAL "); - } - - if ((parametros.get(TIPO_DATA).toString().equals("DATA_EMISSAO"))) { - sql.append(" and utilizado.FECHORVENTA >= :DATA_INICIAL "); - sql.append(" and utilizado.FECHORVENTA <= :DATA_FINAL "); - } - - if ((parametros.get(TIPO_DATA).toString().equals("DATA_VIAGEM"))) { - sql.append(" and b.FECCORRIDA >= :DATA_INICIAL "); - sql.append(" and b.FECCORRIDA <= :DATA_FINAL "); - } - } - } - - if (parametros.get("NUMPUNTOVENTA") != null && !parametros.get("NUMPUNTOVENTA").equals("-1")) { - sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); - } - - if (parametros.get("MOEDA_ID") != null) { - sql.append(" and NVL(B.MONEDA_ID, 1) = "+parametros.get("MOEDA_ID") ); - } - - if (parametros.get("ESTADO_ID") != null && !parametros.get("ESTADO_ID").equals("-1")) { - sql.append(" and est.estado_id = " + parametros.get("ESTADO_ID").toString() + ""); - } - - if ( !(parametros.get("STATUS").toString().contains("V") && parametros.get("STATUS").toString().contains("C")) ) { - if (parametros.get("STATUS").toString().contains("C")) { - sql.append(" AND b.motivocancelacion_id is not null "); - } else if (parametros.get("STATUS").toString().contains("V")) { - sql.append(" AND b.motivocancelacion_id is null "); - } - } - sql.append(" and B.ACTIVO = 1 AND b.INDVIAJEREDONDO IS NULL "); - } - sql.append(" order by "); - if (parametros.get("IDAVOLTA").equals("1")) { - sql.append(" BILHETEIRO, "); - sql.append(" DATA_EMISSAO, "); - }else { - sql.append(" DATA_EMISSAO, "); - sql.append(" BILHETEIRO, "); - } - sql.append(" COD_AGENCIA, "); - sql.append(" NOME_AGENCIA, "); - sql.append(" NUMERO_PASSAGEM, "); - sql.append(" ORIGEM, "); - sql.append(" DESTINO, "); - sql.append(" CATEGORIA, "); - sql.append(" IMPRESSAO_POSTERIOR, "); - sql.append(" SERVICO "); + StringBuilder sql = getSQL(parametros); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); @@ -305,8 +102,218 @@ public class RelatorioBilhetesVendidos extends Relatorio { this.resultSet = rset; } + + }); } + + private StringBuilder getSQL(Map parametros) { + StringBuilder sql = new StringBuilder(); + + if (parametros.get("IDAVOLTA").equals("1")) { + sql.append(" select "); + sql.append(" u.CVEUSUARIO CVEBILHETEIRO, "); + sql.append(" uc.CVEUSUARIO CVEBILHETEIRO_CANCELADO, "); + sql.append(" B.indstatusboleto IMPRESSAO_POSTERIOR, "); + sql.append(" B.NUMFOLIOSISTEMA NUMERO_PASSAGEM, "); + sql.append(" B.NUMSERIEPREIMPRESA SERIE, "); + sql.append(" B.NUMSERIEPREIMPRESA SUB_SERIE, "); + sql.append(" B.NUMFOLIOPREIMPRESO PRE_IMPRESSO, "); + sql.append(" p_origen.PARADA_ID COD_ORIGEM, "); + sql.append(" p_origen.DESCPARADA ORIGEM, "); + sql.append(" p_destino.PARADA_ID COD_DESTINO, "); + sql.append(" p_destino.DESCPARADA DESTINO, "); + sql.append(" pv.NUMPUNTOVENTA COD_AGENCIA, "); + sql.append(" pv.NOMBPUNTOVENTA NOME_AGENCIA, "); + sql.append(" CASE WHEN B.indstatusboleto = 'E' THEN utilizado.fechorventa_h ELSE B.fechorventa_h END DATA_VENDA, "); + sql.append(" CASE WHEN b.fechorventa is null THEN utilizado.fechorventa ELSE b.fechorventa_h END DATA_EMISSAO, "); + sql.append(" B.fechorviaje DATA_VIAGEM, "); + sql.append(" B.CORRIDA_ID SERVICO, "); + sql.append(" to_char(B.fechorviaje, 'hh24:mi:ss') HORA, "); + sql.append(" B.NUMASIENTO NUMASIENTO, "); + sql.append(" ct.DESCCATEGORIA CATEGORIA, "); + sql.append(" R.INDSENTIDOIDA SENTIDO, "); + sql.append(" R.NUMRUTA COD_LINHA, "); + sql.append(" R.DESCRUTA DESC_LINHA, "); + sql.append(" CASE WHEN b.MOTIVOCANCELACION_ID IS NULL THEN 'V' ELSE 'C' END STATUS_PASSAGEM, "); + sql.append(" B.PRECIOPAGADO TARIFA, "); + sql.append(" B.IMPORTETAXAEMBARQUE TX_EMBARQUE, "); + sql.append(" B.IMPORTEPEDAGIO PEDAGIO, "); + sql.append(" B.IMPORTESEGURO SEGURO, "); + sql.append(" u.NOMBUSUARIO BILHETEIRO, "); + sql.append(" uc.NOMBUSUARIO BILHETEIRO_CANCELAMENTO, "); + sql.append(" B.NOMBPASAJERO AS PASSAGEIRO, "); + sql.append(" B.DESCNUMDOC AS DOC, "); + sql.append(" COALESCE(b.NUMOPERACION, bo.NUMOPERACION) AS LOCALIZADOR "); + + sql.append(" FROM caja B "); + sql.append(" LEFT JOIN boleto bo ON (bo.boleto_id = b.transacaooriginal_id AND b.indstatusboleto = 'C') "); + sql.append(" JOIN RUTA R ON R.RUTA_ID = B.RUTA_ID "); + sql.append(" JOIN PUNTO_VENTA pv on B.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" JOIN USUARIO u on u.USUARIO_ID = B.USUARIO_ID "); + sql.append(" LEFT JOIN USUARIO uc ON uc.USUARIO_ID = bo.USUARIO_ID "); + sql.append(" JOIN PARADA p_origen on p_origen.PARADA_ID = B.ORIGEN_ID "); + sql.append(" JOIN PARADA p_destino on p_destino.PARADA_ID = B.DESTINO_ID "); + sql.append(" JOIN CATEGORIA ct on ct.CATEGORIA_ID = B.CATEGORIA_ID "); + sql.append(" JOIN CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = B.CLASESERVICIO_ID "); + sql.append(" JOIN MARCA m on m.marca_id = b.marca_id "); + sql.append(" left join ciudad co ON co.ciudad_id = p_origen.ciudad_id "); + sql.append(" left join estado est ON est.estado_id = co.estado_id "); + sql.append(" LEFT JOIN boleto utilizado ON (utilizado.boleto_id = b.transacaooriginal_id AND b.INDSTATUSBOLETO = 'E') "); + + sql.append(" WHERE "); + sql.append(" (b.indreimpresion = 0 OR b.INDSTATUSBOLETO = 'E') "); + sql.append(" and m.EMPRESA_ID = :EMPRESA_ID "); + if (parametros.get(DATA_INICIAL) != null && parametros.get(DATA_FINAL) != null) { + if (parametros.get(TIPO_DATA) != null) { + if ((parametros.get(TIPO_DATA).toString().equals(DATA_VENDA))) { + sql.append(" and b.FECHORVENTA_H >= :DATA_INICIAL "); + sql.append(" and b.FECHORVENTA_H <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_EMISSAO"))) { + sql.append(" and utilizado.FECHORVENTA >= :DATA_INICIAL "); + sql.append(" and utilizado.FECHORVENTA <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_VIAGEM"))) { + sql.append(" and b.FECCORRIDA >= :DATA_INICIAL "); + sql.append(" and b.FECCORRIDA <= :DATA_FINAL "); + } + } + } + + if (parametros.get("NUMPUNTOVENTA") != null && !parametros.get("NUMPUNTOVENTA").equals("-1")) { + sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + } + + if (parametros.get("MOEDA_ID") != null) { + sql.append(" and NVL(B.MONEDA_ID, 1) = "+parametros.get("MOEDA_ID") ); + } + + if (parametros.get("ESTADO_ID") != null && !parametros.get("ESTADO_ID").equals("-1")) { + sql.append(" and est.estado_id = " + parametros.get("ESTADO_ID").toString() + ""); + } + + sql.append(" AND b.INDVIAJEREDONDO = 1 "); + } + + + if (parametros.get("STATUS").toString().contains("C")||parametros.get("STATUS").toString().contains("V")) { + if (parametros.get("IDAVOLTA").equals("1")) { + sql.append(" UNION ALL "); + } + sql.append(" select "); + sql.append(" u.CVEUSUARIO CVEBILHETEIRO, "); + sql.append(" uc.CVEUSUARIO CVEBILHETEIRO_CANCELADO, "); + sql.append(" B.indstatusboleto IMPRESSAO_POSTERIOR, "); + sql.append(" B.NUMFOLIOSISTEMA NUMERO_PASSAGEM, "); + sql.append(" B.NUMSERIEPREIMPRESA SERIE, "); + sql.append(" B.NUMSERIEPREIMPRESA SUB_SERIE, "); + sql.append(" B.NUMFOLIOPREIMPRESO PRE_IMPRESSO, "); + sql.append(" p_origen.PARADA_ID COD_ORIGEM, "); + sql.append(" p_origen.DESCPARADA ORIGEM, "); + sql.append(" p_destino.PARADA_ID COD_DESTINO, "); + sql.append(" p_destino.DESCPARADA DESTINO, "); + sql.append(" pv.NUMPUNTOVENTA COD_AGENCIA, "); + sql.append(" pv.NOMBPUNTOVENTA NOME_AGENCIA, "); + sql.append(" CASE WHEN B.indstatusboleto = 'E' THEN utilizado.fechorventa_h ELSE B.fechorventa_h END DATA_VENDA, "); + sql.append(" CASE WHEN b.fechorventa is null THEN utilizado.fechorventa ELSE b.fechorventa_h END DATA_EMISSAO, "); + sql.append(" B.fechorviaje DATA_VIAGEM, "); + sql.append(" B.CORRIDA_ID SERVICO, "); + sql.append(" to_char(B.fechorviaje, 'hh24:mi:ss') HORA, "); + sql.append(" B.NUMASIENTO NUMASIENTO, "); + sql.append(" ct.DESCCATEGORIA CATEGORIA, "); + sql.append(" R.INDSENTIDOIDA SENTIDO, "); + sql.append(" R.NUMRUTA COD_LINHA, "); + sql.append(" R.DESCRUTA DESC_LINHA, "); + sql.append(" CASE WHEN b.MOTIVOCANCELACION_ID IS NULL THEN 'V' ELSE 'C' END STATUS_PASSAGEM, "); + sql.append(" B.PRECIOPAGADO TARIFA, "); + sql.append(" B.IMPORTETAXAEMBARQUE TX_EMBARQUE, "); + sql.append(" B.IMPORTEPEDAGIO PEDAGIO, "); + sql.append(" B.IMPORTESEGURO SEGURO, "); + sql.append(" u.NOMBUSUARIO BILHETEIRO, "); + sql.append(" uc.NOMBUSUARIO BILHETEIRO_CANCELAMENTO, "); + sql.append(" B.NOMBPASAJERO AS PASSAGEIRO, "); + sql.append(" B.DESCNUMDOC AS DOC, "); + sql.append(" COALESCE(b.NUMOPERACION, bo.NUMOPERACION) AS LOCALIZADOR "); + + sql.append(" FROM caja B "); + sql.append(" LEFT JOIN boleto bo ON (bo.boleto_id = b.transacaooriginal_id AND b.indstatusboleto = 'C') "); + sql.append(" JOIN RUTA R ON R.RUTA_ID = B.RUTA_ID "); + sql.append(" JOIN PUNTO_VENTA pv on B.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" JOIN USUARIO u on u.USUARIO_ID = B.USUARIO_ID "); + sql.append(" LEFT JOIN USUARIO uc ON uc.USUARIO_ID = bo.USUARIO_ID "); + sql.append(" JOIN PARADA p_origen on p_origen.PARADA_ID = B.ORIGEN_ID "); + sql.append(" JOIN PARADA p_destino on p_destino.PARADA_ID = B.DESTINO_ID "); + sql.append(" JOIN CATEGORIA ct on ct.CATEGORIA_ID = B.CATEGORIA_ID "); + sql.append(" JOIN CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = B.CLASESERVICIO_ID "); + sql.append(" JOIN MARCA m on m.marca_id = b.marca_id "); + sql.append(" left join ciudad co ON co.ciudad_id = p_origen.ciudad_id "); + sql.append(" left join estado est ON est.estado_id = co.estado_id "); + sql.append(" LEFT JOIN boleto utilizado ON (utilizado.boleto_id = b.transacaooriginal_id AND b.INDSTATUSBOLETO = 'E') "); + + sql.append(" WHERE "); + sql.append(" (b.indreimpresion = 0 OR b.INDSTATUSBOLETO = 'E') "); + sql.append(" and m.EMPRESA_ID = :EMPRESA_ID "); + if (parametros.get(DATA_INICIAL) != null && parametros.get(DATA_FINAL) != null) { + if (parametros.get(TIPO_DATA) != null) { + if ((parametros.get(TIPO_DATA).toString().equals(DATA_VENDA))) { + sql.append(" and b.FECHORVENTA_H >= :DATA_INICIAL "); + sql.append(" and b.FECHORVENTA_H <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_EMISSAO"))) { + sql.append(" and utilizado.FECHORVENTA >= :DATA_INICIAL "); + sql.append(" and utilizado.FECHORVENTA <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_VIAGEM"))) { + sql.append(" and b.FECCORRIDA >= :DATA_INICIAL "); + sql.append(" and b.FECCORRIDA <= :DATA_FINAL "); + } + } + } + + if (parametros.get("NUMPUNTOVENTA") != null && !parametros.get("NUMPUNTOVENTA").equals("-1")) { + sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + } + + if (parametros.get("MOEDA_ID") != null) { + sql.append(" and NVL(B.MONEDA_ID, 1) = "+parametros.get("MOEDA_ID") ); + } + + if (parametros.get("ESTADO_ID") != null && !parametros.get("ESTADO_ID").equals("-1")) { + sql.append(" and est.estado_id = " + parametros.get("ESTADO_ID").toString() + ""); + } + + if ( !(parametros.get("STATUS").toString().contains("V") && parametros.get("STATUS").toString().contains("C")) ) { + if (parametros.get("STATUS").toString().contains("C")) { + sql.append(" AND b.motivocancelacion_id is not null "); + } else if (parametros.get("STATUS").toString().contains("V")) { + sql.append(" AND b.motivocancelacion_id is null "); + } + } + sql.append(" and B.ACTIVO = 1 AND b.INDVIAJEREDONDO IS NULL "); + } + sql.append(" order by "); + if (parametros.get("IDAVOLTA").equals("1")) { + sql.append(" BILHETEIRO, "); + sql.append(" DATA_EMISSAO, "); + }else { + sql.append(" DATA_EMISSAO, "); + sql.append(" BILHETEIRO, "); + } + sql.append(" COD_AGENCIA, "); + sql.append(" NOME_AGENCIA, "); + sql.append(" NUMERO_PASSAGEM, "); + sql.append(" ORIGEM, "); + sql.append(" DESTINO, "); + sql.append(" CATEGORIA, "); + sql.append(" IMPRESSAO_POSTERIOR, "); + sql.append(" SERVICO "); + return sql; + } /* * (non-Javadoc) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosFiltroFormaPagamento.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosFiltroFormaPagamento.java new file mode 100644 index 000000000..277b68ce1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosFiltroFormaPagamento.java @@ -0,0 +1,353 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.IndStatusBoleto; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +/** + * @author Thiago + * + */ +public class RelatorioBilhetesVendidosFiltroFormaPagamento extends Relatorio { + + + private static final String DATA_VENDA = "DATA_VENDA"; + private static final String DATA_FINAL = "DATA_FINAL"; + private static final String DATA_INICIAL = "DATA_INICIAL"; + private static final String TIPO_DATA = "TIPO_DATA"; + private static final String FORMA_PAGO = "FORMAPAGO_ID"; + + public RelatorioBilhetesVendidosFiltroFormaPagamento(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + StringBuilder sql = getSQL(parametros); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); + + stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString())); + if (parametros.get(DATA_INICIAL) != null && parametros.get(DATA_FINAL) != null){ + stmt.setTimestamp(DATA_INICIAL, new Timestamp(DateUtil.inicioFecha((Date) parametros.get(DATA_INICIAL)).getTime())); + stmt.setTimestamp(DATA_FINAL, new Timestamp(DateUtil.fimFecha((Date) parametros.get(DATA_FINAL)).getTime())); + } + if(parametros.get(FORMA_PAGO) != null) { + stmt.setInt("FORMAPAGO_ID", Integer.valueOf(parametros.get(FORMA_PAGO).toString())); + } + ResultSet rset = stmt.executeQuery(); + + while (rset.next()) { + + Map dataResult = new HashMap(); + + dataResult.put("NUMERO_PASSAGEM", rset.getString("NUMERO_PASSAGEM")); + if (rset.getString("SERIE") != null) { + if (rset.getString("SERIE").split("-").length == 1) { + dataResult.put("SERIE", rset.getString("SERIE")); + } else { + dataResult.put("SERIE", rset.getString("SERIE").split("-")[0]); + dataResult.put("SUB_SERIE", rset.getString("SERIE").split("-")[1]); + } + } + dataResult.put("CVEBILHETEIRO", rset.getString("CVEBILHETEIRO")); + dataResult.put("CVEBILHETEIRO_CANCELADO", rset.getString("CVEBILHETEIRO_CANCELADO")); + dataResult.put("IMPRESSAO_POSTERIOR", rset.getString("IMPRESSAO_POSTERIOR")); + dataResult.put("PRE_IMPRESSO", rset.getString("PRE_IMPRESSO")); + dataResult.put("COD_ORIGEM", rset.getString("COD_ORIGEM")); + dataResult.put("ORIGEM", rset.getString("ORIGEM")); + dataResult.put("COD_DESTINO", rset.getString("COD_DESTINO")); + dataResult.put("DESTINO", rset.getString("DESTINO")); + dataResult.put("NOME_AGENCIA", rset.getString("NOME_AGENCIA")); + dataResult.put("COD_AGENCIA", rset.getString("COD_AGENCIA")); + dataResult.put(DATA_VENDA, rset.getDate(DATA_VENDA)); + dataResult.put("DATA_EMISSAO", rset.getDate("DATA_EMISSAO")); + dataResult.put("DATA_VIAGEM", rset.getDate("DATA_VIAGEM")); + dataResult.put("SERVICO", rset.getString("SERVICO")); + dataResult.put("HORA", rset.getString("HORA")); + dataResult.put("NUMASIENTO", rset.getString("NUMASIENTO")); + dataResult.put("CATEGORIA", rset.getString("CATEGORIA")); + dataResult.put("SENTIDO", rset.getInt("SENTIDO")); + dataResult.put("COD_LINHA", rset.getString("COD_LINHA")); + dataResult.put("DESC_LINHA", rset.getString("DESC_LINHA")); + if (rset.getString("STATUS_PASSAGEM") != null) { + dataResult.put("STATUS_PASSAGEM", IndStatusBoleto.valueOf(rset.getString("STATUS_PASSAGEM")).getValue()); + } + dataResult.put("TARIFA", rset.getString("TARIFA")); + dataResult.put("TX_EMBARQUE", rset.getString("TX_EMBARQUE")); + dataResult.put("PEDAGIO", rset.getString("PEDAGIO")); + dataResult.put("SEGURO", rset.getString("SEGURO")); + dataResult.put("BILHETEIRO", rset.getString("BILHETEIRO")); + dataResult.put("BILHETEIRO_CANCELAMENTO", rset.getString("BILHETEIRO_CANCELAMENTO")); + dataResult.put("PASSAGEIRO", rset.getString("PASSAGEIRO")); + dataResult.put("DOC", rset.getString("DOC")); + dataResult.put("LOCALIZADOR", rset.getString("LOCALIZADOR")); + dataResult.put("FORMA_PAGAMENTO", rset.getString("FORMA_PAGAMENTO")); + + this.dados.add(dataResult); + + } + + this.resultSet = rset; + } + + + }); + } + + private StringBuilder getSQL(Map parametros) { + StringBuilder sql = new StringBuilder(); + + if (parametros.get("IDAVOLTA").equals("1")) { + sql.append(" select "); + sql.append(" u.CVEUSUARIO CVEBILHETEIRO, "); + sql.append(" uc.CVEUSUARIO CVEBILHETEIRO_CANCELADO, "); + sql.append(" B.indstatusboleto IMPRESSAO_POSTERIOR, "); + sql.append(" B.NUMFOLIOSISTEMA NUMERO_PASSAGEM, "); + sql.append(" B.NUMSERIEPREIMPRESA SERIE, "); + sql.append(" B.NUMSERIEPREIMPRESA SUB_SERIE, "); + sql.append(" B.NUMFOLIOPREIMPRESO PRE_IMPRESSO, "); + sql.append(" p_origen.PARADA_ID COD_ORIGEM, "); + sql.append(" p_origen.DESCPARADA ORIGEM, "); + sql.append(" p_destino.PARADA_ID COD_DESTINO, "); + sql.append(" p_destino.DESCPARADA DESTINO, "); + sql.append(" pv.NUMPUNTOVENTA COD_AGENCIA, "); + sql.append(" pv.NOMBPUNTOVENTA NOME_AGENCIA, "); + sql.append(" CASE WHEN B.indstatusboleto = 'E' THEN utilizado.fechorventa_h ELSE B.fechorventa_h END DATA_VENDA, "); + sql.append(" CASE WHEN b.fechorventa is null THEN utilizado.fechorventa ELSE b.fechorventa_h END DATA_EMISSAO, "); + sql.append(" B.fechorviaje DATA_VIAGEM, "); + sql.append(" B.CORRIDA_ID SERVICO, "); + sql.append(" to_char(B.fechorviaje, 'hh24:mi:ss') HORA, "); + sql.append(" B.NUMASIENTO NUMASIENTO, "); + sql.append(" ct.DESCCATEGORIA CATEGORIA, "); + sql.append(" R.INDSENTIDOIDA SENTIDO, "); + sql.append(" R.NUMRUTA COD_LINHA, "); + sql.append(" R.DESCRUTA DESC_LINHA, "); + sql.append(" CASE WHEN b.MOTIVOCANCELACION_ID IS NULL THEN 'V' ELSE 'C' END STATUS_PASSAGEM, "); + sql.append(" B.PRECIOPAGADO TARIFA, "); + sql.append(" B.IMPORTETAXAEMBARQUE TX_EMBARQUE, "); + sql.append(" B.IMPORTEPEDAGIO PEDAGIO, "); + sql.append(" B.IMPORTESEGURO SEGURO, "); + sql.append(" u.NOMBUSUARIO BILHETEIRO, "); + sql.append(" uc.NOMBUSUARIO BILHETEIRO_CANCELAMENTO, "); + sql.append(" B.NOMBPASAJERO AS PASSAGEIRO, "); + sql.append(" B.DESCNUMDOC AS DOC, "); + sql.append(" COALESCE(b.NUMOPERACION, bo.NUMOPERACION) AS LOCALIZADOR, "); + sql.append("(SELECT LISTAGG(formaPago.DESCPAGO, ',') WITHIN GROUP (ORDER BY formaPago.DESCPAGO) "); + sql.append("FROM CAJA caja2 "); + sql.append("INNER JOIN CAJA_FORMAPAGO cajaFormaPago ON cajaFormaPago.CAJA_ID = caja2.CAJA_ID "); + sql.append("INNER JOIN FORMA_PAGO formaPago ON formaPago.FORMAPAGO_ID = cajaFormaPago.FORMAPAGO_ID "); + sql.append("WHERE caja2.CAJA_ID = b.CAJA_ID) AS FORMA_PAGAMENTO "); + sql.append(" FROM caja B "); + sql.append(" LEFT JOIN boleto bo ON (bo.boleto_id = b.transacaooriginal_id AND b.indstatusboleto = 'C') "); + sql.append(" JOIN RUTA R ON R.RUTA_ID = B.RUTA_ID "); + sql.append(" JOIN PUNTO_VENTA pv on B.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" JOIN USUARIO u on u.USUARIO_ID = B.USUARIO_ID "); + sql.append(" LEFT JOIN USUARIO uc ON uc.USUARIO_ID = bo.USUARIO_ID "); + sql.append(" JOIN PARADA p_origen on p_origen.PARADA_ID = B.ORIGEN_ID "); + sql.append(" JOIN PARADA p_destino on p_destino.PARADA_ID = B.DESTINO_ID "); + sql.append(" JOIN CATEGORIA ct on ct.CATEGORIA_ID = B.CATEGORIA_ID "); + sql.append(" JOIN CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = B.CLASESERVICIO_ID "); + sql.append(" JOIN MARCA m on m.marca_id = b.marca_id "); + sql.append(" JOIN CAJA_FORMAPAGO cajaFormaPago ON cajaFormaPago.CAJA_ID = b.CAJA_ID "); + sql.append(" JOIN FORMA_PAGO formaPago ON formaPago.FORMAPAGO_ID = cajaFormaPago.FORMAPAGO_ID "); + sql.append(" left join ciudad co ON co.ciudad_id = p_origen.ciudad_id "); + sql.append(" left join estado est ON est.estado_id = co.estado_id "); + sql.append(" LEFT JOIN boleto utilizado ON (utilizado.boleto_id = b.transacaooriginal_id AND b.INDSTATUSBOLETO = 'E') "); + + sql.append(" WHERE "); + sql.append(" (b.indreimpresion = 0 OR b.INDSTATUSBOLETO = 'E') "); + sql.append(" and m.EMPRESA_ID = :EMPRESA_ID "); + if (parametros.get(DATA_INICIAL) != null && parametros.get(DATA_FINAL) != null) { + if (parametros.get(TIPO_DATA) != null) { + if ((parametros.get(TIPO_DATA).toString().equals(DATA_VENDA))) { + sql.append(" and b.FECHORVENTA_H >= :DATA_INICIAL "); + sql.append(" and b.FECHORVENTA_H <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_EMISSAO"))) { + sql.append(" and utilizado.FECHORVENTA >= :DATA_INICIAL "); + sql.append(" and utilizado.FECHORVENTA <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_VIAGEM"))) { + sql.append(" and b.FECCORRIDA >= :DATA_INICIAL "); + sql.append(" and b.FECCORRIDA <= :DATA_FINAL "); + } + } + } + + if (parametros.get("NUMPUNTOVENTA") != null && !parametros.get("NUMPUNTOVENTA").equals("-1")) { + sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + } + + if (parametros.get("MOEDA_ID") != null) { + sql.append(" and NVL(B.MONEDA_ID, 1) = "+parametros.get("MOEDA_ID") ); + } + + if (parametros.get("ESTADO_ID") != null && !parametros.get("ESTADO_ID").equals("-1")) { + sql.append(" and est.estado_id = " + parametros.get("ESTADO_ID").toString() + ""); + } + + sql.append(" AND b.INDVIAJEREDONDO = 1 "); + if(parametros.get(FORMA_PAGO) != null && !parametros.get(FORMA_PAGO).equals("-1")) { + sql.append(" and formaPago.FORMAPAGO_ID =:FORMAPAGO_ID "); + } + } + + + if (parametros.get("STATUS").toString().contains("C")||parametros.get("STATUS").toString().contains("V")) { + if (parametros.get("IDAVOLTA").equals("1")) { + sql.append(" UNION ALL "); + } + sql.append(" select "); + sql.append(" u.CVEUSUARIO CVEBILHETEIRO, "); + sql.append(" uc.CVEUSUARIO CVEBILHETEIRO_CANCELADO, "); + sql.append(" B.indstatusboleto IMPRESSAO_POSTERIOR, "); + sql.append(" B.NUMFOLIOSISTEMA NUMERO_PASSAGEM, "); + sql.append(" B.NUMSERIEPREIMPRESA SERIE, "); + sql.append(" B.NUMSERIEPREIMPRESA SUB_SERIE, "); + sql.append(" B.NUMFOLIOPREIMPRESO PRE_IMPRESSO, "); + sql.append(" p_origen.PARADA_ID COD_ORIGEM, "); + sql.append(" p_origen.DESCPARADA ORIGEM, "); + sql.append(" p_destino.PARADA_ID COD_DESTINO, "); + sql.append(" p_destino.DESCPARADA DESTINO, "); + sql.append(" pv.NUMPUNTOVENTA COD_AGENCIA, "); + sql.append(" pv.NOMBPUNTOVENTA NOME_AGENCIA, "); + sql.append(" CASE WHEN B.indstatusboleto = 'E' THEN utilizado.fechorventa_h ELSE B.fechorventa_h END DATA_VENDA, "); + sql.append(" CASE WHEN b.fechorventa is null THEN utilizado.fechorventa ELSE b.fechorventa_h END DATA_EMISSAO, "); + sql.append(" B.fechorviaje DATA_VIAGEM, "); + sql.append(" B.CORRIDA_ID SERVICO, "); + sql.append(" to_char(B.fechorviaje, 'hh24:mi:ss') HORA, "); + sql.append(" B.NUMASIENTO NUMASIENTO, "); + sql.append(" ct.DESCCATEGORIA CATEGORIA, "); + sql.append(" R.INDSENTIDOIDA SENTIDO, "); + sql.append(" R.NUMRUTA COD_LINHA, "); + sql.append(" R.DESCRUTA DESC_LINHA, "); + sql.append(" CASE WHEN b.MOTIVOCANCELACION_ID IS NULL THEN 'V' ELSE 'C' END STATUS_PASSAGEM, "); + sql.append(" B.PRECIOPAGADO TARIFA, "); + sql.append(" B.IMPORTETAXAEMBARQUE TX_EMBARQUE, "); + sql.append(" B.IMPORTEPEDAGIO PEDAGIO, "); + sql.append(" B.IMPORTESEGURO SEGURO, "); + sql.append(" u.NOMBUSUARIO BILHETEIRO, "); + sql.append(" uc.NOMBUSUARIO BILHETEIRO_CANCELAMENTO, "); + sql.append(" B.NOMBPASAJERO AS PASSAGEIRO, "); + sql.append(" B.DESCNUMDOC AS DOC, "); + sql.append(" COALESCE(b.NUMOPERACION, bo.NUMOPERACION) AS LOCALIZADOR, "); + sql.append("(SELECT LISTAGG(formaPago.DESCPAGO, ',') WITHIN GROUP (ORDER BY formaPago.DESCPAGO) "); + sql.append("FROM CAJA caja2 "); + sql.append("INNER JOIN CAJA_FORMAPAGO cajaFormaPago ON cajaFormaPago.CAJA_ID = caja2.CAJA_ID "); + sql.append("INNER JOIN FORMA_PAGO formaPago ON formaPago.FORMAPAGO_ID = cajaFormaPago.FORMAPAGO_ID "); + sql.append("WHERE caja2.CAJA_ID = b.CAJA_ID) AS FORMA_PAGAMENTO "); + sql.append(" FROM caja B "); + sql.append(" LEFT JOIN boleto bo ON (bo.boleto_id = b.transacaooriginal_id AND b.indstatusboleto = 'C') "); + sql.append(" JOIN RUTA R ON R.RUTA_ID = B.RUTA_ID "); + sql.append(" JOIN PUNTO_VENTA pv on B.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" JOIN USUARIO u on u.USUARIO_ID = B.USUARIO_ID "); + sql.append(" LEFT JOIN USUARIO uc ON uc.USUARIO_ID = bo.USUARIO_ID "); + sql.append(" JOIN PARADA p_origen on p_origen.PARADA_ID = B.ORIGEN_ID "); + sql.append(" JOIN PARADA p_destino on p_destino.PARADA_ID = B.DESTINO_ID "); + sql.append(" JOIN CATEGORIA ct on ct.CATEGORIA_ID = B.CATEGORIA_ID "); + sql.append(" JOIN CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = B.CLASESERVICIO_ID "); + sql.append(" JOIN MARCA m on m.marca_id = b.marca_id "); + sql.append(" JOIN CAJA_FORMAPAGO cajaFormaPago ON cajaFormaPago.CAJA_ID = b.CAJA_ID "); + sql.append(" JOIN FORMA_PAGO formaPago ON formaPago.FORMAPAGO_ID = cajaFormaPago.FORMAPAGO_ID "); + sql.append(" left join ciudad co ON co.ciudad_id = p_origen.ciudad_id "); + sql.append(" left join estado est ON est.estado_id = co.estado_id "); + sql.append(" LEFT JOIN boleto utilizado ON (utilizado.boleto_id = b.transacaooriginal_id AND b.INDSTATUSBOLETO = 'E') "); + + sql.append(" WHERE "); + sql.append(" (b.indreimpresion = 0 OR b.INDSTATUSBOLETO = 'E') "); + sql.append(" and m.EMPRESA_ID = :EMPRESA_ID "); + if (parametros.get(DATA_INICIAL) != null && parametros.get(DATA_FINAL) != null) { + if (parametros.get(TIPO_DATA) != null) { + if ((parametros.get(TIPO_DATA).toString().equals(DATA_VENDA))) { + sql.append(" and b.FECHORVENTA_H >= :DATA_INICIAL "); + sql.append(" and b.FECHORVENTA_H <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_EMISSAO"))) { + sql.append(" and utilizado.FECHORVENTA >= :DATA_INICIAL "); + sql.append(" and utilizado.FECHORVENTA <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_VIAGEM"))) { + sql.append(" and b.FECCORRIDA >= :DATA_INICIAL "); + sql.append(" and b.FECCORRIDA <= :DATA_FINAL "); + } + } + } + + if (parametros.get("NUMPUNTOVENTA") != null && !parametros.get("NUMPUNTOVENTA").equals("-1")) { + sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + } + + if (parametros.get("MOEDA_ID") != null) { + sql.append(" and NVL(B.MONEDA_ID, 1) = "+parametros.get("MOEDA_ID") ); + } + + if (parametros.get("ESTADO_ID") != null && !parametros.get("ESTADO_ID").equals("-1")) { + sql.append(" and est.estado_id = " + parametros.get("ESTADO_ID").toString() + ""); + } + + if ( !(parametros.get("STATUS").toString().contains("V") && parametros.get("STATUS").toString().contains("C")) ) { + if (parametros.get("STATUS").toString().contains("C")) { + sql.append(" AND b.motivocancelacion_id is not null "); + } else if (parametros.get("STATUS").toString().contains("V")) { + sql.append(" AND b.motivocancelacion_id is null "); + } + } + sql.append(" and B.ACTIVO = 1 AND b.INDVIAJEREDONDO IS NULL "); + + if(parametros.get(FORMA_PAGO) != null && !parametros.get(FORMA_PAGO).equals("-1")) { + sql.append(" and formaPago.FORMAPAGO_ID =:FORMAPAGO_ID "); + } + + } + sql.append(" order by "); + if (parametros.get("IDAVOLTA").equals("1")) { + sql.append(" BILHETEIRO, "); + sql.append(" DATA_EMISSAO, "); + }else { + sql.append(" DATA_EMISSAO, "); + sql.append(" BILHETEIRO, "); + } + sql.append(" COD_AGENCIA, "); + sql.append(" NOME_AGENCIA, "); + sql.append(" NUMERO_PASSAGEM, "); + sql.append(" ORIGEM, "); + sql.append(" DESTINO, "); + sql.append(" CATEGORIA, "); + sql.append(" IMPRESSAO_POSTERIOR, "); + sql.append(" SERVICO "); + + return sql; + } + + /* + * (non-Javadoc) + * + * @see com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio#processaParametros() + */ + @Override + protected void processaParametros() throws Exception { + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosNovoLayout.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosNovoLayout.java index 4b4394caa..0b058efe1 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosNovoLayout.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosNovoLayout.java @@ -53,109 +53,7 @@ public class RelatorioBilhetesVendidosNovoLayout extends Relatorio { Connection conexao = this.relatorio.getConexao(); Map parametros = this.relatorio.getParametros(); - StringBuilder sql = new StringBuilder(); - sql.append("select t.cveestado,"); - sql.append(" to_char(t.dataVenda, 'dd/MM/yy') as dataVenda, "); - sql.append(" t.statuspassagem,"); - sql.append(" t.especie,"); - sql.append(" t.forminicial,"); - sql.append(" t.formfinal,"); - sql.append(" t.serie,"); - sql.append(" t.preciopagado AS valorcontabil,"); - sql.append(" t.preciopagado - (t.preciopagado * coalesce(t.porcentcreditobase / 100,0))AS valorbasecalculo,"); - sql.append(" t.icms as valoraliquiotaicms,"); - sql.append(" ((t.preciopagado - (t.preciopagado * coalesce(t.porcentcreditobase / 100,0))) * t.icms) / 100 AS valoricms,"); - sql.append(" cod_origem,"); - sql.append(" origem,"); - sql.append(" cod_destino,"); - sql.append(" destino, "); - sql.append(" codFiscal "); - sql.append("from"); - sql.append(" (select distinct "); - sql.append(" CASE WHEN ( coalesce(al.aliquota,0) <> 0 AND co.estado_id <> cd.estado_id ) THEN AL.ALIQUOTA "); //1 Aliquota do estado de destino - sql.append(" WHEN ( EI.INDREDBASEICMSBPE = 1 and co.estado_id = cd.estado_id AND EI.ICMSIM <> 0 ) THEN EI.ICMSIM "); //2 - ICMS intermunicipal com redutor - sql.append(" WHEN ( EI.INDREDBASEICMSBPE = 1 and co.estado_id <> cd.estado_id AND EI.ICMS <> 0 ) THEN EI.ICMS "); //3 - ICMS interestadual com redutor - sql.append(" WHEN ( co.estado_id = cd.estado_id AND EI.TRIBUTACAOIMPORTACAOIM <> 0 ) THEN EI.TRIBUTACAOIMPORTACAOIM "); //2 - ICMS intermunicipal - sql.append(" WHEN ( co.estado_id <> cd.estado_id AND EI.TRIBUTACAOIMPORTACAO <> 0 ) THEN EI.TRIBUTACAOIMPORTACAO "); //3 - ICMS interestadual - sql.append(" ELSE est.icms END AS icms, "); //4 - Se nao tiver nenhum deles busca do cadastro do estado de origem - sql.append(" (coalesce (CASE WHEN ( (co.estado_id <> cd.estado_id AND EI.INDSEGUROESTADUAL = 1) OR (co.estado_id = cd.estado_id AND EI.INDSEGUROMUNICIPAL = 1) ) THEN c.IMPORTESEGURO ELSE 0 END + "); //1 - IMPORTE SEGURO - sql.append(" CASE WHEN ( (co.estado_id <> cd.estado_id AND EI.INDTXEMBARQUEESTADUAL = 1) OR (co.estado_id = cd.estado_id AND EI.INDTXEMBARQUEMUNICIPAL = 1) ) THEN c.IMPORTETAXAEMBARQUE ELSE 0 END + "); //2 - IMPORTE TAXA - sql.append(" CASE WHEN ( (co.estado_id <> cd.estado_id AND ei.INDPEDAGIOESTDUAL = 1) OR (co.estado_id = cd.estado_id AND EI.INDPEDAGIOMUNICIPAL = 1) ) THEN c.IMPORTEPEDAGIO ELSE 0 END , 0) "); //3 - IMPORTE PEGADIO - sql.append(" + c.preciopagado) as preciopagado, "); - sql.append(" est.cveestado as cveestado,"); - sql.append(" CASE WHEN ( ei.indredbaseicmsbpe = 1 and ei.porcredbaseicmsim > 0 AND co.estado_id = cd.estado_id ) THEN ei.porcredbaseicmsim "); // 1 - Porcentagem de credito para base de calculo ICMS (INTERMUNICIPAL) - sql.append(" WHEN ( ei.indredbaseicmsbpe = 1 and ei.porcredbaseicms > 0 AND co.estado_id <> cd.estado_id ) THEN ei.porcredbaseicms "); // 2 - Porcentagem de credito para base de calculo ICMS (INTERESTADUAL) - sql.append(" ELSE 0 END AS porcentcreditobase,"); // 3 - Porcentagem de credito para base de calculo ICMS (NAO EXISTENTE!) RETORNA 0 - sql.append(" c.fechorventa as datavenda,"); - sql.append(" c.indstatusboleto statuspassagem,"); - sql.append(" ae.decespecie as especie,"); - sql.append(" c.numfoliosistema as forminicial,"); - sql.append(" c.numfoliosistema as formfinal,"); - sql.append(" c.numseriepreimpresa as serie,"); - sql.append(" c.preciopagado as valorcontabil,"); - sql.append(" po.parada_id cod_origem, "); - sql.append(" po.descparada origem,"); - sql.append(" pd.parada_id cod_destino,"); - sql.append(" pd.descparada destino,"); - sql.append(" case when cd.estado_id = co.estado_id then '5357' else '6357' end as codFiscal"); - sql.append(" from caja c"); - sql.append(" left join aidf a on a.aidf_id = c.aidf_id"); - sql.append(" left join aidf_especie ae on (a.aidfesp_id = ae.aidfesp_id)"); - sql.append(" join empresa e on e.empresa_id = c.empresacorrida_id"); - sql.append(" join parada po on po.parada_id = c.origen_id"); - sql.append(" join ciudad co on co.ciudad_id = po.ciudad_id"); - sql.append(" join parada pd on pd.parada_id = c.destino_id"); - sql.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_id"); - sql.append(" join estado est on est.estado_id = co.estado_id"); - sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id"); - sql.append(" LEFT JOIN ALIQUOTA_ESTADO_DESTINO AL ON ei.EMPRESAIMPOSTO_ID = AL.EMPRESAIMPOSTO_ID AND cd.estado_id = AL.ESTADO_ID AND AL.ACTIVO = 1 "); - sql.append(" LEFT JOIN boleto utilizado ON (utilizado.boleto_id = c.transacaooriginal_id AND c.INDSTATUSBOLETO = 'E') "); - sql.append(" join punto_venta pv on c.puntoventa_id = pv.puntoventa_id"); - sql.append(" and ei.estado_id = est.estado_id"); - sql.append(" where "); - sql.append(" c.empresacorrida_id = :EMPRESA_ID "); - if (parametros.get(TIPO_DATA) != null) { - if ((parametros.get(TIPO_DATA).toString().equals(DATA_VENDA))) { - sql.append(" and c.FECHORVENTA_H >= :DATA_INICIAL "); - sql.append(" and c.FECHORVENTA_H <= :DATA_FINAL "); - } - - if ((parametros.get(TIPO_DATA).toString().equals("DATA_EMISSAO"))) { - sql.append(" and utilizado.FECHORVENTA >= :DATA_INICIAL "); - sql.append(" and utilizado.FECHORVENTA <= :DATA_FINAL "); - } - - if ((parametros.get(TIPO_DATA).toString().equals("DATA_VIAGEM"))) { - sql.append(" and c.FECCORRIDA >= :DATA_INICIAL "); - sql.append(" and c.FECCORRIDA <= :DATA_FINAL "); - } - } - sql.append(" and c.activo = 1"); - sql.append(" and ei.activo = 1"); - - if (parametros.get(NUMPUNTOVENTA) != null && !parametros.get(NUMPUNTOVENTA).equals("-1")) { - sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get(NUMPUNTOVENTA).toString() + ")"); - } - - if (parametros.get("ESTADO_ID") != null && !parametros.get("ESTADO_ID").equals("-1")) { - sql.append(" and est.estado_id = " + parametros.get("ESTADO_ID").toString() + ""); - } - - if (parametros.get("MOEDA_ID") != null) { - sql.append(" and NVL(c.MONEDA_ID, 1) = "+parametros.get("MOEDA_ID") ); - } - - if (parametros.get(STATUS) != null) { - if (parametros.get(STATUS).toString().contains("V") && parametros.get(STATUS).toString().contains("C")) { - sql.append(" and ((c.INDSTATUSBOLETO = 'C' AND c.MOTIVOCANCELACION_ID IS NOT NULL) OR (c.INDSTATUSBOLETO = 'V' AND c.MOTIVOCANCELACION_ID IS NULL)) "); - } else if (parametros.get(STATUS).toString().contains("C")) { - sql.append(" and c.INDSTATUSBOLETO = 'C' AND c.MOTIVOCANCELACION_ID IS NOT NULL "); - } else if (parametros.get(STATUS).toString().contains("V")) { - sql.append(" and c.INDSTATUSBOLETO = 'V' AND c.MOTIVOCANCELACION_ID IS NULL "); - } - } - sql.append(") t "); - sql.append("order by t.cveestado, to_char(t.dataVenda, 'dd/MM/yy') "); + StringBuilder sql = getSQL(parametros); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); @@ -212,8 +110,117 @@ public class RelatorioBilhetesVendidosNovoLayout extends Relatorio { setLsDadosRelatorio(lsDadosRelatorio); } } + + }); } + + private StringBuilder getSQL(Map parametros) { + StringBuilder sql = new StringBuilder(); + sql.append("select t.cveestado,"); + sql.append(" to_char(t.dataVenda, 'dd/MM/yy') as dataVenda, "); + sql.append(" t.statuspassagem,"); + sql.append(" t.especie,"); + sql.append(" t.forminicial,"); + sql.append(" t.formfinal,"); + sql.append(" t.serie,"); + sql.append(" t.preciopagado AS valorcontabil,"); + sql.append(" t.preciopagado - (t.preciopagado * coalesce(t.porcentcreditobase / 100,0))AS valorbasecalculo,"); + sql.append(" t.icms as valoraliquiotaicms,"); + sql.append(" ((t.preciopagado - (t.preciopagado * coalesce(t.porcentcreditobase / 100,0))) * t.icms) / 100 AS valoricms,"); + sql.append(" cod_origem,"); + sql.append(" origem,"); + sql.append(" cod_destino,"); + sql.append(" destino, "); + sql.append(" codFiscal "); + sql.append("from"); + sql.append(" (select distinct "); + sql.append(" CASE WHEN ( coalesce(al.aliquota,0) <> 0 AND co.estado_id <> cd.estado_id ) THEN AL.ALIQUOTA "); //1 Aliquota do estado de destino + sql.append(" WHEN ( EI.INDREDBASEICMSBPE = 1 and co.estado_id = cd.estado_id AND EI.ICMSIM <> 0 ) THEN EI.ICMSIM "); //2 - ICMS intermunicipal com redutor + sql.append(" WHEN ( EI.INDREDBASEICMSBPE = 1 and co.estado_id <> cd.estado_id AND EI.ICMS <> 0 ) THEN EI.ICMS "); //3 - ICMS interestadual com redutor + sql.append(" WHEN ( co.estado_id = cd.estado_id AND EI.TRIBUTACAOIMPORTACAOIM <> 0 ) THEN EI.TRIBUTACAOIMPORTACAOIM "); //2 - ICMS intermunicipal + sql.append(" WHEN ( co.estado_id <> cd.estado_id AND EI.TRIBUTACAOIMPORTACAO <> 0 ) THEN EI.TRIBUTACAOIMPORTACAO "); //3 - ICMS interestadual + sql.append(" ELSE est.icms END AS icms, "); //4 - Se nao tiver nenhum deles busca do cadastro do estado de origem + sql.append(" (coalesce (CASE WHEN ( (co.estado_id <> cd.estado_id AND EI.INDSEGUROESTADUAL = 1) OR (co.estado_id = cd.estado_id AND EI.INDSEGUROMUNICIPAL = 1) ) THEN c.IMPORTESEGURO ELSE 0 END + "); //1 - IMPORTE SEGURO + sql.append(" CASE WHEN ( (co.estado_id <> cd.estado_id AND EI.INDTXEMBARQUEESTADUAL = 1) OR (co.estado_id = cd.estado_id AND EI.INDTXEMBARQUEMUNICIPAL = 1) ) THEN c.IMPORTETAXAEMBARQUE ELSE 0 END + "); //2 - IMPORTE TAXA + sql.append(" CASE WHEN ( (co.estado_id <> cd.estado_id AND ei.INDPEDAGIOESTDUAL = 1) OR (co.estado_id = cd.estado_id AND EI.INDPEDAGIOMUNICIPAL = 1) ) THEN c.IMPORTEPEDAGIO ELSE 0 END , 0) "); //3 - IMPORTE PEGADIO + sql.append(" + c.preciopagado) as preciopagado, "); + sql.append(" est.cveestado as cveestado,"); + sql.append(" CASE WHEN ( ei.indredbaseicmsbpe = 1 and ei.porcredbaseicmsim > 0 AND co.estado_id = cd.estado_id ) THEN ei.porcredbaseicmsim "); // 1 - Porcentagem de credito para base de calculo ICMS (INTERMUNICIPAL) + sql.append(" WHEN ( ei.indredbaseicmsbpe = 1 and ei.porcredbaseicms > 0 AND co.estado_id <> cd.estado_id ) THEN ei.porcredbaseicms "); // 2 - Porcentagem de credito para base de calculo ICMS (INTERESTADUAL) + sql.append(" ELSE 0 END AS porcentcreditobase,"); // 3 - Porcentagem de credito para base de calculo ICMS (NAO EXISTENTE!) RETORNA 0 + sql.append(" c.fechorventa as datavenda,"); + sql.append(" c.indstatusboleto statuspassagem,"); + sql.append(" ae.decespecie as especie,"); + sql.append(" c.numfoliosistema as forminicial,"); + sql.append(" c.numfoliosistema as formfinal,"); + sql.append(" c.numseriepreimpresa as serie,"); + sql.append(" c.preciopagado as valorcontabil,"); + sql.append(" po.parada_id cod_origem, "); + sql.append(" po.descparada origem,"); + sql.append(" pd.parada_id cod_destino,"); + sql.append(" pd.descparada destino,"); + sql.append(" case when cd.estado_id = co.estado_id then '5357' else '6357' end as codFiscal"); + sql.append(" from caja c"); + sql.append(" left join aidf a on a.aidf_id = c.aidf_id"); + sql.append(" left join aidf_especie ae on (a.aidfesp_id = ae.aidfesp_id)"); + sql.append(" join empresa e on e.empresa_id = c.empresacorrida_id"); + sql.append(" join parada po on po.parada_id = c.origen_id"); + sql.append(" join ciudad co on co.ciudad_id = po.ciudad_id"); + sql.append(" join parada pd on pd.parada_id = c.destino_id"); + sql.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_id"); + sql.append(" join estado est on est.estado_id = co.estado_id"); + sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id"); + sql.append(" LEFT JOIN ALIQUOTA_ESTADO_DESTINO AL ON ei.EMPRESAIMPOSTO_ID = AL.EMPRESAIMPOSTO_ID AND cd.estado_id = AL.ESTADO_ID AND AL.ACTIVO = 1 "); + sql.append(" LEFT JOIN boleto utilizado ON (utilizado.boleto_id = c.transacaooriginal_id AND c.INDSTATUSBOLETO = 'E') "); + sql.append(" join punto_venta pv on c.puntoventa_id = pv.puntoventa_id"); + sql.append(" and ei.estado_id = est.estado_id"); + sql.append(" where "); + sql.append(" c.empresacorrida_id = :EMPRESA_ID "); + if (parametros.get(TIPO_DATA) != null) { + if ((parametros.get(TIPO_DATA).toString().equals(DATA_VENDA))) { + sql.append(" and c.FECHORVENTA_H >= :DATA_INICIAL "); + sql.append(" and c.FECHORVENTA_H <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_EMISSAO"))) { + sql.append(" and utilizado.FECHORVENTA >= :DATA_INICIAL "); + sql.append(" and utilizado.FECHORVENTA <= :DATA_FINAL "); + } + + if ((parametros.get(TIPO_DATA).toString().equals("DATA_VIAGEM"))) { + sql.append(" and c.FECCORRIDA >= :DATA_INICIAL "); + sql.append(" and c.FECCORRIDA <= :DATA_FINAL "); + } + } + sql.append(" and c.activo = 1"); + sql.append(" and ei.activo = 1"); + + if (parametros.get(NUMPUNTOVENTA) != null && !parametros.get(NUMPUNTOVENTA).equals("-1")) { + sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get(NUMPUNTOVENTA).toString() + ")"); + } + + if (parametros.get("ESTADO_ID") != null && !parametros.get("ESTADO_ID").equals("-1")) { + sql.append(" and est.estado_id = " + parametros.get("ESTADO_ID").toString() + ""); + } + + if (parametros.get("MOEDA_ID") != null) { + sql.append(" and NVL(c.MONEDA_ID, 1) = "+parametros.get("MOEDA_ID") ); + } + + if (parametros.get(STATUS) != null) { + if (parametros.get(STATUS).toString().contains("V") && parametros.get(STATUS).toString().contains("C")) { + sql.append(" and ((c.INDSTATUSBOLETO = 'C' AND c.MOTIVOCANCELACION_ID IS NOT NULL) OR (c.INDSTATUSBOLETO = 'V' AND c.MOTIVOCANCELACION_ID IS NULL)) "); + } else if (parametros.get(STATUS).toString().contains("C")) { + sql.append(" and c.INDSTATUSBOLETO = 'C' AND c.MOTIVOCANCELACION_ID IS NOT NULL "); + } else if (parametros.get(STATUS).toString().contains("V")) { + sql.append(" and c.INDSTATUSBOLETO = 'V' AND c.MOTIVOCANCELACION_ID IS NULL "); + } + } + sql.append(") t "); + sql.append("order by t.cveestado, to_char(t.dataVenda, 'dd/MM/yy') "); + return sql; + } private BigDecimal getValor(String campo, ResultSet resultSet) throws SQLException { if (resultSet.getObject(campo) == null) { diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosFiltroFormaPagamento_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosFiltroFormaPagamento_es.properties new file mode 100644 index 000000000..a743aaf84 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosFiltroFormaPagamento_es.properties @@ -0,0 +1,13 @@ +#geral +msg.noData=No fue posible obtener datos con los parámetros ingresados. + + +#Labels cabeçalho +cabecalho.relatorio=Reporte: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Fecha/Hora: +cabecalho.impressorPor=Impresora por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosFiltroFormaPagamento_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosFiltroFormaPagamento_pt_BR.properties new file mode 100644 index 000000000..f39ccac7e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBilhetesVendidosFiltroFormaPagamento_pt_BR.properties @@ -0,0 +1,13 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosFiltroFormaPagamento.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosFiltroFormaPagamento.jasper new file mode 100644 index 0000000000000000000000000000000000000000..d565be6cd377e19e698cc2d5064005adab2f4d0e GIT binary patch literal 57256 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 PG0emiu_m + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBilhetesVendidosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBilhetesVendidosController.java index 40307b0a3..017180e47 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBilhetesVendidosController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBilhetesVendidosController.java @@ -22,17 +22,21 @@ import org.zkoss.zul.Comboitem; import org.zkoss.zul.Datebox; import org.zkoss.zul.Paging; import org.zkoss.zul.Radiogroup; +import org.zkoss.zul.Row; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Estado; +import com.rjconsultores.ventaboletos.entidad.FormaPago; import com.rjconsultores.ventaboletos.entidad.Moneda; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.enums.IndStatusBoleto; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBilhetesVendidos; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBilhetesVendidosFiltroFormaPagamento; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBilhetesVendidosNovoLayout; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EstadoService; +import com.rjconsultores.ventaboletos.service.FormaPagoService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @@ -72,9 +76,15 @@ public class RelatorioBilhetesVendidosController extends MyGenericForwardCompose private Checkbox chkCancelado; private Checkbox chkIdaVolta; private Checkbox chkEmitido; + private Checkbox chkFormaPagamento; private Radiogroup rgLayout; @Autowired private EstadoService estadoService; + private List lsFormaPago; + private MyComboboxEstandar cmbFormaPago; + @Autowired + private FormaPagoService formaPagoService; + private Row rowFiltroFormaPagamento; @Override public void doAfterCompose(Component comp) throws Exception { @@ -85,6 +95,8 @@ public class RelatorioBilhetesVendidosController extends MyGenericForwardCompose chkVendido.setChecked(true); chkCancelado.setChecked(true); puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); + lsFormaPago = formaPagoService.obtenerTodos(); + cmbFormaPago.setAutocomplete(true); } @@ -246,8 +258,17 @@ public class RelatorioBilhetesVendidosController extends MyGenericForwardCompose }else { parametros.put("IDAVOLTA", "0"); } + + FormaPago formaPago = null; - if (novoLayout) { + if (cmbFormaPago.getSelectedItem() != null) { + formaPago = ((FormaPago) cmbFormaPago.getSelectedItem().getValue()); + parametros.put("FORMAPAGO_ID", formaPago.getFormapagoId()); + filtro.append(formaPago.getDescpago()).append("; "); + } + if(chkFormaPagamento.isChecked()) { + relatorio = new RelatorioBilhetesVendidosFiltroFormaPagamento(parametros, dataSourceRead.getConnection()); + }else if (novoLayout) { relatorio = new RelatorioBilhetesVendidosNovoLayout(parametros, dataSourceRead.getConnection()); parametros.put("TITULO", Labels.getLabel("relatorioBilhetesVendidosController.window.title")); } else { @@ -260,6 +281,10 @@ public class RelatorioBilhetesVendidosController extends MyGenericForwardCompose openWindow("/component/reportView.zul", Labels.getLabel("relatorioBilhetesVendidosController.window.title"), args, MODAL); } + + public void onClick$chkFormaPagamento(Event event) { + rowFiltroFormaPagamento.setVisible(chkFormaPagamento.isChecked()); + } public Combobox getCmbMoeda() { return cmbMoeda; @@ -276,4 +301,12 @@ public class RelatorioBilhetesVendidosController extends MyGenericForwardCompose public void setChkEmitido(Checkbox chkEmitido) { this.chkEmitido = chkEmitido; } + + public List getLsFormaPago() { + return lsFormaPago; + } + + public void setLsFormaPago(List lsFormaPago) { + this.lsFormaPago = lsFormaPago; + } } diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index e65c32d70..e0eb62b91 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -8822,6 +8822,7 @@ relatorioBilhetesVendidosController.reimpresso.label = Reprinted relatorioBilhetesVendidosController.reservado.label = Reserved relatorioBilhetesVendidosController.transferido.label = Transferred relatorioBilhetesVendidosController.vendido.label = Sold +relatorioBilhetesVendidosController.lbFormaPagamento.value= Payment Method # Relatório Bilhetes Vendidos relatorioBilhetesVendidosController.window.title = Tickets Sold relatorioBilhetesVendidosEstoqueAgenciaController.IdaVolta.label = Round trip diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 30f784244..784378a8a 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -8835,6 +8835,7 @@ relatorioBilhetesVendidosController.reimpresso.label = Reimpresso relatorioBilhetesVendidosController.reservado.label = Reservado relatorioBilhetesVendidosController.transferido.label = Transferido relatorioBilhetesVendidosController.vendido.label = Vendido +relatorioBilhetesVendidosController.lbFormaPagamento.value= Forma Pago # Relatório Bilhetes Vendidos # Relatório Bilhetes Vendidos relatorioBilhetesVendidosController.window.title = Bilhetes Vendidos diff --git a/web/WEB-INF/i3-label_fr_FR.label b/web/WEB-INF/i3-label_fr_FR.label index 8714d404c..cacdaa173 100644 --- a/web/WEB-INF/i3-label_fr_FR.label +++ b/web/WEB-INF/i3-label_fr_FR.label @@ -8820,6 +8820,7 @@ relatorioBilhetesVendidosController.reimpresso.label = Réimprimé relatorioBilhetesVendidosController.reservado.label = Réservé relatorioBilhetesVendidosController.transferido.label = Transféré relatorioBilhetesVendidosController.vendido.label = Vendu +relatorioBilhetesVendidosController.lbFormaPagamento.value= Mode de paiement # Relatório Bilhetes Vendidos relatorioBilhetesVendidosController.window.title = Billets vendus relatorioBilhetesVendidosEstoqueAgenciaController.IdaVolta.label = Aller-retour diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index bba8579fb..3f336202c 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -8808,6 +8808,7 @@ relatorioBilhetesVendidosController.reimpresso.label = Reimpresso relatorioBilhetesVendidosController.reservado.label = Reservado relatorioBilhetesVendidosController.transferido.label = Transferido relatorioBilhetesVendidosController.vendido.label = Vendido +relatorioBilhetesVendidosController.lbFormaPagamento.value= Forma Pagamento # Relatório Bilhetes Vendidos relatorioBilhetesVendidosController.window.title = Bilhetes Vendidos relatorioBilhetesVendidosEstoqueAgenciaController.IdaVolta.label = Ida/Volta diff --git a/web/gui/relatorios/filtroRelatorioBilhetesVendidos.zul b/web/gui/relatorios/filtroRelatorioBilhetesVendidos.zul index f2aa750d8..13fbedfd3 100644 --- a/web/gui/relatorios/filtroRelatorioBilhetesVendidos.zul +++ b/web/gui/relatorios/filtroRelatorioBilhetesVendidos.zul @@ -6,7 +6,7 @@ @@ -38,7 +38,7 @@ From 4bb158bc7c0039c4e2c2f36bfb6e384d340f5914 Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Tue, 1 Oct 2024 18:15:49 -0300 Subject: [PATCH 5/6] fixes bug#AL-5034 --- pom.xml | 2 +- .../impl/RelatorioPassagensAGR.java | 30 +++++++++++-------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index f76ebaed9..724aee00e 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.148.0 + 1.149.0 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java index fe4e96f57..66d864c62 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java @@ -150,7 +150,9 @@ public class RelatorioPassagensAGR extends Relatorio { } public String getMesAno(String data) { - if(!data.isEmpty()) { + if(data == null || data.isEmpty()) { + return ""; + } data = getData(data); DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date dateFormatada = null; @@ -162,9 +164,7 @@ public class RelatorioPassagensAGR extends Relatorio { DateFormat outputFormat = new SimpleDateFormat("dd/MM"); String dataDiaMes = outputFormat.format(dateFormatada); return dataDiaMes; - } - - return ""; + } public static String mascaraDOC(String document) { @@ -250,14 +250,22 @@ public class RelatorioPassagensAGR extends Relatorio { } private String getDataCompleta(String data) { - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - LocalDateTime dateTime = LocalDateTime.parse(data, formatter); - String formattedDate = dateTime.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")); - return formattedDate; + + if(data == null || data.isEmpty()) { + return ""; + } + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime dateTime = LocalDateTime.parse(data, formatter); + String formattedDate = dateTime.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")); + return formattedDate; } public String getHora(String data) { - if(!data.isEmpty()) { + if(data == null || data.isEmpty()) { + return ""; + } + data = getData(data); DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date dateFormatada = null; @@ -269,8 +277,7 @@ public class RelatorioPassagensAGR extends Relatorio { DateFormat outputFormat = new SimpleDateFormat("HH:mm"); String dataDiaMes = outputFormat.format(dateFormatada); return dataDiaMes; - } - return ""; + } @Override @@ -341,7 +348,6 @@ public class RelatorioPassagensAGR extends Relatorio { sql.append("WHERE "); sql.append(" ( b.motivocancelacion_id NOT IN ( 4 ) "); sql.append(" OR b.motivocancelacion_id IS NULL ) "); - sql.append(" AND r.orgaoconcedente_id = 16 "); if( fecInicioVenda != null && fecFinalVenda !=null ){ sql.append(" AND b.fechorventa BETWEEN :fecInicioVenda AND :fecFinalVenda "); From 3dec7259804796e2b568c9aa67612f221811bff6 Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Tue, 1 Oct 2024 18:26:46 -0300 Subject: [PATCH 6/6] fixes bug#AL-5034 --- .../relatorios/impl/RelatorioPassagensAGR.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java index 66d864c62..4bdd5fd5b 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java @@ -13,6 +13,8 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import org.apache.commons.lang.StringUtils; + import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioPassagensAGRBean; @@ -150,8 +152,8 @@ public class RelatorioPassagensAGR extends Relatorio { } public String getMesAno(String data) { - if(data == null || data.isEmpty()) { - return ""; + if(StringUtils.isBlank(data)) { + return ""; } data = getData(data); DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); @@ -168,7 +170,7 @@ public class RelatorioPassagensAGR extends Relatorio { } public static String mascaraDOC(String document) { - if (document == null || document.isEmpty()) { + if(StringUtils.isBlank(document)) { return ""; } String numericOnly = document.replaceAll("[^0-9]", ""); @@ -251,7 +253,7 @@ public class RelatorioPassagensAGR extends Relatorio { private String getDataCompleta(String data) { - if(data == null || data.isEmpty()) { + if(StringUtils.isBlank(data)) { return ""; } @@ -262,7 +264,8 @@ public class RelatorioPassagensAGR extends Relatorio { } public String getHora(String data) { - if(data == null || data.isEmpty()) { + + if(StringUtils.isBlank(data)) { return ""; }