fixes bug#13655

dev:lucas

qua: 

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@90839 d1611594-4594-4d17-8e1d-87c2c4800839
master
lucas.taia 2019-03-15 20:20:52 +00:00
parent 5a78eccfba
commit 5d67805b31
11 changed files with 819 additions and 2 deletions

View File

@ -0,0 +1,126 @@
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
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;
public class RelatorioBpe extends Relatorio {
public RelatorioBpe(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");
PreparedStatement ps = conexao.prepareStatement(sql.toString());
ps.setString(1, DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00");
ps.setString(2, 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("dtvenda", rset.getString("dtvenda"));
dataResult.put("hrvenda", rset.getString("hrvenda"));
dataResult.put("origem", rset.getString("origem"));
dataResult.put("destino", rset.getString("destino"));
dataResult.put("dtviagem", rset.getString("dtviagem"));
dataResult.put("vlbpe", rset.getString("vlbpe"));
dataResult.put("chbpe", rset.getString("chbpe"));
dataResult.put("num_bpe", rset.getString("num_bpe"));
dataResult.put("numserie_bpe", rset.getString("numserie_bpe"));
dataResult.put("status", rset.getString("status"));
dataResult.put("obs", rset.getString("obs"));
dataResult.put("qrcode", rset.getString("qrcode"));
this.dados.add(dataResult);
}
this.resultSet = rset;
}
});
}
@Override
protected void processaParametros() throws Exception {
}
private String getSql(Map<String, Object> parametros) {
StringBuilder sql = new StringBuilder();
String estados = (String) parametros.get("ESTADOS_ID");
Integer empresaId = (Integer) parametros.get("EMPRESA_ID");
String status = (String) parametros.get("STATUS");
sql.append("SELECT");
sql.append(" TO_CHAR(COALESCE(bpe.DT_VENDA,bol.FECHORVENTA),'dd/mm/yyyy') as dtvenda, ");
sql.append(" TO_CHAR(COALESCE(bpe.DT_VENDA,bol.FECHORVENTA),'HH24:MI:SS') as hrvenda, ");
sql.append(" ori.DESCPARADA as origem, ");
sql.append(" dest.DESCPARADA as destino,");
sql.append(" TO_CHAR(bol.FECHORVIAJE,'dd/mm/yyyy HH24:MI:SS') as dtviagem, ");
sql.append(" TO_CHAR(COALESCE(bol.PRECIOPAGADO,0) + coalesce(bol.IMPORTETAXAEMBARQUE,0) + coalesce(bol.IMPORTESEGURO,0) + coalesce(bol.IMPORTEPEDAGIO,0) + coalesce(bol.IMPORTEOUTROS,0)) as vlbpe, ");
sql.append(" bpe.CHBPE, ");
sql.append(" bol.NUM_BPE as num_bpe, ");
sql.append(" COALESCE(bol.NUMSERIE_BPE, '1') as numserie_bpe, ");
sql.append(" CASE bpe.CODSTAT ");
sql.append(" WHEN '100' THEN (CASE WHEN bpe.TIPOSUBSTITUICAO IS NULL THEN 'Autorizado' ELSE 'Substituído' END ) ");
sql.append(" WHEN '135' THEN (CASE bpe.TIPOEVENTO WHEN '110111' THEN 'Cancelado' WHEN '110115' THEN 'Não embarcado' ELSE NULL END) ");
sql.append(" ELSE 'Rejeitado' END as status, ");
sql.append(" CASE WHEN bpe.CODSTAT not in ('100','135') THEN bpe.motivo ELSE NULL END as obs, ");
sql.append(" bpe.QRCODE");
sql.append(" FROM 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(" WHERE bol.ACTIVO = 1 and e.ACTIVO = 1 ");
if (empresaId != null) {
sql.append(" AND ep.EMPRESA_ID = " + empresaId + " ");
}
if (estados != null) {
sql.append(" AND e.ESTADO_ID IN ( " + estados + " )");
}
if (status != null && status.equals("A")) {
sql.append(" AND bpe.CODSTAT = '100' AND bpe.TIPOSUBSTITUICAO IS NULL ");
} else if (status != null && status.equals("C")) {
sql.append(" AND bpe.CODSTAT = '135' AND bpe.TIPOEVENTO = '110111' ");
} else if (status != null && status.equals("S")) {
sql.append(" AND bpe.CODSTAT = '100' AND bpe.TIPOSUBSTITUICAO IS NOT NULL ");
} else if (status != null && status.equals("NE")) {
sql.append(" AND bpe.CODSTAT = '135' AND bpe.TIPOEVENTO = '110115' ");
} else if (status != null && status.equals("R")) {
sql.append(" AND bpe.CODSTAT NOT IN ('100','135') ");
}
sql.append(" AND COALESCE(bpe.DT_VENDA,bol.FECHORVENTA) >= TO_DATE(?,'DD/MM/YYYY HH24:MI:SS') ");
sql.append(" AND COALESCE(bpe.DT_VENDA,bol.FECHORVENTA) <= TO_DATE(?,'DD/MM/YYYY HH24:MI:SS') ");
sql.append(" ORDER BY bol.NUM_BPE, COALESCE(bol.NUMSERIE_BPE, '1') ASC ");
return sql.toString();
}
}

