Inserido um novo layout do relatorio de vendas pta.

bug#10686
dev:daniel
qua:renato

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@81623 d1611594-4594-4d17-8e1d-87c2c4800839
master
walace 2018-05-04 21:45:04 +00:00
parent 87d089e3a3
commit 2361166a0f
10 changed files with 1088 additions and 34 deletions

View File

@ -0,0 +1,340 @@
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasPTA.SituacaoBoleto;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioVendasInternetPTABean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
public class RelatorioVendasInternetPTA extends Relatorio {
public RelatorioVendasInternetPTA(Map<String, Object> parametros, Connection conexao) {
super(parametros, conexao);
}
private List<RelatorioVendasInternetPTABean> lsDadosRelatorio;
@Override
protected void processaParametros() throws Exception {
this.setCustomDataSource(new DataSource(this) {
@Override
public void initDados() throws Exception {
Connection conexao = this.relatorio.getConexao();
Map<String, Object> parametros = this.relatorio.getParametros();
String dataInicial = parametros.get("DATA_INICIAL").toString() + " 00:00:00";
String dataFinal = parametros.get("DATA_FINAL").toString() + " 23:59:59";
Empresa empresa = (Empresa) parametros.get("EMPRESA");
String agencia = (String) parametros.get("PUNTOVENTA");
SituacaoBoleto situacaoBoleto = (SituacaoBoleto) parametros.get("SITUACAO_BOLETO");
String sql = getSql(empresa, agencia, dataInicial, dataFinal, situacaoBoleto);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
stmt.setTimestamp("DATA_INICIAL", (Timestamp) parametros.get("DATA_INICIAL"));
stmt.setTimestamp("DATA_FINAL", (Timestamp) parametros.get("DATA_FINAL"));
ResultSet rset = null;
rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioVendasInternetPTABean>();
BigDecimal saldo = BigDecimal.ZERO;
BigDecimal total = BigDecimal.ZERO;
while (rset.next()) {
RelatorioVendasInternetPTABean vendasPTABean = new RelatorioVendasInternetPTABean();
vendasPTABean.setPreco((BigDecimal) rset.getObject("preco"));
vendasPTABean.setTaxas((BigDecimal) rset.getObject("taxas"));
vendasPTABean.setBilhete((String) rset.getObject("bilhete"));
vendasPTABean.setNomeAgenciaVenda((String) rset.getObject("nomeAgenciaVenda"));
vendasPTABean.setAgencia((String) rset.getObject("agencia"));
vendasPTABean.setStatus((String) rset.getObject("status"));
vendasPTABean.setServico((BigDecimal) rset.getObject("servico"));
vendasPTABean.setPoltrona((String) rset.getObject("poltrona"));
vendasPTABean.setDescricaoLinha((String) rset.getObject("descricaoLinha"));
vendasPTABean.setDescricaoOrigem((String) rset.getObject("descricaoOrigem"));
vendasPTABean.setDescricaoDestino((String) rset.getObject("descricaoDestino"));
vendasPTABean.setDataEmbarque((Date) rset.getObject("dataEmbarque"));
vendasPTABean.setDataEmissao((Date) rset.getObject("dataEmissao"));
vendasPTABean.setDataVenda((Date) rset.getObject("dataVenda"));
vendasPTABean.setTipoVenta((String) rset.getObject("tipoVenta"));
if (vendasPTABean.getStatus().equals("VENDIDO")) {
vendasPTABean.setSituacaoVendido("V");
saldo = saldo.add(vendasPTABean.getPreco() != null ? vendasPTABean.getPreco() : BigDecimal.ZERO);
} else {
BigDecimal situacao = (BigDecimal) rset.getObject("situacaoCancelado");
if (situacao != null) {
vendasPTABean.setSituacaoCancelado(situacao.toString());
if (vendasPTABean.getSituacaoCancelado().equals("31")) {
vendasPTABean.setSituacaoCancelado("A");
} else if (vendasPTABean.getSituacaoCancelado().equals("32")) {
vendasPTABean.setSituacaoCancelado("D");
} else if (vendasPTABean.getSituacaoCancelado().equals("23")) {
vendasPTABean.setSituacaoCancelado("R");
} else if (vendasPTABean.getSituacaoCancelado().equals("10")) {
vendasPTABean.setSituacaoCancelado("TP");
}
}
total = total.add(vendasPTABean.getPreco() != null ? vendasPTABean.getPreco() : BigDecimal.ZERO);
}
lsDadosRelatorio.add(vendasPTABean);
}
if (lsDadosRelatorio.size() > 0) {
setLsDadosRelatorio(lsDadosRelatorio);
parametros.put("SALDO", saldo.subtract(total));
parametros.put("TOTAL", total);
}
}
});
}
public void setLsDadosRelatorio(List<RelatorioVendasInternetPTABean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio;
}
private String getSql(Empresa empresa, String agencia, String fecInicio, String fecFinal, SituacaoBoleto situacaoBoleto) {
StringBuilder sql = new StringBuilder();
String motivoCancelacion = "";
if (situacaoBoleto.getCodigo().equals(31)) {
motivoCancelacion = "31";
} else if (situacaoBoleto.getCodigo().equals(32)) {
motivoCancelacion = "32";
} else if (situacaoBoleto.getCodigo().equals(23)) {
motivoCancelacion = "23";
} else if (situacaoBoleto.getCodigo().equals(10)) {
motivoCancelacion = "10";
} else {
motivoCancelacion = "31, 32, 23, 10";
}
if (situacaoBoleto.getCodigo().equals(1)) { // Somente Vendidos
sql.append("select * from ( SELECT ORIGINAL.BOLETO_ID, ");
sql.append(" 'VENDIDO' AS status, ");
sql.append(" case when ORIGINAL.tipoventa_id = 12 then 'INTERNET' WHEN ORIGINAL.tipoventa_id in(5,18,41,49,81) then 'PTA' END tipoVenta, ");
sql.append(" pv.NOMBPUNTOVENTA AS nomeAgenciaVenda, ");
sql.append(" pe.NOMBPUNTOVENTA AS agencia, ");
sql.append(" original.NUMFOLIOSISTEMA AS bilhete, ");
sql.append(" original.CORRIDA_ID AS servico, ");
sql.append(" original.NUMASIENTO AS poltrona, ");
sql.append(" utilizado.MOTIVOCANCELACION_ID AS situacaoCancelado, ");
sql.append(" UTILIZADO.FECCREACION AS dataEmissao, ");
sql.append(" ORIGINAL.FECHORVIAJE AS dataEmbarque, ");
sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, ");
sql.append(" ORIGINAL.PRECIOPAGADO AS preco, ");
sql.append(" ORIGINAL.FECHORVENTA AS dataVenda, ");
sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + original.IMPORTETAXAEMBARQUE + original.IMPORTEOUTROS AS taxas, ");
sql.append(" r.DESCRUTA AS descricaoLinha, ");
sql.append(" po.DESCPARADA AS descricaoOrigem, ");
sql.append(" pd.DESCPARADA AS descricaoDestino ");
sql.append("FROM BOLETO ORIGINAL ");
sql.append("LEFT JOIN BOLETO UTILIZADO ON (original.boleto_id = UTILIZADO.boletooriginal_id AND utilizado.INDSTATUSBOLETO = 'E') ");
sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) ");
sql.append("LEFT JOIN PUNTO_VENTA pe on(UTILIZADO.PUNTOVENTA_ID = pe.PUNTOVENTA_ID) ");
sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) ");
sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) ");
sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) ");
sql.append("WHERE to_date(ORIGINAL.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL ");
sql.append(" AND ORIGINAL.INDSTATUSBOLETO IN('V','T') ");
sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49,81) ");
sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND ORIGINAL.PUNTOVENTA_ID in (" + agencia + ") ");
sql.append("AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " ");
sql.append(") tab order by tab.tipoVenta, tab.status ");
} else if (situacaoBoleto.getCodigo().equals(-1)) { // Todos (Vendidos e Cancelados)
sql.append("select * from ( SELECT ORIGINAL.BOLETO_ID, ");
sql.append(" 'VENDIDO' AS status, ");
sql.append(" case when ORIGINAL.tipoventa_id = 12 then 'INTERNET' WHEN ORIGINAL.tipoventa_id in(5,18,41,49,81) then 'PTA' END tipoVenta, ");
sql.append(" pv.NOMBPUNTOVENTA AS nomeAgenciaVenda, ");
sql.append(" pe.NOMBPUNTOVENTA AS agencia, ");
sql.append(" original.NUMFOLIOSISTEMA AS bilhete, ");
sql.append(" original.CORRIDA_ID AS servico, ");
sql.append(" original.NUMASIENTO AS poltrona, ");
sql.append(" utilizado.MOTIVOCANCELACION_ID AS situacaoCancelado, ");
sql.append(" UTILIZADO.FECCREACION AS dataEmissao, ");
sql.append(" ORIGINAL.FECHORVIAJE AS dataEmbarque, ");
sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, ");
sql.append(" ORIGINAL.PRECIOPAGADO AS preco, ");
sql.append(" ORIGINAL.FECHORVENTA AS dataVenda, ");
sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + original.IMPORTETAXAEMBARQUE + original.IMPORTEOUTROS AS taxas, ");
sql.append(" r.DESCRUTA AS descricaoLinha, ");
sql.append(" po.DESCPARADA AS descricaoOrigem, ");
sql.append(" pd.DESCPARADA AS descricaoDestino ");
sql.append("FROM BOLETO ORIGINAL ");
sql.append("LEFT JOIN BOLETO UTILIZADO ON (original.boleto_id = UTILIZADO.boletooriginal_id AND utilizado.INDSTATUSBOLETO = 'E') ");
sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) ");
sql.append("LEFT JOIN PUNTO_VENTA pe on(UTILIZADO.PUNTOVENTA_ID = pe.PUNTOVENTA_ID) ");
sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) ");
sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) ");
sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) ");
sql.append("WHERE to_date(ORIGINAL.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL ");
sql.append(" AND ORIGINAL.INDSTATUSBOLETO IN('V','T') ");
sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49,81) ");
sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND ORIGINAL.PUNTOVENTA_ID in (" + agencia + ") ");
sql.append("AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " ");
sql.append("UNION ALL ");
sql.append("SELECT ORIGINAL.BOLETO_ID, ");
sql.append(" 'CANCELADO' AS status, ");
sql.append(" case when ORIGINAL.tipoventa_id = 12 then 'INTERNET' WHEN ORIGINAL.tipoventa_id in(5,18,41,49,81) then 'PTA' END tipoVenta, ");
sql.append(" pc.NOMBPUNTOVENTA AS nomeAgenciaVenda, ");
sql.append(" pv.NOMBPUNTOVENTA AS agencia, ");
sql.append(" ORIGINAL.NUMFOLIOSISTEMA AS bilhete, ");
sql.append(" original.CORRIDA_ID AS servico, ");
sql.append(" original.NUMASIENTO AS poltrona, ");
sql.append(" ORIGINAL.MOTIVOCANCELACION_ID AS situacaoCancelado, ");
sql.append(" ORIGINAL.FECHORVENTA AS dataEmissao, ");
sql.append(" ORIGINAL.FECHORVIAJE AS dataEmbarque, ");
sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, ");
sql.append(" ORIGINAL.PRECIOPAGADO AS preco, ");
sql.append(" ORIGINAL.FECHORVENTA AS dataVenda, ");
sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + original.IMPORTETAXAEMBARQUE + original.IMPORTEOUTROS AS taxas, ");
sql.append(" r.DESCRUTA AS descricaoLinha, ");
sql.append(" po.DESCPARADA AS descricaoOrigem, ");
sql.append(" pd.DESCPARADA AS descricaoDestino ");
sql.append("FROM BOLETO ORIGINAL ");
sql.append("LEFT JOIN BOLETO UTILIZADO ON (ORIGINAL.BOLETOoriginal_ID = UTILIZADO.BOLETO_ID AND UTILIZADO.INDSTATUSBOLETO IN ('V','T')) ");
sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) ");
sql.append("LEFT JOIN PUNTO_VENTA pc on(UTILIZADO.PUNTOVENTA_ID = pc.PUNTOVENTA_ID) ");
sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) ");
sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) ");
sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) ");
sql.append("WHERE to_date(original.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL ");
sql.append(" AND ORIGINAL.INDSTATUSBOLETO IN('C') AND ORIGINAL.MOTIVOCANCELACION_ID in (" + motivoCancelacion + ") ");
sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49,81) ");
sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND (utilizado.PUNTOVENTA_ID in (" + agencia + ")) AND ORIGINAL.MOTIVOCANCELACION_ID IN ( " + motivoCancelacion + ") ");
sql.append("AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " ");
sql.append(") tab order by tab.tipoVenta, tab.status ");
} else if (situacaoBoleto.getCodigo().equals(2)) { // Entregue
sql.append("select * from ( SELECT ORIGINAL.BOLETO_ID, ");
sql.append(" 'VENDIDO' AS status, ");
sql.append(" case when ORIGINAL.tipoventa_id = 12 then 'INTERNET' WHEN ORIGINAL.tipoventa_id in(5,18,41,49,81) then 'PTA' END tipoVenta, ");
sql.append(" pv.NOMBPUNTOVENTA AS nomeAgenciaVenda, ");
sql.append(" pe.NOMBPUNTOVENTA AS agencia, ");
sql.append(" original.NUMFOLIOSISTEMA AS bilhete, ");
sql.append(" original.CORRIDA_ID AS servico, ");
sql.append(" original.NUMASIENTO AS poltrona, ");
sql.append(" utilizado.MOTIVOCANCELACION_ID AS situacaoCancelado, ");
sql.append(" UTILIZADO.FECCREACION AS dataEmissao, ");
sql.append(" ORIGINAL.FECHORVIAJE AS dataEmbarque, ");
sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, ");
sql.append(" ORIGINAL.PRECIOPAGADO AS preco, ");
sql.append(" ORIGINAL.FECHORVENTA AS dataVenda, ");
sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + original.IMPORTETAXAEMBARQUE + original.IMPORTEOUTROS AS taxas, ");
sql.append(" r.DESCRUTA AS descricaoLinha, ");
sql.append(" po.DESCPARADA AS descricaoOrigem, ");
sql.append(" pd.DESCPARADA AS descricaoDestino ");
sql.append("FROM BOLETO ORIGINAL ");
sql.append("INNER JOIN BOLETO UTILIZADO ON (original.boleto_id = UTILIZADO.boletooriginal_id AND utilizado.INDSTATUSBOLETO = 'E') ");
sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) ");
sql.append("LEFT JOIN PUNTO_VENTA pe on(UTILIZADO.PUNTOVENTA_ID = pe.PUNTOVENTA_ID) ");
sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) ");
sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) ");
sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) ");
sql.append("WHERE to_date(ORIGINAL.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL ");
sql.append(" AND ORIGINAL.INDSTATUSBOLETO IN('V','T') ");
sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49,81) ");
sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND ORIGINAL.PUNTOVENTA_ID in (" + agencia + ") ");
sql.append("AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " ");
sql.append(") tab order by tab.tipoVenta, tab.status ");
} else if (situacaoBoleto.getCodigo().equals(3)) { // Não Entregue
sql.append("select * from ( SELECT ORIGINAL.BOLETO_ID, ");
sql.append(" 'VENDIDO' AS status, ");
sql.append(" case when ORIGINAL.tipoventa_id = 12 then 'INTERNET' WHEN ORIGINAL.tipoventa_id in(5,18,41,49,81) then 'PTA' END tipoVenta, ");
sql.append(" pv.NOMBPUNTOVENTA AS nomeAgenciaVenda, ");
sql.append(" pe.NOMBPUNTOVENTA AS agencia, ");
sql.append(" original.NUMFOLIOSISTEMA AS bilhete, ");
sql.append(" original.CORRIDA_ID AS servico, ");
sql.append(" original.NUMASIENTO AS poltrona, ");
sql.append(" utilizado.MOTIVOCANCELACION_ID AS situacaoCancelado, ");
sql.append(" UTILIZADO.FECCREACION AS dataEmissao, ");
sql.append(" ORIGINAL.FECHORVIAJE AS dataEmbarque, ");
sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, ");
sql.append(" ORIGINAL.PRECIOPAGADO AS preco, ");
sql.append(" ORIGINAL.FECHORVENTA AS dataVenda, ");
sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + original.IMPORTETAXAEMBARQUE + original.IMPORTEOUTROS AS taxas, ");
sql.append(" r.DESCRUTA AS descricaoLinha, ");
sql.append(" po.DESCPARADA AS descricaoOrigem, ");
sql.append(" pd.DESCPARADA AS descricaoDestino ");
sql.append("FROM BOLETO ORIGINAL ");
sql.append("LEFT JOIN BOLETO UTILIZADO ON (original.boleto_id = UTILIZADO.boletooriginal_id AND utilizado.INDSTATUSBOLETO <> 'E') ");
sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) ");
sql.append("LEFT JOIN PUNTO_VENTA pe on(UTILIZADO.PUNTOVENTA_ID = pe.PUNTOVENTA_ID) ");
sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) ");
sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) ");
sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) ");
sql.append("WHERE to_date(ORIGINAL.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL ");
sql.append(" AND ORIGINAL.INDSTATUSBOLETO IN('V','T') ");
sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49,81) ");
sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND ORIGINAL.PUNTOVENTA_ID in (" + agencia + ") ");
sql.append("AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " ");
sql.append(") tab order by tab.tipoVenta, tab.status ");
} else { // somente cancelados
sql.append("select * from ( SELECT ORIGINAL.BOLETO_ID, ");
sql.append(" 'CANCELADO' AS status, ");
sql.append(" case when ORIGINAL.tipoventa_id = 12 then 'INTERNET' WHEN ORIGINAL.tipoventa_id in(5,18,41,49,81) then 'PTA' END tipoVenta, ");
sql.append(" pc.NOMBPUNTOVENTA AS nomeAgenciaVenda, ");
sql.append(" pv.NOMBPUNTOVENTA AS agencia, ");
sql.append(" ORIGINAL.NUMFOLIOSISTEMA AS bilhete, ");
sql.append(" original.CORRIDA_ID AS servico, ");
sql.append(" original.NUMASIENTO AS poltrona, ");
sql.append(" ORIGINAL.MOTIVOCANCELACION_ID AS situacaoCancelado, ");
sql.append(" ORIGINAL.FECHORVENTA AS dataEmissao, ");
sql.append(" ORIGINAL.FECHORVIAJE AS dataEmbarque, ");
sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, ");
sql.append(" ORIGINAL.PRECIOBASE AS preco, ");
sql.append(" ORIGINAL.FECHORVENTA AS dataVenda, ");
sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + original.IMPORTETAXAEMBARQUE + original.IMPORTEOUTROS AS taxas, ");
sql.append(" r.DESCRUTA AS descricaoLinha, ");
sql.append(" po.DESCPARADA AS descricaoOrigem, ");
sql.append(" pd.DESCPARADA AS descricaoDestino ");
sql.append("FROM BOLETO ORIGINAL ");
sql.append("LEFT JOIN BOLETO UTILIZADO ON (ORIGINAL.BOLETOoriginal_ID = UTILIZADO.BOLETO_ID AND UTILIZADO.INDSTATUSBOLETO IN ('V','T')) ");
sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) ");
sql.append("LEFT JOIN PUNTO_VENTA pc on(UTILIZADO.PUNTOVENTA_ID = pc.PUNTOVENTA_ID) ");
sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) ");
sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) ");
sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) ");
sql.append("WHERE to_date(original.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL ");
sql.append(" AND ORIGINAL.INDSTATUSBOLETO IN('C') AND ORIGINAL.MOTIVOCANCELACION_ID in (" + motivoCancelacion + ")");
sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49,81) ");
sql.append(" AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " ");
sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND (utilizado.PUNTOVENTA_ID in (" + agencia + ")) ");
sql.append(") tab order by tab.tipoVenta, tab.status ");
}
return sql.toString();
}
}

