RELATORIO LINHA POR HORARIO

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@29651 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2013-08-01 14:44:56 +00:00
parent e61a8cff69
commit b51a3e8447
12 changed files with 1963 additions and 2 deletions

View File

@ -0,0 +1,371 @@
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.ProcessadorParametros;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioLinhasHorarioBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
public class RelatorioLinhasHorario extends Relatorio {
public RelatorioLinhasHorario(Map<String, Object> parametros, Connection conexao) {
super(parametros, conexao);
this.setProcessadorParametros(new ProcessadorParametros(this) {
@Override
public void processaParametros() throws Exception {
Connection conexao = this.relatorio.getConexao();
Map<String, Object> parametros = this.relatorio.getParametros();
@SuppressWarnings("unchecked")
ArrayList<Ruta> lsNumLinha = (ArrayList<Ruta>) parametros.get("lsNumLinha");
@SuppressWarnings("unchecked")
ArrayList<Corrida> lsNumServico = (ArrayList<Corrida>) parametros.get("lsNumServico");
String servicoFiltro = "";
if (lsNumServico.size() > 0) {
for (Corrida corrida : lsNumServico) {
if (lsNumServico.indexOf(corrida) == 0) {
servicoFiltro = "" + corrida.getId().getCorridaId();
} else {
servicoFiltro += ", " + corrida.getId().getCorridaId();
}
}
} else {
servicoFiltro = "TODOS";
}
parametros.put("SERVICO_FILTRO", servicoFiltro);
String linhaFiltro = "";
if (lsNumLinha.size() > 0) {
for (Ruta ruta : lsNumLinha) {
if (lsNumLinha.indexOf(ruta) == 0) {
linhaFiltro = "" + ruta.getRutaId();
} else {
linhaFiltro += ", " + ruta.getRutaId();
}
}
} else {
linhaFiltro = "TODOS";
}
parametros.put("LINHA_FILTRO", linhaFiltro);
Empresa empresa = (Empresa) parametros.get("EMPRESA");
Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID");
String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null;
stmt.setTimestamp("DATA_INICIO", (Timestamp) parametros.get("DATA_INICIO"));
stmt.setTimestamp("DATA_FINAL", (Timestamp) parametros.get("DATA_FINAL"));
rset = stmt.executeQuery();
List<RelatorioLinhasHorarioBean> lsDadosRelatorio = new ArrayList<RelatorioLinhasHorarioBean>();
while (rset.next()) {
RelatorioLinhasHorarioBean horarioBean = new RelatorioLinhasHorarioBean();
horarioBean.setGrupoRuta((String) rset.getObject("GRUPO_RUTA"));
horarioBean.setHora((String) rset.getObject("HORA"));
horarioBean.setServico((BigDecimal) rset.getObject("SERVICO"));
if (rset.getObject("SENTIDO") != null)
horarioBean.convetSentido((BigDecimal) rset.getObject("SENTIDO"));
else
horarioBean.convetSentido(null);
horarioBean.setLot((BigDecimal) rset.getObject("LOT"));
horarioBean.setCla((String) rset.getObject("CLA"));
horarioBean.setExtensaoTrecho((BigDecimal) rset.getObject("EXTENSAO_TRECHO"));
horarioBean.setExtensao((BigDecimal) rset.getObject("EXTENSAO"));
horarioBean.setTarifa((BigDecimal) rset.getObject("TARIFA"));
horarioBean.setPassagens((BigDecimal) rset.getObject("PASSAGENS"));
horarioBean.setSeguro((BigDecimal) rset.getObject("SEGURO"));
horarioBean.setBagagens((BigDecimal) rset.getObject("BAGAGENS"));
horarioBean.setOrd((BigDecimal) rset.getObject("ORD"));
horarioBean.setExtra((BigDecimal) rset.getObject("EXTRA"));
horarioBean.setAbsol((BigDecimal) rset.getObject("ABSOL"));
horarioBean.setQuanPasTrecho((BigDecimal) rset.getObject("QUAN_PAS_TRECHO"));
horarioBean.setOrigem((String) rset.getObject("ORIGEM"));
horarioBean.setDestino((String) rset.getObject("DESTINO"));
horarioBean.setSegOpc((BigDecimal) rset.getObject("SEGURO"));
horarioBean = trecho(horarioBean);
horarioBean = calcTotal(horarioBean);
horarioBean = calcMediaReceitaTotal(horarioBean);
horarioBean = calcTotalViagem(horarioBean);
horarioBean = calcKmRodado(horarioBean);
horarioBean = calcEquivalente(horarioBean);
horarioBean = calcMpa(horarioBean);
horarioBean = calcMpe(horarioBean);
horarioBean = calcRsKm(horarioBean);
horarioBean = calcEq(horarioBean);
horarioBean = calcRsViagem(horarioBean);
horarioBean = calcPaxKmOfertado(horarioBean);
horarioBean = calcPaxKmTransportado(horarioBean);
horarioBean = calcIap(horarioBean);
lsDadosRelatorio.add(horarioBean);
}
parametros.put("lsDadosRelatorio", lsDadosRelatorio);
}
});
}
private RelatorioLinhasHorarioBean trecho(RelatorioLinhasHorarioBean horarioBean) {
horarioBean.setTrecho(horarioBean.getOrigem() + " - " + horarioBean.getDestino());
return horarioBean;
}
private RelatorioLinhasHorarioBean calcTotal(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal total = horarioBean.getPassagens().add(horarioBean.getSeguro());
total = total.add(horarioBean.getBagagens());
horarioBean.setTotal(total);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcMediaReceitaTotal(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal mediaTotal = horarioBean.getPassagens().add(horarioBean.getSeguro());
mediaTotal = mediaTotal.add(horarioBean.getBagagens());
mediaTotal = mediaTotal.divide(new BigDecimal(3), RoundingMode.CEILING);
horarioBean.setMediaReceitaViagem(mediaTotal);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcTotalViagem(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal totalViagem = horarioBean.getOrd().add(horarioBean.getExtra());
horarioBean.setTotalViagem(totalViagem);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcKmRodado(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal kmRodado = horarioBean.getTotalViagem().multiply(horarioBean.getExtensao());
horarioBean.setKmRodado(kmRodado);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcEquivalente(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal equivalente = new BigDecimal(0);
try {
equivalente = horarioBean.getExtensao().divide(horarioBean.getExtensaoTrecho(), RoundingMode.CEILING);
equivalente = equivalente.multiply(horarioBean.getQuanPasTrecho());
} catch (ArithmeticException e) {
equivalente = new BigDecimal(0);
} catch (NullPointerException nex) {
equivalente = new BigDecimal(0);
} catch (Exception ex) {
ex.printStackTrace();
}
horarioBean.setEquivalente(equivalente);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcMpa(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal mpa = horarioBean.getAbsol().divide(horarioBean.getTotalViagem(), RoundingMode.CEILING);
horarioBean.setMpa(mpa);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcMpe(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal mpe = horarioBean.getEquivalente().divide(horarioBean.getTotalViagem(), RoundingMode.CEILING);
horarioBean.setMpe(mpe);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcRsKm(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal rsKm = horarioBean.getTotal().divide(horarioBean.getTotalViagem(), RoundingMode.CEILING);
rsKm = rsKm.multiply(horarioBean.getExtensao());
horarioBean.setRsKm(rsKm);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcEq(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal eq = null;
try {
eq = horarioBean.getMediaReceitaViagem().divide(horarioBean.getTarifa(), RoundingMode.CEILING);
} catch (ArithmeticException e) {
eq = new BigDecimal(0);
} catch (NullPointerException nex) {
eq = new BigDecimal(0);
} catch (Exception ex) {
ex.printStackTrace();
}
horarioBean.setEq(eq);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcRsViagem(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal RSViagem = horarioBean.getTotal().divide(horarioBean.getTotalViagem(), RoundingMode.CEILING);
horarioBean.setRsViagem(RSViagem);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcPaxKmOfertado(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal paxKmOfertado = horarioBean.getLot().multiply(horarioBean.getTotalViagem());
paxKmOfertado = paxKmOfertado.multiply(horarioBean.getExtensao());
horarioBean.setPaxKmOfertado(paxKmOfertado);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcPaxKmTransportado(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal paxKmTransportado = horarioBean.getExtensao().multiply(horarioBean.getEquivalente());
horarioBean.setPaxKmTransportado(paxKmTransportado);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcIap(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal iap = null;
try {
iap = horarioBean.getPaxKmOfertado().divide(horarioBean.getPaxKmTransportado(), 4, RoundingMode.HALF_EVEN);
} catch (ArithmeticException e) {
iap = new BigDecimal(0);
} catch (NullPointerException nex) {
iap = new BigDecimal(0);
} catch (Exception ex) {
ex.printStackTrace();
}
horarioBean.setIap(iap);
return horarioBean;
}
@Override
protected void processaParametros() throws Exception {
this.getProcessadorParametros().processaParametros();
}
private String getSql(ArrayList<Ruta> lsNumLinha, ArrayList<Corrida> lsNumServico, Empresa empresa, Integer tipoServico) {
StringBuffer sql = new StringBuffer();
sql.append(" SELECT ");
sql.append(" NVL(GR.DESCGRUPO, 'Não Informado') AS GRUPO_RUTA, ");
sql.append(" TO_CHAR(CJ.FECHORVIAJE, 'HH24:MI') AS HORA, ");
sql.append(" C.CORRIDA_ID AS SERVICO, ");
sql.append(" R.INDSENTIDOIDA AS SENTIDO, ");
sql.append(" DA.CANTASIENTOS AS LOT, ");
sql.append(" CS.CVECLASE AS CLA, ");
sql.append(" CJ.NUMKMVIAJE AS EXTENSAO_TRECHO, ");
sql.append(" EXTENSAO, ");
sql.append(" NVL(CJ.PRECIOBASE, 0) AS TARIFA, ");
sql.append(" ORIGEM.CVEPARADA AS ORIGEM, ");
sql.append(" DESTINO.CVEPARADA AS DESTINO, ");
sql.append(" SUM(NVL(EE.IMPINGRESO, 0)) AS BAGAGENS, ");
sql.append(" SUM(NVL(CJ.PRECIOBASE, 0)) AS PASSAGENS, ");
sql.append(" SUM(NVL(CJ.IMPORTETAXAEMBARQUE, 0)) AS SEGURO, ");
sql.append(" COUNT(CASE ");
sql.append(" WHEN C.TIPOSERVICIO_ID = 1 ");
sql.append(" OR C.TIPOSERVICIO_ID IS NULL THEN 1 ");
sql.append(" ELSE NULL ");
sql.append(" END) AS ORD, ");
sql.append(" COUNT(CASE ");
sql.append(" WHEN C.TIPOSERVICIO_ID = 2 ");
sql.append(" OR C.TIPOSERVICIO_ID IS NULL THEN 1 ");
sql.append(" ELSE NULL ");
sql.append(" END) AS EXTRA, ");
sql.append(" COUNT(CASE ");
sql.append(" WHEN CJ.FECCORRIDA > :DATA_INICIO ");
sql.append(" AND CJ.FECCORRIDA < :DATA_FINAL THEN 1 ");
sql.append(" ELSE NULL ");
sql.append(" END) AS ABSOL, ");
sql.append(" COUNT(CJ.CORRIDA_ID) AS QUAN_PAS_TRECHO ");
sql.append(" FROM (SELECT RS.RUTA_ID, ");
sql.append(" SUM(NVL(T.CANTKMREAL, 0)) AS EXTENSAO ");
sql.append(" FROM RUTA_SECUENCIA RS ");
sql.append(" LEFT JOIN TRAMO T ");
sql.append(" ON ( RS.TRAMO_ID = T.TRAMO_ID ) ");
sql.append(" GROUP BY RS.RUTA_ID) TB1, ");
sql.append(" CORRIDA C ");
sql.append(" LEFT JOIN CAJA CJ ");
sql.append(" ON ( CJ.CORRIDA_ID = C.CORRIDA_ID ");
sql.append(" AND CJ.FECCORRIDA = C.FECCORRIDA ) ");
sql.append(" LEFT JOIN PARADA ORIGEM ");
sql.append(" ON ( CJ.ORIGEN_ID = ORIGEM.PARADA_ID ) ");
sql.append(" LEFT JOIN PARADA DESTINO ");
sql.append(" ON ( CJ.DESTINO_ID = DESTINO.PARADA_ID ) ");
sql.append(" LEFT JOIN RUTA R ");
sql.append(" ON ( C.RUTA_ID = R.RUTA_ID ) ");
sql.append(" LEFT OUTER JOIN GRUPO_RUTA GR ");
sql.append(" ON ( R.GRUPORUTA_ID = GR.GRUPORUTA_ID ) ");
sql.append(" LEFT JOIN ROL_OPERATIVO RO ");
sql.append(" ON ( C.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID ) ");
sql.append(" LEFT OUTER JOIN DIAGRAMA_AUTOBUS DA ");
sql.append(" ON ( DA.DIAGRAMAAUTOBUS_ID = RO.DIAGRAMAAUTOBUS_ID ) ");
sql.append(" LEFT JOIN CLASE_SERVICIO CS ");
sql.append(" ON ( CS.CLASESERVICIO_ID = C.CLASESERVICIO_ID ) ");
sql.append(" LEFT JOIN EVENTO_EXTRA EE ");
sql.append(" ON ( EE.CORRIDA_ID = C.CORRIDA_ID ");
sql.append(" AND EE.FECCORRIDA = C.FECCORRIDA ");
sql.append(" AND EE.TIPOEVENTOEXTRA_ID = 1 ) ");
sql.append(" WHERE CJ.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL ");
sql.append(" AND TB1.RUTA_ID = C.RUTA_ID ");
if (empresa != null) {
sql.append(" AND C.EMPRESACORRIDA_ID IN ( " + empresa.getEmpresaId() + " ) ");
}
if (lsNumServico.size() > 0) {
for (Corrida corrida : lsNumServico) {
if (lsNumServico.indexOf(corrida) == 0) {
sql.append(" AND C.CORRIDA_ID IN ( " + corrida.getId().getCorridaId());
} else {
sql.append(" , " + corrida.getId().getCorridaId() + " ");
}
}
sql.append(" ) ");
}
if (lsNumLinha.size() > 0) {
for (Ruta ruta : lsNumLinha) {
if (lsNumLinha.indexOf(ruta) == 0) {
sql.append(" AND R.RUTA_ID IN ( " + ruta.getRutaId());
} else {
sql.append(" , " + ruta.getRutaId() + " ");
}
}
sql.append(" ) ");
}
if (tipoServico > 0) {
sql.append(" AND C.TIPOSERVICIO_ID = " + tipoServico + " ");
}
sql.append(" GROUP BY ");
sql.append(" NVL(GR.DESCGRUPO, 'Não Informado'), ");
sql.append(" TO_CHAR(CJ.FECHORVIAJE, 'HH24:MI'), ");
sql.append(" C.CORRIDA_ID, ");
sql.append(" R.INDSENTIDOIDA, ");
sql.append(" CJ.PRECIOBASE, ");
sql.append(" DA.CANTASIENTOS, ");
sql.append(" CS.CVECLASE, ");
sql.append(" CJ.NUMKMVIAJE, ");
sql.append(" EXTENSAO, ");
sql.append(" ORIGEM.CVEPARADA, ");
sql.append(" DESTINO.CVEPARADA ");
sql.append(" ORDER BY C.CORRIDA_ID ");
return sql.toString();
}
}

View File

@ -0,0 +1,49 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
msg.a=à
#Labels header
header.titulo.relatorio=Resumo de Linhas por Horário - RLH
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:
#Labels detail
detail.receita=RECEITA
detail.viagens=VIAGENS
detail.passageiros=PASSAGEIROS
detail.parametrosOperacionais=PARÂMETROS OPERACIONAIS
detail.hora=Hora
detail.servico=Serviço
detail.trecho=Trecho
detail.setido=Sentido
detail.lot=Lot.
detail.cal=Cla.
detail.extensao=Extensão
detail.tarifa=Tarifa
detail.passagens=Passagens
detail.seguro=Seguro
detail.bagagens=Bagagens
detail.segOpc=Seg.Opc.
detail.total=Total
detail.ord=Ord.
detail.extra=Extra
detail.totalViagem=Total
detail.km.rodad=Km Rodad.
detail.absol=Absol.
detail.equivalente=Equivalente
detail.mpa=MPA
detail.mpe=MPE
detail.rsKm=R$/Km
detail.eq=Eq.
detail.rsViagem=R$/Viagem
detail.paxOfer=Pax.Km Ofertado
detail.paxTrans=Pax.Km Transportado
detail.iap=IAP%

View File

@ -0,0 +1,577 @@
<?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="RelatorioLinhasHorario" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="ae2cbb01-bc79-4d18-8206-3b59273fe793">
<property name="ireport.zoom" value="2.0"/>
<property name="ireport.x" value="800"/>
<property name="ireport.y" value="0"/>
<subDataset name="dataset1" uuid="0071d032-5d46-4665-9806-aa548a2ddde3">
<field name="grupoRuta" class="java.lang.String"/>
<field name="hora" class="java.lang.String"/>
<field name="servico" class="java.math.BigDecimal"/>
<field name="trecho" class="java.lang.String"/>
<field name="sentido" class="java.lang.String"/>
<field name="lot" class="java.math.BigDecimal"/>
<field name="cla" class="java.lang.String"/>
<field name="extensao" class="java.math.BigDecimal"/>
<field name="extensaoTrecho" class="java.math.BigDecimal"/>
<field name="tarifa" class="java.math.BigDecimal"/>
<field name="passagens" class="java.math.BigDecimal"/>
<field name="seguro" class="java.math.BigDecimal"/>
<field name="bagagens" class="java.math.BigDecimal"/>
<field name="segOpc" class="java.math.BigDecimal"/>
<field name="total" class="java.math.BigDecimal"/>
<field name="ord" class="java.math.BigDecimal"/>
<field name="extra" class="java.math.BigDecimal"/>
<field name="absol" class="java.math.BigDecimal"/>
<field name="quanPasTrecho" class="java.math.BigDecimal"/>
<field name="mediaReceitaViagem" class="java.math.BigDecimal"/>
<field name="totalViagem" class="java.math.BigDecimal"/>
<field name="kmRodado" class="java.math.BigDecimal"/>
<field name="equivalente" class="java.math.BigDecimal"/>
<field name="paxKmOfertado" class="java.math.BigDecimal"/>
<field name="paxKmTransportado" class="java.math.BigDecimal"/>
<field name="mpa" class="java.math.BigDecimal"/>
<field name="mpe" class="java.math.BigDecimal"/>
<field name="rsKm" class="java.math.BigDecimal"/>
<field name="rsViagem" class="java.math.BigDecimal"/>
<field name="eq" class="java.math.BigDecimal"/>
<field name="iap" class="java.math.BigDecimal"/>
</subDataset>
<parameter name="NOMBEMPRESA" class="java.lang.String"/>
<parameter name="DATA_INICIO" class="java.sql.Timestamp">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="DATA_FINAL" class="java.sql.Timestamp"/>
<parameter name="USUARIO_ID" class="java.lang.String"/>
<parameter name="LINHA_FILTRO" class="java.lang.String"/>
<parameter name="SERVICO_FILTRO" class="java.lang.String"/>
<parameter name="lsDadosRelatorio" class="java.util.List"/>
<queryString>
<![CDATA[SELECT SYSDATE FROM DUAL]]>
</queryString>
<field name="SYSDATE" class="java.sql.Timestamp"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band splitType="Stretch"/>
</title>
<pageHeader>
<band height="107" splitType="Stretch">
<textField>
<reportElement uuid="711097cd-bf35-4392-9187-7f80d7304dcc" x="0" y="0" width="231" height="20"/>
<textElement>
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{NOMBEMPRESA}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="2523431f-2c2c-4a2b-a34f-785b8ea8f9dd" x="0" y="20" width="231" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.titulo.relatorio}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="9bb1d24c-1a5c-4281-b900-d35779e00807" x="0" y="40" width="49" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.periodo}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="1b08c6ad-b995-4fec-aab0-88534f3a3f13" x="49" y="40" width="53" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$P{DATA_INICIO}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="eac5ed08-4a34-42e5-807e-2d40be1cc0f5" x="102" y="40" width="13" height="20"/>
<textElement/>
<textFieldExpression><![CDATA["à"]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="caf9beb2-d99f-4fa1-8558-18cf2fe17085" x="126" y="40" width="42" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$P{DATA_FINAL}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="77235663-6b8a-411f-89be-24b315b65adb" x="648" y="0" width="56" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.data.hora}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="cf1bcbcf-84b8-4d90-bbc7-22d9c7186952" x="714" y="20" width="42" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.pagina}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm:ss">
<reportElement uuid="efdae9bf-3550-4620-acd0-20c9c7b0e3b1" x="704" y="0" width="98" height="20"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="4070d457-cdcc-434e-8e50-5494a05815f9" x="756" y="20" width="24" height="20"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}+" de"]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="26156964-8733-4ad1-96fd-2ae8414636b7" x="780" y="20" width="23" height="20"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="27a77abc-db13-4836-9261-8208f3825802" x="0" y="60" width="802" height="1"/>
</line>
<textField>
<reportElement uuid="06a43567-1fd2-4c86-a0cc-443618ddf965" x="0" y="61" width="802" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.filtro} + $R{header.filtro.linha} + " ( " + $P{LINHA_FILTRO} + " ) " + $R{header.filtro.servico} + " ( " + $P{SERVICO_FILTRO} + " ) "]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="48a39edc-ed2a-40cb-8bfb-6e97bcb9088a" x="0" y="81" width="803" height="1"/>
</line>
<textField>
<reportElement uuid="c11155fe-5b61-44d7-8ad6-f9a3181f6c0a" x="611" y="83" width="169" height="10"/>
<textElement textAlignment="Center">
<font size="7"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.parametrosOperacionais}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="9c896277-f8e2-41ce-bf13-95499b7d3da7" x="592" y="93" width="210" height="1"/>
</line>
<textField>
<reportElement uuid="048a2830-d562-48d8-81da-df9b52d13d38" x="513" y="83" width="52" height="10"/>
<textElement textAlignment="Center">
<font size="7"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.passageiros}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="d03952c9-51e7-4c10-988b-301c7228a65f" x="494" y="93" width="88" height="1"/>
</line>
<textField>
<reportElement uuid="169274ca-49ff-4136-9eb3-3f3384ebcdb8" x="409" y="83" width="64" height="10"/>
<textElement textAlignment="Center">
<font size="7"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.viagens}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="5e64ae31-94b7-4b72-872c-d68ac8262db5" x="397" y="93" width="87" height="1"/>
</line>
<textField>
<reportElement uuid="b350299e-c005-4896-b5b3-2a20af2166ce" x="210" y="83" width="166" height="10"/>
<textElement textAlignment="Center">
<font size="7"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.receita}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="c4e021a7-182e-4edc-a927-b3fbba87f5cc" x="198" y="93" width="189" height="1"/>
</line>
<textField>
<reportElement uuid="c0f124b2-3691-4f49-9b86-69d76f249584" x="0" y="96" width="22" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.hora}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="5faeb20b-f423-4bfa-bb2e-1f4f4aed6627" x="22" y="96" width="31" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.servico}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="824877eb-7028-4256-9503-7045d7eaee3c" x="53" y="96" width="49" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.trecho}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="30b30f3d-c4f3-40a2-825a-812ae5475414" x="102" y="96" width="24" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.setido}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="b9d303b2-5ea9-4cf0-845b-142089ac8f4d" x="126" y="96" width="19" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.lot}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="c5d483c4-89a2-4724-ad57-731676551f0f" x="145" y="96" width="13" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.cal}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="b4d0878e-61e8-436c-a83b-8f95548e52be" x="158" y="96" width="40" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.extensao}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="bfa408a8-8c65-4c34-81fd-6dae64383682" x="198" y="96" width="33" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.tarifa}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="7cf8f759-fbec-487c-af73-6d5d3c10137d" x="231" y="96" width="33" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.passagens}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="08129899-1cb2-460b-b588-396c4fc9d3a9" x="264" y="96" width="24" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.seguro}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="45180c94-326c-471b-a91a-550660fa54ac" x="288" y="96" width="32" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.bagagens}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="3b6488cb-b3e1-4586-b25b-6e2d59e707b7" x="320" y="96" width="29" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.segOpc}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="723b5317-9cfc-4722-900f-5d94c2050b39" x="349" y="96" width="38" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.total}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="10940554-2c23-4d9f-8f28-8140562ea7d5" x="397" y="96" width="12" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.ord}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="a4153913-838a-419f-a7c8-e9ffc67afccd" x="409" y="96" width="17" height="9"/>
<textElement markup="none">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.extra}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="e4ee3f3f-c735-423b-856b-13f08e70ea93" x="426" y="96" width="22" height="9"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.totalViagem}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="b97305e9-580b-4cdb-a5f2-eae59e567ec7" x="448" y="96" width="36" height="9"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.km.rodad}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="fdd9aa9c-590d-4e8f-b312-57e021d42516" x="494" y="97" width="19" height="8"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.absol}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="2e80d940-4acd-4225-87c9-0371c7552362" x="513" y="97" width="35" height="8"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.equivalente}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="2df6bf4b-0828-4848-832b-0f7fcc2876e9" x="548" y="97" width="17" height="8"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.mpa}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="4f320995-2452-455d-be07-693731079416" x="565" y="97" width="17" height="8"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.mpe}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="f9fd6d4e-46da-4f69-a9bd-6e4183f317b4" x="592" y="97" width="29" height="8"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.rsKm}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="f0dc4631-2865-4634-96c5-432b2245e95c" x="621" y="97" width="16" height="8"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.eq}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="7a945b24-c3db-4d97-9649-dc2d484d865e" x="637" y="97" width="31" height="8"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.rsViagem}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="bd2bf73d-3952-4bf3-83ba-554d5edfe9ea" x="668" y="97" width="46" height="8"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.paxOfer}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="1d3df7eb-9705-4f8e-b2fd-ecd5a4a7f80a" x="714" y="97" width="66" height="8"/>
<textElement textAlignment="Left" verticalAlignment="Top">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.paxTrans}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="c8d3caa0-189a-4aba-a780-25dd9b76872f" x="780" y="97" width="22" height="8"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.iap}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="b6bdef50-f793-4c23-b188-505c0fb7bf18" x="0" y="105" width="803" height="1"/>
</line>
</band>
</pageHeader>
<columnHeader>
<band height="3" splitType="Stretch"/>
</columnHeader>
<detail>
<band height="15" splitType="Stretch">
<componentElement>
<reportElement uuid="46c9edde-269e-4b09-b782-abe7ade3e60a" x="0" y="0" width="802" height="12"/>
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
<datasetRun subDataset="dataset1" uuid="3f51d469-be00-45f3-930d-191b9037aac3">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{lsDadosRelatorio})]]></dataSourceExpression>
</datasetRun>
<jr:listContents height="12" width="802">
<textField>
<reportElement uuid="9e1bc992-c77b-4217-9327-21e33680dcee" x="145" y="0" width="13" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{cla}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="f75ac988-7ec6-4d13-a51e-3a9f933eee66" x="349" y="0" width="38" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{total}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="afdc1c7a-72f8-4992-b747-97e4744034a1" x="158" y="0" width="40" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{extensao}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="65359525-0ea6-4328-b6fc-4cd85a447efb" x="409" y="0" width="17" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{extra}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="42a3d264-d1ba-4b69-81d4-6e6ae5f874c0" x="53" y="0" width="49" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{trecho}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="16ac49df-dd15-4990-9a60-9ef4e0743d8f" x="264" y="0" width="24" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{seguro}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="8eb7e8a7-3443-4fcf-b10a-b135bf78b3f5" x="397" y="0" width="12" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{ord}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="a1e4e6af-8710-4df8-9f2d-c8e93d5b1ed4" x="320" y="0" width="29" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{segOpc}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="34173f78-c597-498a-9277-929b9458ec25" x="231" y="0" width="33" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{passagens}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="8f049af6-5d4a-45a1-a5ab-37c86d4bbf3c" x="494" y="0" width="19" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{absol}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="630c4e52-5fa9-4703-a6b4-0ac7f0d54eb6" x="513" y="0" width="35" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{equivalente}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="f713249b-8c6e-43fa-a6ed-5a74d943740f" x="22" y="0" width="31" height="10"/>
<textElement textAlignment="Left">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{servico}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="31b27b6f-543a-4cf7-bb38-400f0da64731" x="126" y="0" width="19" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{lot}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="aa9ec7a5-75b7-41b5-9d7b-fc2365eab048" x="198" y="0" width="33" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{tarifa}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="ac86ec2e-f3d6-4841-b40f-7b37d53c3f04" x="0" y="0" width="22" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{hora}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="704c6316-e3a9-4a74-8ae1-7a8eedcb800f" x="426" y="0" width="22" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{totalViagem}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="d5b5f4cf-5f24-4f8c-8a81-b86bc0420d08" x="102" y="0" width="24" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{sentido}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="c5ede2ad-ab52-4a3a-b045-1a3c166c386f" x="288" y="0" width="32" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{bagagens}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="e1bac278-5cfb-4732-8e2d-2973b3e847e4" x="448" y="0" width="36" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{kmRodado}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="9db3ab59-36d4-403a-99cb-19bc531aaaca" x="548" y="0" width="17" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{mpa}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="d5473b40-db54-49bf-b897-64811af76bf8" x="565" y="0" width="17" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{mpe}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="8c3fd018-651e-4cb3-96da-7c33a0c8db83" x="592" y="0" width="29" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{rsKm}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="4044158d-9acc-4a49-9e2f-517a818d97d7" x="637" y="0" width="31" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{rsViagem}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="6719264c-ebd6-4d4f-a8f8-58e0ee4eacb5" x="621" y="0" width="16" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{eq}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="9f3b6452-9748-435b-8509-4a38beeb2766" x="668" y="0" width="46" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{paxKmOfertado}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="a1a23dd1-bd8b-42e1-b63b-4d4408b85510" x="714" y="0" width="66" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{paxKmTransportado}]]></textFieldExpression>
</textField>
<textField pattern="###0.00;-###0.00">
<reportElement uuid="c491890a-4750-4cc3-8475-2c4fe508328c" x="780" y="0" width="22" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{iap}]]></textFieldExpression>
</textField>
</jr:listContents>
</jr:list>
</componentElement>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band splitType="Stretch"/>
</pageFooter>
<summary>
<band splitType="Stretch"/>
</summary>
</jasperReport>

