fixes bug#13826

dev: Ramires
qua: 

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@91708 d1611594-4594-4d17-8e1d-87c2c4800839
master
fabio 2019-04-09 12:29:40 +00:00
parent 9d9447b85b
commit 23c064d9b8
13 changed files with 1380 additions and 0 deletions

View File

@ -0,0 +1,234 @@
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioOperacionalFinanceiroBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
public class RelatorioOperacionalFinanceiro extends Relatorio {
private List<RelatorioOperacionalFinanceiroBean> lsDadosRelatorio;
private static Logger log = Logger.getLogger(RelatorioOperacionalFinanceiro.class);
public RelatorioOperacionalFinanceiro(Map<String, Object> parametros, Connection conexao) throws Exception {
super(parametros, conexao);
this.setCustomDataSource(new DataSource(this) {
@Override
public void initDados() throws Exception {
try {
Connection conexao = this.relatorio.getConexao();
Map<String, Object> parametros = this.relatorio.getParametros();
String fecInicioVenda = null;
if (parametros.get("fecInicioVenda") != null) {
fecInicioVenda = parametros.get("fecInicioVenda").toString() + " 00:00:00";
}
String fecFinalVenda = null;
if (parametros.get("fecFinalVenda") != null) {
fecFinalVenda = parametros.get("fecFinalVenda").toString() + " 23:59:59";
}
String tramoIds = parametros.get("tramoIds").toString();
String linhaIds = parametros.get("linhaIds").toString();
String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : "";
String sql = getSql(fecInicioVenda, fecFinalVenda, linhaIds, tramoIds, empresa);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
if (fecInicioVenda != null) {
stmt.setTimestamp("fecInicioVenda", new java.sql.Timestamp(sdf.parse(fecInicioVenda).getTime()));
}
if (fecFinalVenda != null) {
stmt.setTimestamp("fecFinalVenda", new java.sql.Timestamp(sdf.parse(fecFinalVenda).getTime()));
}
if (empresa != null && !empresa.equals("")) {
stmt.setInt("empresa_id", Integer.parseInt(empresa));
}
ResultSet rset = null;
rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioOperacionalFinanceiroBean>();
while (rset.next()) {
RelatorioOperacionalFinanceiroBean bean = new RelatorioOperacionalFinanceiroBean();
bean.setDescRuta( rset.getString("descRuta"));
bean.setDescTramo( rset.getString("descTramo"));
bean.setOutros( rset.getBigDecimal("outros"));
bean.setPedagio( rset.getBigDecimal("pedagio"));
bean.setQtde( rset.getString("qtde"));
bean.setSeguro( rset.getBigDecimal("seguro"));
bean.setSentido( rset.getString("sentido"));
bean.setTarifa( rset.getBigDecimal("tarifa"));
bean.setTaxaembarque( rset.getBigDecimal("taxaembarque"));
bean.setTipo( rset.getString("tipo"));
bean.setTramoID( rset.getString("tramoID"));
lsDadosRelatorio.add(bean);
}
log.info("TAMANHO == null ? " + lsDadosRelatorio == null);
if (lsDadosRelatorio.size() > 0) {
log.info("TAMANHO DA LISTA: " + lsDadosRelatorio.size());
setLsDadosRelatorio(lsDadosRelatorio);
}
} catch (Exception e) {
log.error("Erro na geração do relatorio Operacional Financeiro: \n" + e);
e.printStackTrace();
throw e;
}
}
});
}
public void setLsDadosRelatorio(List<RelatorioOperacionalFinanceiroBean> lsDadosRelatorio) {
log.info("Setando dados do relatorio Operacional Financeiro ");
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio;
log.info("depois de Setar dados do relatorio Operacional Financeiro ");
}
@Override
protected void processaParametros() throws Exception {
}
private String getSql(String fecInicioVenda, String fecFinalVenda, String linha, String tramo, String empresa) {
StringBuilder sql = new StringBuilder();
sql.append(" SELECT ");
sql.append(" tramoId, ");
sql.append(" DESCTRAMO, ");
sql.append(" DESCRUTA, ");
sql.append(" count(caja_id) as qtde, ");
sql.append(" SUM(tarifa) as tarifa, ");
sql.append(" SUM(taxaembarque) as taxaembarque, ");
sql.append(" SUM(pedagio) as pedagio, ");
sql.append(" SUM(outros) as outros, ");
sql.append(" SUM(seguro) as seguro, ");
sql.append(" sentido, ");
sql.append(" tipo ");
sql.append(" from ( ");
sql.append(" SELECT ");
sql.append(" ");
sql.append(" t.TRAMO_ID as tramoId, ");
sql.append(" t.DESCTRAMO, ");
sql.append(" r.DESCRUTA, ");
sql.append(" c.TIPOVENTA_ID as tipoVenda, ");
sql.append(" c.caja_id, ");
sql.append(" COALESCE(c.PRECIOPAGADO, 0) as tarifa, ");
sql.append(" COALESCE(c.IMPORTETAXAEMBARQUE, 0) as taxaembarque, ");
sql.append(" COALESCE(c.IMPORTEPEDAGIO, 0) as pedagio, ");
sql.append(" COALESCE(c.IMPORTEOUTROS, 0) as outros, ");
sql.append(" COALESCE(c.IMPORTESEGURO, 0) as seguro, ");
sql.append(" (case ");
sql.append(" when (r.INDSENTIDOIDA = 1) ");
sql.append(" then 'I' ");
sql.append(" else 'V' ");
sql.append(" end) as sentido, ");
sql.append(" ( ");
sql.append(" ( ");
sql.append(" CASE ");
sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL ");
sql.append(" AND c.FECVENTADIGITA IS NULL ");
sql.append(" AND ( c.PORCCATEGORIA <> 100 OR c.PORCCATEGORIA IS NULL ) ");
sql.append(" AND (c.INDREMOTOINVERSO IS NULL ");
sql.append(" OR c.INDREMOTOINVERSO =0) ");
sql.append(" AND (c.INDSTATUSBOLETO <> 'E' AND c.TIPOVENTA_ID not in (5,12,18)) ");
sql.append(" THEN 'VENDA NORMAL' ");
sql.append(" ");
sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL ");
sql.append(" AND c.FECVENTADIGITA IS NOT NULL ");
sql.append(" AND ( c.PORCCATEGORIA <> 100 OR c.PORCCATEGORIA IS NULL ) ");
sql.append(" AND (c.INDREMOTOINVERSO IS NULL ");
sql.append(" OR c.INDREMOTOINVERSO =0) ");
sql.append(" AND (c.INDSTATUSBOLETO <> 'E' AND c.TIPOVENTA_ID not in (5,12,18)) ");
sql.append(" THEN 'VENDA TRANSITO' ");
sql.append(" ");
sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL ");
sql.append(" AND c.FECVENTADIGITA IS NULL ");
sql.append(" AND c.PORCCATEGORIA = 100 ");
sql.append(" AND (c.INDREMOTOINVERSO IS NULL ");
sql.append(" OR c.INDREMOTOINVERSO =0) ");
sql.append(" AND (c.INDSTATUSBOLETO <> 'E' AND c.TIPOVENTA_ID not in (5,12,18)) ");
sql.append(" THEN 'BENEFICIO 100%' ");
sql.append(" ");
sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL ");
sql.append(" AND c.FECVENTADIGITA IS NOT NULL ");
sql.append(" AND ( c.PORCCATEGORIA <> 100 OR c.PORCCATEGORIA IS NULL ) ");
sql.append(" AND (c.INDREMOTOINVERSO IS NULL ");
sql.append(" OR c.INDREMOTOINVERSO =0) ");
sql.append(" AND (c.INDSTATUSBOLETO <> 'E' AND c.TIPOVENTA_ID in (9,39)) ");
sql.append(" THEN 'VENDA ANTECIPADA' ");
sql.append(" ");
sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL ");
sql.append(" AND (c.INDSTATUSBOLETO = 'E' OR c.TIPOVENTA_ID in (5,18)) ");
sql.append(" THEN 'IMPRESSAO POSTERIOR' ");
sql.append(" ");
sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL ");
sql.append(" AND c.TIPOVENTA_ID = 12 ");
sql.append(" THEN 'VENDA INTERNET' ");
sql.append(" ");
sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NOT NULL ");
// utilizar para separar cancelado / estornado
// sql.append(" AND c.MOTIVOCANCELACION_ID <> 31 ");
sql.append(" THEN 'CANCELADO' ");
sql.append(" END) ");
sql.append(" ) AS tipo ");
sql.append("FROM caja c ");
sql.append(" INNER JOIN MARCA ma on c.marca_id = ma.marca_id ");
sql.append(" INNER JOIN EMPRESA emp on ma.empresa_id = emp.empresa_id ");
sql.append(" LEFT JOIN TIPO_VENTA tv ON tv.TIPOVENTA_ID = c.TIPOVENTA_ID ");
sql.append(" LEFT JOIN RUTA r ON r.RUTA_ID = c.RUTA_ID and r.ACTIVO = 1 ");
sql.append(" LEFT JOIN CORRIDA cor ON c.CORRIDA_ID = cor.CORRIDA_ID and cor.FECCORRIDA = c.FECCORRIDA and cor.ACTIVO = 1 ");
sql.append(" LEFT JOIN CORRIDA_TRAMO ct ON ct.CORRIDA_ID = cor.CORRIDA_ID and ct.FECCORRIDA = cor.FECCORRIDA and ct.ACTIVO = 1 ");
sql.append(" LEFT JOIN TRAMO t ON t.TRAMO_ID = ct.TRAMO_ID and t.ACTIVO = 1 ");
sql.append(" where c.ACTIVO = 1 ");
sql.append(" AND c.FECHORVENTA BETWEEN :fecInicioVenda AND :fecFinalVenda ");
if (tramo != null && !tramo.equals("Todas") ) {
sql.append(" AND t.TRAMO_ID in (").append(tramo).append(") ");
}
if (linha != null && !linha.equals("Todas")) {
sql.append(" AND r.ruta_id in (").append(linha).append(") ");
}
if (!empresa.isEmpty()) {
sql.append("AND c.empresacorrida_id = :empresa_id ");
}
sql.append(" ) dados ");
sql.append(" GROUP BY ");
sql.append(" tramoId, ");
sql.append(" DESCTRAMO, ");
sql.append(" DESCRUTA, ");
sql.append(" sentido, ");
sql.append(" tipo ");
sql.append(" ORDER BY DESCRUTA, DESCTRAMO, tipo ");
return sql.toString();
}
}

