diff --git a/pom.xml b/pom.xml index 5ad6ac1db..79c5cf753 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.147.1 + 1.149.2 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/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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassagensAGR.java index fe4e96f57..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,7 +152,9 @@ public class RelatorioPassagensAGR extends Relatorio { } public String getMesAno(String data) { - if(!data.isEmpty()) { + if(StringUtils.isBlank(data)) { + return ""; + } data = getData(data); DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date dateFormatada = null; @@ -162,13 +166,11 @@ 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) { - if (document == null || document.isEmpty()) { + if(StringUtils.isBlank(document)) { return ""; } String numericOnly = document.replaceAll("[^0-9]", ""); @@ -250,14 +252,23 @@ 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(StringUtils.isBlank(data)) { + 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(StringUtils.isBlank(data)) { + return ""; + } + data = getData(data); DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date dateFormatada = null; @@ -269,8 +280,7 @@ public class RelatorioPassagensAGR extends Relatorio { DateFormat outputFormat = new SimpleDateFormat("HH:mm"); String dataDiaMes = outputFormat.format(dateFormatada); return dataDiaMes; - } - return ""; + } @Override @@ -341,7 +351,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 "); 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/RelatorioBilhetesCancelados.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesCancelados.jasper index ef5501e24..a76b28358 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesCancelados.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesCancelados.jasper differ 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 @@ - + - + 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 000000000..d565be6cd Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosFiltroFormaPagamento.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosFiltroFormaPagamento.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosFiltroFormaPagamento.jrxml new file mode 100644 index 000000000..ced81dc4e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBilhetesVendidosFiltroFormaPagamento.jrxml @@ -0,0 +1,672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/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 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 @@