fixes bug#22115

qua:
dev:Valdir

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@106664 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2021-05-13 13:51:12 +00:00
parent b6440a88d3
commit 8a58574e7b
17 changed files with 1673 additions and 4 deletions

View File

@ -0,0 +1,229 @@
/**
*
*/
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioIndiceIRKBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
/**
* @author valdevir_rj
*
*/
public class RelatorioIndiceIRK extends Relatorio {
private List<RelatorioIndiceIRKBean> lsDadosRelatorio;
private static Logger log = Logger.getLogger(RelatorioIndiceIRK.class);
/**
* @param parametros
* @param conexao
*/
public RelatorioIndiceIRK(final Map<String, Object> parametros, final Connection conexao) throws Exception {
super(parametros, conexao);
this.setCustomDataSource(new DataSource(this) {
@Override
public void initDados() throws Exception {
try {
Integer rutaId = parametros.get("RUTA_ID") != null ? Integer.valueOf(parametros.get("RUTA_ID").toString()) : null;
Empresa empresa = parametros.get("EMPRESA") != null ? (Empresa) (parametros.get("EMPRESA")) : null;
Integer grupoRutaId = parametros.get("GRUPORUTA_ID") != null ? Integer.valueOf(parametros.get("GRUPORUTA_ID").toString()) : null;
String rutaIds = parametros.get("LINHA_FILTRO") != null ? (parametros.get("LINHA_FILTRO").toString()) : null;
String corridasIds = parametros.get("SERVICO_FILTRO") != null ? (parametros.get("SERVICO_FILTRO").toString()) : null;
// Executa query relatório e preenche objeto relatório
lsDadosRelatorio= preencheAgrupaRelatorioBean(preparaExecutaQuery(parametros, conexao, rutaId, empresa, grupoRutaId, rutaIds, corridasIds));
// Ordena pela Desc Linha
Collections.sort(lsDadosRelatorio, new Comparator<RelatorioIndiceIRKBean>() {
@Override
public int compare(RelatorioIndiceIRKBean rel1, RelatorioIndiceIRKBean rel2) {
return rel1.getDescRuta().compareTo(rel2.getDescRuta());
}
});
parametros.put("RELATORIOLIST", lsDadosRelatorio);
setLsDadosRelatorio(lsDadosRelatorio);
} catch (Exception e) {
log.error("Erro ao executar relatório", e);
}
}
/**
* @param parametros
* @param conexao
* @param rutaId
* @param empresa
* @param grupoRutaId
* @return
* @throws SQLException
*/
private ResultSet preparaExecutaQuery(final Map<String, Object> parametros, final Connection conexao, Integer rutaId, Empresa empresa, Integer grupoRutaId,String rutaIds, String corridasIds) throws SQLException {
String sql = getSql(rutaId, grupoRutaId, rutaIds, corridasIds);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
if (parametros.get("DATA_INICIO") != null) {
Date dataInicio = (Date) parametros.get("DATA_INICIO");
stmt.setString("DATA_INICIO", sdf.format(dataInicio));
}
if (parametros.get("DATA_FINAL") != null) {
Date dataFinal = (Date) parametros.get("DATA_FINAL");
stmt.setString("DATA_FINAL", sdf.format(dataFinal));
}
stmt.setInt("empresaId", empresa.getEmpresaId());
rset = stmt.executeQuery();
return rset;
}
});
}
/**
* @param lsDadosRelatorio
*/
public void setLsDadosRelatorio(List<RelatorioIndiceIRKBean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio;
}
@Override
public void processaParametros() throws Exception {
}
private String getSql(Integer rutaId, Integer grupoRutaId, String rutaIds, String corridasIds) {
String TODOS = "TODOS";
StringBuilder sql = new StringBuilder();
sql.append(" SELECT ");
sql.append(" servico,");
sql.append(" rutaid,");
sql.append(" descruta,");
sql.append(" sentido,");
sql.append(" gruporuta,");
sql.append(" indiceirkminimo,");
sql.append(" hora,");
sql.append(" extensao,");
sql.append(" SUM(seguro) AS seguro,");
sql.append(" SUM(txembarque) AS txembarque,");
sql.append(" SUM(pedagio) AS pedagio,");
sql.append(" SUM(passagens) AS passagens,");
sql.append(" ( SUM(passagens) + SUM(pedagio) + SUM(txembarque) + SUM(seguro) ) AS totalhorario,");
sql.append(" round(((SUM(passagens) + SUM(pedagio) + SUM(txembarque) + SUM(seguro)) / extensao), 2) AS irk, ");
sql.append(" indiceirkminimo * extensao AS receitaminima,");
sql.append(" (SUM(passagens) + SUM(pedagio) + SUM(txembarque) + SUM(seguro) ) - ( indiceirkminimo * extensao ) AS diferencareceita ");
sql.append(" FROM ");
sql.append(" ( ");
sql.append(" SELECT ");
sql.append(" cj.caja_id AS cajaId, ");
sql.append(" cj.corrida_id AS servico, ");
sql.append(" r.ruta_id AS rutaid, ");
sql.append(" r.descruta AS descruta, ");
sql.append(" r.indsentidoida AS sentido, ");
sql.append(" nvl(e.indiceirk, 0) AS indiceirkminimo, ");
sql.append(" nvl(gr.descgrupo, 'Não Definido') AS gruporuta, ");
sql.append(" to_char(cj.fechorviaje, 'HH24:MI') AS hora, ");
sql.append(" tr.cantkmreal AS extensao, ");
sql.append(" cj.importeseguro AS seguro, ");
sql.append(" cj.importetaxaembarque AS txembarque, ");
sql.append(" cj.importepedagio AS pedagio, ");
sql.append(" cj.preciopagado AS passagens ");
sql.append(" FROM ");
sql.append(" caja cj ");
sql.append(" INNER JOIN ruta r ON ( cj.ruta_id = r.ruta_id ) ");
sql.append(" LEFT JOIN grupo_ruta gr ON ( r.gruporuta_id = gr.gruporuta_id ) ");
sql.append(" INNER JOIN ruta_combinacion rc ON ( rc.ruta_id = cj.ruta_id ");
sql.append(" AND rc.activo = 1 ) ");
sql.append(" INNER JOIN tramo tr ON ( tr.tramo_id = rc.tramo_id ");
sql.append(" AND tr.origen_id = cj.origen_id ");
sql.append(" AND tr.destino_id = cj.destino_id ) ");
sql.append(" INNER JOIN marca m ON ( cj.marca_id = m.marca_id ");
sql.append(" AND m.empresa_id = :empresaId ) ");
sql.append(" INNER JOIN empresa e ON ( e.empresa_id = :empresaId ) ");
sql.append(" WHERE ");
sql.append(" cj.activo = 1 ");
sql.append(" AND cj.motivocancelacion_id IS NULL ");
sql.append(" AND cj.feccorrida BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') ");
sql.append(rutaIds == null ||TODOS.equals(rutaIds) ? "" : " AND r.ruta_id IN ( " + rutaIds + " ) ");
sql.append(corridasIds == null || TODOS.equals(corridasIds) ? "" : " AND cj.corrida_id IN ( " + corridasIds + " ) ");
sql.append(grupoRutaId == null ? "" : " AND R.GRUPORUTA_ID IN ( " + grupoRutaId + " ) ");
sql.append(" GROUP BY ");
sql.append(" cj.caja_id, ");
sql.append(" cj.corrida_id, ");
sql.append(" r.ruta_id, ");
sql.append(" r.descruta, ");
sql.append(" r.indsentidoida,");
sql.append(" e.indiceirk, ");
sql.append(" gr.descgrupo, ");
sql.append(" cj.fechorviaje, ");
sql.append(" tr.cantkmreal, ");
sql.append(" cj.importeseguro, ");
sql.append(" cj.importetaxaembarque, ");
sql.append(" cj.importepedagio, ");
sql.append(" cj.preciopagado ");
sql.append(" ORDER BY ");
sql.append(" r.descruta ");
sql.append(" ) dados_sem_agrupamento ");
sql.append(" GROUP BY ");
sql.append(" servico, ");
sql.append(" rutaid, ");
sql.append(" descruta, ");
sql.append(" gruporuta, ");
sql.append(" sentido, ");
sql.append(" indiceirkminimo, ");
sql.append(" hora, ");
sql.append(" extensao ");
return sql.toString();
}
private List<RelatorioIndiceIRKBean> preencheAgrupaRelatorioBean(ResultSet rset) throws SQLException {
lsDadosRelatorio = new ArrayList<RelatorioIndiceIRKBean>();
while (rset.next()) {
RelatorioIndiceIRKBean relatorioIndiceIRK = new RelatorioIndiceIRKBean();
relatorioIndiceIRK.setServico((Integer) rset.getInt("servico"));
relatorioIndiceIRK.setRutaId((Integer) rset.getInt("rutaid"));
relatorioIndiceIRK.setDescRuta((String) rset.getObject("descruta"));
relatorioIndiceIRK.setGrupoRuta((String) rset.getObject("gruporuta"));
relatorioIndiceIRK.setSentido(Boolean.TRUE.equals((Boolean) rset.getBoolean("sentido")) ? "Ida" : "Volta");
relatorioIndiceIRK.setIrkMinimo((BigDecimal) rset.getObject("indiceirkminimo"));
relatorioIndiceIRK.setHora((String) rset.getObject("hora"));
relatorioIndiceIRK.setExtensao((BigDecimal) rset.getObject("extensao"));
relatorioIndiceIRK.setKmRodado((BigDecimal) rset.getObject("extensao"));
relatorioIndiceIRK.setSeguro((BigDecimal) rset.getObject("seguro"));
relatorioIndiceIRK.setTxEmbarque((BigDecimal) rset.getObject("txembarque"));
relatorioIndiceIRK.setPedagio((BigDecimal) rset.getObject("pedagio"));
relatorioIndiceIRK.setPassagens((BigDecimal) rset.getObject("passagens"));
relatorioIndiceIRK.setTotalViagem((BigDecimal) rset.getObject("totalhorario"));
relatorioIndiceIRK.setTotal((BigDecimal) rset.getObject("totalhorario"));
relatorioIndiceIRK.setIrk((BigDecimal) rset.getObject("irk"));
relatorioIndiceIRK.setReceitaMinima((BigDecimal) rset.getObject("receitaminima"));
relatorioIndiceIRK.setDiferencaReceitas((BigDecimal) rset.getObject("diferencareceita"));
lsDadosRelatorio.add(relatorioIndiceIRK);
}
return lsDadosRelatorio;
}
}

