fixes bug#24235

dev: Celio
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@111464 d1611594-4594-4d17-8e1d-87c2c4800839
master
fabio 2022-03-23 21:36:54 +00:00
parent 04bd250592
commit 3b25b61285
12 changed files with 873 additions and 0 deletions

View File

@ -0,0 +1,124 @@
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
public class RelatorioCteos extends Relatorio {
public RelatorioCteos(Map<String, Object> parametros, Connection conexao) throws Exception {
super(parametros, conexao);
this.setCustomDataSource(new ArrayDataSource(this) {
public void initDados() throws Exception {
Connection conexao = this.relatorio.getConexao();
Map<String, Object> parametros = this.relatorio.getParametros();
String sql = getSql(parametros);
Date dtInicio = (Date) parametros.get("DATA_INICIO");
Date dtFim = (Date) parametros.get("DATA_FIM");
NamedParameterStatement ps = new NamedParameterStatement(conexao, sql.toString());
if(dtInicio != null && dtFim != null) {
ps.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00");
ps.setString("dataFinal", DateUtil.getStringDate(dtFim, "dd/MM/yyyy") + " 23:59:59");
}
ResultSet rset = ps.executeQuery();
while (rset.next()) {
Map<String, Object> dataResult = new HashMap<String, Object>();
dataResult.put("empresa_id", rset.getString("empresa_id"));
dataResult.put("nombempresa", rset.getString("nombempresa"));
dataResult.put("dtvenda", rset.getString("dtvenda"));
dataResult.put("num_bpe", rset.getString("num_bpe"));
dataResult.put("origem", rset.getString("origem"));
dataResult.put("destino", rset.getString("destino"));
dataResult.put("uforigem", rset.getString("uforigem"));
dataResult.put("ufdestino", rset.getString("ufdestino"));
dataResult.put("dtviagem", rset.getString("dtviagem"));
dataResult.put("valor", rset.getBigDecimal("valor"));
dataResult.put("chbpe", rset.getString("chbpe"));
dataResult.put("protocolo", rset.getString("protocolo"));
dataResult.put("num_bpe", rset.getString("num_bpe"));
dataResult.put("numserie_bpe", rset.getString("numserie_bpe"));
dataResult.put("evento", rset.getString("evento"));
dataResult.put("qtd", rset.getString("qtd"));
this.dados.add(dataResult);
}
this.resultSet = rset;
}
});
}
@Override
protected void processaParametros() throws Exception {
}
private String getSql(Map<String, Object> parametros) {
StringBuilder sql = new StringBuilder(1400);
String estados = (String) parametros.get("ESTADOS_ID");
String empresaId = (String) parametros.get("EMPRESA_ID");
sql.append(" SELECT ");
sql.append(" ep.empresa_id, ");
sql.append(" ep.nombempresa , ");
sql.append(" to_char(coalesce(bpe.dt_venda, bol.fechorventa), 'dd/mm/yyyy') AS dtvenda, ");
sql.append(" bol.num_bpe, ");
sql.append(" coalesce(bol.numserie_bpe, '1') AS numserie_bpe, ");
sql.append(" to_char(bol.fechorviaje, 'dd/mm/yyyy HH24:MI') AS dtviagem, ");
sql.append(" bpe.chbpe, ");
sql.append(" ori.descparada AS origem, ");
sql.append(" e.cveestado AS uforigem, ");
sql.append(" dest.descparada AS destino, ");
sql.append(" desta.cveestado AS ufdestino, ");
sql.append(" 'EXCESSO BAGAGEM' AS evento, ");
sql.append(" 1 AS qtd, ");
sql.append(" coalesce(bpe.valorpago, bol.preciopagado) AS valor, ");
sql.append(" bpe.nprot AS protocolo ");
sql.append(" FROM ");
sql.append(" bpe bpe ");
sql.append(" LEFT JOIN boleto bol ON bol.boleto_id = bpe.boleto_id AND bpe.activo = 1 ");
sql.append(" LEFT JOIN estado e ON e.codibge = bpe.uf ");
sql.append(" LEFT JOIN marca ma ON bol.marca_id = ma.marca_id ");
sql.append(" LEFT JOIN empresa ep ON ma.empresa_id = ep.empresa_id ");
sql.append(" LEFT JOIN parada ori ON bol.origen_id = ori.parada_id ");
sql.append(" LEFT JOIN parada dest ON bol.destino_id = dest.parada_id ");
sql.append(" LEFT JOIN ciudad dcit on dest.ciudad_id = dcit.ciudad_id ");
sql.append(" LEFT JOIN estado desta ON dcit.estado_id = desta.estado_id ");
sql.append(" WHERE ");
sql.append(" e.activo = 1 ");
sql.append(" and bpe.codstat = 135 ");
sql.append(" AND bpe.tipoevento = 110117 ");
if (empresaId != null) {
sql.append(" AND ep.EMPRESA_ID IN ( " + empresaId + " ) ");
}
if (estados != null) {
sql.append(" AND e.ESTADO_ID IN ( " + estados + " )");
}
sql.append(" AND coalesce(bol.fechorventa_h, bol.fechorventa) >= to_date(:dataInicio, 'DD/MM/YYYY HH24:MI:SS') ");
sql.append(" AND coalesce(bol.fechorventa_h, bol.fechorventa) <= to_date(:dataFinal, 'DD/MM/YYYY HH24:MI:SS') ");
sql.append(" ORDER BY ");
sql.append(" ep.empresa_id,dtvenda, origem ");
return sql.toString();
}
}