View File

@ -0,0 +1,24 @@
#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:
label.dataVenda=Data Venda
label.horaVenda=Hora Venda
label.origem=Origem
label.destino=Destino
label.dataViagem=Data Viagem
label.valorBPe=Valor
label.chaveAcesso=Chave Acesso
label.numBPe=Número BPe
label.serie=Série
label.status=Status
label.obs=Observação

View File

@ -0,0 +1,24 @@
#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:
label.dataVenda=Data Venda
label.horaVenda=Hora Venda
label.origem=Origem
label.destino=Destino
label.dataViagem=Data Viagem
label.valorBPe=Valor
label.chaveAcesso=Chave Acesso
label.numBPe=Número BPe
label.serie=Série
label.status=Status
label.obs=Observação

View File

@ -0,0 +1,263 @@
<?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="1270" pageHeight="842" whenNoDataType="NoDataSection" columnWidth="1230" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2de20ee0-535e-49d2-a7be-c24a30351d9f">
<property name="ireport.zoom" value="1.4641000000000088"/>
<property name="ireport.x" value="297"/>
<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"/>
<parameter name="USUARIO" class="java.lang.String"/>
<parameter name="NOME_RELATORIO" class="java.lang.String"/>
<parameter name="FILTROS" class="java.lang.String"/>
<field name="dtvenda" class="java.lang.String"/>
<field name="hrvenda" 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="vlbpe" class="java.lang.String"/>
<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="status" class="java.lang.String"/>
<field name="obs" class="java.lang.String"/>
<field name="qrcode" class="java.lang.String"/>
<title>
<band height="79" splitType="Stretch">
<textField pattern="" isBlankWhenNull="false">
<reportElement mode="Transparent" x="0" y="0" width="180" height="41" forecolor="#000000" backcolor="#FFFFFF" uuid="da52f710-3882-4beb-ba6f-870e03f6800d"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="14" 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 mode="Transparent" x="1207" y="25" width="21" height="16" forecolor="#000000" backcolor="#FFFFFF" uuid="2f4f1314-9363-4e6d-822f-c85c1890998b"/>
<textElement textAlignment="Center" 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 mode="Transparent" x="1124" y="42" width="104" height="15" forecolor="#000000" backcolor="#FFFFFF" uuid="c8a70b8d-369e-48ae-a911-a5d9692316f7"/>
<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 mode="Transparent" x="1124" y="0" width="104" height="25" forecolor="#000000" backcolor="#FFFFFF" uuid="ad4bbfb8-582d-4aa2-904d-8dfe60e54442"/>
<textElement textAlignment="Left" 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 mode="Transparent" x="939" y="25" width="267" height="16" forecolor="#000000" backcolor="#FFFFFF" uuid="8601bf20-f5f8-4fed-9445-7adfe580d236"/>
<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 x="939" y="0" width="185" height="25" uuid="b48a0903-0b2a-4ae5-ae04-811d097a9f91"/>
<textElement textAlignment="Right">
<font size="9" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression>
</textField>
<line>
<reportElement x="-1" y="58" width="1231" height="1" uuid="3c577f75-c6d6-4c11-a846-bfe71a8a1b42"/>
</line>
<textField isStretchWithOverflow="true">
<reportElement x="-1" y="59" width="1231" height="15" uuid="aff6535e-c25b-4f31-ad3a-baacc52e4974"/>
<textElement verticalAlignment="Middle">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression>
</textField>
<line>
<reportElement positionType="Float" x="-1" y="78" width="1231" height="1" uuid="84641d2c-21a5-47f0-b4a8-afe7bf700cb6"/>
</line>
</band>
</title>
<columnHeader>
<band height="15">
<textField>
<reportElement x="0" y="0" width="48" height="15" uuid="2d8bc8b7-05a7-493a-ac4f-52f7f39cfa8b"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.dataVenda}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="49" y="0" width="48" height="15" uuid="aae9977c-b656-4daf-8b9f-8fd3248542e3"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.horaVenda}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="98" y="0" width="117" height="15" uuid="38753499-ea21-4051-aaa0-a8cdc36e087d"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.origem}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="215" y="0" width="116" height="15" uuid="8080038d-0253-4fe8-a21b-75c7257d81c5"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.destino}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="331" y="0" width="63" height="15" uuid="3998308e-b9fe-465e-b251-47d19d7c4ddd"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.dataViagem}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="394" y="0" width="48" height="15" uuid="924ae914-4074-4746-97c0-b11119029cc0"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.valorBPe}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="443" y="0" width="270" height="15" uuid="f9f9f464-c0da-4d85-ad06-06567943eaa8"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.chaveAcesso}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="713" y="0" width="81" height="15" uuid="fa7c03df-c59f-4e31-96fa-8a508c19746d"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.numBPe}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="794" y="0" width="61" height="15" uuid="abec744e-661d-407e-b21b-92cedc682316"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.serie}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="855" y="0" width="77" height="15" uuid="aaabe6ae-6466-4b39-8f39-b94460463dc8"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.status}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="932" y="0" width="298" height="15" uuid="bdb50181-e913-4a43-9344-c599b323706a"/>
<textElement textAlignment="Center">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
</textElement>
<textFieldExpression><![CDATA[$R{label.obs}]]></textFieldExpression>
</textField>
</band>
</columnHeader>
<detail>
<band height="15" splitType="Stretch">
<textField isBlankWhenNull="true">
<reportElement x="0" y="0" width="48" height="15" uuid="e29821d0-e770-43f3-a6a2-082204e4a2c4"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{dtvenda}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="49" y="0" width="48" height="15" uuid="b8ccaac1-5267-48a0-b637-b595f74b73a7"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{hrvenda}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="98" y="0" width="117" height="15" uuid="2a28ff64-e39c-456c-9dc0-514a15406ed2"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{origem}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="215" y="0" width="116" height="15" uuid="319b345c-ad14-4025-8fd3-3e34e8cacd54"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{destino}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="331" y="0" width="63" height="15" uuid="e6244540-af1b-4d94-8b0f-d2c3e501db61"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{dtviagem}]]></textFieldExpression>
</textField>
<textField pattern="¤ #,##0.00" isBlankWhenNull="true">
<reportElement x="394" y="0" width="48" height="15" uuid="6e5187d9-591a-42ab-a394-3f990ea8adc1"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{vlbpe}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true" hyperlinkType="Reference" hyperlinkTarget="Blank">
<reportElement x="443" y="0" width="270" height="15" uuid="6db62c93-f853-4396-89ce-afcc6d510d91"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{chbpe}]]></textFieldExpression>
<hyperlinkReferenceExpression><![CDATA[$F{qrcode}]]></hyperlinkReferenceExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="713" y="0" width="81" height="15" uuid="07f16df1-fd27-46ba-9262-835eb8dddc96"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{num_bpe}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="794" y="0" width="61" height="15" uuid="fe71d802-0ba0-4336-b76a-f72a37b23075"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{numserie_bpe}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="855" y="0" width="77" height="15" uuid="66eaa400-673d-4b37-b2ef-982910e6c78c"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{status}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement x="932" y="0" width="298" height="15" uuid="7b8ce326-5e48-4b4f-ba2d-60fabfdc4119"/>
<textElement>
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{obs}]]></textFieldExpression>
</textField>
</band>
</detail>
<noData>
<band height="50">
<textField>
<reportElement x="0" y="24" width="575" height="26" uuid="6b9f63c1-76d9-4dd7-8fce-9bc0d91292af"/>
<textElement markup="none">
<font size="11" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{msg.noData}]]></textFieldExpression>
</textField>
</band>
</noData>
</jasperReport>