View File

@ -4,14 +4,12 @@ import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.enums.SituacaoBoleto;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioVendasPTABean;
@ -23,7 +21,25 @@ public class RelatorioVendasPTA extends Relatorio {
public RelatorioVendasPTA(Map<String, Object> parametros, Connection conexao) {
super(parametros, conexao);
}
public enum SituacaoBoleto {
TODAS(-1, "Todas"), ANULADO(31, "Anulado"), DEVOLVIDO(32, "Devolvido"), REMARCADO(23, "Remarcado"), TROCADO(10, "Trocado"), VENDIDO(1, "Vendido"), ENTREGUE(2, "Entregue"), NAO_ENTREGUE(3, "Não Entregue");
private String situacao;
private Integer codigo;
private SituacaoBoleto(Integer codigo, String situacao) {
this.situacao = situacao;
this.codigo = codigo;
}
public String getSituacao() {
return this.situacao;
}
public Integer getCodigo() {
return codigo;
}
}
private List<RelatorioVendasPTABean> lsDadosRelatorio;
@ -253,11 +269,12 @@ public class RelatorioVendasPTA extends Relatorio {
sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) ");
sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) ");
sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) ");
sql.append("WHERE to_date(original.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL ");
sql.append(" AND ORIGINAL.INDSTATUSBOLETO IN('C') ");
sql.append(" AND ORIGINAL.INDSTATUSBOLETO IN('C') AND ORIGINAL.MOTIVOCANCELACION_ID in (" + motivoCancelacion + ")");
sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49,81) ");
sql.append(" AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " " );
sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND (utilizado.PUNTOVENTA_ID in (" + agencia + ")) AND ORIGINAL.MOTIVOCANCELACION_ID IN ("+motivoCancelacion+") ");
sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND (utilizado.PUNTOVENTA_ID in (" + agencia + ")) ");
}
return sql.toString();