View File

@ -0,0 +1,27 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
#Labels cabeçalho
cabecalho.relatorio=Relatório:
cabecalho.periodo=Período:
cabecalho.periodoA=à
cabecalho.dataHora=Data/Hora:
cabecalho.impressorPor=Impressor por:
cabecalho.pagina=Página
cabecalho.de=de
cabecalho.filtros=Filtros:
header.filtro.total=Total Geral:
label.dataVenda=Data Bpe
label.origem=Origem
label.destino=Destino
label.dataViagem=Data Viagem
label.valorBPe=Valor
label.chaveAcesso=Chave Acesso
label.protocolo=Protocolo
label.numBPe=Núm. BPe
label.serie=Série
label.empresaId=Cod. Empresa
label.nomeEmpresa=Empresa
label.evento=Evento
label.qtd=Qtd.

View File

@ -0,0 +1,28 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
#Labels cabeçalho
cabecalho.relatorio=Relatório:
cabecalho.periodo=Período:
cabecalho.periodoA=à
cabecalho.dataHora=Data/Hora:
cabecalho.impressorPor=Impressor por:
cabecalho.pagina=Página
cabecalho.de=de
cabecalho.filtros=Filtros:
header.filtro.total=Total Geral:
label.dataVenda=Data Bpe
label.origem=Origem
label.destino=Destino
label.dataViagem=Data Viagem
label.valorBPe=Valor
label.chaveAcesso=Chave Acesso
label.protocolo=Protocolo
label.numBPe=Núm. BPe
label.serie=Série
label.empresaId=Cod. Empre.
label.nomeEmpresa=Empresa
label.evento=Evento
label.qtd=Qtd.
label.serie=Série

View File