View File

@ -1,7 +1,7 @@
<?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="RelatorioTrechoVendido" pageWidth="595" pageHeight="842" whenNoDataType="NoDataSection" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="41ab2d20-dc50-4e37-b78d-20e600a984d4">
<property name="ireport.zoom" value="1.5"/>
<property name="ireport.x" value="0"/>
<property name="ireport.x" value="115"/>
<property name="ireport.y" value="0"/>
<parameter name="DATA_INICIO" class="java.sql.Timestamp"/>
<parameter name="DATA_FINAL" class="java.sql.Timestamp"/>

View File

@ -0,0 +1,317 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
import java.math.BigDecimal;
public class RelatorioLinhasHorarioBean {
private String grupoRuta;
private String origem;
private String destino;
private String hora;
private BigDecimal servico;
private String trecho;
private String sentido;
private BigDecimal lot;
private String cla;
private BigDecimal extensaoTrecho;
private BigDecimal extensao;
private BigDecimal tarifa;
private BigDecimal passagens;
private BigDecimal seguro;
private BigDecimal bagagens;
private BigDecimal segOpc;
private BigDecimal total;
private BigDecimal ord;
private BigDecimal extra;
private BigDecimal absol;
private BigDecimal quanPasTrecho;
private BigDecimal mediaReceitaViagem;
private BigDecimal totalViagem;
private BigDecimal kmRodado;
private BigDecimal equivalente;
private BigDecimal mpa;
private BigDecimal mpe;
private BigDecimal rsKm;
private BigDecimal eq;
private BigDecimal rsViagem;
private BigDecimal paxKmOfertado;
private BigDecimal paxKmTransportado;
private BigDecimal iap;
public RelatorioLinhasHorarioBean() {
}
public String getSentido() {
return sentido;
}
public void convetSentido(BigDecimal sen) {
if (sen == null) {
this.sentido = "";
} else {
if (sen.intValue() == 1) {
this.sentido = "ida";
} else {
this.sentido = "volta";
}
}
}
public String getGrupoRuta() {
return grupoRuta;
}
public void setGrupoRuta(String grupoRuta) {
this.grupoRuta = grupoRuta;
}
public String getOrigem() {
return origem;
}
public void setOrigem(String origem) {
this.origem = origem;
}
public String getDestino() {
return destino;
}
public void setDestino(String destino) {
this.destino = destino;
}
public String getHora() {
return hora;
}
public void setHora(String hora) {
this.hora = hora;
}
public BigDecimal getServico() {
return servico;
}
public void setServico(BigDecimal servico) {
this.servico = servico;
}
public String getTrecho() {
return trecho;
}
public void setTrecho(String trecho) {
this.trecho = trecho;
}
public BigDecimal getLot() {
return lot;
}
public void setLot(BigDecimal lot) {
this.lot = lot;
}
public String getCla() {
return cla;
}
public void setCla(String cla) {
this.cla = cla;
}
public BigDecimal getExtensaoTrecho() {
return extensaoTrecho;
}
public void setExtensaoTrecho(BigDecimal extensaoTrecho) {
this.extensaoTrecho = extensaoTrecho;
}
public BigDecimal getExtensao() {
return extensao;
}
public void setExtensao(BigDecimal extensao) {
this.extensao = extensao;
}
public BigDecimal getTarifa() {
return tarifa;
}
public void setTarifa(BigDecimal tarifa) {
this.tarifa = tarifa;
}
public BigDecimal getPassagens() {
return passagens;
}
public void setPassagens(BigDecimal passagens) {
this.passagens = passagens;
}
public BigDecimal getSeguro() {
return seguro;
}
public void setSeguro(BigDecimal seguro) {
this.seguro = seguro;
}
public BigDecimal getBagagens() {
return bagagens;
}
public void setBagagens(BigDecimal bagagens) {
this.bagagens = bagagens;
}
public BigDecimal getSegOpc() {
return segOpc;
}
public void setSegOpc(BigDecimal segOpc) {
this.segOpc = segOpc;
}
public BigDecimal getTotal() {
return total;
}
public void setTotal(BigDecimal total) {
this.total = total;
}
public BigDecimal getOrd() {
return ord;
}
public void setOrd(BigDecimal ord) {
this.ord = ord;
}
public BigDecimal getExtra() {
return extra;
}
public void setExtra(BigDecimal extra) {
this.extra = extra;
}
public BigDecimal getAbsol() {
return absol;
}
public void setAbsol(BigDecimal absol) {
this.absol = absol;
}
public BigDecimal getQuanPasTrecho() {
return quanPasTrecho;
}
public void setQuanPasTrecho(BigDecimal quanPasTrecho) {
this.quanPasTrecho = quanPasTrecho;
}
public BigDecimal getMediaReceitaViagem() {
return mediaReceitaViagem;
}
public void setMediaReceitaViagem(BigDecimal mediaReceitaViagem) {
this.mediaReceitaViagem = mediaReceitaViagem;
}
public BigDecimal getTotalViagem() {
return totalViagem;
}
public void setTotalViagem(BigDecimal totalViagem) {
this.totalViagem = totalViagem;
}
public BigDecimal getKmRodado() {
return kmRodado;
}
public void setKmRodado(BigDecimal kmRodado) {
this.kmRodado = kmRodado;
}
public BigDecimal getEquivalente() {
return equivalente;
}
public void setEquivalente(BigDecimal equivalente) {
this.equivalente = equivalente;
}
public BigDecimal getMpa() {
return mpa;
}
public void setMpa(BigDecimal mpa) {
this.mpa = mpa;
}
public BigDecimal getMpe() {
return mpe;
}
public void setMpe(BigDecimal mpe) {
this.mpe = mpe;
}
public BigDecimal getRsKm() {
return rsKm;
}
public void setRsKm(BigDecimal rsKm) {
this.rsKm = rsKm;
}
public BigDecimal getEq() {
return eq;
}
public void setEq(BigDecimal eq) {
this.eq = eq;
}
public BigDecimal getRsViagem() {
return rsViagem;
}
public void setRsViagem(BigDecimal rsViagem) {
this.rsViagem = rsViagem;
}
public BigDecimal getPaxKmOfertado() {
return paxKmOfertado;
}
public void setPaxKmOfertado(BigDecimal paxKmOfertado) {
this.paxKmOfertado = paxKmOfertado;
}
public BigDecimal getPaxKmTransportado() {
return paxKmTransportado;
}
public void setPaxKmTransportado(BigDecimal paxKmTransportado) {
this.paxKmTransportado = paxKmTransportado;
}
public BigDecimal getIap() {
return iap;
}
public void setIap(BigDecimal iap) {
this.iap = iap;
}
}