View File

@ -0,0 +1,37 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
#Labels cabeçalho
cabecalho.nome=Relatório Vendas Internet x PTA
cabecalho.relatorio=Relatório:
cabecalho.periodo=Período:
cabecalho.periodoA=à
cabecalho.dataHora=Data/Hora:
cabecalho.impressorPor=Impressor por:
cabecalho.pagina=Página
cabecalho.de=de
cabecalho.filtros=Filtros:
cabecalho.puntoventa=Agência:
cabecalho.usuario=Usuário:
label.nomeVendaAgencia=Agência Atendimento
label.nomeAgenciaEmissao=Agência Emissão
label.nomeAgenciaCancelamento=Agência Cancelamento
label.dataEmissao=Data Emissão
label.dataEmbarque=Data Embarque
label.bilhete=Bilhete
label.dataEmissao=Data Emissão
label.preco=Preço
label.taxas=Taxas
label.origem= Origem
label.destino=Destino
label.descricaoLinha=Linha
label.servico=Servico
label.poltrona= Poltrona
label.dataInicial=Data Inicial:
label.dataFinal=Data Final:
label.empresa=Empresa:
label.situacao=Situacao
label.saldo=Saldo R$:
label.total=Total R$:
label.tipoVenda=Tipo Venda :

View File