@ -0,0 +1,333 @@
<?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="RelatorioBPe" pageWidth="1130" pageHeight="842" whenNoDataType="NoDataSection" columnWidth="1090" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2de20ee0-535e-49d2-a7be-c24a30351d9f">
<property name="ireport.zoom" value="1.0980750000000004"/>
<property name="ireport.x" value="537"/>
<property name="ireport.y" value="0"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.band.1" value="title"/>
<property name="net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.2" value="columnHeader"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/>
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
<style name="zebrado">
<conditionalStyle>
<conditionExpression><![CDATA[$V{REPORT_COUNT}%2==1]]></conditionExpression>
<style backcolor="#CCCCCC"/>
</conditionalStyle>
</style>
<parameter name="USUARIO" class="java.lang.String"/>
<parameter name="NOME_RELATORIO" class="java.lang.String"/>
<parameter name="FILTROS" class="java.lang.String"/>
<parameter name="STATUS" class="java.lang.String"/>
<field name="dtvenda" class="java.lang.String"/>
<field name="empresa_id" class="java.lang.String"/>
<field name="origem" class="java.lang.String"/>
<field name="destino" class="java.lang.String"/>
<field name="dtviagem" class="java.lang.String"/>
<field name="valor" class="java.math.BigDecimal"/>
<field name="chbpe" class="java.lang.String"/>
<field name="num_bpe" class="java.lang.String"/>
<field name="numserie_bpe" class="java.lang.String"/>
<field name="nombempresa" class="java.lang.String"/>
<field name="evento" class="java.lang.String"/>
<field name="qtd" class="java.lang.String"/>
<field name="protocolo" class="java.lang.String"/>
<field name="uforigem" class="java.lang.String"/>
<field name="ufdestino" class="java.lang.String"/>
<variable name="totalValor" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{valor}]]></variableExpression>
<initialValueExpression><![CDATA[BigDecimal.ZERO]]></initialValueExpression>
</variable>
<title>
<band height="93" splitType="Stretch">
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="da52f710-3882-4beb-ba6f-870e03f6800d" mode="Transparent" x="0" y="0" width="798" height="57" forecolor="#000000" backcolor="#FFFFFF"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="16" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{NOME_RELATORIO}]]></textFieldExpression>
</textField>
<textField evaluationTime="Report" pattern="" isBlankWhenNull="false">
<reportElement uuid="2f4f1314-9363-4e6d-822f-c85c1890998b" mode="Transparent" x="1065" y="25" width="25" height="16" forecolor="#000000" backcolor="#FFFFFF"/>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="c8a70b8d-369e-48ae-a911-a5d9692316f7" mode="Transparent" x="798" y="42" width="292" height="15" forecolor="#000000" backcolor="#FFFFFF"/>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.impressorPor}+" "+$P{USUARIO}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm" isBlankWhenNull="false">
<reportElement uuid="ad4bbfb8-582d-4aa2-904d-8dfe60e54442" mode="Transparent" x="1009" y="0" width="80" height="25" forecolor="#000000" backcolor="#FFFFFF"/>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="8601bf20-f5f8-4fed-9445-7adfe580d236" mode="Transparent" x="798" y="25" width="267" height="16" forecolor="#000000" backcolor="#FFFFFF"/>
<textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.pagina}+" "+$V{PAGE_NUMBER}+" "+$R{cabecalho.de}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="b48a0903-0b2a-4ae5-ae04-811d097a9f91" x="798" y="0" width="211" height="25"/>
<textElement textAlignment="Right">
<font size="9" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement uuid="aff6535e-c25b-4f31-ad3a-baacc52e4974" x="-1" y="57" width="1091" height="21"/>
<box>
<topPen lineWidth="0.75"/>
<bottomPen lineWidth="0.75"/>
</box>
<textElement verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression>
</textField>
</band>
</title>
<columnHeader>
<band height="15">
<textField>
<reportElement uuid="2d8bc8b7-05a7-493a-ac4f-52f7f39cfa8b" x="0" y="0" width="65" height="15"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.empresaId}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="aae9977c-b656-4daf-8b9f-8fd3248542e3" x="65" y="0" width="200" height="15"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.nomeEmpresa}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="38753499-ea21-4051-aaa0-a8cdc36e087d" x="265" y="0" width="42" height="15"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.origem}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="3998308e-b9fe-465e-b251-47d19d7c4ddd" x="349" y="0" width="70" height="15"/>
<textElement textAlignment="Center">
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.dataVenda}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="924ae914-4074-4746-97c0-b11119029cc0" x="1033" y="0" width="56" height="15"/>
<textElement textAlignment="Right">
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.valorBPe}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="f9f9f464-c0da-4d85-ad06-06567943eaa8" x="703" y="0" width="221" height="15"/>
<box leftPadding="5"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.chaveAcesso}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="8080038d-0253-4fe8-a21b-75c7257d81c5" x="307" y="0" width="42" height="15"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.destino}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="6eb33a55-1523-4031-9157-04b92fd09603" x="1009" y="0" width="24" height="15"/>
<textElement textAlignment="Center">
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.qtd}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="fa7c03df-c59f-4e31-96fa-8a508c19746d" x="419" y="0" width="56" height="15"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.numBPe}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="6cb48779-f12f-4422-bdcc-faba0f0bc6d2" x="924" y="0" width="85" height="15"/>
<box leftPadding="5"/>
<textElement textAlignment="Center">
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.protocolo}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="e065ba85-3603-4e9b-bb55-4fc881056597" x="505" y="0" width="90" height="15"/>
<textElement textAlignment="Center">
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.dataViagem}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="1bd2f4a5-8270-46b1-a46b-0863c3f21dcd" x="595" y="0" width="108" height="15"/>
<textElement textAlignment="Left">
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.evento}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="abec744e-661d-407e-b21b-92cedc682316" x="475" y="0" width="30" height="15"/>
<textElement>
<font size="10" isBold="false" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.serie}]]></textFieldExpression>
</textField>
</band>
</columnHeader>
<detail>
<band height="15" splitType="Stretch">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="e29821d0-e770-43f3-a6a2-082204e4a2c4" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="0" y="0" width="65" height="15" isPrintWhenDetailOverflows="true"/>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{empresa_id}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="b8ccaac1-5267-48a0-b637-b595f74b73a7" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="65" y="0" width="200" height="15" isPrintWhenDetailOverflows="true"/>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{nombempresa}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="2a28ff64-e39c-456c-9dc0-514a15406ed2" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="265" y="0" width="42" height="15" isPrintWhenDetailOverflows="true"/>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{uforigem}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="319b345c-ad14-4025-8fd3-3e34e8cacd54" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="307" y="0" width="42" height="15" isPrintWhenDetailOverflows="true"/>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{ufdestino}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="e6244540-af1b-4d94-8b0f-d2c3e501db61" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="349" y="0" width="70" height="15" isPrintWhenDetailOverflows="true"/>
<textElement textAlignment="Center">
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{dtvenda}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement uuid="6e5187d9-591a-42ab-a394-3f990ea8adc1" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="1033" y="0" width="56" height="15" isPrintWhenDetailOverflows="true"/>
<textElement textAlignment="Right">
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{valor}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="fe71d802-0ba0-4336-b76a-f72a37b23075" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="475" y="0" width="30" height="15" isPrintWhenDetailOverflows="true"/>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{numserie_bpe}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="07f16df1-fd27-46ba-9262-835eb8dddc96" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="419" y="0" width="56" height="15" isPrintWhenDetailOverflows="true"/>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{num_bpe}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="8082048d-bc65-4b71-8322-309ffc7b2113" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="505" y="0" width="90" height="15" isPrintWhenDetailOverflows="true"/>
<textElement textAlignment="Center">
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{dtviagem}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="26b1a9e1-ab12-4222-82a3-6aa531243cbc" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="595" y="0" width="108" height="15" isPrintWhenDetailOverflows="true"/>
<textElement textAlignment="Left">
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{evento}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="fcf89d79-a930-4db6-b165-a9709729e9b3" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="703" y="0" width="221" height="15" isPrintWhenDetailOverflows="true"/>
<textElement textAlignment="Left">
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{chbpe}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="dc340bdd-44e4-4f4e-9b44-62411cb46d66" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="924" y="0" width="85" height="15" isPrintWhenDetailOverflows="true"/>
<textElement textAlignment="Center">
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{protocolo}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="c51bed7c-2724-4cfb-8799-da09f22bd439" style="zebrado" stretchType="RelativeToTallestObject" mode="Opaque" x="1009" y="0" width="24" height="15" isPrintWhenDetailOverflows="true"/>
<textElement textAlignment="Center">
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$F{qtd}]]></textFieldExpression>
</textField>
</band>
</detail>
<lastPageFooter>
<band/>
</lastPageFooter>
<summary>
<band height="18">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="95d7aa90-90da-4ddb-b63d-16a69e4996aa" stretchType="RelativeToTallestObject" x="798" y="0" width="126" height="18"/>
<box leftPadding="0">
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Left" verticalAlignment="Bottom" markup="styled">
<font fontName="SansSerif" size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{header.filtro.total}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement uuid="933b9f19-86f6-40c1-a117-ac27ada061b7" stretchType="RelativeToTallestObject" x="924" y="0" width="165" height="18"/>
<box>
<leftPen lineWidth="0.0"/>
<bottomPen lineWidth="0.0"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Bottom" markup="styled">
<font fontName="SansSerif" size="10" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{totalValor}]]></textFieldExpression>
</textField>
</band>
</summary>
<noData>
<band height="29">
<textField>
<reportElement uuid="6b9f63c1-76d9-4dd7-8fce-9bc0d91292af" x="0" y="0" width="1090" height="29"/>
<textElement markup="none">
<font size="11" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{msg.noData}]]></textFieldExpression>
</textField>
</band>
</noData>
</jasperReport>