View File

@ -0,0 +1,298 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
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.Combobox;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Paging;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioLinhasHorario;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCorridaOrigemDestino;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioLinhaOperacionalRuta;
import com.trg.search.Filter;
@Controller("relatorioLinhasHorarioController")
@Scope("prototype")
public class RelatorioLinhasHorarioController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(RelatorioLinhasHorarioController.class);
@Autowired
private DataSource dataSource;
@Autowired
private EmpresaService empresaService;
@Autowired
private CorridaService corridaService;
private Datebox datInicial;
private Datebox datFinal;
private Combobox cmbEmpresa;
private List<Empresa> lsEmpresa;
@Autowired
private transient PagedListWrapper<Ruta> plwLinha;
private MyListbox linhaList;
private MyListbox linhaListSelList;
private Paging pagingLinha;
private Textbox txtPalavraPesquisaLinha;
private ArrayList<Ruta> lsNumLinha = new ArrayList<Ruta>();
@Autowired
private transient PagedListWrapper<Corrida> plwServico;
private MyListbox servicoList;
private MyListbox servicoListSelList;
private Textbox txtCorridaId;
private ArrayList<Corrida> lsNumServico = new ArrayList<Corrida>();
private Radio rdOrdinario;
private Radio rdExtraOrdinario;
private Radio rdTodos;
private void executarRelatorio() throws Exception {
Map<String, Object> parametros = new HashMap<String, Object>();
Integer tipoServico = null;
try {
if (rdOrdinario.isSelected()) {
tipoServico = Integer.parseInt(rdOrdinario.getValue());
}
if (rdExtraOrdinario.isSelected()) {
tipoServico = Integer.parseInt(rdExtraOrdinario.getValue());
}
if (rdTodos.isSelected()) {
tipoServico = Integer.parseInt(rdTodos.getValue());
}
} catch (Exception e) {
log.debug(e.getMessage());
}
parametros.put("TIPOSERVICIO_ID", tipoServico);
Timestamp dataInicio = new Timestamp(((java.util.Date) this.datInicial.getValue()).getTime());
Timestamp dataFinal = new Timestamp(((java.util.Date) this.datFinal.getValue()).getTime());
GregorianCalendar auxDataInicio = (GregorianCalendar) GregorianCalendar.getInstance();
auxDataInicio.setTimeInMillis(dataInicio.getTime());
int year = auxDataInicio.get(Calendar.YEAR);
int month = auxDataInicio.get(Calendar.MONTH);
int date = auxDataInicio.get(Calendar.DATE);
int hourOfDay = 00;
int minute = 00;
int second = 00;
auxDataInicio.set(year, month, date, hourOfDay, minute, second);
dataInicio = new Timestamp(auxDataInicio.getTimeInMillis());
GregorianCalendar auxDataFinal = (GregorianCalendar) GregorianCalendar.getInstance();
auxDataFinal.setTimeInMillis(dataFinal.getTime());
year = auxDataFinal.get(Calendar.YEAR);
month = auxDataFinal.get(Calendar.MONTH);
date = auxDataFinal.get(Calendar.DATE);
hourOfDay = 23;
minute = 59;
second = 59;
auxDataFinal.set(year, month, date, hourOfDay, minute, second);
dataFinal = new Timestamp(auxDataFinal.getTimeInMillis());
parametros.put("DATA_INICIO", dataInicio);
parametros.put("DATA_FINAL", dataFinal);
Empresa empresa = null;
try {
empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue();
} catch (Exception e) {
log.debug(e.getMessage());
}
parametros.put("EMPRESA", empresa);
if (empresa != null) {
parametros.put("NOMBEMPRESA", empresa.getNombempresa());
} else {
parametros.put("NOMBEMPRESA", "TODOS");
}
lsNumLinha = new ArrayList(Arrays.asList(linhaListSelList.getData()));
lsNumServico = new ArrayList(Arrays.asList(servicoListSelList.getData()));
parametros.put("lsNumLinha", lsNumLinha);
parametros.put("lsNumServico", lsNumServico);
Relatorio relatorio = new RelatorioLinhasHorario(parametros, dataSource.getConnection());
Map<String, Object> args = new HashMap<String, Object>();
args.put("relatorio", relatorio);
openWindow("/component/reportView.zul",
Labels.getLabel("relatorioLinhasHorarioController.window.title"), args, MODAL);
}
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
executarRelatorio();
}
public void onClick$btnPesquisaLinha(Event ev) {
executarPesquisaLinha();
}
public void onClick$btnLimparLinha(Event ev) {
linhaList.clearSelection();
lsNumLinha.clear();
}
public void onDoubleClick$servicoList(Event ev) {
Corrida corridaAux = (Corrida) servicoList.getSelected();
Boolean bExiste = false;
for (Corrida c : lsNumServico) {
if (c.equals(corridaAux))
bExiste = true;
}
if (!bExiste) {
lsNumServico.add(corridaAux);
servicoListSelList.setData(lsNumServico);
}
}
public void onDoubleClick$servicoListSelList(Event ev) {
Corrida corridaSel = (Corrida) servicoListSelList.getSelected();
servicoListSelList.removeItem(corridaSel);
lsNumServico.remove(corridaSel);
}
public void onDoubleClick$linhaList(Event ev) {
Ruta rutaAux = (Ruta) linhaList.getSelected();
Boolean bExiste = false;
for (Ruta r : lsNumLinha) {
if (r.equals(rutaAux))
bExiste = true;
}
if (!bExiste) {
lsNumLinha.add(rutaAux);
linhaListSelList.setData(lsNumLinha);
}
}
public void onDoubleClick$linhaListSelList(Event ev) {
Ruta rutaSel = (Ruta) linhaListSelList.getSelected();
linhaListSelList.removeItem(rutaSel);
lsNumLinha.remove(rutaSel);
}
private void executarPesquisaLinha() {
HibernateSearchObject<Ruta> linhaBusqueda =
new HibernateSearchObject<Ruta>(Ruta.class, pagingLinha.getPageSize());
linhaBusqueda.addFilterOr(Filter.like("descruta", "%" + txtPalavraPesquisaLinha.getText().trim().toUpperCase().concat("%")), Filter.like("prefixo", "%" + txtPalavraPesquisaLinha.getText().trim().toUpperCase().concat("%")));
linhaBusqueda.addSortAsc("descruta");
linhaBusqueda.addFilterEqual("activo", Boolean.TRUE);
plwLinha.init(linhaBusqueda, linhaList, pagingLinha);
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 executarPesquisaServico() {
Integer corridaId = 0;
try {
corridaId = Integer.parseInt(txtCorridaId.getValue());
} catch (Exception e) {
log.debug(e.getMessage());
}
servicoList.setData(corridaService.buscarGroupCorrridaId(corridaId, datInicial.getValue(), datFinal.getValue()));
if (servicoList.getData().length == 0) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("relatorioLinhasHorarioController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
}
}
}
public void onClick$btnLimparServico(Event ev) {
servicoList.clearSelection();
lsNumServico.clear();
}
public void onClick$btnPesquisaServico(Event ev) {
executarPesquisaServico();
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
lsEmpresa = empresaService.obtenerTodos();
linhaList.setItemRenderer(new RenderRelatorioLinhaOperacionalRuta());
linhaListSelList.setItemRenderer(new RenderRelatorioLinhaOperacionalRuta());
servicoList.setItemRenderer(new RenderCorridaOrigemDestino());
servicoListSelList.setItemRenderer(new RenderCorridaOrigemDestino());
}
public List<Empresa> getLsEmpresa() {
return lsEmpresa;
}
public void setLsEmpresa(List<Empresa> lsEmpresa) {
this.lsEmpresa = lsEmpresa;
}
}

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 ItemMenuRelatorioLinhasHorario extends DefaultItemMenuSistema {
public ItemMenuRelatorioLinhasHorario() {
super("indexController.mniRelatorioLinhasHorario.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOLINHASHORARIO";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioLinhasHorario.zul",
Labels.getLabel("relatorioLinhasHorarioController.window.title"), null, desktop);
}
}