View File

@ -0,0 +1,30 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
msg.a=à
#Labels header
header.periodo=Período:
header.data.hora=Data/Hora\:
header.pagina=Página\:
header.filtro=Filtro\:
header.filtro.servico=Serviço\:
header.filtro.linha=Linha\:
header.trecho=Trecho:
header.filtro.grupo=Grupo de Linhas\:
header.empresa=Empresa\:
header.periodo.viagem=Período Viagem\:
header.periodo.venda=Período Venda\:
header.tipopassagem=Tipo Passagem\:
#Labels detail
detail.linha=Linha:
detail.trecho=Tramo:
detail.tipo=Tipo
detail.quantidade=Quantidade
detail.tarifa=Tarifa
detail.pedagio=Pedágio
detail.seguro=Seguro
detail.taxaembarque=Taxa Embarque
detail.outros=Outros
detail.valortotal=Valor Total

View File

@ -0,0 +1,30 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
msg.a=à
#Labels header
header.periodo=Período:
header.data.hora=Data/Hora\:
header.pagina=Página\:
header.filtro=Filtro\:
header.filtro.servico=Serviço\:
header.filtro.linha=Linha\:
header.trecho=Trecho:
header.filtro.grupo=Grupo de Linhas\:
header.empresa=Empresa\:
header.periodo.viagem=Período Viagem\:
header.periodo.venda=Período Venda\:
header.tipopassagem=Tipo Passagem\:
#Labels detail
detail.linha=Linha:
detail.trecho=Trecho:
detail.tipo=Tipo
detail.quantidade=Quantidade
detail.tarifa=Tarifa
detail.pedagio=Pedágio
detail.seguro=Seguro
detail.taxaembarque=Taxa Embarque
detail.outros=Outros
detail.valortotal=Valor Total

