Merge pull request 'AL-2404' (!132) from AL_2404 into master

Reviewed-on: http://18.235.188.113:3000/adm/VentaBoletosAdm/pulls/132
Reviewed-by: fabio <fabio.faria@rjconsultores.com.br>
master 1.2.0
Célio de Souza Ribeiro JR 2023-05-03 20:14:41 +00:00
commit 862070a2e5
16 changed files with 1775 additions and 4 deletions

View File

@ -4,12 +4,12 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId> <groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId> <artifactId>ventaboletosadm</artifactId>
<version>1.1.0</version> <version>1.2.0</version>
<packaging>war</packaging> <packaging>war</packaging>
<properties> <properties>
<modelWeb.version>1.2.0</modelWeb.version> <modelWeb.version>1.2.0</modelWeb.version>
<flyway.version>1.1.0</flyway.version> <flyway.version>1.2.0</flyway.version>
</properties> </properties>
<distributionManagement> <distributionManagement>

View File

@ -0,0 +1,321 @@
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioPassagensAGRBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
public class RelatorioPassagensAGR extends Relatorio {
private List<RelatorioPassagensAGRBean> lsDadosRelatorio;
public RelatorioPassagensAGR(Map<String, Object> parametros, Connection conexao) throws Exception {
super(parametros, conexao);
this.setCustomDataSource(new DataSource(this) {
@Override
public void initDados() throws Exception {
Connection conexao = this.relatorio.getConexao();
Map<String, Object> parametros = this.relatorio.getParametros();
String fecInicioVenda = null;
if (parametros.get("fecInicioVenda") != null) {
fecInicioVenda = parametros.get("fecInicioVenda") + " 00:00:00";
}
String fecFinalVenda = null;
if (parametros.get("fecFinalVenda") != null) {
fecFinalVenda = parametros.get("fecFinalVenda")+ " 23:59:59";
}
String fecInicioViagem = null;
if (parametros.get("fecInicioViagem") != null) {
fecInicioViagem = parametros.get("fecInicioViagem") + " 00:00:00";
}
String fecFinalViagem = null;
if (parametros.get("fecFinalViagem") != null) {
fecFinalViagem = parametros.get("fecFinalViagem") + " 23:59:59";
}
String tipGratuIds = parametros.get("tipGratuIds").toString();
String clienteIds = parametros.get("clienteIds").toString();
String linhaIds = parametros.get("linhaIds").toString();
String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : "";
String sql = getSql(fecInicioVenda, fecFinalVenda, linhaIds, tipGratuIds, clienteIds, empresa, fecInicioViagem, fecFinalViagem);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
if (fecInicioVenda != null) {
stmt.setTimestamp("fecInicioVenda", new java.sql.Timestamp(sdf.parse(fecInicioVenda).getTime()));
}
if (fecFinalVenda != null) {
stmt.setTimestamp("fecFinalVenda", new java.sql.Timestamp(sdf.parse(fecFinalVenda).getTime()));
}
if (fecInicioViagem != null) {
stmt.setTimestamp("fecInicioViagem", new java.sql.Timestamp(sdf.parse(fecInicioViagem).getTime()));
}
if (fecFinalViagem != null) {
stmt.setTimestamp("fecFinalViagem", new java.sql.Timestamp(sdf.parse(fecFinalViagem).getTime()));
}
if(empresa != null && !empresa.equals("")){
stmt.setInt("empresa_id", Integer.parseInt(empresa));
}
ResultSet rset = null;
rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioPassagensAGRBean>();
while (rset.next()) {
RelatorioPassagensAGRBean PassagensBean = new RelatorioPassagensAGRBean();
PassagensBean.setNumeroBilhete(rset.getString("numero_bilhete"));
PassagensBean.setRazaoSocial(capitalizeWords(rset.getString("razao_social")));
PassagensBean.setCnpj(rset.getString("cnpj"));
PassagensBean.setNumeroPassaporte(rset.getString("numero_passaporte"));
PassagensBean.setTipoDescontoBenefício(capitalizeWords(rset.getString("tipo_desconto_benefício")));
PassagensBean.setNomePassageiro(capitalizeWords(rset.getString("nome_passageiro")));
PassagensBean.setNumeroBilhete(rset.getString("numero_identidade"));
PassagensBean.setOrgaoExpedidor(rset.getString("orgao_expedidor"));
PassagensBean.setCpfPassageiro(rset.getString("cpf_passageiro"));
PassagensBean.setNumeroBilhete(rset.getString("numero_poltrona"));
PassagensBean.setDataViagem(getDataCompleta(rset.getString("data_viagem")));
PassagensBean.setMesViagem(getMesAno(rset.getString("data_viagem")));
PassagensBean.setHoraViagem(getHora(rset.getString("data_viagem")));
PassagensBean.setNumeroLinha(rset.getString("numero_linha"));
PassagensBean.setDenominacaoLinha(capitalizeWords(rset.getString("denominacao_linha")));
PassagensBean.setLocalOrigem(capitalizeWords(removerEstado(rset.getString("local_origem"))));
PassagensBean.setLocalDestino(capitalizeWords(removerEstado(rset.getString("local_destino"))));
PassagensBean.setValorPassagem(rset.getString("valor_passagem"));
PassagensBean.setChaveAcessoBPE(rset.getString("chave_acesso_bpe"));
PassagensBean.setImagemBPE(rset.getString("imagem_bpe"));
PassagensBean.setNaturezaServico(capitalizeWords(rset.getString("natureza_servico")));
lsDadosRelatorio.add(PassagensBean);
}
if (lsDadosRelatorio.size() > 0) {
setLsDadosRelatorio(lsDadosRelatorio);
}
}
});
}
public void setLsDadosRelatorio(List<RelatorioPassagensAGRBean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio;
}
public String getMesAno(String data) {
if(!data.isEmpty()) {
data = getData(data);
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date dateFormatada = null;
try {
dateFormatada = format.parse(data);
} catch (ParseException e) {
e.printStackTrace();
}
DateFormat outputFormat = new SimpleDateFormat("dd/MM");
String dataDiaMes = outputFormat.format(dateFormatada);
return dataDiaMes;
}
return "";
}
public static String removerEstado(String lugar) {
// Criando um array com as siglas dos estados
String[] estados = {"AC", "AL", "AP", "AM", "BA", "CE", "DF", "ES", "GO", "MA", "MT", "MS",
"MG", "PA", "PB", "PR", "PE", "PI", "RJ", "RN", "RS", "RO", "RR", "SC", "SP", "SE", "TO"};
if(lugar != null || !lugar.isEmpty()) {
// Percorrendo o array de estados
for (String estado : estados) {
// Verificando se a string contém a sigla do estado
if (lugar.contains(" - " + estado)) {
// Retornando a string sem a sigla do estado
return lugar.replace(" - " + estado, "");
}
if (lugar.endsWith(" " + estado)) {
// Retornando a string sem a sigla do estado
return lugar.replace(" " + estado, "");
}
}
}
// Se não encontrar nenhuma sigla de estado, retorna a string original
return lugar;
}
private String getData(String data) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(data, formatter);
String formattedDate = dateTime.format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss"));
return formattedDate;
}
private String getDataCompleta(String data) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(data, formatter);
String formattedDate = dateTime.format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));
return formattedDate;
}
public String getHora(String data) {
if(!data.isEmpty()) {
data = getData(data);
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date dateFormatada = null;
try {
dateFormatada = format.parse(data);
} catch (ParseException e) {
e.printStackTrace();
}
DateFormat outputFormat = new SimpleDateFormat("HH:mm");
String dataDiaMes = outputFormat.format(dateFormatada);
return dataDiaMes;
}
return "";
}
public static String capitalizeWords(String input) {
StringBuilder output = new StringBuilder();
boolean newWord = true;
if(input != null || !input.isEmpty()) {
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isLetter(c)) {
if (newWord) {
output.append(Character.toUpperCase(c));
newWord = false;
} else {
output.append(Character.toLowerCase(c));
}
} else {
output.append(c);
newWord = true;
}
}
}
return output.toString();
}
@Override
protected void processaParametros() throws Exception {
}
private String getSql(String fecInicioVenda, String fecFinalVenda, String linha, String tipoGratu, String cliente, String empresa, String fecInicioViagem, String fecFinalViagem ) {
StringBuilder sql = new StringBuilder(3400);
sql.append(" SELECT ");
sql.append(" b.numfoliosistema AS numero_bilhete, ");
sql.append(" e.nombempresa AS razao_social, ");
sql.append(" e.cnpj AS cnpj, ");
sql.append(" CASE ");
sql.append(" WHEN ((b.DESCNUMDOC IS NOT NULL OR c.NUMIDENTIFICAUNO IS NOT NULL) AND c.TIPOIDENTIFICAUNO_ID = 13) ");
sql.append(" THEN nvl(b.descnumdoc, c.numidentificauno) ");
sql.append(" WHEN ((b.descnumdoc2 IS NOT NULL OR c.NUMIDENTIFICADOS IS NOT NULL) AND c.TIPOIDENTIFICADOS_ID = 13) ");
sql.append(" THEN nvl(b.descnumdoc2, c.numidentificados) ");
sql.append(" ELSE '' ");
sql.append(" END AS numero_passaporte, ");
sql.append(" CASE ");
sql.append(" WHEN (b.categoria_id in (7)) ");
sql.append(" THEN 'Idoso' ");
sql.append(" WHEN (b.categoria_id in (5)) ");
sql.append(" THEN 'Defíciente' ");
sql.append(" ELSE '' ");
sql.append(" END AS tipo_desconto_benefício, ");
sql.append(" b.nombpasajero AS nome_passageiro, ");
sql.append(" CASE ");
sql.append(" WHEN ((b.DESCNUMDOC IS NOT NULL OR c.NUMIDENTIFICAUNO IS NOT NULL) AND c.TIPOIDENTIFICAUNO_ID = 1) ");
sql.append(" THEN nvl(b.descnumdoc, c.numidentificauno) ");
sql.append(" ELSE '' ");
sql.append(" END AS numero_identidade, ");
sql.append(" '' AS orgao_expedidor, ");
sql.append(" CASE ");
sql.append(" WHEN ((b.DESCNUMDOC IS NOT NULL OR c.NUMIDENTIFICAUNO IS NOT NULL) AND c.TIPOIDENTIFICAUNO_ID = 2) ");
sql.append(" THEN nvl(b.descnumdoc, c.numidentificauno) ");
sql.append(" ELSE '' ");
sql.append(" END AS cpf_passageiro, ");
sql.append(" b.numasiento AS numero_poltrona, ");
sql.append(" nvl(b.fechorviaje, '') AS data_viagem, ");
sql.append(" r.prefixo AS numero_linha, ");
sql.append(" r.descruta AS denominacao_linha, ");
sql.append(" ori.descparada AS local_origem, ");
sql.append(" des.descparada AS local_destino, ");
sql.append(" b.preciobase AS valor_passagem, ");
sql.append(" bpe.chbpe AS chave_acesso_bpe, ");
sql.append(" bpe.url_consulta AS imagem_bpe, ");
sql.append(" cs.descclase AS natureza_servico ");
sql.append("FROM ");
sql.append(" boleto b ");
sql.append(" LEFT JOIN BPE bpe ON (bpe.boleto_id = b.boleto_id AND bpe.activo = 1) ");
sql.append(" LEFT JOIN empresa e ON (e.empresa_id = b.empresacorrida_id) ");
sql.append(" LEFT JOIN parada ori ON (ori.parada_id = b.origen_id) ");
sql.append(" LEFT JOIN parada des ON (des.parada_id = b.destino_id) ");
sql.append(" LEFT JOIN ruta r ON (r.ruta_id = b.ruta_id) ");
sql.append(" LEFT JOIN clase_servicio cs ON (r.claseservicio_id = cs.claseservicio_id and cs.activo = 1) ");
sql.append(" LEFT JOIN cliente c ON (c.cliente_id = b.cliente_id ");
sql.append(" AND c.activo = 1) ");
sql.append("WHERE ");
sql.append(" ( b.motivocancelacion_id NOT IN ( 4 ) ");
sql.append(" OR b.motivocancelacion_id IS NULL ) ");
sql.append(" AND b.categoria_id in (5,7) ");
sql.append(" AND r.orgaoconcedente_id = 16 ");
if( fecInicioVenda != null && fecFinalVenda !=null ){
sql.append(" AND b.fechorventa BETWEEN :fecInicioVenda AND :fecFinalVenda ");
}
if( fecInicioViagem != null && fecFinalViagem !=null ){
sql.append(" AND b.fechorviaje BETWEEN :fecInicioViagem AND :fecFinalViagem ");
}
if (!empresa.isEmpty()){
sql.append("AND b.empresacorrida_id =:empresa_id ");
}
if (linha != null && !linha.equals("Todas")) {
sql.append(" AND b.ruta_id in (").append(linha).append(") ");
}
sql.append(" ORDER BY ");
sql.append(" b.fechorviaje, ");
sql.append(" ori.descparada, ");
sql.append(" des.descparada, ");
sql.append(" b.nombpasajero ");
return sql.toString();
}
}