View File

@ -0,0 +1,252 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.text.SimpleDateFormat;
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 org.zkoss.zul.Radio;
import org.zkoss.zul.Radiogroup;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Estado;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBpe;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EstadoService;
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("relatorioBPeController")
@Scope("prototype")
public class RelatorioBPeController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private Datebox dtInicio;
private Datebox dtFim;
private MyComboboxEstandar cmbEmpresa;
private Combobox cmbPuntoVenta;
private Radio rdbStatus;
private Radiogroup rdbGroup;
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();
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
if (!validar()) {
return;
}
if (dtInicio.getValue() != null) {
filtro.append("Data : ")
.append(format.format(dtInicio.getValue()))
.append(" - ")
.append(format.format(dtFim.getValue()))
.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("relatorioBPeController.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.getSelectedsItens();
if (lsEstadosSelecionados.size() > 0) {
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: ");
Comboitem itemEmpresa = cmbEmpresa.getSelectedItem();
if (itemEmpresa != null) {
Empresa empresa = (Empresa) itemEmpresa.getValue();
parametros.put("EMPRESA_ID", empresa.getEmpresaId());
filtro.append(empresa.getNombempresa() + ";");
} else {
filtro.append(" Todas; ");
}
filtro.append(" Status; " + rdbGroup.getSelectedItem().getLabel());
parametros.put("STATUS", rdbGroup.getSelectedItem().getValue());
parametros.put("FILTROS", filtro.toString());
Relatorio relatorio = new RelatorioBpe(parametros, dataSourceRead.getConnection());
Map args = new HashMap();
args.put("relatorio", relatorio);
openWindow("/component/reportView.zul",
Labels.getLabel("relatorioBPeController.window.title"), args, MODAL);
}
private boolean validar() {
try {
if (dtInicio.getValue() == null || dtFim.getValue() == null) {
Messagebox.show(Labels.getLabel("relatorioBPeController.MSG.informarData"),
Labels.getLabel("relatorioBPeController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return false;
}
if(dtInicio.getValue().after(dtFim.getValue())){
Messagebox.show(Labels.getLabel("relatorioBPeController.MSG.dataInicialMaiorQueFinal"),
Labels.getLabel("relatorioBPeController.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 Radio getRdbStatus() {
return rdbStatus;
}
public void setRdbStatus(Radio rdbStatus) {
this.rdbStatus = rdbStatus;
}
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 ItemMenuRelatorioBPe extends DefaultItemMenuSistema {
public ItemMenuRelatorioBPe() {
super("indexController.mniRelatorioBPe.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.RELATORIO.BPE";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioBPe.zul",
Labels.getLabel("relatorioBPeController.window.title"), getArgs(), desktop);
}
}

View File

@ -127,6 +127,7 @@ analitico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.MenuA
analitico.item=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.ItemMenuAnalitico analitico.item=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.ItemMenuAnalitico
analitico.gerenciais=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.SubMenuGerenciais analitico.gerenciais=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.SubMenuGerenciais
analitico.gerenciais.segundaVia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSegundaVia analitico.gerenciais.segundaVia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSegundaVia
analitico.gerenciais.relatorioBPe=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioBPe
analitico.gerenciais.cadastroClientes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCadastroClientes analitico.gerenciais.cadastroClientes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCadastroClientes
analitico.gerenciais.historicoClientes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioHistoricoClientes analitico.gerenciais.historicoClientes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioHistoricoClientes
analitico.gerenciais.aidfDetalhado=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAidfDetalhado analitico.gerenciais.aidfDetalhado=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAidfDetalhado

View File

@ -296,6 +296,7 @@ indexController.mniRelatorioAIDFDetalhado.label = Reporte Estoque
indexController.mniRelatorioMovimentacaoEstoque.label = Movimientos del Stock indexController.mniRelatorioMovimentacaoEstoque.label = Movimientos del Stock
indexController.mniRelatorioHistoricoClientes.label = Histórico Clientes indexController.mniRelatorioHistoricoClientes.label = Histórico Clientes
indexController.mniRelatorioCadastroClientes.label = Cadastro Clientes indexController.mniRelatorioCadastroClientes.label = Cadastro Clientes
indexController.mniRelatorioBPe.label = BPe
indexController.mniRelatorioSegundaVia.label = Segunda Via indexController.mniRelatorioSegundaVia.label = Segunda Via
indexController.mniPrecoApanhe.label = Precio Apanhe indexController.mniPrecoApanhe.label = Precio Apanhe
indexController.mniRelatorioVendasPacotesResumido.label = Ventas de paquetes - Resumido indexController.mniRelatorioVendasPacotesResumido.label = Ventas de paquetes - Resumido
@ -7885,4 +7886,19 @@ customController.btnSalvar.tooltiptext = Salvar
customController.MSG.suscribirOK = Customização Registrada com Sucesso. customController.MSG.suscribirOK = Customização Registrada com Sucesso.
customController.MSG.borrarPergunta = Eliminar customização? customController.MSG.borrarPergunta = Eliminar customização?
customController.MSG.borrarOK = Customização Excluida com Sucesso. customController.MSG.borrarOK = Customização Excluida com Sucesso.
customController.MSG.modificar = Cuidado! Ao alterar este valor o sistema será modificado automaticamente.>>>>>>> .r90642 customController.MSG.modificar = Cuidado! Ao alterar este valor o sistema será modificado automaticamente.
#Relatorio BPe
relatorioBPeController.window.title = Relatório BPe
relatorioBPeController.lbEmpresa.value = Empresa
relatorioBPeController.lbDtInicio.value = Data Inicio
relatorioBPeController.lbDtFim.value = Data Fim
relatorioBPeController.lbUF.value = UF
relatorioBPeController.lbStatus.value = Status
relatorioBPeController.lbAutorizado.value = Autorizado
relatorioBPeController.lbRejeitado.value = Rejeitado
relatorioBPeController.lbCancelado.value = Cancelado
relatorioBPeController.lbSubstituido.value = Substituído
relatorioBPeController.lbNaoEmbarcado.value = Não embarcado
relatorioBPeController.MSG.informarData = Favor informar data inicial e final.
relatorioBPeController.MSG.dataInicialMaiorQueFinal = Data de inicio não pode ser maior do que a final.

View File

@ -309,6 +309,7 @@ indexController.mniRelatorioAIDFDetalhado.label = Relatório Estoque
indexController.mniRelatorioMovimentacaoEstoque.label = Movimentação de Estoque indexController.mniRelatorioMovimentacaoEstoque.label = Movimentação de Estoque
indexController.mniRelatorioHistoricoClientes.label = Histórico Clientes indexController.mniRelatorioHistoricoClientes.label = Histórico Clientes
indexController.mniRelatorioCadastroClientes.label = Cadastro Clientes indexController.mniRelatorioCadastroClientes.label = Cadastro Clientes
indexController.mniRelatorioBPe.label = BPe
indexController.mniRelatorioConsultaAntt.label= Consulta ANTT indexController.mniRelatorioConsultaAntt.label= Consulta ANTT
indexController.mniRelatorioSegundaVia.label = Segunda Via indexController.mniRelatorioSegundaVia.label = Segunda Via
indexController.mniPrecoApanhe.label = Preço Apanhe indexController.mniPrecoApanhe.label = Preço Apanhe
@ -8360,4 +8361,19 @@ customController.btnSalvar.tooltiptext = Salvar
customController.MSG.suscribirOK = Customização Registrada com Sucesso. customController.MSG.suscribirOK = Customização Registrada com Sucesso.
customController.MSG.borrarPergunta = Eliminar customização? customController.MSG.borrarPergunta = Eliminar customização?
customController.MSG.borrarOK = Customização Excluida com Sucesso. customController.MSG.borrarOK = Customização Excluida com Sucesso.
customController.MSG.modificar = Cuidado! Ao alterar este valor o sistema será modificado automaticamente. customController.MSG.modificar = Cuidado! Ao alterar este valor o sistema será modificado automaticamente.
#Relatorio BPe
relatorioBPeController.window.title = Relatório BPe
relatorioBPeController.lbEmpresa.value = Empresa
relatorioBPeController.lbDtInicio.value = Data Inicio
relatorioBPeController.lbDtFim.value = Data Fim
relatorioBPeController.lbUF.value = UF
relatorioBPeController.lbStatus.value = Status
relatorioBPeController.lbAutorizado.value = Autorizado
relatorioBPeController.lbRejeitado.value = Rejeitado
relatorioBPeController.lbCancelado.value = Cancelado
relatorioBPeController.lbSubstituido.value = Substituído
relatorioBPeController.lbNaoEmbarcado.value = Não embarcado
relatorioBPeController.MSG.informarData = Favor informar data inicial e final.
relatorioBPeController.MSG.dataInicialMaiorQueFinal = Data de inicio não pode ser maior do que a final.

View File

@ -0,0 +1,70 @@
<?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="winFiltroRelatorioBPe"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioBPe" apply="${relatorioBPeController}"
contentStyle="overflow:auto"
height="370px" width="728px" border="normal">
<grid fixedLayout="true">
<columns>
<column width="25%" />
<column width="30%" />
<column width="15%" />
<column width="40%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioBPeController.lbDtInicio.value')}" />
<datebox id="dtInicio" width="100%" mold="rounded"
format="dd/MM/yyyy" maxlength="10" />
<label
value="${c:l('relatorioBPeController.lbDtFim.value')}" />
<datebox id="dtFim" width="100%" mold="rounded"
format="dd/MM/yyyy" maxlength="10" />
</row>
<row spans="1,3">
<label
value="${c:l('relatorioBPeController.lbEmpresa.value')}" />
<combobox id="cmbEmpresa"
buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioBPe$composer.lsEmpresa}"
width="100%" />
</row>
<row spans="1, 3">
<label
value="${c:l('relatorioBPeController.lbUF.value')}" />
<listbox id="estadoList" rows="10" vflex="false"
width="90%" multiple="true" checkmark="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox">
</listbox>
</row>
<row spans="1, 3">
<label
value="${c:l('relatorioBPeController.lbStatus.value')}" />
<radiogroup Id="rdbGroup">
<radio id="rdbAutorizado" value="A" label="${c:l('relatorioBPeController.lbAutorizado.value')}" selected="true"/>
<radio id="rdbRejeitado" value="R" label="${c:l('relatorioBPeController.lbRejeitado.value')}" />
<radio id="rdbCancelado" value="C" label="${c:l('relatorioBPeController.lbCancelado.value')}" />
<radio id="rdbSubstituido" value="S" label="${c:l('relatorioBPeController.lbSubstituido.value')}" />
<radio id="rdbNaoEmbarcado" value="NE" label="${c:l('relatorioBPeController.lbNaoEmbarcado.value')}" />
</radiogroup>
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>