Merge pull request 'fixes bug #AL-2307' (!174) from AL-2307 into master

Reviewed-on: adm/VentaBoletosAdm#174
Reviewed-by: Valdir Cordeiro <valdir.cordeiro@totvs.com.br>
master
pinheiro 2023-05-30 21:25:35 +00:00
commit 1d6de0aa0f
1 changed files with 95 additions and 83 deletions

View File

@ -209,18 +209,18 @@ public class RelatorioGratuidade extends Relatorio {
sb.append(" b.importeseguro,"); sb.append(" b.importeseguro,");
sb.append(" b.importetaxaembarque, "); sb.append(" b.importetaxaembarque, ");
sb.append(" case "); sb.append(" case ");
sb.append(" when b.motivocancelacion_id = 11 "); sb.append(" when b.motivocancelacion_id = 11 ");
sb.append(" and b.indcancelacion = 0 then 'RESERVA' "); sb.append(" and b.indcancelacion = 0 then 'RESERVA' ");
sb.append(" when b.motivocancelacion_id = 9 then 'CONFIRMA RESERVA' "); sb.append(" when b.motivocancelacion_id = 9 then 'CONFIRMA RESERVA' ");
sb.append(" when b.motivocancelacion_id = 11 "); sb.append(" when b.motivocancelacion_id = 11 ");
sb.append(" and b.indcancelacion = 1 then 'LIBERA.RESERVA' "); sb.append(" and b.indcancelacion = 1 then 'LIBERA.RESERVA' ");
sb.append(" when b.motivocancelacion_id = 12 then 'LIBERA.RESERVA AUTO' "); 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(" when b.indreimpresion = 1 and b.motivoreimpresion_id = 99 then 'REIMPRESSO' ");
sb.append(" else b.indstatusboleto "); sb.append(" else b.indstatusboleto ");
sb.append(" end as indstatusboleto, "); sb.append(" end as indstatusboleto, ");
sb.append(" ori.cveparada codorigem,"); sb.append(" ori.cveparada codorigem,");
sb.append(" des.cveparada coddestino,"); sb.append(" des.cveparada coddestino,");
sb.append(" bpe.chbpe chbpe "); sb.append(" bpe.chbpe chbpe ");
sb.append(" FROM boleto b"); sb.append(" FROM boleto b");
sb.append(" JOIN categoria ca ON b.categoria_id = ca.categoria_id"); sb.append(" JOIN categoria ca ON b.categoria_id = ca.categoria_id");
sb.append(" JOIN parada ori ON ori.parada_id = b.origen_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(" 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 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(" LEFT JOIN tarifa tar ON (tar.ruta_id = b.ruta_id");
sb.append(" AND tar.marca_id = b.marca_id"); sb.append(" AND tar.marca_id = b.marca_id");
sb.append(" AND tar.claseservicio_id = b.claseservicio_id"); sb.append(" AND tar.claseservicio_id = b.claseservicio_id");
sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id");
sb.append(" AND tar.origen_id = b.origen_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.destino_id = b.destino_id and tar.activo = 1)");
sb.append(" JOIN marca m on m.marca_id = b.marca_id"); 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 empresa e on e.empresa_id = m.empresa_id");
sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = r.orgaoconcedente_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(" desctipoventa, ");
sb.append(" nombpasajero, "); sb.append(" nombpasajero, ");
sb.append(" descnumdoc, "); sb.append(" descnumdoc, ");
sb.append(" preciooriginal, "); if(isApenasUltimaMovimentacaoBilhete) {
sb.append(" precio, "); sb.append(" max(preciooriginal), ");
}else {
sb.append(" preciooriginal, ");
}
if(isApenasUltimaMovimentacaoBilhete) {
sb.append(" max(precio), ");
}else {
sb.append(" precio, ");
}
sb.append(" porccategoria, "); sb.append(" porccategoria, ");
sb.append(" preciopagado, "); sb.append(" preciopagado, ");
if(isApenasUltimaMovimentacaoBilhete) { if(isApenasUltimaMovimentacaoBilhete) {
@ -329,69 +337,73 @@ public class RelatorioGratuidade extends Relatorio {
} }
sb.append(" codorigem, "); sb.append(" codorigem, ");
sb.append(" coddestino, "); sb.append(" coddestino, ");
sb.append(" chbpe "); if(isApenasUltimaMovimentacaoBilhete) {
sb.append(" max(chbpe) ");
}else {
sb.append(" chbpe ");
}
sb.append(" "); sb.append(" ");
sb.append(" from "); sb.append(" from ");
sb.append("( "); sb.append("( ");
sb.append(" SELECT c.transacaooriginal_id, c.transacao_id,"); sb.append(" SELECT c.transacaooriginal_id, c.transacao_id,");
sb.append(" c.ccf,"); sb.append(" c.ccf,");
sb.append(" og.descorgao,"); sb.append(" og.descorgao,");
sb.append(" c.feccreacion,"); sb.append(" c.feccreacion,");
sb.append(" ori.cveparada origen,"); sb.append(" ori.cveparada origen,");
sb.append(" des.cveparada destino,"); sb.append(" des.cveparada destino,");
sb.append(" ori.descparada descorigen,"); sb.append(" ori.descparada descorigen,");
sb.append(" des.descparada descdestino,"); sb.append(" des.descparada descdestino,");
sb.append(" c.numkmviaje,"); sb.append(" c.numkmviaje,");
sb.append(" r.descruta,"); sb.append(" r.descruta,");
sb.append(" c.corrida_id,"); sb.append(" c.corrida_id,");
sb.append(" c.fechorviaje,"); sb.append(" c.fechorviaje,");
sb.append(" c.numasiento,"); sb.append(" c.numasiento,");
sb.append(" c.numfoliosistema,"); 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(" 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.nombpasajero,");
sb.append(" c.descnumdoc,"); sb.append(" c.descnumdoc,");
sb.append(" tar.preciooriginal,"); sb.append(" tar.preciooriginal,");
sb.append(" tar.precio,"); 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(" 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(" (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(" 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(" u.cveusuario,");
sb.append(" ag.nombpuntoventa,"); sb.append(" ag.nombpuntoventa,");
sb.append(" c.desctelefono,"); sb.append(" c.desctelefono,");
sb.append(" e.nombempresa,"); sb.append(" e.nombempresa,");
sb.append(" ca.cvecategoria,"); sb.append(" ca.cvecategoria,");
sb.append(" c.desctipodoc,"); sb.append(" c.desctipodoc,");
sb.append(" ca.desccategoria,"); sb.append(" ca.desccategoria,");
sb.append(" c.importepedagio,"); sb.append(" c.importepedagio,");
sb.append(" c.importeseguro,"); sb.append(" c.importeseguro,");
sb.append(" c.importetaxaembarque,"); sb.append(" c.importetaxaembarque,");
sb.append(" case when c.indstatusboleto = 'V' then 'VENDIDO' "); 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 = 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 = 32 then 'DEVOLVIDO' ");
sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 37 then 'CANCEC. EMERG' "); 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 = 'E' and c.indreimpresion = 1 then 'ENTREGUE' ");
sb.append(" when (c.indstatusboleto = 'T' and c.tipoventa_id = 8) "); 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.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(" 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(" 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.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 = 81 then 'TRANSFERÊNCIA' " );
sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 82 then 'CONFIRM.ABERTO' " ); 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(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 10 then 'TROCA PASSAGEM' " );
if(mcAlteracaoPoltrona != null) { 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 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 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 = '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.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(" when c.indreimpresion = 1 and c.motivoreimpresion_id = 99 then 'REIMPRESSO' ");
sb.append(" end as indstatusboleto,"); sb.append(" end as indstatusboleto,");
sb.append(" ori.cveparada codorigem,"); sb.append(" ori.cveparada codorigem,");
sb.append(" des.cveparada coddestino,"); sb.append(" des.cveparada coddestino,");
sb.append(" bpe.chbpe chbpe "); sb.append(" bpe.chbpe chbpe ");
sb.append(" FROM caja c"); sb.append(" FROM caja c");
sb.append(" JOIN categoria ca ON c.categoria_id = ca.categoria_id"); sb.append(" JOIN categoria ca ON c.categoria_id = ca.categoria_id");
sb.append(" JOIN parada ori ON ori.parada_id = c.origen_id"); sb.append(" JOIN parada ori ON ori.parada_id = c.origen_id");
@ -402,11 +414,11 @@ public class RelatorioGratuidade extends Relatorio {
sb.append(" JOIN usuario u ON u.usuario_id = c.usuario_id"); 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 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(" LEFT JOIN tarifa tar ON (tar.ruta_id = c.ruta_id");
sb.append(" AND tar.marca_id = c.marca_id"); sb.append(" AND tar.marca_id = c.marca_id");
sb.append(" AND tar.claseservicio_id = c.claseservicio_id"); sb.append(" AND tar.claseservicio_id = c.claseservicio_id");
sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id");
sb.append(" AND tar.origen_id = c.origen_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.destino_id = c.destino_id and tar.activo = 1)");
sb.append(" JOIN marca m on m.marca_id = c.marca_id"); 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 empresa e on e.empresa_id = m.empresa_id");
sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = r.orgaoconcedente_id"); sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = r.orgaoconcedente_id");
@ -477,8 +489,8 @@ public class RelatorioGratuidade extends Relatorio {
sb.append(" desctipoventa, "); sb.append(" desctipoventa, ");
sb.append(" nombpasajero, "); sb.append(" nombpasajero, ");
sb.append(" descnumdoc, "); sb.append(" descnumdoc, ");
sb.append(" preciooriginal, "); //sb.append(" preciooriginal, ");
sb.append(" precio, "); //sb.append(" precio, ");
sb.append(" porccategoria, "); sb.append(" porccategoria, ");
sb.append(" preciopagado, "); sb.append(" preciopagado, ");
//sb.append(" -- preciopagadovendido, "); //sb.append(" -- preciopagadovendido, ");
@ -494,8 +506,8 @@ public class RelatorioGratuidade extends Relatorio {
sb.append(" importetaxaembarque, "); sb.append(" importetaxaembarque, ");
// sb.append(" -- indstatusboleto, "); // sb.append(" -- indstatusboleto, ");
sb.append(" codorigem, "); sb.append(" codorigem, ");
sb.append(" coddestino, "); sb.append(" coddestino ");
sb.append(" chbpe "); //sb.append(" chbpe ");
}else { }else {
sb.append(" "); sb.append(" ");
} }