View File

@ -0,0 +1,57 @@
package com.rjconsultores.ventaboletos.web.utilerias.render;
import java.text.SimpleDateFormat;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Button;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
public class RenderCorridaOrigemDestino implements ListitemRenderer {
private SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
public void render(Listitem lstm, Object o) throws Exception {
Corrida corrida = (Corrida) o;
Listcell lc = new Listcell(corrida.getId().getCorridaId().toString());
lc.setParent(lstm);
lc = new Listcell(sdf.format(corrida.getFechorsalida()));
lc.setParent(lstm);
lc = new Listcell(corrida.getRuta().getRutaId().toString());
lc.setParent(lstm);
lc = new Listcell(corrida.getRuta().getDescruta());
lc.setParent(lstm);
Button btn = new Button();
lc = new Listcell();
lc.setParent(lstm);
btn.setWidth("16");
btn.setHeight("16");
btn.setImage("/gui/img/remove.png");
btn.addEventListener("onClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
MyListbox listBox = (MyListbox) event.getTarget().getParent().getParent().getParent();
Listitem listItem = (Listitem) event.getTarget().getParent().getParent();
listBox.removeItem((Corrida) listItem.getAttribute("data"));
}
});
lc.appendChild(btn);
lstm.setAttribute("data", corrida);
}
}

