fixes bug#15134

dev:
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@97279 d1611594-4594-4d17-8e1d-87c2c4800839
master
thiago.clemente 2019-09-04 21:16:46 +00:00
parent 3ab8cb8423
commit 911b1d325a
3 changed files with 517 additions and 213 deletions

View File

@ -2,8 +2,10 @@ package com.rjconsultores.ventaboletos.relatorios.impl;
import java.sql.Connection; import java.sql.Connection;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -11,14 +13,14 @@ import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.enums.RelatorioMovimentacaoBilheteStatusEnum; import com.rjconsultores.ventaboletos.enums.RelatorioMovimentacaoBilheteStatusEnum;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioGratuidadeBean; import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioMovimentacaoBilheteBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
public class RelatorioMovimentacaoBilhete extends Relatorio { public class RelatorioMovimentacaoBilhete extends Relatorio {
private List<RelatorioGratuidadeBean> lsDadosRelatorio; private List<RelatorioMovimentacaoBilheteBean> lsDadosRelatorio;
public RelatorioMovimentacaoBilhete(Map<String, Object> parametros, Connection conexao) throws Exception { public RelatorioMovimentacaoBilhete(Map<String, Object> parametros, Connection conexao) throws Exception {
super(parametros, conexao); super(parametros, conexao);
@ -113,7 +115,7 @@ public class RelatorioMovimentacaoBilhete extends Relatorio {
ResultSet rset = stmt.executeQuery(); ResultSet rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioGratuidadeBean>(); lsDadosRelatorio = new ArrayList<RelatorioMovimentacaoBilheteBean>();
SimpleDateFormat hora = new SimpleDateFormat("HH:mm"); SimpleDateFormat hora = new SimpleDateFormat("HH:mm");
SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy");
@ -124,72 +126,70 @@ public class RelatorioMovimentacaoBilhete extends Relatorio {
indstatusboleto = ""; indstatusboleto = "";
} }
if (!addBean(status, indstatusboleto)) { RelatorioMovimentacaoBilheteBean bean = new RelatorioMovimentacaoBilheteBean();
continue; bean.setTarifa(rset.getBigDecimal("precio"));
bean.setCcf(rset.getString("ccf"));
bean.setCorridaId(rset.getString("corrida_id"));
bean.setCveusuario(rset.getString("cveusuario"));
bean.setDescnumdoc(rset.getString("descnumdoc"));
bean.setDesctipoventa(rset.getString("desctipoventa"));
bean.setDestino(rset.getString("destino"));
bean.setFeccreacion(rset.getDate("feccreacion"));
bean.setFecdatviaje(rset.getTimestamp("fechorviaje") != null ? data.format(rset.getTimestamp("fechorviaje")) : "");
bean.setFechorviaje(rset.getTimestamp("fechorviaje") != null ? hora.format(rset.getTimestamp("fechorviaje")) : "");
bean.setKm(rset.getInt("numkmviaje"));
bean.setLinha(rset.getString("descruta"));
bean.setNombpasajero(rset.getString("nombpasajero"));
bean.setNombpuntoventa(rset.getString("nombpuntoventa"));
bean.setOrigen(rset.getString("origen"));
bean.setPorccategoria(rset.getBigDecimal("porccategoria"));
bean.setPreciooriginal(rset.getBigDecimal("preciooriginal"));
bean.setPreciopagado(rset.getBigDecimal("preciopagado"));
bean.setNombempresa(rset.getString("nombempresa"));
bean.setCvecategoria(rset.getString("cvecategoria"));
bean.setNumasiento(rset.getString("numasiento"));
bean.setDescorigen(rset.getString("descorigen"));
bean.setDescdestino(rset.getString("descdestino"));
bean.setNumfoliosistema(rset.getString("numfoliosistema"));
bean.setTipoDoc(rset.getString("desctipodoc"));
bean.setTipo(rset.getString("desccategoria"));
bean.setSeguro(rset.getBigDecimal("importeseguro"));
bean.setPedagio(rset.getBigDecimal("importepedagio"));
bean.setUtr(rset.getBigDecimal("importetaxaembarque"));
bean.setRg(rset.getString("DESCNUMDOC"));
bean.setStatus(indstatusboleto);
bean.setCodOrigem(rset.getString("codOrigem"));
bean.setCodDestino(rset.getString("codDestino"));
bean.setDescorgao(rset.getString("descorgao"));
bean.setTpp(rset.getBigDecimal("importetpp"));
bean.setDireccionnumero(rset.getString("direccionnumero"));
bean.setDataEmissao(rset.getDate("fechorventa"));
bean.setNumRuta(rset.getString("numruta"));
bean.setPrefixo(rset.getString("prefixo"));
bean.setSerie(rset.getString("serie"));
bean.setSubserie(rset.getString("subserie"));
bean.setNumbpe(rset.getString("num_bpe"));
bean.setChavebpe(rset.getString("chbpe"));
bean.setProtocolobpe(rset.getString("nprot"));
bean.setHoraMD(rset.getTimestamp("feccreacion") != null ? hora.format(rset.getTimestamp("feccreacion")) : "");
bean.setHoraEmissao(rset.getTimestamp("fechorventa") != null ? hora.format(rset.getTimestamp("fechorventa")) : "");
if (isPossuiElemento(RelatorioMovimentacaoBilheteStatusEnum.TROCA.getStatusRelatorioAnterior(), indstatusboleto)
|| isPossuiElemento(RelatorioMovimentacaoBilheteStatusEnum.TRANSFERENCIA.getStatusRelatorioAnterior(), indstatusboleto)
|| isPossuiElemento(RelatorioMovimentacaoBilheteStatusEnum.REATIVACAO.getStatusRelatorioAnterior(), indstatusboleto)
|| isPossuiElemento(RelatorioMovimentacaoBilheteStatusEnum.TROCA_TITULARIDADE.getStatusRelatorioAnterior(), indstatusboleto)
|| isPossuiElemento(RelatorioMovimentacaoBilheteStatusEnum.TROCA_POLTRONA.getStatusRelatorioAnterior(), indstatusboleto)) {
bean.setSerienovo(rset.getString("serienovo"));
bean.setSubserienovo(rset.getString("subserienovo"));
bean.setCcfnovo(rset.getString("ccfnovo"));
bean.setBpenovo(rset.getString("bpenovo"));
} }
RelatorioGratuidadeBean gratuidadeBean = new RelatorioGratuidadeBean(); lsDadosRelatorio.add(bean);
gratuidadeBean.setTarifa(rset.getBigDecimal("precio"));
gratuidadeBean.setCcf(rset.getString("ccf"));
gratuidadeBean.setCorridaId(rset.getString("corrida_id"));
gratuidadeBean.setCveusuario(rset.getString("cveusuario"));
gratuidadeBean.setDescnumdoc(rset.getString("descnumdoc"));
gratuidadeBean.setDesctipoventa(rset.getString("desctipoventa"));
gratuidadeBean.setDestino(rset.getString("destino"));
gratuidadeBean.setFeccreacion(rset.getDate("feccreacion"));
gratuidadeBean.setFecdatviaje(rset.getTimestamp("fechorviaje") != null ? data.format(rset.getTimestamp("fechorviaje")) : "");
gratuidadeBean.setFechorviaje(rset.getTimestamp("fechorviaje") != null ? hora.format(rset.getTimestamp("fechorviaje")) : "");
gratuidadeBean.setKm(rset.getInt("numkmviaje"));
gratuidadeBean.setLinha(rset.getString("descruta"));
gratuidadeBean.setNombpasajero(rset.getString("nombpasajero"));
gratuidadeBean.setNombpuntoventa(rset.getString("nombpuntoventa"));
gratuidadeBean.setOrigen(rset.getString("origen"));
gratuidadeBean.setPorccategoria(rset.getBigDecimal("porccategoria"));
gratuidadeBean.setPreciooriginal(rset.getBigDecimal("preciooriginal"));
gratuidadeBean.setPreciopagado(rset.getBigDecimal("preciopagado"));
gratuidadeBean.setNombempresa(rset.getString("nombempresa"));
gratuidadeBean.setCvecategoria(rset.getString("cvecategoria"));
gratuidadeBean.setNumasiento(rset.getString("numasiento"));
gratuidadeBean.setDescorigen(rset.getString("descorigen"));
gratuidadeBean.setDescdestino(rset.getString("descdestino"));
gratuidadeBean.setNumfoliosistema(rset.getString("numfoliosistema"));
gratuidadeBean.setTipoDoc(rset.getString("desctipodoc"));
gratuidadeBean.setTipo(rset.getString("desccategoria"));
gratuidadeBean.setSeguro(rset.getBigDecimal("importeseguro"));
gratuidadeBean.setPedagio(rset.getBigDecimal("importepedagio"));
gratuidadeBean.setUtr(rset.getBigDecimal("importetaxaembarque"));
gratuidadeBean.setRg(rset.getString("DESCNUMDOC"));
gratuidadeBean.setStatus(indstatusboleto);
gratuidadeBean.setCodOrigem(rset.getString("codOrigem"));
gratuidadeBean.setCodDestino(rset.getString("codDestino"));
gratuidadeBean.setDescorgao(rset.getString("descorgao"));
gratuidadeBean.setTpp(rset.getBigDecimal("importetpp"));
// Mantis 15134 addCheckin(status, rset, lsDadosRelatorio, bean);
gratuidadeBean.setDireccionnumero(rset.getString("direccionnumero"));
gratuidadeBean.setDataEmissao(rset.getDate("fechorventa"));
gratuidadeBean.setNumRuta(rset.getString("numruta"));
gratuidadeBean.setPrefixo(rset.getString("prefixo"));
gratuidadeBean.setSerie(rset.getString("serie"));
gratuidadeBean.setSubserie(rset.getString("subserie"));
gratuidadeBean.setNumbpe(rset.getString("num_bpe"));
gratuidadeBean.setChavebpe(rset.getString("chbpe"));
gratuidadeBean.setProtocolobpe(rset.getString("nprot"));
gratuidadeBean.setHoraMD(rset.getTimestamp("feccreacion") != null ? hora.format(rset.getTimestamp("feccreacion")) : "");
gratuidadeBean.setHoraEmissao(rset.getTimestamp("fechorventa") != null ? hora.format(rset.getTimestamp("fechorventa")) : "");
if (indstatusboleto.equalsIgnoreCase(RelatorioMovimentacaoBilheteStatusEnum.TROCA.getStatusRelatorioAnterior()) filtrarStatus(status, lsDadosRelatorio);
|| indstatusboleto.equalsIgnoreCase(RelatorioMovimentacaoBilheteStatusEnum.TRANSFERENCIA.getStatusRelatorioAnterior())
|| indstatusboleto.equalsIgnoreCase(RelatorioMovimentacaoBilheteStatusEnum.REATIVACAO.getStatusRelatorioAnterior())
|| indstatusboleto.equalsIgnoreCase(RelatorioMovimentacaoBilheteStatusEnum.TROCA_TITULARIDADE.getStatusRelatorioAnterior())
|| indstatusboleto.equalsIgnoreCase(RelatorioMovimentacaoBilheteStatusEnum.TROCA_POLTRONA.getStatusRelatorioAnterior())) {
gratuidadeBean.setSerienovo(rset.getString("serienovo"));
gratuidadeBean.setSubserienovo(rset.getString("subserienovo"));
gratuidadeBean.setCcfnovo(rset.getString("ccfnovo"));
gratuidadeBean.setBpenovo(rset.getString("bpenovo"));
}
lsDadosRelatorio.add(gratuidadeBean);
} }
if (lsDadosRelatorio.size() > 0) { if (lsDadosRelatorio.size() > 0) {
@ -203,15 +203,37 @@ public class RelatorioMovimentacaoBilhete extends Relatorio {
protected void processaParametros() throws Exception { protected void processaParametros() throws Exception {
} }
private boolean addBean(RelatorioMovimentacaoBilheteStatusEnum status, String indstatusboleto) { private void addCheckin(RelatorioMovimentacaoBilheteStatusEnum status, ResultSet rset, List<RelatorioMovimentacaoBilheteBean> lsDadosRelatorio, RelatorioMovimentacaoBilheteBean bean) throws SQLException, CloneNotSupportedException {
if (status != null && !indstatusboleto.equals("")) { if (rset.getInt("checkin") == 1) {
return indstatusboleto.equalsIgnoreCase(status.getStatusRelatorio()) || indstatusboleto.equalsIgnoreCase(status.getStatusRelatorioAnterior()); RelatorioMovimentacaoBilheteBean beanNovo = bean.getClone();
beanNovo.setStatus(RelatorioMovimentacaoBilheteStatusEnum.CHECK_IN.getStatusRelatorio());
lsDadosRelatorio.add(beanNovo);
} }
return true;
} }
private void setLsDadosRelatorio(List<RelatorioGratuidadeBean> lsDadosRelatorio) { private void filtrarStatus(RelatorioMovimentacaoBilheteStatusEnum status, List<RelatorioMovimentacaoBilheteBean> lsDadosRelatorio) {
if (status != null) {
Iterator<RelatorioMovimentacaoBilheteBean> iterator = lsDadosRelatorio.iterator();
while (iterator.hasNext()) {
RelatorioMovimentacaoBilheteBean bean = iterator.next();
// if (!bean.getStatus().equalsIgnoreCase(status.getStatusRelatorio()) && !bean.getStatus().equalsIgnoreCase(status.getStatusRelatorioAnterior())) {
// iterator.remove();
// }
if (bean.getStatus().equalsIgnoreCase(status.getStatusRelatorio())) {
continue;
} else if (isPossuiElemento(status.getStatusRelatorioAnterior(), bean.getStatus())) {
continue;
}
iterator.remove();
}
}
}
private void setLsDadosRelatorio(List<RelatorioMovimentacaoBilheteBean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio; this.lsDadosRelatorio = lsDadosRelatorio;
} }
@ -275,7 +297,8 @@ public class RelatorioMovimentacaoBilhete extends Relatorio {
sb.append(" 'N/A' as subserienovo , "); sb.append(" 'N/A' as subserienovo , ");
sb.append(" 'N/A' as ccfnovo , "); sb.append(" 'N/A' as ccfnovo , ");
sb.append(" 'N/A' as bpenovo, "); sb.append(" 'N/A' as bpenovo, ");
sb.append(" b.importetpp "); sb.append(" b.importetpp, ");
sb.append(" 0 as checkin ");
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");
@ -294,7 +317,7 @@ public class RelatorioMovimentacaoBilhete extends Relatorio {
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 = tar.orgaoconcedente_id"); sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = tar.orgaoconcedente_id");
sb.append(" LEFT JOIN AIDF AIDF ON AIDF.AIDF_ID = B.AIDF_ID "); sb.append(" LEFT join aidf aidf on aidf.aidf_id = b.aidf_id ");
sb.append(" left join bpe bpe on bpe.boleto_id = b.boleto_id "); sb.append(" left join bpe bpe on bpe.boleto_id = b.boleto_id ");
sb.append(" WHERE 1=1 and b.tipoventa_id = 15"); sb.append(" WHERE 1=1 and b.tipoventa_id = 15");
sb.append(" AND b.indstatusboleto = 'S' "); sb.append(" AND b.indstatusboleto = 'S' ");
@ -369,32 +392,44 @@ public class RelatorioMovimentacaoBilhete extends Relatorio {
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' and (select count(*) from boleto_checkin bc1 where bc1.activo=1 and bc1.boletooriginal_id=c.transacao_id)>0 then 'CHECK-IN' "); sb.append(" case when c.indstatusboleto = 'V' and (select count(*) from caja c1 join cambio_titularidad ct1 on ct1.boleto_id = c1.transacao_id where c1.activo=1 and c1.transacaooriginal_id=c.transacao_id)>0 then 'TITULARIDADE TROCADA' ");
sb.append(" when c.indstatusboleto = 'V' and (select count(*) from caja c1 join cambio_titularidad ct1 on ct1.boleto_id = c1.transacao_id where c1.activo=1 and c1.transacaooriginal_id=c.transacao_id)>0 then 'TITULARIDADE TROCADA' ");
sb.append(" when c.indstatusboleto = 'V' then 'VENDIDO' "); sb.append(" 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' ");
// TROCA e TROCA PASSAGEM
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 'POLTRONA ALTERADA' "); sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 10 then 'TROCA PASSAGEM' ");
sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 81 then 'TRANSFERIDO' ");
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' " );
// POLTRONA ALTERADA e TROCA POLTRONA
sb.append(" when c.indstatusboleto = 'T' and c.motivocancelacion_id is null and bpe.tipoevento = :bpeEventoAlteracaoPoltrona then 'POLTRONA ALTERADA' ");
if (mcAlteracaoPoltrona != null) { if (mcAlteracaoPoltrona != null) {
sb.append(" when c.indstatusboleto = 'C' and c.indreimpresion = 1 and c.motivocancelacion_id = :mcAlteracaoPoltrona then 'TROCA POLTRONA' "); // sb.append(" when c.indstatusboleto = 'C' and c.indreimpresion = 1 and c.motivocancelacion_id = :mcAlteracaoPoltrona then 'TROCA POLTRONA' ");
sb.append(" when c.indstatusboleto = 'C' and (select count(*) from caja c1 join bpe bpe1 on bpe1.boleto_id = c1.transacao_id where c1.transacaoanterior_id=c.transacao_id and c1.indstatusboleto = 'T' and c1.motivocancelacion_id is null and bpe1.tipoevento = :bpeEventoAlteracaoPoltrona)>0 then 'TROCA POLTRONA' ");
} }
// TRANSFERIDO e TRANSFERÊNCIA
sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 81 then 'TRANSFERIDO' ");
sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 23 and (select count(*) from caja c1 where c1.transacaoanterior_id=c.transacao_id and c1.tipoventa_id=81 and c1.indstatusboleto = 'T')>0 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 = 27 then 'NO-SHOW' "); sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 27 then 'NO-SHOW' ");
// TITULARIDADE TROCADA e TROCA TITULARIDADE
sb.append(" when c.indstatusboleto = 'V' and (select count(*) from caja c1 join cambio_titularidad ct1 on ct1.boleto_id = c1.transacao_id where c1.activo=1 and c1.transacaooriginal_id=c.transacao_id)>0 then 'TITULARIDADE TROCADA' ");
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 and (select count(*) from caja c1 where c1.transacao_id=c.transacaoanterior_id and c1.tipoventa_id=41)=0 then 'TRANSFERÊNCIA' ");
// CHECKIN REATIVADO e REATIVADO
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.indstatusboleto = 'C' and c.motivocancelacion_id = 23 and (select count(*) from caja c1 where c1.transacao_id=c.transacaoanterior_id and c1.tipoventa_id=41)>0 then 'REATIVADO' "); sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 23 and (select count(*) from caja c1 where c1.transacaoanterior_id=c.transacao_id and c1.tipoventa_id=41 and c1.indstatusboleto = 'T')>0 then '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(" else c.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,");
@ -410,7 +445,8 @@ public class RelatorioMovimentacaoBilhete extends Relatorio {
sb.append(" aidf_ori.serie serienovo, "); sb.append(" aidf_ori.serie serienovo, ");
sb.append(" aidf_ori.subserie subserienovo, "); sb.append(" aidf_ori.subserie subserienovo, ");
sb.append(" bpe_ori.num_bpe bpenovo, "); sb.append(" bpe_ori.num_bpe bpenovo, ");
sb.append(" c.importetpp "); sb.append(" c.importetpp, ");
sb.append(" case when c.indstatusboleto = 'V' and (select count(*) from boleto_checkin bc1 where bc1.activo=1 and bc1.boletooriginal_id=c.transacao_id)=0 and c.fechorviaje > c.fechorventa then 1 else 0 end as checkin ");
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");
@ -509,4 +545,8 @@ public class RelatorioMovimentacaoBilhete extends Relatorio {
return motivosCancelacion.toString().replaceAll("[\\[\\]]", ""); return motivosCancelacion.toString().replaceAll("[\\[\\]]", "");
} }
private boolean isPossuiElemento(List<String> lista, String elemento) {
return lista != null && elemento != null && lista.contains(elemento);
}
} }

View File

@ -42,23 +42,6 @@ public class RelatorioGratuidadeBean {
private String descorgao; private String descorgao;
private String ccf; private String ccf;
// Mantis 15134
private String direccionnumero;
private Date dataEmissao;
private String numRuta;
private String prefixo;
private String serie;
private String subserie;
private String numbpe;
private String chavebpe;
private String protocolobpe;
private String serienovo = "N/A";
private String subserienovo = "N/A";
private String ccfnovo = "N/A";
private String bpenovo = "N/A";
private String horaMD;
private String horaEmissao;
public String getFecdatviaje() { public String getFecdatviaje() {
return fecdatviaje; return fecdatviaje;
} }
@ -275,116 +258,5 @@ public class RelatorioGratuidadeBean {
public void setTpp(BigDecimal tpp) { public void setTpp(BigDecimal tpp) {
this.tpp = tpp; this.tpp = tpp;
} }
public String getDireccionnumero() {
return direccionnumero;
}
public void setDireccionnumero(String direccionnumero) {
this.direccionnumero = direccionnumero;
}
public Date getDataEmissao() {
return dataEmissao;
}
public void setDataEmissao(Date dataEmissao) {
this.dataEmissao = dataEmissao;
}
public String getNumRuta() {
return numRuta;
}
public void setNumRuta(String numRuta) {
this.numRuta = numRuta;
}
public String getPrefixo() {
return prefixo;
}
public void setPrefixo(String prefixo) {
this.prefixo = prefixo;
}
public String getSerie() {
return serie;
}
public void setSerie(String serie) {
this.serie = serie;
}
public String getSubserie() {
return subserie;
}
public void setSubserie(String subserie) {
this.subserie = subserie;
}
public String getNumbpe() {
return numbpe;
}
public void setNumbpe(String numbpe) {
this.numbpe = numbpe;
}
public String getChavebpe() {
return chavebpe;
}
public void setChavebpe(String chavebpe) {
this.chavebpe = chavebpe;
}
public String getProtocolobpe() {
return protocolobpe;
}
public void setProtocolobpe(String protocolobpe) {
this.protocolobpe = protocolobpe;
}
public String getSerienovo() {
return serienovo;
}
public void setSerienovo(String serienovo) {
this.serienovo = serienovo;
}
public String getSubserienovo() {
return subserienovo;
}
public void setSubserienovo(String subserienovo) {
this.subserienovo = subserienovo;
}
public String getCcfnovo() {
return ccfnovo;
}
public void setCcfnovo(String ccfnovo) {
this.ccfnovo = ccfnovo;
}
public String getBpenovo() {
return bpenovo;
}
public void setBpenovo(String bpenovo) {
this.bpenovo = bpenovo;
}
public String getHoraMD() {
return horaMD;
}
public void setHoraMD(String horaMD) {
this.horaMD = horaMD;
}
public String getHoraEmissao() {
return horaEmissao;
}
public void setHoraEmissao(String horaEmissao) {
this.horaEmissao = horaEmissao;
}
} }

View File

@ -0,0 +1,392 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
import java.math.BigDecimal;
import java.util.Date;
public class RelatorioMovimentacaoBilheteBean implements Cloneable {
private Date feccreacion;
private String origen;
private String descorigen;
private String destino;
private String descdestino;
private Integer km;
private String linha;
private String corridaId;
private String fechorviaje;
private String fecdatviaje;
private String desctipoventa;
private String nombpasajero;
private String descnumdoc;
private BigDecimal preciooriginal;
private BigDecimal porccategoria;
private BigDecimal preciopagado;
private String cveusuario;
private String nombpuntoventa;
private String nombempresa;
private String cvecategoria;
private String numasiento;
private String numfoliosistema;
private String tipoDoc;
private String tipo;
private BigDecimal seguro;
private BigDecimal pedagio;
private BigDecimal utr;
private BigDecimal tpp;
private BigDecimal tarifa;
private String rg;
private String status;
private Date dataMd;
private String codOrigem;
private String codDestino;
private String descorgao;
private String ccf;
private String direccionnumero;
private Date dataEmissao;
private String numRuta;
private String prefixo;
private String serie;
private String subserie;
private String numbpe;
private String chavebpe;
private String protocolobpe;
private String serienovo = "N/A";
private String subserienovo = "N/A";
private String ccfnovo = "N/A";
private String bpenovo = "N/A";
private String horaMD;
private String horaEmissao;
public String getFecdatviaje() {
return fecdatviaje;
}
public void setFecdatviaje(String fecdatviaje) {
this.fecdatviaje = fecdatviaje;
}
public void setFechorviaje(String fechorviaje) {
this.fechorviaje = fechorviaje;
}
public String getFechorviaje() {
return fechorviaje;
}
public String getDescorgao() {
return descorgao;
}
public void setDescorgao(String descorgao) {
this.descorgao = descorgao;
}
public String getCodOrigem() {
return codOrigem;
}
public void setCodOrigem(String codOrigem) {
this.codOrigem = codOrigem;
}
public String getCodDestino() {
return codDestino;
}
public void setCodDestino(String codDestino) {
this.codDestino = codDestino;
}
public Date getDataMd() {
return dataMd;
}
public void setDataMd(Date dataMd) {
this.dataMd = dataMd;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getTipoDoc() {
return tipoDoc;
}
public void setTipoDoc(String tipoDoc) {
this.tipoDoc = tipoDoc;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public BigDecimal getSeguro() {
return seguro;
}
public void setSeguro(BigDecimal seguro) {
this.seguro = seguro;
}
public BigDecimal getPedagio() {
return pedagio;
}
public void setPedagio(BigDecimal pedagio) {
this.pedagio = pedagio;
}
public BigDecimal getUtr() {
return utr;
}
public void setUtr(BigDecimal utr) {
this.utr = utr;
}
public Date getFeccreacion() {
return feccreacion;
}
public void setFeccreacion(Date feccreacion) {
this.feccreacion = feccreacion;
}
public String getOrigen() {
return origen;
}
public void setOrigen(String origen) {
this.origen = origen;
}
public String getDestino() {
return destino;
}
public void setDestino(String destino) {
this.destino = destino;
}
public Integer getKm() {
return km;
}
public void setKm(Integer km) {
this.km = km;
}
public String getLinha() {
return linha;
}
public void setLinha(String linha) {
this.linha = linha;
}
public String getCorridaId() {
return corridaId;
}
public void setCorridaId(String corridaId) {
this.corridaId = corridaId;
}
public String getDesctipoventa() {
return desctipoventa;
}
public void setDesctipoventa(String desctipoventa) {
this.desctipoventa = desctipoventa;
}
public String getNombpasajero() {
return nombpasajero;
}
public void setNombpasajero(String nombpasajero) {
this.nombpasajero = nombpasajero;
}
public String getDescnumdoc() {
return descnumdoc;
}
public void setDescnumdoc(String descnumdoc) {
this.descnumdoc = descnumdoc;
}
public BigDecimal getPreciooriginal() {
return preciooriginal;
}
public void setPreciooriginal(BigDecimal preciooriginal) {
this.preciooriginal = preciooriginal;
}
public BigDecimal getPorccategoria() {
return porccategoria;
}
public void setPorccategoria(BigDecimal porccategoria) {
this.porccategoria = porccategoria;
}
public BigDecimal getPreciopagado() {
return preciopagado;
}
public void setPreciopagado(BigDecimal preciopagado) {
this.preciopagado = preciopagado;
}
public String getCveusuario() {
return cveusuario;
}
public void setCveusuario(String cveusuario) {
this.cveusuario = cveusuario;
}
public String getNombpuntoventa() {
return nombpuntoventa;
}
public void setNombpuntoventa(String nombpuntoventa) {
this.nombpuntoventa = nombpuntoventa;
}
public String getNombempresa() {
return nombempresa;
}
public void setNombempresa(String nombempresa) {
this.nombempresa = nombempresa;
}
public String getCvecategoria() {
return cvecategoria;
}
public void setCvecategoria(String cvecategoria) {
this.cvecategoria = cvecategoria;
}
public String getNumasiento() {
return numasiento;
}
public void setNumasiento(String numasiento) {
this.numasiento = numasiento;
}
public String getDescorigen() {
return descorigen;
}
public void setDescorigen(String descorigen) {
this.descorigen = descorigen;
}
public String getDescdestino() {
return descdestino;
}
public void setDescdestino(String descdestino) {
this.descdestino = descdestino;
}
public String getNumfoliosistema() {
return numfoliosistema;
}
public void setNumfoliosistema(String numfoliosistema) {
this.numfoliosistema = numfoliosistema;
}
public String getCcf() {
return ccf;
}
public void setCcf(String ccf) {
this.ccf = ccf;
}
public BigDecimal getTarifa() {
return tarifa;
}
public void setTarifa(BigDecimal tarifa) {
this.tarifa = tarifa;
}
public BigDecimal getTpp() {
return tpp;
}
public void setTpp(BigDecimal tpp) {
this.tpp = tpp;
}
public String getDireccionnumero() {
return direccionnumero;
}
public void setDireccionnumero(String direccionnumero) {
this.direccionnumero = direccionnumero;
}
public Date getDataEmissao() {
return dataEmissao;
}
public void setDataEmissao(Date dataEmissao) {
this.dataEmissao = dataEmissao;
}
public String getNumRuta() {
return numRuta;
}
public void setNumRuta(String numRuta) {
this.numRuta = numRuta;
}
public String getPrefixo() {
return prefixo;
}
public void setPrefixo(String prefixo) {
this.prefixo = prefixo;
}
public String getSerie() {
return serie;
}
public void setSerie(String serie) {
this.serie = serie;
}
public String getSubserie() {
return subserie;
}
public void setSubserie(String subserie) {
this.subserie = subserie;
}
public String getNumbpe() {
return numbpe;
}
public void setNumbpe(String numbpe) {
this.numbpe = numbpe;
}
public String getChavebpe() {
return chavebpe;
}
public void setChavebpe(String chavebpe) {
this.chavebpe = chavebpe;
}
public String getProtocolobpe() {
return protocolobpe;
}
public void setProtocolobpe(String protocolobpe) {
this.protocolobpe = protocolobpe;
}
public String getSerienovo() {
return serienovo;
}
public void setSerienovo(String serienovo) {
this.serienovo = serienovo;
}
public String getSubserienovo() {
return subserienovo;
}
public void setSubserienovo(String subserienovo) {
this.subserienovo = subserienovo;
}
public String getCcfnovo() {
return ccfnovo;
}
public void setCcfnovo(String ccfnovo) {
this.ccfnovo = ccfnovo;
}
public String getBpenovo() {
return bpenovo;
}
public void setBpenovo(String bpenovo) {
this.bpenovo = bpenovo;
}
public String getHoraMD() {
return horaMD;
}
public void setHoraMD(String horaMD) {
this.horaMD = horaMD;
}
public String getHoraEmissao() {
return horaEmissao;
}
public void setHoraEmissao(String horaEmissao) {
this.horaEmissao = horaEmissao;
}
public RelatorioMovimentacaoBilheteBean getClone() throws CloneNotSupportedException {
return (RelatorioMovimentacaoBilheteBean) super.clone();
}
}