View File

@ -0,0 +1,50 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
msg.a=à
#Labels header
header.titulo.relatorio=Indice IRK
header.periodo=Per\u00EDodo\:
header.data.hora=Data/Hora\:
header.pagina=P\u00E1gina\:
header.filtro=Filtro\:
header.filtro.servico=Servi\u00E7o\:
header.filtro.linha=Linha\:
header.filtro.grupo=Grupo de Linhas\:
cabecalho.impressorPor=Impresso por
#Labels detail
detail.receita=RECEITA
detail.viagens=VIAGENS
detail.passageiros=PASSAGEIROS
detail.parametrosOperacionais=PARÂMETROS OPERACIONAIS
detail.hora=Hora
detail.servico=Serviço
detail.setido=Sentido
detail.extensao=Extensão
detail.passagens=Passagens
detail.seguro=Seguro
detail.bagagens=Bagagens
detail.segOpc=Tx. Embarque
detail.total=Total
detail.totalViagem=Total
detail.km.rodad=Km Rodad.
detail.irk=IRK
detail.rsViagem=R$/Viagem
detail.pedagio=Pedágio
detail.linha=Linha
detail.irkMinimo= IRK Mínimo
detail.receitaMinima= Receita Mínima
detail.diferencaReceitas= Diferença de Receitas
#Group
ruta.total= Total Linha
group.total=Total do Grupo
sub.total=Sub Total
total.geral=Total Geral
linhas=Linhas

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?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="RelatorioCaixaOrgaoConcedente" pageWidth="950" pageHeight="585" orientation="Landscape" columnWidth="930" leftMargin="10" rightMargin="10" topMargin="20" bottomMargin="20" uuid="3ee05e26-199e-4ad2-a96b-dd421627aceb"> <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="RelatorioCaixaOrgaoConcedente" pageWidth="950" pageHeight="585" orientation="Landscape" columnWidth="930" leftMargin="10" rightMargin="10" topMargin="20" bottomMargin="20" uuid="3ee05e26-199e-4ad2-a96b-dd421627aceb">
<property name="ireport.zoom" value="1.239669421487605"/> <property name="ireport.zoom" value="1.239669421487605"/>
<property name="ireport.x" value="429"/> <property name="ireport.x" value="0"/>
<property name="ireport.y" value="9"/> <property name="ireport.y" value="9"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageHeader"/> <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.exclude.origin.keep.first.band.2" value="columnHeader"/>
@ -595,9 +595,9 @@ $F{categoria}]]></variableExpression>
</band> </band>
</detail> </detail>
<lastPageFooter> <lastPageFooter>
<band height="19"> <band height="27">
<textField> <textField>
<reportElement uuid="6e34466e-354e-4f5a-a7a3-9ef69073fbc7" x="1" y="0" width="930" height="19"/> <reportElement uuid="6e34466e-354e-4f5a-a7a3-9ef69073fbc7" x="1" y="0" width="930" height="27"/>
<textElement> <textElement>
<font size="9" isBold="true"/> <font size="9" isBold="true"/>
</textElement> </textElement>

View File