@ -0,0 +1,37 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
#Labels cabeçalho
cabecalho.nome=Relatório Vendas Internet x PTA
cabecalho.relatorio=Relatório:
cabecalho.periodo=Período:
cabecalho.periodoA=à
cabecalho.dataHora=Data/Hora:
cabecalho.impressorPor=Impressor por:
cabecalho.pagina=Página
cabecalho.de=de
cabecalho.filtros=Filtros:
cabecalho.puntoventa=Agência:
cabecalho.usuario=Usuário:
label.nomeVendaAgencia=Agência Atendimento
label.nomeAgenciaEmissao=Agência Emissão
label.nomeAgenciaCancelamento=Agência Cancelamento
label.dataEmissao=Data Emissão
label.dataEmbarque=Data Embarque
label.bilhete=Bilhete
label.dataEmissao=Data Emissão
label.preco=Preço
label.taxas=Taxas
label.origem= Origem
label.destino=Destino
label.descricaoLinha=Linha
label.servico=Servico
label.poltrona= Poltrona
label.dataInicial=Data Inicial:
label.dataFinal=Data Final:
label.empresa=Empresa:
label.situacao=Situacao
label.saldo=Saldo R$:
label.total=Total R$:
label.tipoVenda=Tipo Venda :

View File

@ -0,0 +1,384 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Relatorio Vendas Internet x PTA" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="6d46a2d2-555e-4b7f-944f-b25c672e5feb">
<property name="ireport.zoom" value="2.415765000000001"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="95"/>
<parameter name="DATA_INICIAL" class="java.util.Date"/>
<parameter name="DATA_FINAL" class="java.util.Date"/>
<parameter name="codconvenio" class="java.lang.String"/>
<parameter name="usuario" class="java.lang.String"/>
<parameter name="nomeRelatorio" class="java.lang.String"/>
<parameter name="puntoVenta" class="java.lang.String"/>
<parameter name="SALDO" class="java.math.BigDecimal"/>
<parameter name="TOTAL" class="java.math.BigDecimal"/>
<field name="nomeAgenciaVenda" class="java.lang.String"/>
<field name="dataEmissao" class="java.util.Date"/>
<field name="dataEmbarque" class="java.util.Date"/>
<field name="bilhete" class="java.lang.String"/>
<field name="status" class="java.lang.String"/>
<field name="descricaoLinha" class="java.lang.String"/>
<field name="situacaoVendido" class="java.lang.String"/>
<field name="servico" class="java.math.BigDecimal"/>
<field name="codOrigem" class="java.lang.String"/>
<field name="codDestino" class="java.lang.String"/>
<field name="descricaoOrigem" class="java.lang.String"/>
<field name="descricaoDestino" class="java.lang.String"/>
<field name="agencia" class="java.lang.String"/>
<field name="dataVenda" class="java.util.Date"/>
<field name="preco" class="java.math.BigDecimal"/>
<field name="taxas" class="java.math.BigDecimal"/>
<field name="poltrona" class="java.lang.String"/>
<field name="situacaoCancelado" class="java.lang.String"/>
<field name="tipoVenta" class="java.lang.String"/>
<group name="tipoVenda">
<groupExpression><![CDATA[$F{tipoVenta}]]></groupExpression>
<groupHeader>
<band height="22">
<textField>
<reportElement x="91" y="0" width="100" height="20" uuid="d55eb515-81e8-4979-ae58-d4f403d3065a"/>
<textFieldExpression><![CDATA[$F{tipoVenta}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="0" width="91" height="20" uuid="0bff5b18-dc4a-4cb5-a455-6cfd7dd67b58"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.tipoVenda}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<group name="status">
<groupExpression><![CDATA[$F{status}]]></groupExpression>
<groupHeader>
<band height="21">
<textField>
<reportElement x="0" y="4" width="91" height="14" backcolor="#FFFFFF" uuid="8c56f8a7-343c-490a-8bef-5194f3b8529d"/>
<textElement textAlignment="Center">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$F{status}.equals("VENDIDO") ? "Agência Emissão" : "Agência de Venda"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="91" y="4" width="51" height="14" uuid="f0502e25-1354-4ee8-be80-c3c428600f7f"/>
<textElement textAlignment="Center">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$F{status}.equals("VENDIDO") ? "Data Emissão" : "Data Vendido"]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="142" y="4" width="70" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="49ab1647-150e-479d-a1d6-1911439f9372"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.dataEmbarque}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="212" y="4" width="35" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="97e52452-5067-44dc-a412-0069d4966588"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.bilhete}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="247" y="4" width="30" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="36adfbd2-baef-4050-b4dd-b2c17cec1f8f"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.preco}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="277" y="4" width="29" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="dabaae73-0430-44ac-b5ca-07bb8943d1e1"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.taxas}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="456" y="4" width="138" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="73bb690b-0169-4a4b-8fb9-c97b9887eaad"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.descricaoLinha}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="306" y="4" width="81" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="38b8051e-f5af-4f54-bf70-e2fe0b7f7c9a"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.origem}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="387" y="4" width="69" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="f8b5db04-6c39-4f45-8bdb-e5a9a68c68a3"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.destino}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="594" y="4" width="32" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="fb34668d-337b-4c49-9bf6-d91c2d48c9ad"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.servico}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="626" y="4" width="40" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="638d03a2-19a6-475b-8ac8-8674de628135"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.poltrona}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="666" y="4" width="27" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="44acc215-9dff-458d-a38d-d3146fbede9e"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.situacao}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement mode="Transparent" x="693" y="4" width="109" height="14" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="f6156f2d-7579-468f-a4ec-3e09317df7eb"/>
<textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="6" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$F{status}.equals("VENDIDO") ? "Agência Atendimento" : "Agência Cancelamento"]]></textFieldExpression>
</textField>
<line>
<reportElement x="0" y="19" width="802" height="1" uuid="2171ca6f-7e60-4fb0-80b5-32ba5c32ae0f"/>
</line>
<line>
<reportElement x="0" y="3" width="802" height="1" uuid="a8b2d3d9-4d61-42fb-aa14-37d82a755f3c"/>
</line>
</band>
</groupHeader>
</group>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="32">
<textField>
<reportElement x="212" y="5" width="361" height="27" uuid="766b74e4-28c9-4045-8538-343a8bc8e665"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="18" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.nome}]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band height="51">
<textField>
<reportElement x="191" y="27" width="56" height="22" uuid="c52ee81b-b6a0-44cd-b0e0-c61177419f22"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.dataFinal}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="27" width="91" height="22" uuid="1ffb28ce-353b-45c6-95a3-ba5c40faa4b5"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.dataInicial}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy">
<reportElement x="247" y="27" width="140" height="22" isPrintWhenDetailOverflows="true" uuid="74a3108b-f2bf-4a05-8a0e-ef3bc6e23e78"/>
<textElement>
<font size="10" isBold="false"/>
</textElement>
<textFieldExpression><![CDATA[$P{DATA_FINAL}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy">
<reportElement x="91" y="27" width="100" height="22" isPrintWhenDetailOverflows="true" uuid="145289a7-0f0a-4aa0-aab7-2bad8b44292e"/>
<textElement>
<font size="10" isBold="false"/>
</textElement>
<textFieldExpression><![CDATA[$P{DATA_INICIAL}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement mode="Transparent" x="387" y="4" width="207" height="15" forecolor="#000000" backcolor="#FFFFFF" uuid="8857ff4c-243b-4073-9466-98722a23eccf"/>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="10" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.pagina} + " " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="594" y="4" width="99" height="15" uuid="d095c344-00e0-4532-8035-8b93ef192a56"/>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="10" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm" isBlankWhenNull="false">
<reportElement mode="Transparent" x="693" y="4" width="109" height="15" forecolor="#000000" backcolor="#FFFFFF" uuid="b8a08223-0a24-43a7-8ebe-17a3db2d83fe"/>
<textElement textAlignment="Right" verticalAlignment="Middle" rotation="None" markup="none">
<font fontName="SansSerif" size="10" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<columnHeader>
<band/>
</columnHeader>
<detail>
<band height="14">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="456" y="2" width="138" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="0b904fc9-5da8-42df-86e7-0749839574b6"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{descricaoLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="###0" isBlankWhenNull="true">
<reportElement x="594" y="2" width="32" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="a2f90f64-e8eb-45b8-828b-53c01e7258a0"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{servico}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement x="666" y="2" width="27" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="584271a9-2bf3-4c50-a4cf-6615c17bf989"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{status}.equals("VENDIDO") ?$F{situacaoVendido} : $F{situacaoCancelado}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="dd/MM/yyyy" isBlankWhenNull="true">
<reportElement x="91" y="2" width="51" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="546f445d-2263-4cdc-a1d7-681d40f311e4"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{status}.equals("VENDIDO") ? $F{dataEmissao} : $F{dataVenda}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="dd/MM/yyyy" isBlankWhenNull="true">
<reportElement x="142" y="2" width="70" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="eba09120-e3ae-4119-af20-8ff20c45d935"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{dataEmbarque}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement x="212" y="2" width="35" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="374795a6-5fae-417c-93d9-ae0c9e12829a"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{bilhete}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="693" y="2" width="109" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="8bf03127-bc20-45ab-94cd-deeafa4b83c1"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{status}.equals("VENDIDO") ?$F{nomeAgenciaVenda} : $F{agencia}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement x="247" y="2" width="30" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="59a943b3-dc5a-49cf-92f9-1a271ba72a0e"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{preco}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement x="277" y="2" width="29" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="4a3859e1-2fcf-4ce3-89ca-024ab4628dcf"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{taxas}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="306" y="2" width="81" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="aac72eec-aa72-45bc-91ad-409dd211e6e3"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{descricaoOrigem}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="387" y="2" width="69" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="4dee0341-1423-40ac-b025-6e162c8c3853"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{descricaoDestino}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement x="626" y="2" width="40" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="3b5b4e26-d826-4983-bd0b-d81762314d05"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{poltrona}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="0" y="2" width="91" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" uuid="ad1ffaa8-6c48-4316-ba3c-ea68579af300"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{status}.equals("VENDIDO") ? $F{agencia} : $F{nomeAgenciaVenda}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="6" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="43" splitType="Stretch">
<textField>
<reportElement x="0" y="11" width="91" height="14" uuid="25ee1dfc-86be-4ed3-a15b-1b88311553d3"/>
<textElement textAlignment="Center">
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.total}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="25" width="91" height="14" uuid="77ae1865-5196-4f91-ab72-716ce1d52a74"/>
<textElement textAlignment="Center">
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.saldo}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="91" y="25" width="121" height="14" uuid="36e218b6-49e0-4b1b-a473-ec3f2e79fde3"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$P{SALDO}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="91" y="11" width="121" height="14" uuid="f4ce69ee-521c-4f17-9b7f-d7028d2f355a"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$P{TOTAL}]]></textFieldExpression>
</textField>
<line>
<reportElement x="0" y="8" width="802" height="1" uuid="6dc831c6-bfb2-4350-aa40-edc3dacd8b2c"/>
</line>
<line>
<reportElement x="0" y="40" width="802" height="1" uuid="5ab0d28f-17af-469c-a9da-9aab6e0b4b50"/>
</line>
</band>
</summary>
<noData>
<band height="25">
<textField>
<reportElement x="0" y="0" width="802" height="25" uuid="8971a82a-4eed-47d8-a07a-da902b442824"/>
<textElement textAlignment="Center" markup="none">
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{msg.noData}]]></textFieldExpression>
</textField>
</band>
</noData>
</jasperReport>