View File

@ -29,7 +29,7 @@ public class RelatorioTabelaPreco extends Relatorio {
this.setCustomDataSource(new ArrayDataSource(this) { this.setCustomDataSource(new ArrayDataSource(this) {
@Override @Override
public void initDados() throws Exception { public void initDados() throws Exception {
Connection conexao = this.relatorio.getConexao(); Connection conexao = this.relatorio.getConexao();
NamedParameterStatement stmt = new NamedParameterStatement(conexao, getSql()); NamedParameterStatement stmt = new NamedParameterStatement(conexao, getSql());

View File

@ -0,0 +1,39 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
msg.a=à
#Labels header
header.periodo=Período:
header.data.hora=Data/Hora\:
header.pagina=Página\:
header.filtro=Filtro\:
header.filtro.servico=Serviço\:
header.filtro.linha=Linha\:
header.filtro.grupo=Grupo de Linhas\:
header.empresa=Empresa\:
header.periodo.viagem=Período Viagem
header.periodo.venda=Período Venda
header.tipopassagem=Tipo Passagem\:
#Labels label
label.bilhete=numero_bilhete
label.empresa=razao_social
label.cnpj=cnpj
label.pass=numero_passaporte
label.tipoDesconto=tipo_desconto_benefício
label.passageiro=nome_passageiro
label.identidade=numero_identidade
label.orgaoex=orgao_expedidor
label.cpf=cpf_passageiro
label.poltrona=cpf_passageiro
label.dataViagem=data_viagem
label.mesRef=mes_ano_referencia
label.hora=horario_viagem
label.numeroLinha=numero_linha
label.descLinha=denominacao_linha
label.origem=local_origem
label.destino=local_destino
label.tarifa=valor_passagem
label.cheBPE=chave_acesso_bpe
label.linkBPE=imagem_bpe
label.tipoServico=natureza_servico

View File

@ -0,0 +1,39 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
msg.a=à
#Labels header
header.periodo=Período:
header.data.hora=Data/Hora\:
header.pagina=Página\:
header.filtro=Filtro\:
header.filtro.servico=Serviço\:
header.filtro.linha=Linha\:
header.filtro.grupo=Grupo de Linhas\:
header.empresa=Empresa\:
header.periodo.viagem=Período Viagem
header.periodo.venda=Período Venda
header.tipopassagem=Tipo Passagem\:
#Labels label
label.bilhete=numero_bilhete
label.empresa=razao_social
label.cnpj=cnpj
label.pass=numero_passaporte
label.tipoDesconto=tipo_desconto_benefício
label.passageiro=nome_passageiro
label.identidade=numero_identidade
label.orgaoex=orgao_expedidor
label.cpf=cpf_passageiro
label.poltrona=cpf_passageiro
label.dataViagem=data_viagem
label.mesRef=mes_ano_referencia
label.hora=horario_viagem
label.numeroLinha=numero_linha
label.descLinha=denominacao_linha
label.origem=local_origem
label.destino=local_destino
label.tarifa=valor_passagem
label.cheBPE=chave_acesso_bpe
label.linkBPE=imagem_bpe
label.tipoServico=natureza_servico

View File

@ -0,0 +1,538 @@
<?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="RelatorioPassagensAGR" pageWidth="2100" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="2080" leftMargin="10" rightMargin="10" topMargin="20" bottomMargin="20" resourceBundle="RelatorioEmpresaCorrida" whenResourceMissingType="Empty" uuid="94834362-0ecc-46da-b0a2-5cdee355da3e">
<property name="ireport.zoom" value="1.0263162364614198"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.2" value="columnHeader"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<style name="Crosstab Data Text" hAlign="Center"/>
<parameter name="USUARIO_ID" class="java.lang.String"/>
<parameter name="linhas" class="java.lang.String"/>
<parameter name="TITULO" class="java.lang.String"/>
<parameter name="fecInicioVenda" class="java.lang.String"/>
<parameter name="fecFinalVenda" class="java.lang.String"/>
<parameter name="fecInicioViagem" class="java.lang.String"/>
<parameter name="fecFinalViagem" class="java.lang.String"/>
<parameter name="nomb_empresa" class="java.lang.String"/>
<parameter name="tipGratu" class="java.lang.String"/>
<queryString>
<![CDATA[]]>
</queryString>
<field name="numeroBilhete" class="java.lang.String"/>
<field name="razaoSocial" class="java.lang.String"/>
<field name="cnpj" class="java.lang.String"/>
<field name="numeroPassaporte" class="java.lang.String"/>
<field name="tipoDescontoBenefício" class="java.lang.String"/>
<field name="nomePassageiro" class="java.lang.String"/>
<field name="numeroIdentidade" class="java.lang.String"/>
<field name="orgaoExpedidor" class="java.lang.String"/>
<field name="cpfPassageiro" class="java.lang.String"/>
<field name="numeroPoltrona" class="java.lang.String"/>
<field name="dataViagem" class="java.lang.String"/>
<field name="mesViagem" class="java.lang.String"/>
<field name="horaViagem" class="java.lang.String"/>
<field name="numeroLinha" class="java.lang.String"/>
<field name="denominacaoLinha" class="java.lang.String"/>
<field name="localOrigem" class="java.lang.String"/>
<field name="localDestino" class="java.lang.String"/>
<field name="valorPassagem" class="java.lang.String"/>
<field name="chaveAcessoBPE" class="java.lang.String"/>
<field name="imagemBPE" class="java.lang.String"/>
<field name="naturezaServico" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<pageHeader>
<band height="117">
<textField>
<reportElement uuid="652312bd-292a-424d-a234-5f157e3699c6" x="0" y="0" width="1072" height="37"/>
<textElement>
<font size="22" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{TITULO}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="66b2d0f6-2bf1-4bc7-9ec0-a34444e04d60" x="1772" y="0" width="106" height="37"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.data.hora}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="8ca68351-fc00-4f19-b94f-f2fd1f41964f" x="1950" y="37" width="30" height="20"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="be1692e9-f130-4d08-9173-6ca3e4699030" x="1878" y="37" width="39" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.pagina}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm">
<reportElement uuid="6f671365-868e-41a6-81ee-a308d1d91e1d" x="1878" y="0" width="102" height="37"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="7548d623-fb6c-48d4-b8b7-504f5437a79a" x="1917" y="37" width="33" height="20"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}+" de"]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="a79c03e0-bbe4-4b1c-8297-533a0d137b27" x="0" y="37" width="82" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.periodo.venda}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="b31b00a3-1ced-4f9c-acb7-470646f7b335" x="82" y="37" width="1096" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[( $P{fecInicioVenda} != null ? ($P{fecInicioVenda} + " à " + $P{fecFinalVenda}) :
(
$P{fecInicioViagem} != null ? ($P{fecInicioViagem} + " à " + $P{fecFinalViagem}) : ""
)
)]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="31b4831f-a97b-44a1-a30f-ba93c667fa81" x="82" y="57" width="1198" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<textFieldExpression><![CDATA[$P{nomb_empresa}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="2226c319-6b38-446a-ba1f-22821d110257" x="0" y="57" width="82" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.empresa}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="c9e03941-ee3e-48a7-89b1-8d54a16967b8" x="82" y="77" width="898" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<textFieldExpression><![CDATA[$P{linhas}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="3ba8d3a4-fbf1-463f-adf1-84be528e61e1" x="0" y="77" width="82" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.filtro.linha}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<columnHeader>
<band height="19" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="b9d87989-7174-4d57-87c8-260317d00817" stretchType="RelativeToTallestObject" x="0" y="1" width="51" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.bilhete}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="733d6335-4157-4f11-942c-ac07cb84e4ee" stretchType="RelativeToTallestObject" x="51" y="1" width="82" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.empresa}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="f4f48145-4703-4bf6-a515-303f003fed45" stretchType="RelativeToTallestObject" x="133" y="1" width="96" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.cnpj}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="55e35924-bdca-4847-9d65-70636e6764e0" stretchType="RelativeToTallestObject" x="229" y="1" width="82" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.pass}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="6842ca84-94d5-4647-a27d-67eb15769a30" stretchType="RelativeToTallestObject" x="311" y="1" width="60" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.tipoDesconto}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="ad5fa3ec-bf04-4f90-b1e2-e6286e996db5" stretchType="RelativeToTallestObject" x="371" y="1" width="157" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.passageiro}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="1ce96e1e-6a74-457f-a94e-f125e6789b5f" stretchType="RelativeToTallestObject" x="528" y="1" width="82" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.identidade}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="10cfa628-fe54-4567-ba57-2dc770de4568" stretchType="RelativeToTallestObject" x="610" y="1" width="46" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.orgaoex}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="c5196bc2-ae4a-43e6-8d0a-7ae30f360cbc" stretchType="RelativeToTallestObject" x="656" y="1" width="74" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.cpf}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="27d8de9b-3ef1-488e-b473-e91e5d261d92" stretchType="RelativeToTallestObject" x="730" y="1" width="52" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.poltrona}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="e72cc574-0cca-4d13-8d2c-9ac11bfc0723" stretchType="RelativeToTallestObject" x="782" y="1" width="70" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.dataViagem}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="872bf5ea-6f42-485b-8ed5-e5fa2e2437cb" stretchType="RelativeToTallestObject" x="852" y="1" width="56" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.mesRef}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="4e4d7a4b-d41d-4406-a9da-bf2590053065" stretchType="RelativeToTallestObject" x="908" y="1" width="32" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.hora}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="f07f2ed2-1f1d-4654-8536-8144d37c4b34" stretchType="RelativeToTallestObject" x="940" y="1" width="49" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.numeroLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="53300913-5f47-4432-9413-873b70b9fbd2" stretchType="RelativeToTallestObject" x="989" y="1" width="215" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.descLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="85c570e4-4adf-4e7f-b263-80bf61df2c33" stretchType="RelativeToTallestObject" x="1204" y="1" width="108" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.origem}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="6d0586f0-fd1c-4f0a-9be4-a157e3bf3ef5" stretchType="RelativeToTallestObject" x="1312" y="1" width="108" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.destino}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="204904c6-9fa8-4b15-a04b-b3a85f2d427d" stretchType="RelativeToTallestObject" x="1420" y="1" width="37" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.tarifa}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="5b601cad-b078-4811-b52b-7dae46acaa73" stretchType="RelativeToTallestObject" x="1457" y="1" width="245" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.cheBPE}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="ad041461-a26e-4ece-93be-37ebaf7975f5" stretchType="RelativeToTallestObject" x="1702" y="1" width="252" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.linkBPE}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="dd3c59e4-9407-4663-a75a-df63d7921a80" stretchType="RelativeToTallestObject" x="1954" y="1" width="125" height="17"/>
<box rightPadding="1">
<topPen lineWidth="0.75"/>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{label.tipoServico}]]></textFieldExpression>
</textField>
</band>
</columnHeader>
<detail>
<band height="20" splitType="Prevent">
<textField isStretchWithOverflow="true" pattern="dd/MM/yyyy" isBlankWhenNull="true">
<reportElement uuid="c07e35a0-e3b1-4fa1-aeff-a8a756c359ae" stretchType="RelativeToTallestObject" mode="Opaque" x="0" y="2" width="51" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<leftPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{numeroBilhete}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="05bc4824-542c-4ab7-90a7-f05559c0d840" stretchType="RelativeToTallestObject" x="51" y="2" width="82" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{razaoSocial}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement uuid="f9ded253-cf7f-4541-bf3e-ae74cc569a6e" stretchType="RelativeToTallestObject" x="229" y="2" width="82" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{numeroPassaporte}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement uuid="82cfcbd9-ad4a-47e8-a166-e0a48c207387" stretchType="RelativeToTallestObject" x="311" y="2" width="60" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{tipoDescontoBenefício}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="ba84d11d-f63a-4fa5-9ac2-46488f040cdd" stretchType="RelativeToTallestObject" x="528" y="2" width="82" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{numeroIdentidade}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="7857f717-5cea-480f-9d45-b3c49cb365c3" stretchType="RelativeToTallestObject" x="610" y="2" width="46" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{orgaoExpedidor}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="\d{3}\.\d{3}\.\d{3}\.\d{3}-\d{2}" isBlankWhenNull="true">
<reportElement uuid="605eb35e-1733-4007-a03a-fac5578a7348" stretchType="RelativeToTallestObject" x="656" y="2" width="74" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{cpfPassageiro}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="789e30d0-e90e-402c-b21f-6ed3742dd9f3" stretchType="RelativeToTallestObject" x="730" y="2" width="53" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{numeroPoltrona}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="HH:mm" isBlankWhenNull="true">
<reportElement uuid="ab7a3319-6e43-4ed9-bb0e-114f3d072da8" stretchType="RelativeToTallestObject" x="371" y="2" width="157" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{nomePassageiro}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="49849cc3-f811-4d5f-8740-2212c8009817" stretchType="RelativeToTallestObject" x="783" y="2" width="69" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{dataViagem}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="a409764d-c006-44f0-851f-4acc88495a01" stretchType="RelativeToTallestObject" x="852" y="2" width="56" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{mesViagem}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="320e867c-2d82-4c6f-8da7-5577b7a52e0c" stretchType="RelativeToTallestObject" x="940" y="2" width="48" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{numeroLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="183b2db5-e38f-4130-b7f7-6b7b2eb0669e" stretchType="RelativeToTallestObject" x="988" y="2" width="216" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{denominacaoLinha}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="7c4b5948-eefc-4eee-8bc0-8f0f62f4604b" stretchType="RelativeToTallestObject" x="1204" y="2" width="108" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{localOrigem}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement uuid="c0c66fda-869e-4a8b-a75c-f1de26eb59a6" stretchType="RelativeToTallestObject" x="1420" y="2" width="37" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{valorPassagem}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="cd1752b3-645e-4992-b82e-c14cf053cdac" stretchType="RelativeToTallestObject" x="1457" y="2" width="245" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{chaveAcessoBPE}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="##.###.###/####-##" isBlankWhenNull="true">
<reportElement uuid="954eff55-812a-4764-a698-799e9f17a77c" stretchType="RelativeToTallestObject" x="133" y="2" width="96" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{cnpj}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="47fc67e3-9be4-4b46-806c-b323a3519fb5" stretchType="RelativeToTallestObject" x="1702" y="2" width="252" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{imagemBPE}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
<reportElement uuid="d1e8c204-ecb6-405c-9dba-ffec205bfbf6" stretchType="RelativeToTallestObject" x="1954" y="2" width="125" height="17"/>
<box rightPadding="1">
<bottomPen lineWidth="0.75"/>
<rightPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{naturezaServico}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="87105f63-249f-4f36-b1d1-4f0717e55749" stretchType="RelativeToTallestObject" x="1312" y="2" width="108" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{localDestino}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="956dfc53-e3c1-4d80-82e0-163ea178db23" stretchType="RelativeToTallestObject" x="908" y="2" width="32" height="17" isPrintWhenDetailOverflows="true"/>
<box>
<bottomPen lineWidth="0.75"/>
</box>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{horaViagem}]]></textFieldExpression>
</textField>
</band>
</detail>
<summary>
<band/>
</summary>
<noData>
<band height="20">
<textField>
<reportElement uuid="5a6c1b7b-2242-4cf1-b957-723b906ee620" x="0" y="0" width="1132" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{msg.noData}]]></textFieldExpression>
</textField>
</band>
</noData>
</jasperReport>