View File

@ -1,11 +1,15 @@
package com.rjconsultores.ventaboletos.web.utilerias.render;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Button;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
public class RenderRelatorioLinhaOperacionalRuta implements ListitemRenderer {
@ -29,6 +33,26 @@ public class RenderRelatorioLinhaOperacionalRuta implements ListitemRenderer {
}
lc.setParent(lstm);
Button btn = new Button();
lc = new Listcell();
lc.setParent(lstm);
btn.setWidth("16");
btn.setHeight("16");
btn.setImage("/gui/img/remove.png");
btn.addEventListener("onClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
MyListbox listBox = (MyListbox) event.getTarget().getParent().getParent().getParent();
Listitem listItem = (Listitem) event.getTarget().getParent().getParent();
listBox.removeItem((Ruta) listItem.getAttribute("data"));
}
});
lc.appendChild(btn);
lstm.setAttribute("data", ruta);
}
}

View File

@ -220,6 +220,7 @@ indexController.mniRelatorioOrigemDestino.label = Relatório de Origem e Destino
indexController.mniRelatorioPassageirosViajar.label = Passageiros a Viajar
indexController.mniRelatorioResumoLinhas.label = Relatório Resumo de Linhas
indexController.mniRelatorioAcompanhamentoEquivalentes.label = Relatório Acompanhamento Equivalentes
indexController.mniRelatorioLinhasHorario.label = Relatório de Linhas por Horário
#PARTE REALIZADA POR MANUEL
indexController.mnCortesias.label = Cortesias Para Funcionários
@ -280,7 +281,6 @@ relatorioAproveitamentoController.window.title = Relatório de Aproveitamento
relatorioAproveitamentoController.lbFecCorrida.value = Data Serviço
relatorioAproveitamentoController.lbServico.value = N. Serviço
relatorioAproveitamentoController.lhDesc.label = Descrição
relatorioAproveitamentoController.Origem.label = Origem
relatorioAproveitamentoController.Destino.label = Destino
@ -290,6 +290,27 @@ relatorioAproveitamentoController.HoraServico.label = Hora Serviço
relatorioAproveitamentoController.Classe.label = Classe
relatorioAproveitamentoController.btnBuscarServico.label = Buscar Serviço
#Relatorio Linhas Horario
relatorioLinhasHorarioController.window.title = Relatório de Linhas por Horário
relatorioLinhasHorarioController.lbDataIni.value = Data Inicial
relatorioLinhasHorarioController.lbDataFin.value = Data Final
relatorioLinhasHorarioController.lbEmpresa.label = Empresa
relatorioLinhasHorarioController.lbLote.label = Lote
relatorioLinhasHorarioController.lbLinha.label = Linha
relatorioLinhasHorarioController.lbServico.label = Servico
relatorioLinhasHorarioController.lbPrefixo.label = Prefixo
relatorioLinhasHorarioController.lbOrgao.label = Orgão Concedente
relatorioLinhasHorarioController.lbDataCorrida.value = Data
relatorioLinhasHorarioController.btnPesquisa.label = Pesquisar
relatorioLinhasHorarioController.btnLimpar.label = Limpar
relatorioLinhasHorarioController.horaSaida.label = Hora
relatorioLinhasHorarioController.origem.destino.label = Origem x Destino
relatorioLinhasHorarioController.rutaId.label = Cód Linha
relatorioLinhasHorarioController.rdTipoServico.label = Tipos de Serviços
relatorioLinhasHorarioController.rdOrdinario.label = Ordinários
relatorioLinhasHorarioController.rdExtraOrdinario.label = Extraordinários
relatorioLinhasHorarioController.rdTodos.label = Todos
#Relatorio Trecho Vendido
relatorioTrechoVendidoController.lbDataIni.value = Data Inicial
relatorioTrechoVendidoController.lbDataFin.value = Data Final

