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(" "); }