View File

@ -0,0 +1,367 @@
<?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="RelatorioOperacionalFinanceiro" pageWidth="950" pageHeight="595" orientation="Landscape" columnWidth="930" leftMargin="10" rightMargin="10" topMargin="20" bottomMargin="20" uuid="3ee05e26-199e-4ad2-a96b-dd421627aceb">
<property name="ireport.zoom" value="1.2396694214876045"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.2" value="pageHeader"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.2" value="columnHeader"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<parameter name="USUARIO_ID" class="java.lang.String"/>
<parameter name="linhas" class="java.lang.String"/>
<parameter name="TITULO" class="java.lang.String"/>
<parameter name="fecInicioVenda" class="java.lang.String"/>
<parameter name="fecFinalVenda" class="java.lang.String"/>
<parameter name="nomb_empresa" class="java.lang.String"/>
<parameter name="tramos" class="java.lang.String"/>
<field name="tramoID" class="java.lang.String"/>
<field name="descTramo" class="java.lang.String"/>
<field name="descRuta" class="java.lang.String"/>
<field name="qtde" class="java.lang.String"/>
<field name="tarifa" class="java.math.BigDecimal"/>
<field name="taxaembarque" class="java.math.BigDecimal"/>
<field name="pedagio" class="java.math.BigDecimal"/>
<field name="outros" class="java.math.BigDecimal"/>
<field name="seguro" class="java.math.BigDecimal"/>
<field name="sentido" class="java.lang.String"/>
<field name="tipo" class="java.lang.String"/>
<variable name="total" class="java.math.BigDecimal" resetType="Group" resetGroup="groupTrecho">
<variableExpression><![CDATA[$F{tarifa}
.add( $F{taxaembarque} )
.add( $F{pedagio} )
.add( $F{outros} )
.add( $F{seguro} )]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<group name="groupLinha">
<groupExpression><![CDATA[$F{descRuta}]]></groupExpression>
<groupHeader>
<band height="20">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="86" y="0" width="844" height="20" uuid="b17c286b-b200-4718-9512-d804bd4d9d69"/>
<box leftPadding="5">
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{descRuta}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="86" height="20" uuid="6b1adbde-9a51-4c5e-b1c3-570f389db804"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.linha}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<group name="groupTrecho">
<groupExpression><![CDATA[$F{tramoID}]]></groupExpression>
<groupHeader>
<band height="20">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="95" height="20" uuid="7d010e8b-f719-412a-9d83-8e4f39bfb42e"/>
<box leftPadding="10">
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.trecho}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="95" y="0" width="836" height="20" uuid="8f8ca4a1-bacc-4eed-9013-bf68dacc1818"/>
<box leftPadding="5">
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{tramoID}+" - "+$F{descTramo}]]></textFieldExpression>
</textField>
</band>
<band height="20">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="332" y="0" width="86" height="20" uuid="f1fb4c10-0b23-48a3-ab44-ec9423860a3a"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.tarifa}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="1" y="0" width="240" height="20" uuid="aa6e1262-d10a-466f-9b10-736d01b43c08"/>
<box leftPadding="20">
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.tipo}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="241" y="0" width="91" height="20" uuid="9ef59886-6218-4cf5-8926-f7f2e1e95cc6"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.quantidade}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="756" y="0" width="86" height="20" uuid="86f8576e-d934-4f0d-9b87-4a40bef953ab"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.outros}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="418" y="0" width="126" height="20" uuid="a1aab05d-496e-4fe5-9c2e-760b7592a7fd"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.pedagio}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="544" y="0" width="126" height="20" uuid="7778d2ac-5f98-4955-9bbf-e474a1f16dad"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.seguro}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="842" y="0" width="88" height="20" uuid="3eb6f2e7-2aad-4354-8cff-3938c90800ee"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.valortotal}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToBandHeight" x="670" y="0" width="86" height="20" uuid="8aea1354-22f0-45a4-9382-21623ef9a45d"/>
<box>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="8"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.taxaembarque}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
<pageHeader>
<band height="40">
<textField>
<reportElement x="0" y="0" width="711" height="40" uuid="12b3d65f-d956-477d-8b65-5ea6f0d2b533"/>
<textElement markup="styled">
<font size="24" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{TITULO}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm">
<reportElement x="824" y="0" width="105" height="20" uuid="52e12d24-5bb1-4fc1-af61-f420e798c66a"/>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<textField>
<reportElement x="883" y="20" width="24" height="20" uuid="cfa42b69-85c9-4d48-9b1b-d8f2582879b0"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}+" de"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="711" y="0" width="113" height="40" uuid="c5f15e11-33dc-41c8-be0f-7f055efada1d"/>
<textFieldExpression><![CDATA[$R{header.data.hora}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="824" y="20" width="60" height="20" uuid="761f8d56-3236-45ff-a746-81ec2dc02d36"/>
<textFieldExpression><![CDATA[$R{header.pagina}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement x="907" y="20" width="22" height="20" uuid="1180fadc-8df9-49ca-a2b4-4b4740dd9edd"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<columnHeader>
<band height="80">
<printWhenExpression><![CDATA[$V{PAGE_NUMBER} < 2]]></printWhenExpression>
<textField>
<reportElement x="0" y="40" width="130" height="20" isRemoveLineWhenBlank="true" uuid="033d8246-bdcb-4f51-99fb-9a7e1e040846"/>
<textFieldExpression><![CDATA[$R{header.filtro.linha}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="130" y="0" width="799" height="20" uuid="bc4fb484-e5b9-4e00-a875-fa1a34fb1b5a"/>
<textFieldExpression><![CDATA[( $P{fecInicioVenda} != null ? ($P{fecInicioVenda} + " à " + $P{fecFinalVenda}) : "" )]]></textFieldExpression>
</textField>
<textField>
<reportElement x="130" y="20" width="799" height="20" isRemoveLineWhenBlank="true" uuid="0a122127-8dc3-48ee-8d8d-1996a5d48095"/>
<textFieldExpression><![CDATA[$P{nomb_empresa}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="130" y="40" width="799" height="20" isRemoveLineWhenBlank="true" uuid="30cc417c-ec71-4991-9038-c22af291bcfa"/>
<textFieldExpression><![CDATA[$P{linhas}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="130" y="60" width="799" height="20" isRemoveLineWhenBlank="true" uuid="e112c89a-df7d-48ce-b4f8-924b4d6a7b75"/>
<textFieldExpression><![CDATA[$P{tramos}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="0" width="130" height="20" uuid="9cd4764a-478f-4eb1-9659-23f4e59706d6"/>
<textFieldExpression><![CDATA[$R{header.periodo.venda}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="20" width="130" height="20" isRemoveLineWhenBlank="true" uuid="5b59df28-472e-4312-b332-5970a3abfca4"/>
<textFieldExpression><![CDATA[$R{header.empresa}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="60" width="130" height="20" isRemoveLineWhenBlank="true" uuid="b08a215e-6d67-4a14-a4b1-4445c5e4d21f"/>
<textFieldExpression><![CDATA[$R{header.trecho}]]></textFieldExpression>
</textField>
</band>
</columnHeader>
<detail>
<band height="20" splitType="Prevent">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="418" y="0" width="126" height="20" uuid="e91ddf3d-5ee2-42d3-b8d4-01c92a2f462a"/>
<box>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{pedagio}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="544" y="0" width="126" height="20" uuid="d9ec1d06-efc7-4a65-96a2-e88e89f4ca91"/>
<box>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{seguro}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="1" y="0" width="240" height="20" uuid="aeca5093-6645-4f7d-814f-48abec2773bc"/>
<box leftPadding="20">
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{tipo}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="241" y="0" width="91" height="20" uuid="6a5746f1-e112-4ea2-ac52-f3c4bf6f7c96"/>
<box>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{qtde}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="332" y="0" width="86" height="20" uuid="1ae38af7-3815-4fc0-ba8c-a87f6a26914a"/>
<box>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{tarifa}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="756" y="0" width="86" height="20" uuid="bde0e80b-872a-4b26-b882-83efc01c25b7"/>
<box>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{outros}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="670" y="0" width="86" height="20" uuid="7e10a3dc-7e63-49cf-ab5a-87bd2e7aa213"/>
<box>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$F{taxaembarque}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="842" y="0" width="89" height="20" uuid="e4dc6a7f-049d-45e1-9c6d-231303fb288c"/>
<box>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font fontName="SansSerif" size="7"/>
</textElement>
<textFieldExpression><![CDATA[$V{total}]]></textFieldExpression>
</textField>
</band>
</detail>
<noData>
<band height="22">
<textField>
<reportElement x="1" y="0" width="930" height="20" uuid="254c9278-71b2-4ffa-926c-5b0055e02cda"/>
<textFieldExpression><![CDATA[$R{msg.noData}]]></textFieldExpression>
</textField>
</band>
</noData>
</jasperReport>

View File

@ -0,0 +1,107 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
import java.math.BigDecimal;
public class RelatorioOperacionalFinanceiroBean {
private String tramoID;
private String descTramo;
private String descRuta;
private String qtde;
private BigDecimal tarifa;
private BigDecimal taxaembarque;
private BigDecimal pedagio;
private BigDecimal outros;
private BigDecimal seguro;
private String sentido;
private String tipo;
public String getTramoID() {
return tramoID;
}
public void setTramoID(String tramoID) {
this.tramoID = tramoID;
}
public String getDescTramo() {
return descTramo;
}
public void setDescTramo(String descTramo) {
this.descTramo = descTramo;
}
public String getDescRuta() {
return descRuta;
}
public void setDescRuta(String descRuta) {
this.descRuta = descRuta;
}
public String getQtde() {
return qtde;
}
public void setQtde(String qtde) {
this.qtde = qtde;
}
public BigDecimal getTarifa() {
return tarifa;
}
public void setTarifa(BigDecimal tarifa) {
this.tarifa = tarifa;
}
public BigDecimal getTaxaembarque() {
return taxaembarque;
}
public void setTaxaembarque(BigDecimal taxaembarque) {
this.taxaembarque = taxaembarque;
}
public BigDecimal getPedagio() {
return pedagio;
}
public void setPedagio(BigDecimal pedagio) {
this.pedagio = pedagio;
}
public BigDecimal getOutros() {
return outros;
}
public void setOutros(BigDecimal outros) {
this.outros = outros;
}
public BigDecimal getSeguro() {
return seguro;
}
public void setSeguro(BigDecimal seguro) {
this.seguro = seguro;
}
public String getSentido() {
return sentido;
}
public void setSentido(String sentido) {
this.sentido = sentido;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
}

View File

@ -0,0 +1,301 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.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.Datebox;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioOperacionalFinanceiro;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TramoService;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioLinhaHorario;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderTramoDesc;
@Controller("relatorioOperacionalFinanceiroController")
@Scope("prototype")
public class RelatorioOperacionalFinanceiroController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
@Autowired
private DataSource dataSourceRead;
@Autowired
private EmpresaService empresaService;
@Autowired
private RutaService rutaService;
@Autowired
private TramoService tramoService;
private Datebox datInicialVenda;
private Datebox datFinalVenda;
private MyComboboxEstandar cmbEmpresa;
private MyComboboxParada cmbParadaOrigem;
private MyComboboxParada cmbParadaDestino;
private List<Empresa> lsEmpresas;
private Textbox txtPalavraPesquisaLinha;
private MyListbox linhaList;
private MyListbox linhaListSelList;
private MyListbox tramoList;
private MyListbox tramoListSelList;
private static Logger log = Logger.getLogger(RelatorioOperacionalFinanceiroController.class);
public void onClick$btnPesquisaLinha(Event ev) {
executarPesquisaLinha();
}
public void onClick$btnLimparLinha(Event ev) {
linhaList.clearSelection();
linhaListSelList.setData(new ArrayList<Ruta>());
linhaList.setItemRenderer(new RenderRelatorioLinhaHorario());
linhaListSelList.setItemRenderer(new RenderRelatorioLinhaHorario());
}
public void onDoubleClick$linhaList(Event ev) {
linhaListSelList.addItemNovo(linhaList.getSelected());
}
public void onDoubleClick$tramoList(Event ev) {
tramoListSelList.addItemNovo(tramoList.getSelected());
}
public void onClick$btnPesquisaTramo(Event ev) {
executarPesquisaTramo();
}
public void onClick$btnLimparTramo(Event ev) {
tramoList.clearSelection();
tramoListSelList.setData(new ArrayList<Ruta>());
tramoList.setItemRenderer(new RenderTramoDesc());
tramoListSelList.setItemRenderer(new RenderTramoDesc());
}
private void executarPesquisaLinha() {
String palavraPesquisaRuta = txtPalavraPesquisaLinha.getText();
linhaList.setData(rutaService.buscaRuta(palavraPesquisaRuta));
if (linhaList.getData().length == 0) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("relatorioLinhasHorarioController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
}
}
}
private void executarPesquisaTramo() {
if( cmbParadaOrigem.getSelectedItem() == null || cmbParadaDestino.getSelectedItem() == null ) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("relatorioOperacionalFinaceiroController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
}
return;
}
Parada origem = (Parada)cmbParadaOrigem.getSelectedItem().getValue();
Parada destino = (Parada)cmbParadaDestino.getSelectedItem().getValue();
tramoList.setData( tramoService.obtenerListPorOrigemDestino(origem, destino) );
if (tramoList.getData().length == 0) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("relatorioOperacionalFinaceiroController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
}
}
}
private void executarRelatorio() throws Exception {
log.info("EXECUTANDO RELATORIO OPERACION");
Map<String, Object> parametros = new HashMap<String, Object>();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
if (this.datInicialVenda.getValue() != null) {
parametros.put("fecInicioVenda", sdf.format(this.datInicialVenda.getValue()));
}
if (this.datFinalVenda.getValue() != null) {
parametros.put("fecFinalVenda", sdf.format(this.datFinalVenda.getValue()));
}
if (parametros.get("fecInicioVenda") == null && parametros.get("datFinalVenda") == null) {
Messagebox.show(Labels.getLabel("relatorioOperacionalFinanceiroController.data.obrigatoria"),
Labels.getLabel("relatorioGratuidadeController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return;
}
StringBuilder tramo = new StringBuilder();
StringBuilder tramoIds = new StringBuilder();
if (tramoListSelList.getListData().isEmpty()) {
tramo.append("Todas");
tramoIds.append("Todas");
}else {
for (Object obj : tramoListSelList.getListData()) {
Tramo tramos = (Tramo) obj;
tramo.append(tramos.getDesctramo()).append(",");
tramoIds.append(tramos.getTramoId()).append(",");
}
// removendo ultima virgula
tramoIds = tramoIds.delete(tramoIds.length() - 1, tramoIds.length());
tramo = tramo.delete(tramo.length() - 1, tramo.length());
}
parametros.put("tramos", tramo.append(";").toString());
parametros.put("tramoIds", tramoIds.toString());
StringBuilder linhas = new StringBuilder();
StringBuilder linhaIds = new StringBuilder();
if (linhaListSelList.getListData().isEmpty()) {
linhas.append("Todas");
linhaIds.append("Todas");
} else {
for (Object obj : linhaListSelList.getListData()) {
Ruta ruta = (Ruta) obj;
linhas.append(ruta.getDescruta()).append(",");
linhaIds.append(ruta.getRutaId()).append(",");
}
// removendo ultima virgula
linhaIds = linhaIds.delete(linhaIds.length() - 1, linhaIds.length());
linhas = linhas.delete(linhas.length() - 1, linhas.length());
}
parametros.put("linhas", linhas.append(";").toString());
parametros.put("linhaIds", linhaIds.toString());
if (cmbEmpresa.getSelectedIndex() != -1) {
parametros.put("empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getEmpresaId());
parametros.put("nomb_empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getNombempresa());
} else {
parametros.put("nomb_empresa", "Todas");
}
parametros.put("TITULO", Labels.getLabel("relatorioOperacionalFinanceiroController.window.title"));
Relatorio relatorio = new RelatorioOperacionalFinanceiro(parametros, dataSourceRead.getConnection());
log.info("RELATORIO == NULL ? = " + relatorio == null);
Map<String, Object> args = new HashMap<String, Object>();
args.put("relatorio", relatorio);
log.info("ANTES DE ABRIR A TELA DO RELATORIO");
openWindow("/component/reportView.zul",
Labels.getLabel("relatorioOperacionalFinanceiroController.window.title"), args, MODAL);
}
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
executarRelatorio();
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
lsEmpresas = empresaService.obtenerTodos();
linhaList.setItemRenderer(new RenderRelatorioLinhaHorario());
linhaListSelList.setItemRenderer(new RenderRelatorioLinhaHorario());
tramoList.setItemRenderer(new RenderTramoDesc());
tramoListSelList.setItemRenderer(new RenderTramoDesc());
}
public Datebox getDatInicialVenda() {
return datInicialVenda;
}
public void setDatInicialVenda(Datebox datInicialVenda) {
this.datInicialVenda = datInicialVenda;
}
public Datebox getDatFinalVenda() {
return datFinalVenda;
}
public void setDatFinalVenda(Datebox datFinalVenda) {
this.datFinalVenda = datFinalVenda;
}
public MyListbox getLinhaListSelList() {
return linhaListSelList;
}
public void setLinhaListSelList(MyListbox linhaListSelList) {
this.linhaListSelList = linhaListSelList;
}
public Textbox getTxtPalavraPesquisaLinha() {
return txtPalavraPesquisaLinha;
}
public void setTxtPalavraPesquisaLinha(Textbox txtPalavraPesquisaLinha) {
this.txtPalavraPesquisaLinha = txtPalavraPesquisaLinha;
}
public List<Empresa> getLsEmpresas() {
return lsEmpresas;
}
public void setLsEmpresas(List<Empresa> lsEmpresas) {
this.lsEmpresas = lsEmpresas;
}
public MyComboboxParada getCmbParadaOrigem() {
return cmbParadaOrigem;
}
public void setCmbParadaOrigem(MyComboboxParada cmbParadaOrigem) {
this.cmbParadaOrigem = cmbParadaOrigem;
}
public MyComboboxParada getCmbParadaDestino() {
return cmbParadaDestino;
}
public void setCmbParadaDestino(MyComboboxParada cmbParadaDestino) {
this.cmbParadaDestino = cmbParadaDestino;
}
}

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

View File

@ -186,6 +186,7 @@ analitico.gerenciais.financeiro.vendasComissao=com.rjconsultores.ventaboletos.we
analitico.gerenciais.financeiro.bilhetesVendidos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioBilhetesVendidos analitico.gerenciais.financeiro.bilhetesVendidos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioBilhetesVendidos
analitico.gerenciais.financeiro.devolucaoBilhetes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioDevolucaoBilhetes analitico.gerenciais.financeiro.devolucaoBilhetes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioDevolucaoBilhetes
analitico.gerenciais.financeiro.movimentosAtraso=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioMovimentosAtraso analitico.gerenciais.financeiro.movimentosAtraso=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioMovimentosAtraso
analitico.gerenciais.financeiro.relatorioOperacionalFinanceiro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioOperacionalFinanceiro
analitico.gerenciais.financeiro.conferenciaMovimento=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioObservacaoConferenciaMovimento analitico.gerenciais.financeiro.conferenciaMovimento=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioObservacaoConferenciaMovimento
analitico.gerenciais.financeiro.eventos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioObservacaoEventosFinanceiros analitico.gerenciais.financeiro.eventos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioObservacaoEventosFinanceiros
analitico.gerenciais.financeiro.observacaoBilhetes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioObservacaoBilhetes analitico.gerenciais.financeiro.observacaoBilhetes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioObservacaoBilhetes

View File

@ -0,0 +1,47 @@
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.Tramo;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
public class RenderTramoDesc implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception {
Tramo tramo = (Tramo) o;
Listcell lc = new Listcell(tramo.getTramoId().toString());
lc.setParent(lstm);
lc = new Listcell(tramo.getDesctramo());
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((Tramo) listItem.getAttribute("data"));
}
});
lc.appendChild(btn);
lstm.setAttribute("data", tramo);
}
}

View File

@ -7828,6 +7828,29 @@ editarEmpresaController.exibeComissaoZeradaAgencia.ajuda = Exibir no Relatório
editarEmpresaController.permiteReativacaoPassagemBpeEstacaoNaoBpe.ajuda = Permite Reativação de Passagem BP-e em Estação Não BP-e, para ativação desse parâmetro a opção: "Emite BP-e na Venda de Bilhete com Impressão Posterior" deve estar marcada editarEmpresaController.permiteReativacaoPassagemBpeEstacaoNaoBpe.ajuda = Permite Reativação de Passagem BP-e em Estação Não BP-e, para ativação desse parâmetro a opção: "Emite BP-e na Venda de Bilhete com Impressão Posterior" deve estar marcada
editarEmpresaController.realizaCalculoComissaoPeriodo.ajuda = Realiza o calculo da comissão por período editarEmpresaController.realizaCalculoComissaoPeriodo.ajuda = Realiza o calculo da comissão por período
# Reporte Operacional Financeiro
relatorioOperacionalFinanceiroController.window.title = Reporte Operacional Financiero
relatorioOperacionalFinanceiroController.data.obrigatoria = Es necesario rellenar la fecha inicial y final
relatorioOperacionalFinanceiroController.tipo.obrigatoria = Tipo de pasaje es obligatorio
relatorioOperacionalFinanceiroController.lbEmpresa.value = Empresa
relatorioOperacionalFinanceiroController.lbAgencia.value = Punto Venta
relatorioOperacionalFinanceiroController.lbLinhas.value = Ruta
relatorioOperacionalFinanceiroController.lbOrigem.value = Origen
relatorioOperacionalFinanceiroController.lbDestino.value = Destino
relatorioOperacionalFinanceiroController.lbTramo.value = Tramo
relatorioOperacionalFinanceiroController.lbNumTramo.value = Num. Tramo
relatorioOperacionalFinanceiroController.lbTipoGratuidade.value = Tipos de Pasajes
relatorioOperacionalFinanceiroController.btnPesquisa.value = Buscar
relatorioOperacionalFinanceiroController.btnLimpar.value = Limpiar
relatorioOperacionalFinanceiroController.lbNumRuta.value = Num. linea
relatorioOperacionalFinanceiroController.lbPrefixo.value = Prefijo
relatorioOperacionalFinanceiroController.lbTipoGratuidade.value = Tipo de alojamiento
relatorioOperacionalFinanceiroController.lbDataIni.value = Fecha Inicio
relatorioOperacionalFinanceiroController.lbDataFin.value = Fecha Final
relatorioOperacionalFinanceiroController.labelOrigen.value = Origem
relatorioOperacionalFinanceiroController.labelDestino.value = Destino
relatorioOperacionalFinanceiroController.lbOrgao.value = Instituición concedente
#Relatorio Movimentacao Estoque #Relatorio Movimentacao Estoque
relatorioMovimentacaoEstoqueController.window.title = Reporte del Movimientos del Stock relatorioMovimentacaoEstoqueController.window.title = Reporte del Movimientos del Stock
relatorioMovimentacaoEstoqueController.lb.puntoventaEnv = Punto Venta Envio relatorioMovimentacaoEstoqueController.lb.puntoventaEnv = Punto Venta Envio

View File

@ -287,6 +287,7 @@ indexController.mniRelatorioGratuidade.label = Relatório Tipo Passagem
indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT
indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP
indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER
indexController.mniRelatorioOperacionalFinanceiro.label = Relatório Operacional Financeiro
indexController.mniRelatorioBilhetesVendidos.label = Bilhetes Vendidos indexController.mniRelatorioBilhetesVendidos.label = Bilhetes Vendidos
indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Gratuidades Idoso/Deficiente indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Gratuidades Idoso/Deficiente
indexController.mniRelatorioVendasBilheteiro.label = Vendas por Bilheteiro indexController.mniRelatorioVendasBilheteiro.label = Vendas por Bilheteiro
@ -8327,6 +8328,30 @@ editarEmpresaController.realizaCalculoComissaoPeriodo.ajuda = Realiza o calculo
editarEmpresaController.imprimTipoBPeDeAcordoComASefaz=Troca ECF p/ BPe imprime Tipo de substituição de acordo com a SEFAZ. editarEmpresaController.imprimTipoBPeDeAcordoComASefaz=Troca ECF p/ BPe imprime Tipo de substituição de acordo com a SEFAZ.
editarEmpresaController.imprimTipoBPeDeAcordoComASefaz.ajuda=Quando há uma troca de ECF para BPe o DABPe e Cupom de Embarque apresentam como uma substituição, mesmo ele não sendo na SEFAZ. Marcando essa configuração o tipo BPe é apresentado conforme está na SEFAZ. editarEmpresaController.imprimTipoBPeDeAcordoComASefaz.ajuda=Quando há uma troca de ECF para BPe o DABPe e Cupom de Embarque apresentam como uma substituição, mesmo ele não sendo na SEFAZ. Marcando essa configuração o tipo BPe é apresentado conforme está na SEFAZ.
# Relatório Exportacao Operacional Financeiro
relatorioOperacionalFinanceiroController.window.title = Relatório Operacional Financeiro
relatorioOperacionalFinanceiroController.data.obrigatoria = Data inicial e Final são obrigatórias
relatorioOperacionalFinanceiroController.orgaoConcedente.obrigatorio = Orgão Concedente é obrigatório
relatorioOperacionalFinanceiroController.tipo.obrigatoria = Tipo de passagens é obrigatório
relatorioOperacionalFinanceiroController.lbEmpresa.value = Empresa
relatorioOperacionalFinanceiroController.lbAgencia.value = Agência
relatorioOperacionalFinanceiroController.lbLinha.value = Linha
relatorioOperacionalFinanceiroController.lbOrigem.value = Origem
relatorioOperacionalFinanceiroController.lbDestino.value = Destino
relatorioOperacionalFinanceiroController.lbTramo.value = Trecho
relatorioOperacionalFinanceiroController.lbNumTramo.value = Num. Trecho
relatorioOperacionalFinanceiroController.lbTipoGratuidade.value = Tipos de Passagens
relatorioOperacionalFinanceiroController.lbDataIniVenda.value = Data Inicio
relatorioOperacionalFinanceiroController.lbDataFinVenda.value = Data Final
relatorioOperacionalFinanceiroController.btnPesquisa.value = Pesquisar
relatorioOperacionalFinanceiroController.btnLimpar.value = Limpar
relatorioOperacionalFinanceiroController.lbNumRuta.value = Num. Linha
relatorioOperacionalFinanceiroController.lbPrefixo.value = Prefixo
relatorioOperacionalFinanceiroController.lvVenda = Venda
relatorioOperacionalFinanceiroController.labelOrigen.value = Origem
relatorioOperacionalFinanceiroController.labelDestino.value = Destino
relatorioOperacionalFinanceiroController.lbOrgao.value = Orgão Concedente
# Relatório Exportacao Idoso ARTESP # Relatório Exportacao Idoso ARTESP
relatorioGratuidadeARTESPController.window.title = Relatório Gratuidade ARTESP relatorioGratuidadeARTESPController.window.title = Relatório Gratuidade ARTESP
relatorioGratuidadeARTESPController.data.obrigatoria = Data inicial e Final são obrigatórias relatorioGratuidadeARTESPController.data.obrigatoria = Data inicial e Final são obrigatórias

View File

@ -0,0 +1,190 @@
<?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="winFiltroRelatorioOperacionalFinanceiro"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioOperacionalFinanceiro"
apply="${relatorioOperacionalFinanceiroController}"
contentStyle="overflow:auto" height="435px" width="550px"
border="normal">
<grid fixedLayout="true">
<columns>
<column width="25%" />
<column width="75%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioOperacionalFinanceiroController.lbDataIniVenda.value')}" />
<datebox id="datInicialVenda" width="30%"
mold="rounded" format="dd/MM/yyyy" maxlength="10" />
</row>
<row>
<label
value="${c:l('relatorioOperacionalFinanceiroController.lbDataFinVenda.value')}" />
<datebox id="datFinalVenda" width="30%"
mold="rounded" format="dd/MM/yyyy" maxlength="10" />
</row>
<row>
<label
value="${c:l('relatorioOperacionalFinanceiroController.lbEmpresa.value')}" />
<combobox id="cmbEmpresa" width="100%"
maxlength="60" mold="rounded" buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioOperacionalFinanceiro$composer.lsEmpresas}" />
</row>
<row>
<label
value="${c:l('relatorioOperacionalFinanceiroController.lbLinha.value')}" />
<bandbox id="bbPesquisaLinha" width="100%"
mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<textbox
id="txtPalavraPesquisaLinha" />
<button id="btnPesquisaLinha"
image="/gui/img/find.png"
label="${c:l('relatorioOperacionalFinanceiroController.btnPesquisa.value')}" />
<button id="btnLimparLinha"
image="/gui/img/eraser.png"
label="${c:l('relatorioOperacionalFinanceiroController.btnLimpar.value')}" />
</hbox>
<listbox id="linhaList" mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="false" height="60%" width="410px">
<listhead>
<listheader
label="${c:l('relatorioOperacionalFinanceiroController.lbNumRuta.value')}"
width="18%" />
<listheader
label="${c:l('relatorioOperacionalFinanceiroController.lbPrefixo.value')}"
width="20%" />
<listheader
label="${c:l('lb.dec')}" width="35%" />
<listheader
label="${c:l('relatorioOperacionalFinanceiroController.lbOrgao.value')}"
width="27%" />
</listhead>
</listbox>
<paging id="pagingLinha" pageSize="10" />
</vbox>
</bandpopup>
</bandbox>
</row>
<row>
<cell colspan="2">
<borderlayout height="100px">
<center border="0">
<listbox id="linhaListSelList"
mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="true" height="60%" width="100%">
<listhead>
<listheader
label="${c:l('relatorioOperacionalFinanceiroController.lbNumRuta.value')}"
width="18%" />
<listheader
label="${c:l('relatorioOperacionalFinanceiroController.lbPrefixo.value')}"
width="20%" />
<listheader
label="${c:l('lb.dec')}" width="35%" />
<listheader
label="${c:l('relatorioOperacionalFinanceiroController.lbOrgao.value')}"
width="20%" />
<listheader width="7%" />
</listhead>
</listbox>
</center>
</borderlayout>
</cell>
</row>
<row>
<label
value="${c:l('relatorioOperacionalFinanceiroController.lbTramo.value')}" />
<bandbox id="bbPesquisaTramo" width="100%"
mold="rounded" readonly="true">
<bandpopup>
<vbox>
<hbox>
<label
value="${c:l('relatorioOperacionalFinanceiroController.labelOrigen.value')}" />
<combobox id="cmbParadaOrigem"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada"
mold="rounded" buttonVisible="true" width="100%" />
<button id="btnPesquisaTramo"
image="/gui/img/find.png"
label="${c:l('relatorioOperacionalFinanceiroController.btnPesquisa.value')}" />
<button id="btnLimparTramo"
image="/gui/img/eraser.png"
label="${c:l('relatorioOperacionalFinanceiroController.btnLimpar.value')}" />
</hbox>
<hbox>
<label
value="${c:l('relatorioOperacionalFinanceiroController.labelDestino.value')}" />
<combobox id="cmbParadaDestino" autodrop="false"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada"
mold="rounded" buttonVisible="true" width="100%" />
</hbox>
<listbox id="tramoList" mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="false" height="60%" width="410px">
<listhead>
<listheader
label="${c:l('relatorioOperacionalFinanceiroController.lbNumTramo.value')}"
width="30%" />
<listheader
label="${c:l('lb.dec')}" width="70%" />
</listhead>
</listbox>
<paging id="pagingTramo" pageSize="10" />
</vbox>
</bandpopup>
</bandbox>
</row>
<row>
<cell colspan="2">
<borderlayout height="100px">
<center border="0">
<listbox id="tramoListSelList"
mold="paging"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="true" height="60%" width="100%">
<listhead>
<listheader
label="${c:l('relatorioOperacionalFinanceiroController.lbNumTramo.value')}"
width="30%" />
<listheader
label="${c:l('lb.dec')}" width="63%" />
<listheader width="7%" />
</listhead>
</listbox>
</center>
</borderlayout>
</cell>
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>