@ -0,0 +1,552 @@
<?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" whenNoDataType="NoDataSection" 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="724"/>
<property name="ireport.y" value="152"/>
<style name="diferencaReceitaNegativa" forecolor="#000000">
<conditionalStyle>
<conditionExpression><![CDATA[($F{diferencaReceitas}.compareTo(BigDecimal.ZERO)) < 1]]></conditionExpression>
<style forecolor="#FF0000"/>
</conditionalStyle>
</style>
<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="TOTAL_PASSAGENS" class="java.math.BigDecimal"/>
<parameter name="TOTAL_TOTAL" class="java.math.BigDecimal"/>
<parameter name="TOTAL_VIAGEM" class="java.math.BigDecimal"/>
<parameter name="TOTAL_KM_RODADO" class="java.math.BigDecimal"/>
<parameter name="DESCGRUPO" class="java.lang.String"/>
<parameter name="NOME_USUARIO" class="java.lang.String"/>
<parameter name="RELATORIOLIST" class="java.util.List"/>
<queryString>
<![CDATA[]]>
</queryString>
<field name="irk" class="java.math.BigDecimal"/>
<field name="totalViagem" class="java.math.BigDecimal"/>
<field name="grupoRuta" class="java.lang.String"/>
<field name="kmRodado" class="java.math.BigDecimal"/>
<field name="total" class="java.math.BigDecimal"/>
<field name="extensao" class="java.math.BigDecimal"/>
<field name="sentido" class="java.lang.String"/>
<field name="hora" class="java.lang.String"/>
<field name="passagens" class="java.math.BigDecimal"/>
<field name="rsViagem" class="java.math.BigDecimal"/>
<field name="descRuta" class="java.lang.String"/>
<field name="servico" class="java.math.BigDecimal"/>
<field name="irkMinimo" class="java.math.BigDecimal"/>
<field name="receitaMinima" class="java.math.BigDecimal"/>
<field name="diferencaReceitas" class="java.math.BigDecimal"/>
<variable name="total_group" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$F{total}]]></variableExpression>
</variable>
<variable name="totalViagem_group" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$F{totalViagem}]]></variableExpression>
</variable>
<variable name="kmRodado_group" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$F{kmRodado}]]></variableExpression>
</variable>
<variable name="irk_group" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta" calculation="Average">
<variableExpression><![CDATA[$F{irk}]]></variableExpression>
</variable>
<variable name="rsViagem_group" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$F{rsViagem}]]></variableExpression>
</variable>
<variable name="media_rsViagem_group" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$F{rsViagem}]]></variableExpression>
</variable>
<variable name="media_irk_group" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta">
<variableExpression><![CDATA[$P{TOTAL_TOTAL}.divide( $P{TOTAL_KM_RODADO}, 2, BigDecimal.ROUND_HALF_UP )]]></variableExpression>
</variable>
<variable name="linha_total_group" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta" incrementType="Group" incrementGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$V{total_group}]]></variableExpression>
</variable>
<variable name="linhas_totalViagem_group" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta" incrementType="Group" incrementGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$V{totalViagem_group}]]></variableExpression>
</variable>
<variable name="linha_kmRodado_group" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta" incrementType="Group" incrementGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$V{kmRodado_group}]]></variableExpression>
</variable>
<variable name="linha_rsViagem_group" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta" incrementType="Group" incrementGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$V{rsViagem_group}]]></variableExpression>
</variable>
<variable name="TOTAL_VIAGEM" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{rsViagem}]]></variableExpression>
</variable>
<variable name="media_group_irk" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta">
<variableExpression><![CDATA[$V{total_group}.divide( $V{kmRodado_group}, 2, BigDecimal.ROUND_HALF_UP )]]></variableExpression>
</variable>
<variable name="linha_media_irk_group" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta">
<variableExpression><![CDATA[$V{linha_total_group}.divide( $V{linha_kmRodado_group}, 2, BigDecimal.ROUND_HALF_UP )]]></variableExpression>
</variable>
<variable name="total_ruta" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta" calculation="Sum">
<variableExpression><![CDATA[$F{total}]]></variableExpression>
</variable>
<variable name="totalViagem_ruta" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta" calculation="Sum">
<variableExpression><![CDATA[$F{totalViagem}]]></variableExpression>
</variable>
<variable name="kmRodado_ruta" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta" calculation="Sum">
<variableExpression><![CDATA[$F{kmRodado}]]></variableExpression>
</variable>
<variable name="media_ruta_irk" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta">
<variableExpression><![CDATA[$V{total_ruta}.divide( $V{kmRodado_ruta}, 2, BigDecimal.ROUND_HALF_UP )]]></variableExpression>
</variable>
<variable name="totalReceitaMinima_group" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$F{receitaMinima}]]></variableExpression>
</variable>
<variable name="receitaMinima_ruta" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta" calculation="Sum">
<variableExpression><![CDATA[$F{receitaMinima}]]></variableExpression>
</variable>
<variable name="kmRodado_total" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{kmRodado}]]></variableExpression>
</variable>
<variable name="receita_total" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{totalViagem}]]></variableExpression>
</variable>
<variable name="irk_total" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta">
<variableExpression><![CDATA[$V{receita_total}.divide( $V{kmRodado_total}, 2, BigDecimal.ROUND_HALF_UP )]]></variableExpression>
</variable>
<variable name="receitaMinima_total" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{receitaMinima}]]></variableExpression>
</variable>
<variable name="diferencaReceitas_ruta" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta">
<variableExpression><![CDATA[$V{total_ruta}.subtract($V{receitaMinima_ruta})]]></variableExpression>
</variable>
<variable name="diferencaReceitas_group" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta">
<variableExpression><![CDATA[$V{total_group}.subtract($V{totalReceitaMinima_group})]]></variableExpression>
</variable>
<variable name="diferencaReceitas_total" class="java.math.BigDecimal" resetType="Group" resetGroup="ruta">
<variableExpression><![CDATA[$V{receita_total}.subtract($V{receitaMinima_total})]]></variableExpression>
</variable>
<group name="groupRuta">
<groupExpression><![CDATA[$F{grupoRuta}]]></groupExpression>
<groupHeader>
<band height="14">
<textField isBlankWhenNull="true">
<reportElement uuid="f1171f5c-2175-4176-82b0-c1a31f78f1d3" x="0" y="0" width="69" height="14"/>
<textElement>
<font size="8" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$F{grupoRuta}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="6e1204b5-dc16-40df-b592-9046e0b31a14" x="1" y="-1" width="802" height="1"/>
</line>
</band>
</groupHeader>
<groupFooter>
<band height="14">
<line>
<reportElement uuid="8dd18564-6d32-4232-a0fd-f39054849109" positionType="Float" x="0" y="0" width="803" height="1"/>
</line>
<textField>
<reportElement uuid="a7c33cf2-944b-4bd1-bb55-72ab698cc599" x="0" y="1" width="69" height="13"/>
<textElement>
<font size="8" isBold="true" isItalic="false"/>
</textElement>
<textFieldExpression><![CDATA[$R{group.total}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement uuid="27802809-5617-44e5-a89b-cc64e8bde961" x="332" y="2" width="38" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{total_group}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement uuid="25f0464f-b216-44bd-aad1-d1b4f4dbe0ea" x="370" y="2" width="57" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{kmRodado_group}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement uuid="d6bdd9c3-6810-4f3b-8b0a-6d90a8abbb2c" x="266" y="2" width="66" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{media_group_irk}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="736a47e0-7471-44d8-98df-c61d122bf3ac" x="-1" y="13" width="802" height="1"/>
</line>
<textField isBlankWhenNull="true">
<reportElement uuid="e251dac9-9a7b-4db2-a22e-18cb0efce359" x="481" y="1" width="63" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{totalReceitaMinima_group}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="0ed57298-1a00-4584-8ed1-e4c1af2947b8" x="544" y="1" width="102" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{diferencaReceitas_group}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00">
<reportElement uuid="bf1d2a62-1178-40bc-bb7b-30bcdf1727c0" x="427" y="4" width="54" height="10"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{irkMinimo}]]></textFieldExpression>
</textField>
</band>
</groupFooter>
</group>
<group name="ruta">
<groupExpression><![CDATA[$F{descRuta}]]></groupExpression>
<groupHeader>
<band height="14">
<textField isBlankWhenNull="true">
<reportElement uuid="5d48a200-7033-4282-af5c-98c5b290afea" x="0" y="1" width="135" height="13"/>
<textElement>
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$F{descRuta}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="11">
<line>
<reportElement uuid="34ef9a09-219c-47d9-aa44-4e2a5be2ffb6" positionType="Float" x="0" y="1" width="802" height="1"/>
</line>
<textField>
<reportElement uuid="f83c3bc8-2151-4ca1-b06c-fa127b8f7089" x="0" y="1" width="53" height="10"/>
<textElement>
<font size="6" isBold="true" isItalic="false"/>
</textElement>
<textFieldExpression><![CDATA[$R{ruta.total}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement uuid="47bdfe76-1b48-45e6-8cb1-53feb9e40340" x="332" y="3" width="38" height="8"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{total_ruta}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement uuid="005958bd-8753-49f7-83ed-995568c33644" x="370" y="3" width="57" height="8"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{kmRodado_ruta}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement uuid="abae3006-9685-42e5-952b-15321d7f0063" x="266" y="3" width="66" height="8"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{media_ruta_irk}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="56419660-3457-4fe0-8d94-162d8da7ba8f" x="544" y="2" width="102" height="9"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{diferencaReceitas_ruta}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="5322dfac-066d-4943-8d06-4c43a779c289" x="481" y="2" width="63" height="9"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{receitaMinima_ruta}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00">
<reportElement uuid="c0069721-3330-46a5-9174-be54c6360491" x="427" y="2" width="54" height="9"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{irkMinimo}]]></textFieldExpression>
</textField>
</band>
</groupFooter>
</group>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band splitType="Stretch"/>
</title>
<pageHeader>
<band height="91" splitType="Stretch">
<textField>
<reportElement uuid="2523431f-2c2c-4a2b-a34f-785b8ea8f9dd" mode="Opaque" x="0" y="15" width="657" height="15" backcolor="#CDCDCD"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.titulo.relatorio}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="9bb1d24c-1a5c-4281-b900-d35779e00807" mode="Opaque" x="0" y="30" width="49" height="15" backcolor="#CDCDCD"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.periodo}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="eac5ed08-4a34-42e5-807e-2d40be1cc0f5" mode="Opaque" x="49" y="30" width="608" height="15" backcolor="#CDCDCD"/>
<textElement/>
<textFieldExpression><![CDATA[new SimpleDateFormat("dd/MM/yyyy").format($P{DATA_INICIO}) + " à " + new SimpleDateFormat("dd/MM/yyyy").format($P{DATA_FINAL})]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="77235663-6b8a-411f-89be-24b315b65adb" mode="Opaque" x="657" y="0" width="66" height="15" backcolor="#CDCDCD"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.data.hora}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="cf1bcbcf-84b8-4d90-bbc7-22d9c7186952" mode="Opaque" x="657" y="15" width="98" height="15" backcolor="#CDCDCD"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.pagina}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm">
<reportElement uuid="efdae9bf-3550-4620-acd0-20c9c7b0e3b1" mode="Opaque" x="723" y="0" width="79" height="15" backcolor="#CDCDCD"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="4070d457-cdcc-434e-8e50-5494a05815f9" mode="Opaque" x="755" y="15" width="25" height="15" backcolor="#CDCDCD"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}+" de"]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="26156964-8733-4ad1-96fd-2ae8414636b7" mode="Opaque" x="780" y="15" width="22" height="15" backcolor="#CDCDCD"/>
<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" mode="Opaque" x="0" y="45" width="802" height="15" backcolor="#CDCDCD"/>
<textElement/>
<textFieldExpression><![CDATA[$R{header.filtro} + $R{header.filtro.linha} + " ( " + $P{LINHA_FILTRO} + " ) " + $R{header.filtro.servico} + " ( " + $P{SERVICO_FILTRO} + " ) " + $R{header.filtro.grupo} + " ( " + $P{DESCGRUPO} + " ) "]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="c0f124b2-3691-4f49-9b86-69d76f249584" x="0" y="80" width="22" height="10"/>
<textElement markup="none">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.hora}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="30b30f3d-c4f3-40a2-825a-812ae5475414" x="203" y="80" width="63" height="11"/>
<textElement textAlignment="Center" markup="none">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.setido}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="723b5317-9cfc-4722-900f-5d94c2050b39" x="332" y="80" width="38" height="11"/>
<textElement textAlignment="Right" markup="none">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.total}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="b97305e9-580b-4cdb-a5f2-eae59e567ec7" x="370" y="80" width="57" height="11"/>
<textElement textAlignment="Center">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.km.rodad}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="f9fd6d4e-46da-4f69-a9bd-6e4183f317b4" x="266" y="80" width="66" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.irk}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="b6bdef50-f793-4c23-b188-505c0fb7bf18" x="0" y="90" width="803" height="1"/>
</line>
<textField>
<reportElement uuid="f7a61ca8-00fd-400d-b1c4-e22f5295941f" x="22" y="80" width="180" height="10"/>
<textElement markup="none">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.linha}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="5f633340-6d79-46a6-a540-6eb09b2f7f8e" mode="Opaque" x="657" y="30" width="66" height="15" backcolor="#CDCDCD"/>
<textElement/>
<textFieldExpression><![CDATA[$R{cabecalho.impressorPor}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="e87d0055-94ea-4d7a-900e-24944a6c5f0f" mode="Opaque" x="0" y="0" width="657" height="15" backcolor="#CDCDCD"/>
<textElement/>
<textFieldExpression><![CDATA[$P{NOMBEMPRESA}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="da09a6c8-d710-4967-8595-5b5111cc3b4c" mode="Opaque" x="723" y="30" width="79" height="15" backcolor="#CDCDCD"/>
<textElement/>
<textFieldExpression><![CDATA[$P{USUARIO_ID}+"-"+$P{NOME_USUARIO}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="d7da670e-b8ce-4f71-9315-40333034e9b2" x="427" y="80" width="54" height="11"/>
<textElement textAlignment="Right" markup="none">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.irkMinimo}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="70957eaa-5277-457d-ab37-ba812c97a0a4" x="481" y="80" width="63" height="11"/>
<textElement textAlignment="Right" markup="none">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.receitaMinima}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="fce223f2-9740-4250-9921-b9ef733b2f2c" x="544" y="80" width="102" height="10"/>
<textElement textAlignment="Right" markup="none">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.diferencaReceitas}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<columnHeader>
<band splitType="Stretch"/>
</columnHeader>
<detail>
<band height="11" splitType="Stretch">
<textField pattern="#,##0.00;-#,##0.00">
<reportElement uuid="f75ac988-7ec6-4d13-a51e-3a9f933eee66" style="diferencaReceitaNegativa" x="332" y="0" width="38" height="11"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{total}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00">
<reportElement uuid="e1bac278-5cfb-4732-8e2d-2973b3e847e4" style="diferencaReceitaNegativa" x="370" y="0" width="57" height="11"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{kmRodado}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="ac86ec2e-f3d6-4841-b40f-7b37d53c3f04" style="diferencaReceitaNegativa" x="0" y="0" width="22" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{hora}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00">
<reportElement uuid="8c3fd018-651e-4cb3-96da-7c33a0c8db83" style="diferencaReceitaNegativa" x="266" y="0" width="66" height="11"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{irk}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="d5b5f4cf-5f24-4f8c-8a81-b86bc0420d08" style="diferencaReceitaNegativa" x="203" y="0" width="63" height="11"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{sentido}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="3850d6a2-d8f1-4e97-9dfb-b93b8ef5472f" style="diferencaReceitaNegativa" x="22" y="0" width="180" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{descRuta}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="50584682-eedc-4aa4-a78a-9eb8a5b7a426" style="diferencaReceitaNegativa" x="481" y="0" width="63" height="10"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{receitaMinima}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="2abcbea0-fc74-453c-a86e-7d7e1a3c6845" style="diferencaReceitaNegativa" x="544" y="0" width="102" height="10"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{diferencaReceitas}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00">
<reportElement uuid="4001b02b-ebe4-437d-8a5a-3b4dfa3e247c" style="diferencaReceitaNegativa" x="427" y="0" width="54" height="10"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{irkMinimo}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band splitType="Stretch"/>
</pageFooter>
<lastPageFooter>
<band/>
</lastPageFooter>
<summary>
<band height="14" splitType="Stretch">
<textField pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement uuid="7bbb0c46-57d5-449b-ac94-15eba31bae5b" positionType="Float" x="332" y="1" width="38" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{receita_total}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="6813f5a3-1810-4b53-82ea-3df08df9548f" x="0" y="0" width="69" height="14"/>
<textElement>
<font size="8" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{total.geral}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement uuid="c89eabd5-2f70-4834-a49a-a44efa77b8c8" positionType="Float" x="266" y="1" width="66" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true" isStrikeThrough="false"/>
</textElement>
<textFieldExpression><![CDATA[$V{irk_total}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="a2d7e658-d200-4e09-856c-b88cbee79521" positionType="Float" x="481" y="0" width="63" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{receitaMinima_total}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="35ac2bb4-6e35-4eb1-8d97-85d441aadfe7" positionType="Float" x="544" y="0" width="102" height="10"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{diferencaReceitas_total}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00" isBlankWhenNull="true">
<reportElement uuid="0497b315-b7d5-436d-9e66-144db5dec2c1" positionType="Float" x="370" y="0" width="57" height="11"/>
<textElement textAlignment="Right">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{kmRodado_total}]]></textFieldExpression>
</textField>
<textField pattern="#,##0.00;-#,##0.00">
<reportElement uuid="e45e3972-83b7-43f8-8160-f5bad9d38c0e" x="427" y="0" width="54" height="10"/>
<textElement textAlignment="Right">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{irkMinimo}]]></textFieldExpression>
</textField>
</band>
</summary>
<noData>
<band height="20">
<textField>
<reportElement uuid="3429e199-e682-4e28-b2ce-1bc9f2d031b2" x="37" y="0" width="803" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$R{msg.noData}]]></textFieldExpression>
</textField>
</band>
</noData>
</jasperReport>

