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