View File

@ -0,0 +1,222 @@
<?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="winFiltroRelatorioLinhasHorario"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioLinhasHorario"
apply="${relatorioLinhasHorarioController}"
contentStyle="overflow:auto" height="434px" width="550px"
border="normal">
<grid fixedLayout="true">
<columns>
<column width="20%" />
<column width="30%" />
<column width="20%" />
<column width="30%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioLinhasHorarioController.lbDataIni.value')}" />
<datebox id="datInicial" width="90%"
format="dd/MM/yyyy" lenient="false" constraint="no empty"
maxlength="10" />
<label
value="${c:l('relatorioLinhasHorarioController.lbDataFin.value')}" />
<datebox id="datFinal" width="90%"
format="dd/MM/yyyy" lenient="false" constraint="no empty"
maxlength="10" />
</row>
</rows>
</grid>
<grid fixedLayout="true">
<columns>
<column width="20%" />
<column width="80%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioLinhasHorarioController.lbServico.label')}" />
<bandbox id="bbPesquisarServico" width="100%"
mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<textbox id="txtCorridaId" />
<button id="btnPesquisaServico"
image="/gui/img/find.png"
label="${c:l('relatorioLinhasHorarioController.btnPesquisa.label')}" />
<button id="btnLimparServico"
image="/gui/img/eraser.png"
label="${c:l('relatorioLinhasHorarioController.btnLimpar.label')}" />
</hbox>
<listbox id="servicoList" mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="false" height="60%" width="410px">
<listhead>
<listheader
label="${c:l('relatorioLinhasHorarioController.lbServico.label')}"
width="20%" />
<listheader
label="${c:l('relatorioLinhasHorarioController.horaSaida.label')}"
width="15%" />
<listheader
label="${c:l('relatorioLinhasHorarioController.rutaId.label')}"
width="20%" />
<listheader
label="${c:l('relatorioLinhasHorarioController.origem.destino.label')}"
width="45%" />
</listhead>
</listbox>
<paging id="pagingServico"
pageSize="10" />
</vbox>
</bandpopup>
</bandbox>
</row>
<row>
<cell colspan="4">
<borderlayout height="100px">
<center border="0">
<listbox id="servicoListSelList"
mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="true" height="60%" width="100%">
<listhead>
<listheader
label="${c:l('relatorioLinhasHorarioController.lbServico.label')}"
width="20%" />
<listheader label="Dia"
width="15%" />
<listheader
label="${c:l('relatorioLinhasHorarioController.horaSaida.label')}"
width="10%" />
<listheader
label="${c:l('relatorioLinhasHorarioController.rutaId.label')}"
width="45%" />
<listheader width="10%" />
</listhead>
</listbox>
</center>
</borderlayout>
</cell>
</row>
<row>
<label
value="${c:l('relatorioLinhasHorarioController.lbLinha.label')}" />
<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('relatorioLinhasHorarioController.btnPesquisa.label')}" />
<button id="btnLimparLinha"
image="/gui/img/eraser.png"
label="${c:l('relatorioLinhasHorarioController.btnLimpar.label')}" />
</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('lb.id')}" width="15%" />
<listheader
label="${c:l('relatorioLinhasHorarioController.lbPrefixo.label')}"
width="20%" />
<listheader
label="${c:l('lb.dec')}" width="35%" />
<listheader
label="${c:l('relatorioLinhasHorarioController.lbOrgao.label')}"
width="30%" />
</listhead>
</listbox>
<paging id="pagingLinha" pageSize="10" />
</vbox>
</bandpopup>
</bandbox>
</row>
<row>
<cell colspan="4">
<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('lb.id')}" width="15%" />
<listheader
label="${c:l('relatorioLinhasHorarioController.lbPrefixo.label')}"
width="20%" />
<listheader
label="${c:l('lb.dec')}" width="30%" />
<listheader
label="${c:l('relatorioLinhasHorarioController.lbOrgao.label')}"
width="25%" />
<listheader width="10%" />
</listhead>
</listbox>
</center>
</borderlayout>
</cell>
</row>
<row>
<label
value="${c:l('relatorioLinhasHorarioController.lbEmpresa.label')}" />
<combobox id="cmbEmpresa"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="100%"
model="@{winFiltroRelatorioLinhasHorario$composer.lsEmpresa}" />
</row>
<row>
<label
value="${c:l('relatorioLinhasHorarioController.rdTipoServico.label')}" />
<radiogroup Id="rdTipoServico">
<hbox align="center">
<radio Id="rdOrdinario" value="1"
label="${c:l('relatorioLinhasHorarioController.rdOrdinario.label')}" />
<radio Id="rdExtraOrdinario" value="2"
label="${c:l('relatorioLinhasHorarioController.rdExtraOrdinario.label')}" />
<radio Id="rdTodos" value="0"
label="${c:l('relatorioLinhasHorarioController.rdTodos.label')}"
checked="true" />
</hbox>
</radiogroup>
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>