View File

@ -0,0 +1,207 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
import java.math.BigDecimal;
import java.util.Date;
public class RelatorioVendasInternetPTABean {
private BigDecimal preco;
private BigDecimal taxas;
private String bilhete;
private String codLinha;
private String descricaoLinha;
private String codOrigem;
private String descricaoOrigem;
private String codDestino;
private String descricaoDestino;
private Date dataInicial;
private Date dataFinal;
private BigDecimal servico;
private String poltrona;
private String situacaoVendido;
private String nomeAgenciaVenda;
private String agencia;
private String status;
private Date dataEmissao;
private Date dataEmbarque;
private Date dataVenda;
private String situacaoCancelado;
private String tipoVenta;
public BigDecimal getPreco() {
return preco;
}
public void setPreco(BigDecimal preco) {
this.preco = preco;
}
public BigDecimal getTaxas() {
return taxas;
}
public void setTaxas(BigDecimal taxas) {
this.taxas = taxas;
}
public String getBilhete() {
return bilhete;
}
public void setBilhete(String bilhete) {
this.bilhete = bilhete;
}
public String getDescricaoLinha() {
return descricaoLinha;
}
public void setDescricaoLinha(String descricaoLinha) {
this.descricaoLinha = descricaoLinha;
}
public Date getDataInicial() {
return dataInicial;
}
public void setDataInicial(Date dataInicial) {
this.dataInicial = dataInicial;
}
public Date getDataFinal() {
return dataFinal;
}
public void setDataFinal(Date dataFinal) {
this.dataFinal = dataFinal;
}
public String getCodOrigem() {
return codOrigem;
}
public void setCodOrigem(String codOrigem) {
this.codOrigem = codOrigem;
}
public String getDescricaoOrigem() {
return descricaoOrigem;
}
public void setDescricaoOrigem(String descricaoOrigem) {
this.descricaoOrigem = descricaoOrigem;
}
public String getCodDestino() {
return codDestino;
}
public void setCodDestino(String codDestino) {
this.codDestino = codDestino;
}
public String getDescricaoDestino() {
return descricaoDestino;
}
public void setDescricaoDestino(String descricaoDestino) {
this.descricaoDestino = descricaoDestino;
}
public String getCodLinha() {
return codLinha;
}
public void setCodLinha(String codLinha) {
this.codLinha = codLinha;
}
public BigDecimal getServico() {
return servico;
}
public void setServico(BigDecimal servico) {
this.servico = servico;
}
public String getPoltrona() {
return poltrona;
}
public void setPoltrona(String poltrona) {
this.poltrona = poltrona;
}
public String getSituacaoVendido() {
return situacaoVendido;
}
public void setSituacaoVendido(String situacaoVendido) {
this.situacaoVendido = situacaoVendido;
}
public String getSituacaoCancelado() {
return situacaoCancelado;
}
public void setSituacaoCancelado(String situacaoCancelado) {
this.situacaoCancelado = situacaoCancelado;
}
public String getNomeAgenciaVenda() {
return nomeAgenciaVenda;
}
public void setNomeAgenciaVenda(String nomeAgenciaVenda) {
this.nomeAgenciaVenda = nomeAgenciaVenda;
}
public String getAgencia() {
return agencia;
}
public void setAgencia(String agencia) {
this.agencia = agencia;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Date getDataEmissao() {
return dataEmissao;
}
public void setDataEmissao(Date dataEmissao) {
this.dataEmissao = dataEmissao;
}
public Date getDataVenda() {
return dataVenda;
}
public void setDataVenda(Date dataVenda) {
this.dataVenda = dataVenda;
}
public Date getDataEmbarque() {
return dataEmbarque;
}
public void setDataEmbarque(Date dataEmbarque) {
this.dataEmbarque = dataEmbarque;
}
public String getTipoVenta() {
return tipoVenta;
}
public void setTipoVenta(String tipoVenta) {
this.tipoVenta = tipoVenta;
}
}

View File

@ -18,18 +18,20 @@ import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Bandbox;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Paging;
import org.zkoss.zul.Radiogroup;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.enums.SituacaoBoleto;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasInternetPTA;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasPTA;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasPTA.SituacaoBoleto;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
@ -50,9 +52,7 @@ public class RelatorioVendasPTAController extends MyGenericForwardComposer {
@Autowired
private EmpresaService empresaService;
private List<Empresa> lsEmpresa;
private List<SituacaoBoleto> lsSituacao;
private MyComboboxEstandar cmbEmpresa;
private MyComboboxPuntoVenta cmbAgencia;
private MyComboboxEstandar cmbSituacao;
private Datebox datInicial;
private Datebox datFinal;
@ -65,17 +65,18 @@ public class RelatorioVendasPTAController extends MyGenericForwardComposer {
@Autowired
private transient PagedListWrapper<PuntoVenta> plwPuntoVenta;
private ArrayList<PuntoVenta> lsNumPuntoVenta = new ArrayList<PuntoVenta>();
private Radiogroup rgLayout;
private Textbox txtPalavraPesquisa;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
lsEmpresa = empresaService.obtenerTodos();
lsSituacao = Arrays.asList(SituacaoBoleto.values());
cambiarTipoSituacao();
puntoVentaList.setItemRenderer(new RenderPuntoVentaSimple());
puntoVentaSelList.setItemRenderer(new RenderPuntoVentaSimple());
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@ -115,14 +116,16 @@ public class RelatorioVendasPTAController extends MyGenericForwardComposer {
parametros.put("NOME_EMPRESA", empresa.getNombempresa());
parametros.put("TITULO", Labels.getLabel("relatorioVendasPTAController.window.title"));
relatorio = new RelatorioVendasPTA(parametros, dataSourceRead.getConnection());
if (rgLayout.getSelectedItem().getValue().equals("LAYOUT_1")){
relatorio = new RelatorioVendasPTA(parametros, dataSourceRead.getConnection());
}else{
relatorio = new RelatorioVendasInternetPTA(parametros, dataSourceRead.getConnection());
}
Map args = new HashMap();
args.put("relatorio", relatorio);
openWindow("/component/reportView.zul",
Labels.getLabel("relatorioVendasPTAController.window.title"), args, MODAL);
openWindow("/component/reportView.zul", Labels.getLabel("relatorioVendasPTAController.window.title"), args, MODAL);
}
public void onSelect$puntoVentaList(Event ev) {
@ -173,6 +176,28 @@ public class RelatorioVendasPTAController extends MyGenericForwardComposer {
}
public void onCheck$rdExecutarRelatorio(Event ev) {
cambiarTipoSituacao();
}
public void onCheck$rdInternetPta(Event ev) {
cambiarTipoSituacao();
}
private void cambiarTipoSituacao(){
if (rgLayout.getSelectedItem().getValue().equals("LAYOUT_1")) {
List<SituacaoBoleto> lsSituacaoAux = new ArrayList<SituacaoBoleto>();
for (SituacaoBoleto situacao : SituacaoBoleto.values()) {
if (!(situacao.getCodigo() == 2 || situacao.getCodigo() == 3)) {
lsSituacaoAux.add(situacao);
}
}
cmbSituacao.setModel(new ListModelList(lsSituacaoAux));
} else {
cmbSituacao.setModel(new ListModelList(Arrays.asList(SituacaoBoleto.values())));
}
}
public void onDoubleClick$puntoVentaSelList(Event ev) {
PuntoVenta puntoVentaSel = (PuntoVenta) puntoVentaSelList.getSelected();
@ -192,14 +217,6 @@ public class RelatorioVendasPTAController extends MyGenericForwardComposer {
this.lsEmpresa = lsEmpresa;
}
public List<SituacaoBoleto> getLsSituacao() {
return lsSituacao;
}
public void setLsSituacao(List<SituacaoBoleto> lsSituacao) {
this.lsSituacao = lsSituacao;
}
public MyListbox getPuntoVentaList() {
return puntoVentaList;
}

View File

@ -760,8 +760,12 @@ relatorioVendasPTAController.window.title = Reporte de Ventas PTA
relatorioVendasPTAController.lbDatInicial.value = Fecha inicial
relatorioVendasPTAController.lbDatFinal.value = Fecha final
relatorioVendasPTAController.lbEmpresa.value = Empresa
relatorioVendasPTAController.lbAgencia.value = Agencia
relatorioVendasPTAController.lbAgencia.value = Punto Venta
relatorioVendasPTAController.lbSituacao.value = Situación
relatorioVendasPTAController.lbTipo.value = Tipo
relatorioVendasPTAController.lbInternetPTA.value = Internet x PTA
relatorioVendasPTAController.lbPTA.value = PTA
#Relatorio Segunda Via
relatorioSegundaViaController.window.title=Relatório Segunda Via

View File

@ -829,6 +829,9 @@ relatorioVendasPTAController.lbDatInicial.value = Data Inicial
relatorioVendasPTAController.lbDatFinal.value = Data Final
relatorioVendasPTAController.lbEmpresa.value = Empresa
relatorioVendasPTAController.lbAgencia.value = Agência
relatorioVendasPTAController.lbTipo.value = Tipo
relatorioVendasPTAController.lbInternetPTA.value = Internet x PTA
relatorioVendasPTAController.lbPTA.value = PTA
#Relatorio Segunda Via
relatorioSegundaViaController.window.title=Relatório Segunda Via

View File

@ -7,7 +7,7 @@
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioVendasPTA"
apply="${relatorioVendasPTAController}" contentStyle="overflow:auto"
height="237px" width="550px" border="normal">
height="250px" width="550px" border="normal">
<grid fixedLayout="true">
<columns>
<column width="20%" />
@ -29,8 +29,6 @@
</row>
<row>
<label
value="${c:l('relatorioVendasPTAController.lbAgencia.value')}" />
<bandbox id="bbPesquisaPuntoVenta" width="90%"
@ -87,21 +85,31 @@
<listheader
label="${c:l('relatorioVendasPTAController.puntoVentaSelList.nome')}" />
<listheader width="35px" />
</listhead>
</listbox>
</center>
</borderlayout>
</cell>
<label
value="${c:l('relatorioVendasPTAController.lbSituacao.value')}" />
<combobox id="cmbSituacao" width="100%" constraint="no empty"
maxlength="60" mold="rounded" buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioVendasPTA$composer.lsSituacao}" />
value="${c:l('relatorioVendasPTAController.lbTipo.value')}" />
<radiogroup id="rgLayout">
<radio id="rdExecutarRelatorio"
label="${c:l('relatorioVendasPTAController.lbPTA.value')}"
value="LAYOUT_1" checked="true" />
<separator bar="true" />
<radio id="rdInternetPta"
label="${c:l('relatorioVendasPTAController.lbInternetPTA.value')}"
value="LAYOUT_2" />
</radiogroup>
</row>
<row>
<label
value="${c:l('relatorioVendasPTAController.lbSituacao.value')}" />
<combobox id="cmbSituacao" width="100%"
constraint="no empty" maxlength="60" mold="rounded"
buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar" />
</row>
</rows>
</grid>