View File

@ -0,0 +1,243 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Datebox;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Estado;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioCteos;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EstadoService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEstadoUf;
@Controller("relatorioCteosController")
@Scope("prototype")
public class RelatorioCteosController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private Datebox dtInicio;
private Datebox dtFim;
private MyComboboxEstandar cmbEmpresa;
private Combobox cmbPuntoVenta;
private MyListbox estadoList;
private List<Empresa> lsEmpresa;
private List<Estado> lsEstado;
@Autowired
private DataSource dataSourceRead;
@Autowired
private EmpresaService empresaService;
@Autowired
private EstadoService estadoService;
@Override
public void doAfterCompose(Component comp) throws Exception {
lsEmpresa = empresaService.obtenerTodos();
lsEstado = estadoService.obtenerTodos();
super.doAfterCompose(comp);
estadoList.setItemRenderer(new RenderEstadoUf());
estadoList.setData(lsEstado);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private void executarRelatorio() throws Exception {
Map<String, Object> parametros = new HashMap<String, Object>();
StringBuilder filtro = new StringBuilder();
if (!validar()) {
return;
}
if (dtInicio.getValue() != null && dtFim.getValue() != null) {
filtro.append("Data: ")
.append(DateUtil.getStringDate(dtInicio.getValue(), "dd/MM/yyyy"))
.append(" - ")
.append(DateUtil.getStringDate(dtFim.getValue(), "dd/MM/yyyy"))
.append(";");
parametros.put("DATA_INICIO", (java.util.Date) dtInicio.getValue());
parametros.put("DATA_FIM", (java.util.Date) dtFim.getValue());
}
parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioCteosController.window.title"));
parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString());
parametros.put("USUARIO_NOME", UsuarioLogado.getUsuarioLogado().getNombusuario());
filtro.append("UF: ");
String estadosIds = "";
String UFs = "";
List<Object> lsEstadosSelecionados = estadoList.getItensSelecionados();
if (!lsEstadosSelecionados.isEmpty()) {
for (int i = 0; i < lsEstadosSelecionados.size(); i++) {
Estado estado = (Estado) lsEstadosSelecionados.get(i);
UFs = UFs + estado.getCveestado() + ",";
estadosIds = estadosIds + estado.getEstadoId() + ",";
}
estadosIds = estadosIds.substring(0, estadosIds.length() - 1);
UFs = UFs.substring(0, UFs.length() - 1);
parametros.put("ESTADOS_ID", estadosIds);
} else {
filtro.append("Todos ");
}
filtro.append(UFs).append(";");
filtro.append("Empresa: ");
if (cmbEmpresa.getSelectedItem() == null ) {
filtro.append(" Todas; ");
}else{
Comboitem itemEmpresa = cmbEmpresa.getSelectedItem();
if (itemEmpresa != null) {
Empresa empresa = (Empresa) itemEmpresa.getValue();
parametros.put("EMPRESA_ID", String.valueOf(empresa.getEmpresaId()));
filtro.append(empresa.getNombempresa()).append(";");
} else {
filtro.append(" Todas; ");
}
}
parametros.put("FILTROS", filtro.toString());
Relatorio relatorio = new RelatorioCteos(parametros, dataSourceRead.getConnection());
Map args = new HashMap();
args.put("relatorio", relatorio);
openWindow("/component/reportView.zul",
Labels.getLabel("relatorioCteosController.window.title"), args, MODAL);
}
private boolean validar() {
try {
if (dtInicio.getValue() == null || dtFim.getValue() == null) {
Messagebox.show(Labels.getLabel("relatorioCteosController.data.obrigatoria"),
Labels.getLabel("relatorioCteosController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return false;
}
if(dtInicio.getValue().after(dtFim.getValue())){
Messagebox.show(Labels.getLabel("relatorioCteosController.MSG.dataInicialMaiorFinal"),
Labels.getLabel("relatorioCteosController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return false;
}
} catch (InterruptedException ex) {
return false;
}
return true;
}
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
executarRelatorio();
}
public Datebox getDtInicio() {
return dtInicio;
}
public void setDtInicio(Datebox dtInicio) {
this.dtInicio = dtInicio;
}
public Datebox getDtFim() {
return dtFim;
}
public void setDtFim(Datebox dtFim) {
this.dtFim = dtFim;
}
public MyComboboxEstandar getCmbEmpresa() {
return cmbEmpresa;
}
public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) {
this.cmbEmpresa = cmbEmpresa;
}
public Combobox getCmbPuntoVenta() {
return cmbPuntoVenta;
}
public void setCmbPuntoVenta(Combobox cmbPuntoVenta) {
this.cmbPuntoVenta = cmbPuntoVenta;
}
public MyListbox getEstadoList() {
return estadoList;
}
public void setEstadoList(MyListbox estadoList) {
this.estadoList = estadoList;
}
public List<Empresa> getLsEmpresa() {
return lsEmpresa;
}
public void setLsEmpresa(List<Empresa> lsEmpresa) {
this.lsEmpresa = lsEmpresa;
}
public List<Estado> getLsEstado() {
return lsEstado;
}
public void setLsEstado(List<Estado> lsEstado) {
this.lsEstado = lsEstado;
}
public EmpresaService getEmpresaService() {
return empresaService;
}
public void setEmpresaService(EmpresaService empresaService) {
this.empresaService = empresaService;
}
public DataSource getDataSourceRead() {
return dataSourceRead;
}
public void setDataSourceRead(DataSource dataSourceRead) {
this.dataSourceRead = dataSourceRead;
}
public EstadoService getEstadoService() {
return estadoService;
}
public void setEstadoService(EstadoService estadoService) {
this.estadoService = estadoService;
}
}

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

View File

@ -263,6 +263,7 @@ analitico.integracion.bgm=com.rjconsultores.ventaboletos.web.utilerias.menu.item
analitico.integracion.bgm.arquivo=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioArquivoBGM
analitico.integracion.bgm.erro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioErrosIntegracaoBGM
analitico.integracion.retornoBancario=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioRetornoBancario
analitico.integracion.cteos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCteos
analitico.integracion.receitasDespesasDiversas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioReceitasDespesasDiversas
analitico.integracion.logReceitasDespesasDiversas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuLogReceitasDespesasDiversas
analitico.integracion.exportacaoFiscal=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal.SubMenuExportacaoFiscal

View File

@ -8525,6 +8525,17 @@ relatorioRetornoBancario.MGS.alertaConstanteCNABNossoNumeroForaPardrao = Existem
relatorioRetornoBancario.MGS.alertaArquivoRemessaNaoGerado = Arquivo de remessa não pôde ser criado, favor entrar em contato com o suporte.
relatorioRetornoBancario.MGS.alertaCNABSemItens = Não há itens boletos a enviar para gerar o Arquivo de Remessa para esta empresa
# CT-e OS
indexController.mniRelatorioCteos.label = CT-e OS
relatorioCteosController.window.title = CT-e OS
relatorioCteosController.lbDtInicio.value=Data Emissão Inicial
relatorioCteosController.lbDtFim.value=Data Emissão Final
relatorioCteosController.lbEmpresa.value = Empresa
relatorioCteosController.lbUF.value=Estado
relatorioCteosController.MSG.erroSemEmpresa=Escolha uma empresa
relatorioCteosController.MSG.dataInicialMaiorFinal=Data inicial maior que final
relatorioCteosController.data.obrigatoria = Data inicial e Final são obrigatórias
# Relatório Movimento Por Orgao Concedente
indexController.mniRelatorioMovimentoPorOrgaoConcedente.label=Movimento Por Órgão Concedente
relatorioMovimentoPorOrgaoConcedente.window.title=Movimento Por Órgao Concedente

View File

@ -8336,6 +8336,17 @@ relatorioRetornoBancario.MGS.alertaConstanteCNABNossoNumeroForaPardrao = Existem
relatorioRetornoBancario.MGS.alertaArquivoRemessaNaoGerado = Arquivo de remessa não pôde ser criado, favor entrar em contato com o suporte.
relatorioRetornoBancario.MGS.alertaCNABSemItens = Não há itens boletos a enviar para gerar o Arquivo de Remessa para esta empresa
# CT-e OS
indexController.mniRelatorioCteos.label = CT-e OS
relatorioCteosController.window.title = CT-e OS
relatorioCteosController.lbDtInicio.value=Data Emissão Inicial
relatorioCteosController.lbDtFim.value=Data Emissão Final
relatorioCteosController.lbEmpresa.value = Empresa
relatorioCteosController.lbUF.value=Estado
relatorioCteosController.MSG.erroSemEmpresa=Escolha uma empresa
relatorioCteosController.MSG.dataInicialMaiorFinal=Data inicial maior que final
relatorioCteosController.data.obrigatoria = Data inicial e Final são obrigatórias
# Relatório Movimento Por Orgao Concedente
indexController.mniRelatorioMovimentoPorOrgaoConcedente.label = Movimento Por Órgão Concedente
relatorioMovimentoPorOrgaoConcedente.window.title = Movimento Por Órgao Concedente

View File

@ -9062,6 +9062,17 @@ relatorioRetornoBancario.MGS.alertaConstanteCNABNossoNumeroForaPardrao = Existem
relatorioRetornoBancario.MGS.alertaArquivoRemessaNaoGerado = Arquivo de remessa não pôde ser criado, favor entrar em contato com o suporte.
relatorioRetornoBancario.MGS.alertaCNABSemItens = Não há itens boletos a enviar para gerar o Arquivo de Remessa para esta empresa
# CT-e OS
indexController.mniRelatorioCteos.label = CT-e OS
relatorioCteosController.window.title = CT-e OS
relatorioCteosController.lbDtInicio.value=Data Emissão Inicial
relatorioCteosController.lbDtFim.value=Data Emissão Final
relatorioCteosController.lbEmpresa.value = Empresa
relatorioCteosController.lbUF.value=Estado
relatorioCteosController.MSG.erroSemEmpresa=Escolha uma empresa
relatorioCteosController.MSG.dataInicialMaiorFinal=Data inicial maior que final
relatorioCteosController.data.obrigatoria = Data inicial e Final são obrigatórias
# Relatório Movimento Por Orgao Concedente
indexController.mniRelatorioMovimentoPorOrgaoConcedente.label = Movimento Por Órgão Concedente
relatorioMovimentoPorOrgaoConcedente.window.title = Movimento Por Órgao Concedente

View File

@ -0,0 +1,59 @@
<?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="winFiltroRelatorioCteos"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioCteos"
apply="${relatorioCteosController}" contentStyle="overflow:auto"
width="350px" border="normal" >
<grid fixedLayout="true">
<columns>
<column width="40%" />
<column width="60%" />
</columns>
<rows>
<row spans="1,3">
<label
value="${c:l('relatorioCteosController.lbDtInicio.value')}" />
<datebox id="dtInicio" width="60%" mold="rounded"
format="dd/MM/yyyy" maxlength="10" />
</row>
<row spans="1,3">
<label
value="${c:l('relatorioCteosController.lbDtFim.value')}" />
<datebox id="dtFim" width="60%" mold="rounded"
format="dd/MM/yyyy" maxlength="10" />
</row>
<row spans="1,3">
<label
value="${c:l('relatorioCteosController.lbEmpresa.value')}" />
<combobox id="cmbEmpresa"
buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioCteos$composer.lsEmpresa}"
width="95%" />
</row>
<row spans="1, 3">
<label
value="${c:l('relatorioCteosController.lbUF.value')}" />
<listbox id="estadoList" rows="10" vflex="false"
width="90%" multiple="true" checkmark="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox">
</listbox>
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>