View File

@ -0,0 +1,241 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
import java.math.BigDecimal;
/**
* @author valdevir
*
*/
public class RelatorioIndiceIRKBean {
/**
* Valor estipulado pela empresa (definido na configuração de empresa)
*/
private BigDecimal irkMinimo;
/**
* Valor gerado através (IRK minímo x KM da Linha)
*/
private BigDecimal receitaMinima;
/**
* Valor Gerado Através (Total da Receita daquele horário - a Receita miníma)
*/
private BigDecimal diferencaReceitas;
/**
* Grupo Ruta
*/
private String grupoRuta;
/**
* Hora Corrida
*/
private String hora;
/**
* Num Corrida
*/
private Integer servico;
/**
* Sentido Linha (Ida/Volta)
*/
private String sentido;
/**
* Extensão da linha em Km
*/
private BigDecimal extensao;
/**
* Soma do valor de passagens (Tarifa)
*/
private BigDecimal passagens;
/**
* Soma do valor de seguro (Seguro Tabela)
*/
private BigDecimal seguro;
/**
* Total das Receita do horário (Passagem + Pedágio + seguro + Taxa de Embarque)
*/
private BigDecimal total;
/**
*
*/
private BigDecimal totalViagem;
/**
* Total Kilometragem Rodado da Linha para o período
*/
private BigDecimal kmRodado;
/**
* IRK "Indice de Receita por Kilometro": Valor Gerado Através (Total/Km) onde Total é o somatório do valor das passagens do serviço incluído venda embarcada
*/
private BigDecimal irk;
/**
*
*/
private BigDecimal rsViagem;
/**
* valor de Taxa Embarque do Horário
*/
private BigDecimal txEmbarque;
/**
* valor de pedágio do Horário
*/
private BigDecimal pedagio;
/**
* Descrição da linha
*/
private String descRuta;
private Integer rutaId;
public Integer getRutaId() {
return rutaId;
}
public void setRutaId(Integer rutaId) {
this.rutaId = rutaId;
}
public String getSentido() {
return sentido;
}
public String getGrupoRuta() {
return grupoRuta;
}
public void setGrupoRuta(String grupoRuta) {
this.grupoRuta = grupoRuta;
}
public String getHora() {
return hora;
}
public void setHora(String hora) {
this.hora = hora;
}
public Integer getServico() {
return servico;
}
public void setServico(Integer servico) {
this.servico = servico;
}
public BigDecimal getExtensao() {
return extensao == null ? BigDecimal.ZERO : extensao;
}
public void setExtensao(BigDecimal extensao) {
this.extensao = extensao;
}
public BigDecimal getPassagens() {
return passagens == null ? BigDecimal.ZERO : passagens;
}
public void setPassagens(BigDecimal passagens) {
this.passagens = passagens;
}
public BigDecimal getSeguro() {
return seguro == null ? BigDecimal.ZERO : seguro;
}
public void setSeguro(BigDecimal seguro) {
this.seguro = seguro;
}
public BigDecimal getTotal() {
return total == null ? BigDecimal.ZERO : total;
}
public void setTotal(BigDecimal total) {
this.total = total;
}
public BigDecimal getTotalViagem() {
return totalViagem == null ? BigDecimal.ZERO : totalViagem;
}
public void setTotalViagem(BigDecimal totalViagem) {
this.totalViagem = totalViagem;
}
public BigDecimal getKmRodado() {
return kmRodado == null ? BigDecimal.ZERO : kmRodado;
}
public void setKmRodado(BigDecimal kmRodado) {
this.kmRodado = kmRodado;
}
public BigDecimal getRsViagem() {
return rsViagem == null ? BigDecimal.ZERO : rsViagem;
}
public void setRsViagem(BigDecimal rsViagem) {
this.rsViagem = rsViagem;
}
public BigDecimal getTxEmbarque() {
return txEmbarque;
}
public void setTxEmbarque(BigDecimal txEmbarque) {
this.txEmbarque = txEmbarque;
}
public BigDecimal getPedagio() {
return pedagio;
}
public void setPedagio(BigDecimal pedagio) {
this.pedagio = pedagio;
}
public String getDescRuta() {
return descRuta;
}
public void setDescRuta(String descRuta) {
this.descRuta = descRuta;
}
public BigDecimal getIrkMinimo() {
return irkMinimo;
}
public void setIrkMinimo(BigDecimal irkMinimo) {
this.irkMinimo = irkMinimo;
}
public BigDecimal getReceitaMinima() {
return receitaMinima;
}
public void setReceitaMinima(BigDecimal receitaMinima) {
this.receitaMinima = receitaMinima;
}
public BigDecimal getDiferencaReceitas() {
return diferencaReceitas;
}
public void setDiferencaReceitas(BigDecimal diferencaReceitas) {
this.diferencaReceitas = diferencaReceitas;
}
public void setSentido(String sentido) {
this.sentido = sentido;
}
public BigDecimal getIrk() {
return irk;
}
public void setIrk(BigDecimal irk) {
this.irk = irk;
}
}

