From 4291b248cd582ebd4488fd3031436eea3e26720e Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Tue, 1 Oct 2024 17:22:18 -0300 Subject: [PATCH] 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 @@