From eb56242b95a142d2d259b7e75f6706e6c00e4e3f Mon Sep 17 00:00:00 2001 From: valdevir Date: Tue, 30 May 2023 17:17:39 -0300 Subject: [PATCH 1/2] fixes bug #AL-2307 --- pom.xml | 2 +- .../relatorios/impl/RelatorioGratuidade.java | 128 +++++++++--------- 2 files changed, 67 insertions(+), 63 deletions(-) diff --git a/pom.xml b/pom.xml index 7b56d8a97..35d46a135 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.6.5 + 1.6.6 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java index 63d0f5331..371673c86 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java @@ -329,69 +329,73 @@ public class RelatorioGratuidade extends Relatorio { } sb.append(" codorigem, "); sb.append(" coddestino, "); - sb.append(" chbpe "); + if(isApenasUltimaMovimentacaoBilhete) { + sb.append(" max(chbpe) "); + }else { + sb.append(" chbpe "); + } sb.append(" "); sb.append(" from "); sb.append("( "); sb.append(" SELECT c.transacaooriginal_id, c.transacao_id,"); - sb.append(" c.ccf,"); - sb.append(" og.descorgao,"); - sb.append(" c.feccreacion,"); - sb.append(" ori.cveparada origen,"); - sb.append(" des.cveparada destino,"); - sb.append(" ori.descparada descorigen,"); - sb.append(" des.descparada descdestino,"); - sb.append(" c.numkmviaje,"); - sb.append(" r.descruta,"); - sb.append(" c.corrida_id,"); - sb.append(" c.fechorviaje,"); - sb.append(" c.numasiento,"); - sb.append(" c.numfoliosistema,"); - sb.append(" case when c.numfoliopreimpreso is null then 'PTA' when c.tipoventa_id = '81' then 'VENDA DE TRANSFERENCIA' when c.tipoventa_id = '82' then 'CONFIRM.VEND.ABERTO' when c.tipoventa_id = '8' then 'TROCA' else tv.desctipoventa end as desctipoventa, "); - sb.append(" c.nombpasajero,"); - sb.append(" c.descnumdoc,"); - sb.append(" tar.preciooriginal,"); - sb.append(" tar.precio,"); - sb.append(" case when c.PRECIOBASE > 0 then TRUNC(((100 - (c.PRECIOPAGADO * 100) / c.PRECIOBASE)),2) else 0 end as porccategoria, "); - sb.append(" (select sum(cfpv.importe) from caja_formapago cfpv where cfpv.caja_id = c.caja_id and cfpv.activo = 1) as preciopagado, "); - sb.append(" nvl((select sum(cfpv.importe) from caja_formapago cfpv where cfpv.caja_id = c.caja_id and cfpv.activo = 1 and c.indstatusboleto = 'V'), 0) as preciopagadovendido, "); - sb.append(" u.cveusuario,"); - sb.append(" ag.nombpuntoventa,"); - sb.append(" c.desctelefono,"); - sb.append(" e.nombempresa,"); - sb.append(" ca.cvecategoria,"); - sb.append(" c.desctipodoc,"); - sb.append(" ca.desccategoria,"); - sb.append(" c.importepedagio,"); - sb.append(" c.importeseguro,"); - sb.append(" c.importetaxaembarque,"); - sb.append(" case when c.indstatusboleto = 'V' then 'VENDIDO' "); - sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 31 then 'CANCELADO' "); - sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 32 then 'DEVOLVIDO' "); - sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 37 then 'CANCEC. EMERG' "); - sb.append(" when c.indstatusboleto = 'E' and c.indreimpresion = 1 then 'ENTREGUE' "); - sb.append(" when (c.indstatusboleto = 'T' and c.tipoventa_id = 8) "); - sb.append(" or (c.indstatusboleto = 'T' and c.tipoventa_id not in (81,41,82) and ct.cambiotitularidad_id is null and (bpe.tipoevento is null or bpe.tipoevento <> :bpeEventoAlteracaoPoltrona)) "); - sb.append(" or (c.indstatusboleto = 'T' and c.motivocancelacion_id is null and c.tipoventa_id = 8 and (bpe.tipoevento is null or bpe.tipoevento <> :bpeEventoAlteracaoPoltrona)) "); - sb.append(" then 'TROCA' "); - sb.append(" when c.indstatusboleto = 'T' and c.motivocancelacion_id is null and bpe.tipoevento = :bpeEventoAlteracaoPoltrona then 'TROCA POLTRONA' "); - sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 81 then 'TRANSFERÊNCIA' " ); - sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 82 then 'CONFIRM.ABERTO' " ); - sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 10 then 'TROCA PASSAGEM' " ); + sb.append(" c.ccf,"); + sb.append(" og.descorgao,"); + sb.append(" c.feccreacion,"); + sb.append(" ori.cveparada origen,"); + sb.append(" des.cveparada destino,"); + sb.append(" ori.descparada descorigen,"); + sb.append(" des.descparada descdestino,"); + sb.append(" c.numkmviaje,"); + sb.append(" r.descruta,"); + sb.append(" c.corrida_id,"); + sb.append(" c.fechorviaje,"); + sb.append(" c.numasiento,"); + sb.append(" c.numfoliosistema,"); + sb.append(" case when c.numfoliopreimpreso is null then 'PTA' when c.tipoventa_id = '81' then 'VENDA DE TRANSFERENCIA' when c.tipoventa_id = '82' then 'CONFIRM.VEND.ABERTO' when c.tipoventa_id = '8' then 'TROCA' else tv.desctipoventa end as desctipoventa, "); + sb.append(" c.nombpasajero,"); + sb.append(" c.descnumdoc,"); + sb.append(" tar.preciooriginal,"); + sb.append(" tar.precio,"); + sb.append(" case when c.PRECIOBASE > 0 then TRUNC(((100 - (c.PRECIOPAGADO * 100) / c.PRECIOBASE)),2) else 0 end as porccategoria, "); + sb.append(" (select sum(cfpv.importe) from caja_formapago cfpv where cfpv.caja_id = c.caja_id and cfpv.activo = 1) as preciopagado, "); + sb.append(" nvl((select sum(cfpv.importe) from caja_formapago cfpv where cfpv.caja_id = c.caja_id and cfpv.activo = 1 and c.indstatusboleto = 'V'), 0) as preciopagadovendido, "); + sb.append(" u.cveusuario,"); + sb.append(" ag.nombpuntoventa,"); + sb.append(" c.desctelefono,"); + sb.append(" e.nombempresa,"); + sb.append(" ca.cvecategoria,"); + sb.append(" c.desctipodoc,"); + sb.append(" ca.desccategoria,"); + sb.append(" c.importepedagio,"); + sb.append(" c.importeseguro,"); + sb.append(" c.importetaxaembarque,"); + sb.append(" case when c.indstatusboleto = 'V' then 'VENDIDO' "); + sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 31 then 'CANCELADO' "); + sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 32 then 'DEVOLVIDO' "); + sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 37 then 'CANCEC. EMERG' "); + sb.append(" when c.indstatusboleto = 'E' and c.indreimpresion = 1 then 'ENTREGUE' "); + sb.append(" when (c.indstatusboleto = 'T' and c.tipoventa_id = 8) "); + sb.append(" or (c.indstatusboleto = 'T' and c.tipoventa_id not in (81,41,82) and ct.cambiotitularidad_id is null and (bpe.tipoevento is null or bpe.tipoevento <> :bpeEventoAlteracaoPoltrona)) "); + sb.append(" or (c.indstatusboleto = 'T' and c.motivocancelacion_id is null and c.tipoventa_id = 8 and (bpe.tipoevento is null or bpe.tipoevento <> :bpeEventoAlteracaoPoltrona)) "); + sb.append(" then 'TROCA' "); + sb.append(" when c.indstatusboleto = 'T' and c.motivocancelacion_id is null and bpe.tipoevento = :bpeEventoAlteracaoPoltrona then 'TROCA POLTRONA' "); + sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 81 then 'TRANSFERÊNCIA' " ); + sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 82 then 'CONFIRM.ABERTO' " ); + sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 10 then 'TROCA PASSAGEM' " ); if(mcAlteracaoPoltrona != null) { - sb.append(" when c.indstatusboleto = 'C' and c.indreimpresion = 1 and c.motivocancelacion_id = :mcAlteracaoPoltrona then 'POLTRONA ALTERADA' "); + sb.append(" when c.indstatusboleto = 'C' and c.indreimpresion = 1 and c.motivocancelacion_id = :mcAlteracaoPoltrona then 'POLTRONA ALTERADA' "); } - sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 27 then 'NO-SHOW' "); - sb.append(" when ct.cambiotitularidad_id is not null then 'TROCA TITULARIDADE' "); - sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 23 then 'TRANSFERIDO' "); - sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 41 then 'CHECKIN REATIVADO' "); - sb.append(" when c.indreimpresion = 1 and c.motivoreimpresion_id = 99 then 'REIMPRESSO' "); - sb.append(" end as indstatusboleto,"); - sb.append(" ori.cveparada codorigem,"); - sb.append(" des.cveparada coddestino,"); - sb.append(" bpe.chbpe chbpe "); + sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 27 then 'NO-SHOW' "); + sb.append(" when ct.cambiotitularidad_id is not null then 'TROCA TITULARIDADE' "); + sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 23 then 'TRANSFERIDO' "); + sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 41 then 'CHECKIN REATIVADO' "); + sb.append(" when c.indreimpresion = 1 and c.motivoreimpresion_id = 99 then 'REIMPRESSO' "); + sb.append(" end as indstatusboleto,"); + sb.append(" ori.cveparada codorigem,"); + sb.append(" des.cveparada coddestino,"); + sb.append(" bpe.chbpe chbpe "); sb.append(" FROM caja c"); sb.append(" JOIN categoria ca ON c.categoria_id = ca.categoria_id"); sb.append(" JOIN parada ori ON ori.parada_id = c.origen_id"); @@ -402,11 +406,11 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" JOIN usuario u ON u.usuario_id = c.usuario_id"); sb.append(" LEFT JOIN vigencia_tarifa vt ON c.fechorventa BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia and vt.activo = 1 "); sb.append(" LEFT JOIN tarifa tar ON (tar.ruta_id = c.ruta_id"); - sb.append(" AND tar.marca_id = c.marca_id"); - sb.append(" AND tar.claseservicio_id = c.claseservicio_id"); - sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); - sb.append(" AND tar.origen_id = c.origen_id"); - sb.append(" AND tar.destino_id = c.destino_id and tar.activo = 1)"); + sb.append(" AND tar.marca_id = c.marca_id"); + sb.append(" AND tar.claseservicio_id = c.claseservicio_id"); + sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); + sb.append(" AND tar.origen_id = c.origen_id"); + sb.append(" AND tar.destino_id = c.destino_id and tar.activo = 1)"); sb.append(" JOIN marca m on m.marca_id = c.marca_id"); sb.append(" JOIN empresa e on e.empresa_id = m.empresa_id"); sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = r.orgaoconcedente_id"); @@ -494,8 +498,8 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" importetaxaembarque, "); // sb.append(" -- indstatusboleto, "); sb.append(" codorigem, "); - sb.append(" coddestino, "); - sb.append(" chbpe "); + sb.append(" coddestino "); + //sb.append(" chbpe "); }else { sb.append(" "); } From 59aaee8635d065c6f7ac4f6c9815795e5f6b004a Mon Sep 17 00:00:00 2001 From: valdevir Date: Tue, 30 May 2023 18:22:23 -0300 Subject: [PATCH 2/2] fixes bug #AL-2307 --- .../relatorios/impl/RelatorioGratuidade.java | 50 +++++++++++-------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java index 371673c86..ba6027642 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java @@ -209,18 +209,18 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" b.importeseguro,"); sb.append(" b.importetaxaembarque, "); sb.append(" case "); - sb.append(" when b.motivocancelacion_id = 11 "); - sb.append(" and b.indcancelacion = 0 then 'RESERVA' "); - sb.append(" when b.motivocancelacion_id = 9 then 'CONFIRMA RESERVA' "); - sb.append(" when b.motivocancelacion_id = 11 "); - sb.append(" and b.indcancelacion = 1 then 'LIBERA.RESERVA' "); - sb.append(" when b.motivocancelacion_id = 12 then 'LIBERA.RESERVA AUTO' "); - sb.append(" when b.indreimpresion = 1 and b.motivoreimpresion_id = 99 then 'REIMPRESSO' "); - sb.append(" else b.indstatusboleto "); - sb.append(" end as indstatusboleto, "); - sb.append(" ori.cveparada codorigem,"); - sb.append(" des.cveparada coddestino,"); - sb.append(" bpe.chbpe chbpe "); + sb.append(" when b.motivocancelacion_id = 11 "); + sb.append(" and b.indcancelacion = 0 then 'RESERVA' "); + sb.append(" when b.motivocancelacion_id = 9 then 'CONFIRMA RESERVA' "); + sb.append(" when b.motivocancelacion_id = 11 "); + sb.append(" and b.indcancelacion = 1 then 'LIBERA.RESERVA' "); + sb.append(" when b.motivocancelacion_id = 12 then 'LIBERA.RESERVA AUTO' "); + sb.append(" when b.indreimpresion = 1 and b.motivoreimpresion_id = 99 then 'REIMPRESSO' "); + sb.append(" else b.indstatusboleto "); + sb.append(" end as indstatusboleto, "); + sb.append(" ori.cveparada codorigem,"); + sb.append(" des.cveparada coddestino,"); + sb.append(" bpe.chbpe chbpe "); sb.append(" FROM boleto b"); sb.append(" JOIN categoria ca ON b.categoria_id = ca.categoria_id"); sb.append(" JOIN parada ori ON ori.parada_id = b.origen_id"); @@ -231,11 +231,11 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" JOIN usuario u ON u.usuario_id = b.usuario_id"); sb.append(" LEFT JOIN vigencia_tarifa vt ON b.fechorventa BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia and vt.activo = 1"); sb.append(" LEFT JOIN tarifa tar ON (tar.ruta_id = b.ruta_id"); - sb.append(" AND tar.marca_id = b.marca_id"); - sb.append(" AND tar.claseservicio_id = b.claseservicio_id"); - sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); - sb.append(" AND tar.origen_id = b.origen_id"); - sb.append(" AND tar.destino_id = b.destino_id and tar.activo = 1)"); + sb.append(" AND tar.marca_id = b.marca_id"); + sb.append(" AND tar.claseservicio_id = b.claseservicio_id"); + sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); + sb.append(" AND tar.origen_id = b.origen_id"); + sb.append(" AND tar.destino_id = b.destino_id and tar.activo = 1)"); sb.append(" JOIN marca m on m.marca_id = b.marca_id"); sb.append(" JOIN empresa e on e.empresa_id = m.empresa_id"); sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = r.orgaoconcedente_id"); @@ -303,8 +303,16 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" desctipoventa, "); sb.append(" nombpasajero, "); sb.append(" descnumdoc, "); - sb.append(" preciooriginal, "); - sb.append(" precio, "); + if(isApenasUltimaMovimentacaoBilhete) { + sb.append(" max(preciooriginal), "); + }else { + sb.append(" preciooriginal, "); + } + if(isApenasUltimaMovimentacaoBilhete) { + sb.append(" max(precio), "); + }else { + sb.append(" precio, "); + } sb.append(" porccategoria, "); sb.append(" preciopagado, "); if(isApenasUltimaMovimentacaoBilhete) { @@ -481,8 +489,8 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" desctipoventa, "); sb.append(" nombpasajero, "); sb.append(" descnumdoc, "); - sb.append(" preciooriginal, "); - sb.append(" precio, "); + //sb.append(" preciooriginal, "); + //sb.append(" precio, "); sb.append(" porccategoria, "); sb.append(" preciopagado, "); //sb.append(" -- preciopagadovendido, ");