View File

@ -33,6 +33,7 @@ import org.zkoss.zul.Button;
import org.zkoss.zul.Checkbox; import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Combobox; import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem; import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Decimalbox;
import org.zkoss.zul.Image; import org.zkoss.zul.Image;
import org.zkoss.zul.Intbox; import org.zkoss.zul.Intbox;
import org.zkoss.zul.Messagebox; import org.zkoss.zul.Messagebox;
@ -322,6 +323,9 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
private MyTextbox txtCpfCnpj_AutorizadoDowload; private MyTextbox txtCpfCnpj_AutorizadoDowload;
private Decimalbox txtIrkPadrao;
private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"; + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
@ -702,6 +706,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
chkIndComTransfGeraCaja.getValue(); chkIndComTransfGeraCaja.getValue();
chkIndPricingVendaAberto.getValue(); chkIndPricingVendaAberto.getValue();
txtIrkPadrao.getValue();
rdCst00.getValue(); rdCst00.getValue();
rdCst40.getValue(); rdCst40.getValue();
rdCst41.getValue(); rdCst41.getValue();
@ -823,6 +828,7 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
empresa.setIndConfMovFPTrocaVlrDeposito(chkIndConfMovFPTrocaVlrDeposito.isChecked()); empresa.setIndConfMovFPTrocaVlrDeposito(chkIndConfMovFPTrocaVlrDeposito.isChecked());
empresa.setIndComTransfGeraCaja(chkIndComTransfGeraCaja.isChecked()); empresa.setIndComTransfGeraCaja(chkIndComTransfGeraCaja.isChecked());
empresa.setIndPricingVendaAberto(chkIndPricingVendaAberto.isChecked()); empresa.setIndPricingVendaAberto(chkIndPricingVendaAberto.isChecked());
empresa.setIndiceIRK(txtIrkPadrao.getValue());
if(rdCst00.isChecked()) { if(rdCst00.isChecked()) {
empresa.setCstGratuidade(TipoCstGratuidade.CST00); empresa.setCstGratuidade(TipoCstGratuidade.CST00);
@ -2015,4 +2021,12 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException {
public void setEmpresaEmailFlexBus(EmpresaEmailFlexBus empresaEmailFlexBus) { public void setEmpresaEmailFlexBus(EmpresaEmailFlexBus empresaEmailFlexBus) {
this.empresaEmailFlexBus = empresaEmailFlexBus; this.empresaEmailFlexBus = empresaEmailFlexBus;
} }
public Decimalbox getTxtIrkPadrao() {
return txtIrkPadrao;
}
public void setTxtIrkPadrao(Decimalbox txtIrkPadrao) {
this.txtIrkPadrao = txtIrkPadrao;
}
} }

View File

@ -0,0 +1,250 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
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.Intbox;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.GrupoRuta;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioIndiceIRK;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.GrupoRutaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCorridaOrigemDestino;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioIndiceIRK;
@Controller("relatorioIndiceIRKController")
@Scope("prototype")
public class RelatorioIndiceIRKController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(RelatorioIndiceIRKController.class);
@Autowired
private DataSource dataSourceRead;
@Autowired
private EmpresaService empresaService;
@Autowired
private CorridaService corridaService;
@Autowired
private RutaService rutaService;
@Autowired
private GrupoRutaService grupoRutaService;
private Datebox datInicial;
private Datebox datFinal;
private Combobox cmbEmpresa;
private List<Empresa> lsEmpresa;
private Combobox cmbGrupoRuta;
private List<GrupoRuta> lsGrupoRuta;
private MyListbox linhaList;
private MyListbox linhaListSelList;
private Textbox txtPalavraPesquisaLinha;
private ArrayList<Ruta> lsNumLinha = new ArrayList<Ruta>();
private MyListbox servicoList;
private MyListbox servicoListSelList;
private Intbox txtCorridaId;
private ArrayList<Corrida> lsNumServico = new ArrayList<Corrida>();
@SuppressWarnings({ "unchecked", "rawtypes" })
private void executarRelatorio() throws Exception {
try {
Map<String, Object> parametros = new HashMap<String, Object>();
// Filtro Data Início
Timestamp dataInicio = new Timestamp((DateUtil.inicioFecha((java.util.Date) datInicial.getValue()).getTime()));
parametros.put("DATA_INICIO", dataInicio);
// Filtro Data Final
Timestamp dataFinal = new Timestamp((DateUtil.fimFecha((java.util.Date) datFinal.getValue()).getTime()));
parametros.put("DATA_FINAL", dataFinal);
// Filtro Usuário Id
parametros.put("USUARIO_ID", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString());
// Filtro nome usuário
parametros.put("NOME_USUARIO", UsuarioLogado.getUsuarioLogado().getNombusuario().toString());
// Filtro Empresa
Empresa empresa = null;
if (cmbEmpresa.getSelectedItem() != null) {
empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue();
}
parametros.put("EMPRESA", empresa);
parametros.put("NOMBEMPRESA", empresa != null ? empresa.getNombempresa() : "TODOS");
// Filtro Grupo Ruta
GrupoRuta grupoRuta = null;
if (cmbGrupoRuta.getSelectedItem() != null) {
grupoRuta = (GrupoRuta) cmbGrupoRuta.getSelectedItem().getValue();
}
parametros.put("DESCGRUPO", grupoRuta != null ? grupoRuta.getDescGrupo() : "TODOS");
// Filtro Linha
lsNumLinha = new ArrayList(Arrays.asList(linhaListSelList.getData()));
String rutasIds = getRutasIds(lsNumLinha);
parametros.put("LINHA_FILTRO", lsNumLinha != null && !lsNumLinha.isEmpty() ? rutasIds : "TODOS");
parametros.put("lsNumLinha", lsNumLinha);
// Filtro Serviço
lsNumServico = new ArrayList(Arrays.asList(servicoListSelList.getData()));
String corridasIds = getCorridasIds(lsNumServico);
parametros.put("SERVICO_FILTRO", lsNumServico != null && !lsNumServico.isEmpty()? corridasIds : "TODOS");
parametros.put("lsNumServico", lsNumServico);
// Instancia o relatório
Relatorio relatorio = new RelatorioIndiceIRK(parametros, dataSourceRead.getConnection());
Map<String, Object> args = new HashMap<String, Object>();
args.put("relatorio", relatorio);
// Abre a janela do relatório
openWindow("/component/reportView.zul",
Labels.getLabel("relatorioIndiceIRKController.window.title"), args, MODAL);
} catch (Exception e) {
log.error("Erro ao executar relatório", e);
}
}
private String getCorridasIds(ArrayList<Corrida> lsNumServico) {
StringBuilder corridasIds = new StringBuilder();
for (Corrida corrida : lsNumServico) {
corridasIds.append(corrida.getId().getCorridaId());
}
return corridasIds.toString();
}
private String getRutasIds(ArrayList<Ruta> lsNumLinha2) {
StringBuilder rutasIds = new StringBuilder();
for (Ruta ruta : lsNumLinha2) {
rutasIds.append(ruta.getRutaId());
}
return rutasIds.toString();
}
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();
servicoListSelList.addItemNovo(corridaAux);
}
public void onDoubleClick$linhaList(Event ev) {
Ruta rutaAux = (Ruta) linhaList.getSelected();
linhaListSelList.addItemNovo(rutaAux);
}
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("relatorioIndiceIRKController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
}
}
}
private void executarPesquisaServico() {
Integer corridaId = txtCorridaId.getValue();
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();
servicoList.setData(new ArrayList<Corrida>());
lsNumServico.clear();
}
public void onClick$btnPesquisaServico(Event ev) {
executarPesquisaServico();
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
lsEmpresa = empresaService.obtenerTodos();
lsGrupoRuta = grupoRutaService.obtenerTodos();
linhaList.setItemRenderer(new RenderRelatorioIndiceIRK());
linhaListSelList.setItemRenderer(new RenderRelatorioIndiceIRK());
servicoList.setItemRenderer(new RenderCorridaOrigemDestino());
servicoListSelList.setItemRenderer(new RenderCorridaOrigemDestino());
}
public List<Empresa> getLsEmpresa() {
return lsEmpresa;
}
public void setLsEmpresa(List<Empresa> lsEmpresa) {
this.lsEmpresa = lsEmpresa;
}
public List<GrupoRuta> getLsGrupoRuta() {
return lsGrupoRuta;
}
public void setLsGrupoRuta(List<GrupoRuta> lsGrupoRuta) {
this.lsGrupoRuta = lsGrupoRuta;
}
}

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 ItemMenuRelatorioIndiceIRK extends DefaultItemMenuSistema {
public ItemMenuRelatorioIndiceIRK() {
super("indexController.mniRelatorioIndiceIRK.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOIRK";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioIRK.zul",
Labels.getLabel("relatorioIRKController.window.title"), getArgs(), desktop);
}
}