View File

@ -0,0 +1,156 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
public class RelatorioPassagensAGRBean {
private String numeroBilhete;
private String razaoSocial;
private String cnpj;
private String numeroPassaporte;
private String tipoDescontoBenefício;
private String nomePassageiro;
private String numeroIdentidade;
private String orgaoExpedidor;
private String cpfPassageiro;
private String numeroPoltrona;
private String dataViagem;
private String mesViagem;
private String horaViagem;
private String numeroLinha;
private String denominacaoLinha;
private String localOrigem;
private String localDestino;
private String valorPassagem;
private String chaveAcessoBPE;
private String imagemBPE;
private String naturezaServico;
public String getNumeroBilhete() {
return numeroBilhete;
}
public void setNumeroBilhete(String numeroBilhete) {
this.numeroBilhete = numeroBilhete;
}
public String getRazaoSocial() {
return razaoSocial;
}
public void setRazaoSocial(String razaoSocial) {
this.razaoSocial = razaoSocial;
}
public String getCnpj() {
return cnpj;
}
public void setCnpj(String cnpj) {
this.cnpj = cnpj;
}
public String getNumeroPassaporte() {
return numeroPassaporte;
}
public void setNumeroPassaporte(String numeroPassaporte) {
this.numeroPassaporte = numeroPassaporte;
}
public String getTipoDescontoBenefício() {
return tipoDescontoBenefício;
}
public void setTipoDescontoBenefício(String tipoDescontoBenefício) {
this.tipoDescontoBenefício = tipoDescontoBenefício;
}
public String getNomePassageiro() {
return nomePassageiro;
}
public void setNomePassageiro(String nomePassageiro) {
this.nomePassageiro = nomePassageiro;
}
public String getNumeroIdentidade() {
return numeroIdentidade;
}
public void setNumeroIdentidade(String numeroIdentidade) {
this.numeroIdentidade = numeroIdentidade;
}
public String getOrgaoExpedidor() {
return orgaoExpedidor;
}
public void setOrgaoExpedidor(String orgaoExpedidor) {
this.orgaoExpedidor = orgaoExpedidor;
}
public String getCpfPassageiro() {
return cpfPassageiro;
}
public void setCpfPassageiro(String cpfPassageiro) {
this.cpfPassageiro = cpfPassageiro;
}
public String getNumeroPoltrona() {
return numeroPoltrona;
}
public void setNumeroPoltrona(String numeroPoltrona) {
this.numeroPoltrona = numeroPoltrona;
}
public String getDataViagem() {
return dataViagem;
}
public void setDataViagem(String dataViagem) {
this.dataViagem = dataViagem;
}
public String getMesViagem() {
return mesViagem;
}
public void setMesViagem(String mesViagem) {
this.mesViagem = mesViagem;
}
public String getHoraViagem() {
return horaViagem;
}
public void setHoraViagem(String horaViagem) {
this.horaViagem = horaViagem;
}
public String getNumeroLinha() {
return numeroLinha;
}
public void setNumeroLinha(String numeroLinha) {
this.numeroLinha = numeroLinha;
}
public String getDenominacaoLinha() {
return denominacaoLinha;
}
public void setDenominacaoLinha(String denominacaoLinha) {
this.denominacaoLinha = denominacaoLinha;
}
public String getLocalOrigem() {
return localOrigem;
}
public void setLocalOrigem(String localOrigem) {
this.localOrigem = localOrigem;
}
public String getLocalDestino() {
return localDestino;
}
public void setLocalDestino(String localDestino) {
this.localDestino = localDestino;
}
public String getValorPassagem() {
return valorPassagem;
}
public void setValorPassagem(String valorPassagem) {
this.valorPassagem = valorPassagem;
}
public String getChaveAcessoBPE() {
return chaveAcessoBPE;
}
public void setChaveAcessoBPE(String chaveAcessoBPE) {
this.chaveAcessoBPE = chaveAcessoBPE;
}
public String getImagemBPE() {
return imagemBPE;
}
public void setImagemBPE(String imagemBPE) {
this.imagemBPE = imagemBPE;
}
public String getNaturezaServico() {
return naturezaServico;
}
public void setNaturezaServico(String naturezaServico) {
this.naturezaServico = naturezaServico;
}
}