View File

@ -162,6 +162,7 @@ analitico.gerenciais.relatorioHistoricoCompras=com.rjconsultores.ventaboletos.we
analitico.gerenciais.operacionais=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.operacionais.SubMenuRelatorioOperacionais analitico.gerenciais.operacionais=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.operacionais.SubMenuRelatorioOperacionais
analitico.gerenciais.operacionais.aproveitamento=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAproveitamento analitico.gerenciais.operacionais.aproveitamento=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAproveitamento
analitico.gerenciais.operacionais.resumoLinhas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioResumoLinhas analitico.gerenciais.operacionais.resumoLinhas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioResumoLinhas
analitico.gerenciais.operacionais.indiceIRK=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioIndiceIRK
analitico.gerenciais.operacionais.kmProgramada=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioKmProgramada analitico.gerenciais.operacionais.kmProgramada=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioKmProgramada
analitico.gerenciais.operacionais.acompanhamentoEquivalentes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAcompanhamentoEquivalentes analitico.gerenciais.operacionais.acompanhamentoEquivalentes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAcompanhamentoEquivalentes
analitico.gerenciais.operacionais.linhasHorario=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioLinhasHorario analitico.gerenciais.operacionais.linhasHorario=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioLinhasHorario

View File

@ -0,0 +1,57 @@
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 RenderRelatorioIndiceIRK implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception {
Ruta ruta = (Ruta) o;
Listcell lc = new Listcell(ruta.getNumRuta().toString());
lc.setParent(lstm);
lc = new Listcell(ruta.getPrefixo());
lc.setParent(lstm);
lc = new Listcell(ruta.getDescruta());
lc.setParent(lstm);
OrgaoConcedente orgaoConcedente = ruta.getOrgaoConcedente();
if (orgaoConcedente != null) {
lc = new Listcell(orgaoConcedente.getDescOrgao());
} else {
lc = new Listcell("-");
}
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

@ -295,6 +295,7 @@ indexController.mniRelatorioTrechoVendido.label=Section by Point of Sale
indexController.mniRelatorioOrigemDestino.label=Performance by Service indexController.mniRelatorioOrigemDestino.label=Performance by Service
indexController.mniRelatorioPassageirosViajar.label=Ticket to Travel indexController.mniRelatorioPassageirosViajar.label=Ticket to Travel
indexController.mniRelatorioResumoLinhas.label=Route Summary indexController.mniRelatorioResumoLinhas.label=Route Summary
indexController.mniRelatorioIndiceIRK.label = Indice IRK
indexController.mniRelatorioKmProgramada.label=Scheduled Km indexController.mniRelatorioKmProgramada.label=Scheduled Km
indexController.mniRelatorioAcompanhamentoEquivalentes.label=Indicators indexController.mniRelatorioAcompanhamentoEquivalentes.label=Indicators
indexController.mniRelatorioLinhasHorario.label=Routes by Time indexController.mniRelatorioLinhasHorario.label=Routes by Time

View File

@ -292,6 +292,7 @@ indexController.mniRelatorioTrechoVendido.label = Tramo por punto de venta
indexController.mniRelatorioOrigemDestino.label = Desempeño de servicio indexController.mniRelatorioOrigemDestino.label = Desempeño de servicio
indexController.mniRelatorioPassageirosViajar.label = Pasajeros a viajar indexController.mniRelatorioPassageirosViajar.label = Pasajeros a viajar
indexController.mniRelatorioResumoLinhas.label = Reporte resumen de rutas indexController.mniRelatorioResumoLinhas.label = Reporte resumen de rutas
indexController.mniRelatorioIndiceIRK.label = Indice IRK
indexController.mniRelatorioAcompanhamentoEquivalentes.label = Indicadores (Acompanhamento de Equivalentes) indexController.mniRelatorioAcompanhamentoEquivalentes.label = Indicadores (Acompanhamento de Equivalentes)
indexController.mniRelatorioLinhasHorario.label = Rutas por horário indexController.mniRelatorioLinhasHorario.label = Rutas por horário
indexController.mniRelatorioTaxasLinha.label = Tasas indexController.mniRelatorioTaxasLinha.label = Tasas

View File

@ -302,6 +302,7 @@ indexController.mniRelatorioTrechoVendido.label = Trecho por Agência
indexController.mniRelatorioOrigemDestino.label = Desempenho Por Serviço indexController.mniRelatorioOrigemDestino.label = Desempenho Por Serviço
indexController.mniRelatorioPassageirosViajar.label = Passageiros a Viajar indexController.mniRelatorioPassageirosViajar.label = Passageiros a Viajar
indexController.mniRelatorioResumoLinhas.label = Resumo de Linhas indexController.mniRelatorioResumoLinhas.label = Resumo de Linhas
indexController.mniRelatorioIndiceIRK.label = Indice IRK
indexController.mniRelatorioKmProgramada.label = Km Programada indexController.mniRelatorioKmProgramada.label = Km Programada
indexController.mniRelatorioAcompanhamentoEquivalentes.label = Indicadores (Acompanhamento de Equivalentes) indexController.mniRelatorioAcompanhamentoEquivalentes.label = Indicadores (Acompanhamento de Equivalentes)
indexController.mniRelatorioLinhasHorario.label = Linhas por Horário indexController.mniRelatorioLinhasHorario.label = Linhas por Horário
@ -519,6 +520,8 @@ editarGrupoRutaController.MSG.borrarOK = Grupo de linha excluido com sucesso.
#Relatórios #Relatórios
#Relatório IRK
relatorioIRKController.window.title= Relatório Indice IRK
#Resumo de linhas #Resumo de linhas
relatorioResumoLinhasController.window.title = Relatório Resumo de Linhas relatorioResumoLinhasController.window.title = Relatório Resumo de Linhas
@ -653,7 +656,28 @@ relatorioLinhasHorarioController.lblSimplificado.value = Emite relatório Simpli
relatorioLinhasHorarioController.lbHoraSaidaInicial.value = Hora Saída relatorioLinhasHorarioController.lbHoraSaidaInicial.value = Hora Saída
relatorioLinhasHorarioController.lbHoraSaidaFinal.value = à relatorioLinhasHorarioController.lbHoraSaidaFinal.value = à
relatorioLinhasHorarioController.chKIda.value = Linha Ida relatorioLinhasHorarioController.chKIda.value = Linha Ida
relatorioLinhasHorarioController.chKVolta.value = Linha Volta relatorioLinhasHorarioController.chKVolta.value = Linha Volta
#Relatório Indice IRK
relatorioIndiceIRKController.window.title = Relatório Indice IRK
relatorioIndiceIRKController.lbDataIni.value = Data Inicial Viagem
relatorioIndiceIRKController.lbDataFin.value = Data Final Viagem
relatorioIndiceIRKController.lbEmpresa.label = Empresa
relatorioIndiceIRKController.lbGrupoRuta.label = Grupo de Linhas
relatorioIndiceIRKController.lbLinha.label = Linha
relatorioIndiceIRKController.lbServico.label = Servico
relatorioIndiceIRKController.lbNumRuta.label = Num. Linha
relatorioIndiceIRKController.lbPrefixo.label = Prefixo
relatorioIndiceIRKController.lbOrgao.label = Orgão Concedente
relatorioIndiceIRKController.lbDataCorrida.value = Data
relatorioIndiceIRKController.btnPesquisa.label = Pesquisar
relatorioIndiceIRKController.btnLimpar.label = Limpar
relatorioIndiceIRKController.horaSaida.label = Hora
relatorioIndiceIRKController.origem.destino.label = Origem x Destino
relatorioIndiceIRKController.rutaId.label = Cód Linha
relatorioIndiceIRKController.rdTodos.label = Todos
relatorioIndiceIRKController.lbHoraSaidaInicial.value = Hora Saída
relatorioIndiceIRKController.lbHoraSaidaFinal.value = à
#Relatorio Trecho Vendido #Relatorio Trecho Vendido
relatorioTrechoVendidoController.lbDataIni.value = Data Inicial relatorioTrechoVendidoController.lbDataIni.value = Data Inicial
@ -1663,6 +1687,7 @@ editarEmpresaController.lbAtivarRateioComissaoGrupoLinha.value = Ativar rateio d
editarEmpresaController.lbUsarGrupoLinhas.value = Grupo de Linhas editarEmpresaController.lbUsarGrupoLinhas.value = Grupo de Linhas
editarEmpresaController.lbUsarGrupoLinhasLinhaOriginal.value = Usar o Grupo de Linhas da linha original editarEmpresaController.lbUsarGrupoLinhasLinhaOriginal.value = Usar o Grupo de Linhas da linha original
editarEmpresaController.lbUsarGrupoLinhasAproveitamentoSeletivo.value = Usar o Grupo de Linhas do Aproveitamento Seletivo editarEmpresaController.lbUsarGrupoLinhasAproveitamentoSeletivo.value = Usar o Grupo de Linhas do Aproveitamento Seletivo
editarEmpresaController.irkPdarao.label = IRK Mínimo Padrão
#Empresa Imposto #Empresa Imposto
editarEmpresaImpostoController.window.title = Configuração de Imposto por Empresa/Estado editarEmpresaImpostoController.window.title = Configuração de Imposto por Empresa/Estado

View File

@ -924,6 +924,16 @@
</hlayout> </hlayout>
</groupbox> </groupbox>
</row> </row>
<row>
<groupbox>
<caption label="${c:l('editarEmpresaController.irkPdarao.label')}" />
<hlayout>
<decimalbox id="txtIrkPadrao"
width="98%" cols="8" maxlength="8" format="#,##0.00"
value="@{winEditarEmpresa$composer.empresa.indiceIRK}" />
</hlayout>
</groupbox>
</row>
</rows> </rows>
</grid> </grid>
</tabpanel> </tabpanel>

View File

@ -0,0 +1,213 @@
<?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="winFiltroRelatorioIndiceIRK"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioIndiceIRK"
apply="${relatorioIndiceIRKController}"
contentStyle="overflow:auto" height="445px" width="600px"
border="normal">
<grid fixedLayout="true">
<columns>
<column width="12%" />
<column width="38%" />
<column width="12%" />
<column width="38%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioIndiceIRKController.lbDataIni.value')}" />
<datebox id="datInicial" width="90%"
format="dd/MM/yyyy" constraint="no empty"
maxlength="10" />
<label
value="${c:l('relatorioIndiceIRKController.lbDataFin.value')}" />
<datebox id="datFinal" width="90%"
format="dd/MM/yyyy" 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('relatorioIndiceIRKController.lbServico.label')}" />
<bandbox id="bbPesquisarServico" width="100%"
mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<intbox id="txtCorridaId" />
<button id="btnPesquisaServico"
image="/gui/img/find.png"
label="${c:l('relatorioIndiceIRKController.btnPesquisa.label')}" />
<button id="btnLimparServico"
image="/gui/img/eraser.png"
label="${c:l('relatorioIndiceIRKController.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('relatorioIndiceIRKController.lbServico.label')}"
width="20%" />
<listheader
label="${c:l('relatorioIndiceIRKController.rutaId.label')}"
width="20%" />
<listheader
label="${c:l('relatorioIndiceIRKController.origem.destino.label')}"
width="60%" />
</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('relatorioIndiceIRKController.lbServico.label')}"
width="20%" />
<listheader
label="${c:l('relatorioIndiceIRKController.rutaId.label')}"
width="20%" />
<listheader
label="${c:l('relatorioIndiceIRKController.origem.destino.label')}"
width="50%" />
<listheader width="10%" />
</listhead>
</listbox>
</center>
</borderlayout>
</cell>
</row>
<row>
<label
value="${c:l('relatorioIndiceIRKController.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('relatorioIndiceIRKController.btnPesquisa.label')}" />
<button id="btnLimparLinha"
image="/gui/img/eraser.png"
label="${c:l('relatorioIndiceIRKController.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('relatorioIndiceIRKController.lbNumRuta.label')}"
width="18%" />
<listheader
label="${c:l('relatorioIndiceIRKController.lbPrefixo.label')}"
width="20%" />
<listheader
label="${c:l('lb.dec')}" width="35%" />
<listheader
label="${c:l('relatorioIndiceIRKController.lbOrgao.label')}"
width="27%" />
</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('relatorioIndiceIRKController.lbNumRuta.label')}"
width="18%" />
<listheader
label="${c:l('relatorioIndiceIRKController.lbPrefixo.label')}"
width="20%" />
<listheader
label="${c:l('lb.dec')}" width="30%" />
<listheader
label="${c:l('relatorioIndiceIRKController.lbOrgao.label')}"
width="22%" />
<listheader width="10%" />
</listhead>
</listbox>
</center>
</borderlayout>
</cell>
</row>
<row>
<label
value="${c:l('relatorioIndiceIRKController.lbEmpresa.label')}" />
<combobox id="cmbEmpresa"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="100%"
model="@{winFiltroRelatorioIndiceIRK$composer.lsEmpresa}"/>
</row>
<row>
<label
value="${c:l('relatorioIndiceIRKController.lbGrupoRuta.label')}" />
<combobox id="cmbGrupoRuta"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="100%"
model="@{winFiltroRelatorioIndiceIRK$composer.lsGrupoRuta}" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>