View File

@ -0,0 +1,390 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Paging;
import org.zkoss.zul.Radiogroup;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.Categoria;
import com.rjconsultores.ventaboletos.entidad.Cliente;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioPassagensAGR;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.service.CategoriaService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderClienteSimples;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioLinhaHorario;
import com.trg.search.Filter;
@Controller("relatorioPassagensAGRController")
@Scope("prototype")
public class RelatorioPassagensAGRController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
@Autowired
private DataSource dataSourceRead;
@Autowired
private CategoriaService categoriaService;
@Autowired
private EmpresaService empresaService;
@Autowired
private RutaService rutaService;
@Autowired
private transient PagedListWrapper<Cliente> plwCliente;
private MyTextbox txtCliente;
private Paging pagingCliente;
private MyListbox clienteList;
private MyListbox clienteSelList;
private Datebox datInicialVenda;
private Datebox datFinalVenda;
private Datebox datInicialViagem;
private Datebox datFinalViagem;
private MyComboboxEstandar cmbEmpresa;
private MyComboboxEstandar cmbTipoGratuidade;
private Radiogroup rgLayout;
private List<Categoria> lsCategorias;
private List<Empresa> lsEmpresas;
private Textbox txtPalavraPesquisaLinha;
private MyListbox linhaList;
private MyListbox linhaListSelList;
private MyListbox selectedTipoGratuidadeList;
private List<Categoria> listSelectedTipoGratuidade;
public void onClick$btnRemoveTipoGratuidade(Event ev) throws InterruptedException {
Categoria categoria = (Categoria) selectedTipoGratuidadeList.getSelectedItem().getValue();
listSelectedTipoGratuidade.remove(categoria);
selectedTipoGratuidadeList.setData(listSelectedTipoGratuidade);
}
public void onClick$btnAddTipoTipoGratuidade(Event ev) throws InterruptedException {
if (cmbTipoGratuidade.getSelectedItem() != null) {
listSelectedTipoGratuidade.add((Categoria) cmbTipoGratuidade.getSelectedItem().getValue());
selectedTipoGratuidadeList.setData(listSelectedTipoGratuidade);
selectedTipoGratuidadeList.setSelectedItem(null);
}
}
public void onClick$btnPesquisaLinha(Event ev) {
executarPesquisaLinha();
}
public void onClick$btnLimparLinha(Event ev) {
linhaList.clearSelection();
linhaListSelList.setData(new ArrayList<Ruta>());
linhaList.setItemRenderer(new RenderRelatorioLinhaHorario());
linhaListSelList.setItemRenderer(new RenderRelatorioLinhaHorario());
}
public void onDoubleClick$linhaList(Event ev) {
linhaListSelList.addItemNovo(linhaList.getSelected());
}
private void executarPesquisaLinha() {
String palavraPesquisaRuta = txtPalavraPesquisaLinha.getText();
linhaList.setData(rutaService.buscaRuta(palavraPesquisaRuta));
if (linhaList.getData().length == 0) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("relatorioLinhasHorarioController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
}
}
}
private void executarRelatorio() throws Exception {
Map<String, Object> parametros = new HashMap<String, Object>();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
if (this.datInicialVenda.getValue() != null) {
parametros.put("fecInicioVenda", sdf.format(this.datInicialVenda.getValue()));
}
if (this.datFinalVenda.getValue() != null) {
parametros.put("fecFinalVenda", sdf.format(this.datFinalVenda.getValue()));
}
if (this.datInicialViagem.getValue() != null) {
parametros.put("fecInicioViagem", sdf.format(this.datInicialViagem.getValue()));
}
if (this.datFinalViagem.getValue() != null) {
parametros.put("fecFinalViagem", sdf.format(this.datFinalViagem.getValue()));
}
if ( (parametros.get("fecInicioVenda") == null && parametros.get("fecFinalVenda") == null) &&
(parametros.get("fecInicioViagem") == null && parametros.get("fecFinalViagem") == null)) {
Messagebox.show(Labels.getLabel("relatorioPassagensAGRController.data.obrigatoria"),
Labels.getLabel("relatorioGratuidadeController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return;
}
StringBuilder tipGratu = new StringBuilder();
StringBuilder tipGratuIds = new StringBuilder();
if (selectedTipoGratuidadeList == null || selectedTipoGratuidadeList.getListData().isEmpty()) {
tipGratu.append("Todas;");
tipGratuIds.append("Todas;");
} else {
for (Categoria categoria : listSelectedTipoGratuidade) {
tipGratu.append(categoria.getDesccategoria()).append(",");
tipGratuIds.append(categoria.getCategoriaId()).append(",");
}
}
// removendo ultima virgula
tipGratuIds = tipGratuIds.delete(tipGratuIds.length() -1, tipGratuIds.length());
tipGratu = tipGratu.delete(tipGratu.length() -1, tipGratu.length());
parametros.put("tipGratu", tipGratu.append(";").toString());
parametros.put("tipGratuIds", tipGratuIds.toString());
StringBuilder linhas = new StringBuilder();
StringBuilder linhaIds = new StringBuilder();
if (linhaListSelList.getListData().isEmpty()) {
linhas.append("Todas");
linhaIds.append("Todas");
} else {
for (Object obj : linhaListSelList.getListData()) {
Ruta ruta = (Ruta)obj;
linhas.append(ruta.getDescruta()).append(",");
linhaIds.append(ruta.getRutaId()).append(",");
}
// removendo ultima virgula
linhaIds = linhaIds.delete(linhaIds.length() -1, linhaIds.length());
linhas = linhas.delete(linhas.length() -1, linhas.length());
}
parametros.put("linhas", linhas.append(";").toString());
parametros.put("linhaIds", linhaIds.toString());
StringBuilder clientes = new StringBuilder();
StringBuilder clienteIds = new StringBuilder();
if (clienteSelList == null || clienteSelList.getListData().isEmpty()) {
clientes.append("Todas");
clienteIds.append("Todas");
} else {
for (Object obj : clienteSelList.getListData()) {
Cliente cliente = (Cliente)obj;
clientes.append(cliente.getNumIdentificaUno()).append(",");
clienteIds.append(cliente.getClienteId()).append(",");
}
// removendo ultima virgula
clienteIds = clienteIds.delete(clienteIds.length() -1, clienteIds.length());
clientes = clientes.delete(clientes.length() -1, clientes.length());
}
parametros.put("clientes", clientes.append(";").toString());
parametros.put("clienteIds", clienteIds.toString());
if (cmbEmpresa.getSelectedIndex() != -1) {
parametros.put("empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getEmpresaId());
parametros.put("nomb_empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getNombempresa());
}else{
parametros.put("nomb_empresa", "Todas" );
}
Relatorio relatorio;
relatorio = new RelatorioPassagensAGR(parametros, dataSourceRead.getConnection());
parametros.put("TITULO", Labels.getLabel("relatorioPassagensAGRController.window.title"));
Map<String, Object> args = new HashMap<String, Object>();
args.put("relatorio", relatorio);
openWindow("/component/reportView.zul",
Labels.getLabel("relatorioPassagensAGRController.window.title"), args, MODAL);
}
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
executarRelatorio();
}
private void executarPesquisaCliente() {
HibernateSearchObject<Cliente> clienteBusqueda =
new HibernateSearchObject<Cliente>(Cliente.class, pagingCliente.getPageSize());
if(txtCliente.getValue() != null && !txtCliente.getValue().equals("") ){
Filter filterNome = new Filter("nombcliente", txtCliente.getValue() + "%", Filter.OP_ILIKE);
Filter filterCpf = new Filter("numIdentificaUno", txtCliente.getValue() + "%", Filter.OP_ILIKE);
Filter filterCpf2 = new Filter("numIdentificaDos", txtCliente.getValue() + "%", Filter.OP_ILIKE);
clienteBusqueda.addFilterOr( filterNome, filterCpf, filterCpf2 );
clienteBusqueda.addFilterEqual("activo", Boolean.TRUE);
clienteBusqueda.addSortAsc("nombcliente");
}
plwCliente.init(clienteBusqueda, clienteList, pagingCliente);
if (clienteList.getData().length == 0) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("carteirinhaController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public void onClick$btnPesquisaCliente(Event ev) {
executarPesquisaCliente();
}
public void onDoubleClick$clienteList(Event ev) {
Cliente cliente = (Cliente) clienteList.getSelected();
clienteSelList.addItemNovo(cliente);
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
lsEmpresas = empresaService.obtenerTodos();
lsCategorias = categoriaService.obtenerTodos();
listSelectedTipoGratuidade = new ArrayList<Categoria>();
linhaList.setItemRenderer(new RenderRelatorioLinhaHorario());
linhaListSelList.setItemRenderer(new RenderRelatorioLinhaHorario());
}
public List<Categoria> getLsCategorias() {
return lsCategorias;
}
public void setLsCategorias(List<Categoria> lsCategorias) {
this.lsCategorias = lsCategorias;
}
public Datebox getDatInicialVenda() {
return datInicialVenda;
}
public void setDatInicialVenda(Datebox datInicialVenda) {
this.datInicialVenda = datInicialVenda;
}
public Datebox getDatFinalVenda() {
return datFinalVenda;
}
public void setDatFinalVenda(Datebox datFinalVenda) {
this.datFinalVenda = datFinalVenda;
}
public MyComboboxEstandar getCmbTipoGratuidade() {
return cmbTipoGratuidade;
}
public void setCmbTipoGratuidade(MyComboboxEstandar cmbTipoGratuidade) {
this.cmbTipoGratuidade = cmbTipoGratuidade;
}
public MyListbox getLinhaListSelList() {
return linhaListSelList;
}
public void setLinhaListSelList(MyListbox linhaListSelList) {
this.linhaListSelList = linhaListSelList;
}
public Textbox getTxtPalavraPesquisaLinha() {
return txtPalavraPesquisaLinha;
}
public void setTxtPalavraPesquisaLinha(Textbox txtPalavraPesquisaLinha) {
this.txtPalavraPesquisaLinha = txtPalavraPesquisaLinha;
}
public List<Empresa> getLsEmpresas() {
return lsEmpresas;
}
public void setLsEmpresas(List<Empresa> lsEmpresas) {
this.lsEmpresas = lsEmpresas;
}
public Datebox getDatInicialViagem() {
return datInicialViagem;
}
public void setDatInicialViagem(Datebox datInicialViagem) {
this.datInicialViagem = datInicialViagem;
}
public Datebox getDatFinalViagem() {
return datFinalViagem;
}
public void setDatFinalViagem(Datebox datFinalViagem) {
this.datFinalViagem = datFinalViagem;
}
public Radiogroup getRgLayout() {
return rgLayout;
}
public void setRgLayout(Radiogroup rgLayout) {
this.rgLayout = rgLayout;
}
public Paging getPagingCliente() {
return pagingCliente;
}
public void setPagingCliente(Paging pagingCliente) {
this.pagingCliente = pagingCliente;
}
public MyListbox getSelectedTipoGratuidadeList() {
return selectedTipoGratuidadeList;
}
public void setSelectedTipoGratuidadeList(MyListbox selectedTipoGratuidadeList) {
this.selectedTipoGratuidadeList = selectedTipoGratuidadeList;
}
public List<Categoria> getListSelectedTipoGratuidade() {
return listSelectedTipoGratuidade;
}
public void setListSelectedTipoGratuidade(List<Categoria> listSelectedTipoGratuidade) {
this.listSelectedTipoGratuidade = listSelectedTipoGratuidade;
}
}

View File

@ -0,0 +1,16 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.estatisticos;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class SubMenuRelatorioAGR extends DefaultItemMenuSistema {
public SubMenuRelatorioAGR() {
super("indexController.mnSubMenuAGR.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS";
}
}

View File

@ -0,0 +1,25 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuRelatorioPassagensAGR extends DefaultItemMenuSistema {
public ItemMenuRelatorioPassagensAGR() {
super("indexController.mniRelatorioPassagensAGR.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOPASSAGENSAGR";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioPassagensAGR.zul",
Labels.getLabel("relatorioPassagensAGRController.window.title"), getArgs() ,desktop);
}
}

View File

@ -192,7 +192,9 @@ analitico.gerenciais.estatisticos.passageirosViajar=com.rjconsultores.ventabolet
analitico.gerenciais.estatisticos.origemDestino=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioOrigemDestino analitico.gerenciais.estatisticos.origemDestino=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioOrigemDestino
analitico.gerenciais.estatisticos.relatorioCorridas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCorridas analitico.gerenciais.estatisticos.relatorioCorridas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCorridas
analitico.gerenciais.estatisticos.gratuidades=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeANTT analitico.gerenciais.estatisticos.gratuidades=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeANTT
analitico.gerenciais.estatisticos.gratuidadeAGR=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeAGR analitico.gerenciais.estatisticos.AGR=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.estatisticos.SubMenuRelatorioAGR
analitico.gerenciais.estatisticos.AGR.gratuidadeAGR=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeAGR
analitico.gerenciais.estatisticos.AGR.passagensAGR=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioPassagensAGR
analitico.gerenciais.estatisticos.gratuidadeARTESP=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeARTESP analitico.gerenciais.estatisticos.gratuidadeARTESP=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeARTESP
analitico.gerenciais.estatisticos.AGER=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.estatisticos.SubMenuRelatorioAGER analitico.gerenciais.estatisticos.AGER=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.estatisticos.SubMenuRelatorioAGER
analitico.gerenciais.estatisticos.AGER.gratuidadeAGER=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeAGER analitico.gerenciais.estatisticos.AGER.gratuidadeAGER=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeAGER

View File

@ -346,6 +346,7 @@ indexController.mniRelatorioEncerramentoCheckin.label = Encerramento do Checkin
indexController.mniRelatorioGratuidade.label = Relatório Tipo Passagem indexController.mniRelatorioGratuidade.label = Relatório Tipo Passagem
indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT
indexController.mniRelatorioGratuidadeAGR.label = Relatório Gratuidades AGR indexController.mniRelatorioGratuidadeAGR.label = Relatório Gratuidades AGR
indexController.mniRelatorioPassagensAGR.label = AGR Tickets Report
indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP
indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER
indexController.mniRelatorioPassagensAGER.label = Relatório Passagens AGER indexController.mniRelatorioPassagensAGER.label = Relatório Passagens AGER
@ -8150,6 +8151,7 @@ relatorioGratuidadeANTTController.lvVenda = Venda
relatorioGratuidadeANTTController.lbOrgao.value = Orgão Concedente relatorioGratuidadeANTTController.lbOrgao.value = Orgão Concedente
# Relatório Gratuidade AGR # Relatório Gratuidade AGR
indexController.mnSubMenuAGR.label=Report AGR
relatorioGratuidadeAGRController.window.title = Gratuidades AGR relatorioGratuidadeAGRController.window.title = Gratuidades AGR
relatorioGratuidadeAGRController.data.obrigatoria = Data inicial e Final são obrigatórias relatorioGratuidadeAGRController.data.obrigatoria = Data inicial e Final são obrigatórias
relatorioGratuidadeAGRController.tipo.obrigatoria = Tipo de passagens é obrigatório relatorioGratuidadeAGRController.tipo.obrigatoria = Tipo de passagens é obrigatório
@ -8179,6 +8181,36 @@ relatorioGratuidadeAGRController.lblDocumento2=Documento 2
relatorioGratuidadeAGRController.btnPesquisar= Pesquisar relatorioGratuidadeAGRController.btnPesquisar= Pesquisar
relatorioGratuidadeAGRController.btnLimpar= Limpar relatorioGratuidadeAGRController.btnLimpar= Limpar
# Export Report on AGR Passengers
relatorioPassagensAGRController.window.title = AGR Gratuity Report
relatorioPassagensAGRController.data.obrigatoria = Start and End Dates are mandatory
relatorioPassagensAGRController.tipo.obrigatoria = Ticket Type is mandatory
relatorioPassagensAGRController.lbEmpresa.value = Company
relatorioPassagensAGRController.lbAgencia.value = Agency
relatorioPassagensAGRController.lbLinha.value = Route
relatorioPassagensAGRController.lbOrigem.value = Origin
relatorioPassagensAGRController.lbDestino.value = Destination
relatorioPassagensAGRController.lbTipoGratuidade.value = Ticket Types
relatorioPassagensAGRController.lbDataIniVenda.value = Start Date of Sale
relatorioPassagensAGRController.lbDataFinVenda.value = End Date of Sale
relatorioPassagensAGRController.lbDataIniViagem.value = Start Date of Travel
relatorioPassagensAGRController.lbDataFinViagem.value = End Date of Travel
relatorioPassagensAGRController.btnPesquisa.value = Search
relatorioPassagensAGRController.btnLimpar.value = Clear
relatorioPassagensAGRController.lbNumRuta.value = Route Number
relatorioPassagensAGRController.lbPrefixo.value = Prefix
relatorioPassagensAGRController.lvVenda = Sale
relatorioPassagensAGRController.lbOrgao.value = Granting Agency
relatorioPassagensAGRController.lbTipoRelatorio.value=Type
relatorioPassagensAGRController.lbTipoGeral.value=All
relatorioPassagensAGRController.lbTipoCliente.value=Client
relatorioPassagensAGRController.lblIdCliente=Id
relatorioPassagensAGRController.lblCliente=Client
relatorioPassagensAGRController.lblDocumento=Document
relatorioPassagensAGRController.lblDocumento2=Document 2
relatorioPassagensAGRController.btnPesquisar= Search
relatorioPassagensAGRController.btnLimpar= Clear
# Relatório Bilhetes Vendidos # Relatório Bilhetes Vendidos
relatorioBilhetesVendidosController.window.title = Bilhetes Vendidos relatorioBilhetesVendidosController.window.title = Bilhetes Vendidos
relatorioBilhetesVendidosController.lbDatInicial.value = Data Inicial relatorioBilhetesVendidosController.lbDatInicial.value = Data Inicial

View File

@ -330,6 +330,7 @@ indexController.mniRelatorioEncerramentoCheckin.label = Encerramento do Checkin
indexController.mniRelatorioGratuidade.label = Gratuidades indexController.mniRelatorioGratuidade.label = Gratuidades
indexController.mniRelatorioGratuidadeANTT.label = Gratuidades ANTT indexController.mniRelatorioGratuidadeANTT.label = Gratuidades ANTT
indexController.mniRelatorioGratuidadeAGR.label = Gratuidades AGR indexController.mniRelatorioGratuidadeAGR.label = Gratuidades AGR
indexController.mniRelatorioPassagensAGR.label = Relatório de Passagens AGR
indexController.mniRelatorioGratuidadeAGEPAN.label = Gratuidades AGEPAN indexController.mniRelatorioGratuidadeAGEPAN.label = Gratuidades AGEPAN
indexController.mniRelatorioExportacaoIdosoARTESP.label = Reporte Exportación Ancianos ARTESP indexController.mniRelatorioExportacaoIdosoARTESP.label = Reporte Exportación Ancianos ARTESP
indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Gratuidades Idoso/Deficiente indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Gratuidades Idoso/Deficiente
@ -9605,6 +9606,7 @@ relatorioGratuidadeAGEPANController.lvVenda = Venda
relatorioGratuidadeAGEPANController.lbOrgao.value = Orgão Concedente relatorioGratuidadeAGEPANController.lbOrgao.value = Orgão Concedente
# Relatório Gratuidade AGR # Relatório Gratuidade AGR
indexController.mnSubMenuAGR.label=Relatório AGR
relatorioGratuidadeAGRController.window.title = Gratuidades AGR relatorioGratuidadeAGRController.window.title = Gratuidades AGR
relatorioGratuidadeAGRController.data.obrigatoria = Data inicial e Final são obrigatórias relatorioGratuidadeAGRController.data.obrigatoria = Data inicial e Final são obrigatórias
relatorioGratuidadeAGRController.tipo.obrigatoria = Tipo de passagens é obrigatório relatorioGratuidadeAGRController.tipo.obrigatoria = Tipo de passagens é obrigatório
@ -9634,6 +9636,36 @@ relatorioGratuidadeAGRController.lblDocumento2=Documento 2
relatorioGratuidadeAGRController.btnPesquisar= Pesquisar relatorioGratuidadeAGRController.btnPesquisar= Pesquisar
relatorioGratuidadeAGRController.btnLimpar= Limpar relatorioGratuidadeAGRController.btnLimpar= Limpar
# Relatório Exportacao Passagens AGR
relatorioPassagensAGRController.window.title = Reporte de gratuidades AGR
relatorioPassagensAGRController.data.obrigatoria = Fecha de inicio y fin son obligatorias
relatorioPassagensAGRController.tipo.obrigatoria = El tipo de pasaje es obligatorio
relatorioPassagensAGRController.lbEmpresa.value = Empresa
relatorioPassagensAGRController.lbAgencia.value = Agencia
relatorioPassagensAGRController.lbLinha.value = Línea
relatorioPassagensAGRController.lbOrigem.value = Origen
relatorioPassagensAGRController.lbDestino.value = Destino
relatorioPassagensAGRController.lbTipoGratuidade.value = Tipos de Pasajes
relatorioPassagensAGRController.lbDataIniVenda.value = Fecha Inicial de Venta
relatorioPassagensAGRController.lbDataFinVenda.value = Fecha Final de Venta
relatorioPassagensAGRController.lbDataIniViagem.value = Fecha Inicial de Viaje
relatorioPassagensAGRController.lbDataFinViagem.value = Fecha Final de Viaje
relatorioPassagensAGRController.btnPesquisa.value = Buscar
relatorioPassagensAGRController.btnLimpar.value = Limpiar
relatorioPassagensAGRController.lbNumRuta.value = Número de Línea
relatorioPassagensAGRController.lbPrefixo.value = Prefijo
relatorioPassagensAGRController.lvVenda = Venta
relatorioPassagensAGRController.lbOrgao.value = Entidad Concedente
relatorioPassagensAGRController.lbTipoRelatorio.value = Tipo
relatorioPassagensAGRController.lbTipoGeral.value = General
relatorioPassagensAGRController.lbTipoCliente.value = Cliente
relatorioPassagensAGRController.lblIdCliente = ID
relatorioPassagensAGRController.lblCliente = Cliente
relatorioPassagensAGRController.lblDocumento = Documento
relatorioPassagensAGRController.lblDocumento2 = Documento 2
relatorioPassagensAGRController.btnPesquisar = Buscar
relatorioPassagensAGRController.btnLimpar = Limpiar
#Relatorio de Vendas conexao por Linha #Relatorio de Vendas conexao por Linha
relatorioVendaConexaoRuta.window.title = Reporte Vendas Conexão Por Linha relatorioVendaConexaoRuta.window.title = Reporte Vendas Conexão Por Linha

View File

@ -346,6 +346,8 @@ indexController.mniRelatorioEncerramentoCheckin.label = Encerramento do Checkin
indexController.mniRelatorioGratuidade.label = Relatório Tipo Passagem indexController.mniRelatorioGratuidade.label = Relatório Tipo Passagem
indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT
indexController.mniRelatorioGratuidadeAGR.label = Relatório Gratuidades AGR indexController.mniRelatorioGratuidadeAGR.label = Relatório Gratuidades AGR
indexController.mniRelatorioPassagensAGR.label = Relatório Passagens AGR
indexController.mnSubMenuAGR.label=Relatório AGR
indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP
indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER
indexController.mniRelatorioPassagensAGER.label = Relatório Passagens AGER indexController.mniRelatorioPassagensAGER.label = Relatório Passagens AGER
@ -8188,6 +8190,36 @@ relatorioGratuidadeAGRController.lblDocumento2=Documento 2
relatorioGratuidadeAGRController.btnPesquisar= Pesquisar relatorioGratuidadeAGRController.btnPesquisar= Pesquisar
relatorioGratuidadeAGRController.btnLimpar= Limpar relatorioGratuidadeAGRController.btnLimpar= Limpar
# Relatório Exportacao Passagens AGR
relatorioPassagensAGRController.window.title = Passagens AGR
relatorioPassagensAGRController.data.obrigatoria = Data inicial e Final são obrigatórias
relatorioPassagensAGRController.tipo.obrigatoria = Tipo de passagens é obrigatório
relatorioPassagensAGRController.lbEmpresa.value = Empresa
relatorioPassagensAGRController.lbAgencia.value = Agência
relatorioPassagensAGRController.lbLinha.value = Linha
relatorioPassagensAGRController.lbOrigem.value = Origem
relatorioPassagensAGRController.lbDestino.value = Destino
relatorioPassagensAGRController.lbTipoGratuidade.value = Tipos de Passagens
relatorioPassagensAGRController.lbDataIniVenda.value = Data Inicial Venda
relatorioPassagensAGRController.lbDataFinVenda.value = Data Final Venda
relatorioPassagensAGRController.lbDataIniViagem.value = Data Inicial Viagem
relatorioPassagensAGRController.lbDataFinViagem.value = Data Final Viagem
relatorioPassagensAGRController.btnPesquisa.value = Pesquisar
relatorioPassagensAGRController.btnLimpar.value = Limpar
relatorioPassagensAGRController.lbNumRuta.value = Num. Linha
relatorioPassagensAGRController.lbPrefixo.value = Prefixo
relatorioPassagensAGRController.lvVenda = Venda
relatorioPassagensAGRController.lbOrgao.value = Orgão Concedente
relatorioPassagensAGRController.lbTipoRelatorio.value=Tipo
relatorioPassagensAGRController.lbTipoGeral.value=Geral
relatorioPassagensAGRController.lbTipoCliente.value=Cliente
relatorioPassagensAGRController.lblIdCliente=Id
relatorioPassagensAGRController.lblCliente=Cliente
relatorioPassagensAGRController.lblDocumento=Documento
relatorioPassagensAGRController.lblDocumento2=Documento 2
relatorioPassagensAGRController.btnPesquisar= Pesquisar
relatorioPassagensAGRController.btnLimpar= Limpar
# Relatório Bilhetes Vendidos # Relatório Bilhetes Vendidos
relatorioBilhetesVendidosController.window.title = Bilhetes Vendidos relatorioBilhetesVendidosController.window.title = Bilhetes Vendidos
relatorioBilhetesVendidosController.lbDatInicial.value = Data Inicial relatorioBilhetesVendidosController.lbDatInicial.value = Data Inicial

View File

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winFiltroRelatorioPassagensAGR"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioPassagensAGR"
apply="${relatorioPassagensAGRController}"
contentStyle="overflow:auto" height="335px" width="550px"
border="normal">
<grid fixedLayout="true">
<columns>
<column width="25%" />
<column width="25%" />
<column width="25%" />
<column width="25%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioPassagensAGRController.lbDataIniVenda.value')}" />
<datebox id="datInicialVenda" mold="rounded" format="dd/MM/yyyy" maxlength="10" />
<label
value="${c:l('relatorioPassagensAGRController.lbDataFinVenda.value')}" />
<datebox id="datFinalVenda" mold="rounded" format="dd/MM/yyyy" maxlength="10" />
</row>
<row>
<label
value="${c:l('relatorioPassagensAGRController.lbDataIniViagem.value')}" />
<datebox id="datInicialViagem" mold="rounded" format="dd/MM/yyyy" maxlength="10" />
<label
value="${c:l('relatorioPassagensAGRController.lbDataFinViagem.value')}" />
<datebox id="datFinalViagem" mold="rounded" format="dd/MM/yyyy" maxlength="10" />
</row>
</rows>
</grid>
<grid fixedLayout="true">
<columns>
<column width="25%" />
<column width="75%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioPassagensAGRController.lbEmpresa.value')}" />
<combobox id="cmbEmpresa" width="100%"
maxlength="60" mold="rounded" buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioPassagensAGR$composer.lsEmpresas}" />
</row>
<row>
<label
value="${c:l('relatorioPassagensAGRController.lbLinha.value')}" />
<bandbox id="bbPesquisaLinha" width="100%"
mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<textbox
id="txtPalavraPesquisaLinha" />
<button id="btnPesquisaLinha"
image="/gui/img/find.png"
label="${c:l('relatorioPassagensAGRController.btnPesquisa.value')}" />
<button id="btnLimparLinha"
image="/gui/img/eraser.png"
label="${c:l('relatorioPassagensAGRController.btnLimpar.value')}" />
</hbox>
<listbox id="linhaList" mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="false" height="60%" width="410px">
<listhead>
<listheader
label="${c:l('relatorioPassagensAGRController.lbNumRuta.value')}"
width="18%" />
<listheader
label="${c:l('relatorioPassagensAGRController.lbPrefixo.value')}"
width="20%" />
<listheader
label="${c:l('lb.dec')}" width="35%" />
<listheader
label="${c:l('relatorioPassagensAGRController.lbOrgao.value')}"
width="27%" />
</listhead>
</listbox>
<paging id="pagingLinha" pageSize="10" />
</vbox>
</bandpopup>
</bandbox>
</row>
<row>
<cell colspan="2">
<borderlayout height="100px">
<center border="0">
<listbox id="linhaListSelList"
mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="true" height="60%" width="100%">
<listhead>
<listheader
label="${c:l('relatorioPassagensAGRController.lbNumRuta.value')}"
width="18%" />
<listheader
label="${c:l('relatorioPassagensAGRController.lbPrefixo.value')}"
width="20%" />
<listheader
label="${c:l('lb.dec')}" width="35%" />
<listheader
label="${c:l('relatorioPassagensAGRController.lbOrgao.value')}"
width="20%" />
<listheader width="7%" />
</listhead>
</listbox>
</center>
</borderlayout>
</cell>
</row>
<row>
<label value="${c:l('relatorioPassagensAGRController.lbTipoGratuidade.value')}" />
<combobox id="cmbTipoGratuidade" width="100%"
maxlength="60" mold="rounded" buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioPassagensAGR$composer.lsCategorias}"/>
</row>
</rows>
</grid>
<grid fixedLayout="true">
<columns>
<column width="25%" />
<column width="75%" />
</columns>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>