git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@29067 d1611594-4594-4d17-8e1d-87c2c4800839
parent
2d0a51f443
commit
af462a8143
|
@ -0,0 +1,90 @@
|
||||||
|
package com.rjconsultores.ventaboletos.relatorios.impl;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.util.EnumSet;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
|
||||||
|
|
||||||
|
public class RelatorioLinhaOperacional extends Relatorio {
|
||||||
|
|
||||||
|
public enum EnumEspecie {
|
||||||
|
BILHETE("BILHETE DE PASSAGEM RODOVIÁRIO"), EXCESSO_BAGAGEM("DEMOSTRATIVO EXCESSO DE BAGAGEM");
|
||||||
|
public static final EnumSet<EnumEspecie> all = EnumSet.of(BILHETE, EXCESSO_BAGAGEM);
|
||||||
|
private String descricao;
|
||||||
|
|
||||||
|
private EnumEspecie(String descricao) {
|
||||||
|
this.descricao = descricao;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return descricao;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public RelatorioLinhaOperacional(Map<String, Object> parametros, Connection conexao) {
|
||||||
|
super(parametros, conexao);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void processaParametros() throws Exception {
|
||||||
|
Map<String, Object> parametros = this.getParametros();
|
||||||
|
|
||||||
|
EnumEspecie especie = (EnumEspecie) parametros.get("ESPECIE");
|
||||||
|
String dataDe = (String) parametros.get("DATA_DE");
|
||||||
|
String dataAte = (String) parametros.get("DATA_ATE");
|
||||||
|
String linhasIds = (String) parametros.get("LINHAS");
|
||||||
|
String empresaId = (String) parametros.get("EMPRESA_IDS");
|
||||||
|
|
||||||
|
String sql = getSql(especie, dataDe, dataAte, linhasIds, empresaId);
|
||||||
|
parametros.put("SQL", sql);
|
||||||
|
parametros.put("STR_ESPECIE", especie.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getSql(EnumEspecie especie, String dataDe, String dataAte, String linhasIds, String empresaId) {
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
|
||||||
|
sql.append(" SELECT c.feccorrida data_corrida, ");
|
||||||
|
sql.append(" c.fechorsalida hora_saida, ");
|
||||||
|
sql.append(" r.descruta linha, ");
|
||||||
|
sql.append(" o.descparada origem, ");
|
||||||
|
sql.append(" d.descparada destino, ");
|
||||||
|
sql.append(" e.empresa_id empresaId, ");
|
||||||
|
sql.append(" e.nombempresa empresa, ");
|
||||||
|
sql.append(" Count(*) qtde_boletos ");
|
||||||
|
|
||||||
|
switch (especie) {
|
||||||
|
case BILHETE:
|
||||||
|
sql.append(" FROM caja ca ");
|
||||||
|
sql.append(" INNER JOIN corrida c ON ( c.corrida_id = ca.corrida_id AND c.feccorrida = ca.feccorrida ) ");
|
||||||
|
sql.append(" INNER JOIN empresa e ON e.empresa_id = c.empresacorrida_id ");
|
||||||
|
sql.append(" INNER JOIN ruta r ON r.ruta_id = c.ruta_id ");
|
||||||
|
sql.append(" INNER JOIN parada o ON o.parada_id = ca.origen_id ");
|
||||||
|
sql.append(" INNER JOIN parada d ON d.parada_id = ca.destino_id ");
|
||||||
|
sql.append(" WHERE ca.fechorventa BETWEEN To_date('").append(dataDe).append("', 'dd/mm/yyyy') ");
|
||||||
|
sql.append(" AND To_date('").append(dataAte).append("', 'dd/mm/yyyy') ");
|
||||||
|
sql.append(" AND c.ruta_id IN (").append(linhasIds).append(") ");
|
||||||
|
sql.append(" AND ca.empresacorrida_id IN (").append(empresaId).append(") ");
|
||||||
|
break;
|
||||||
|
case EXCESSO_BAGAGEM:
|
||||||
|
sql.append(" FROM caja_diversos ca ");
|
||||||
|
sql.append(" INNER JOIN evento_extra ex ON ex.eventoextra_id = ca.eventoextra_id ");
|
||||||
|
sql.append(" INNER JOIN corrida c ON ( c.corrida_id = ex.corrida_id AND c.feccorrida = ex.feccorrida ) ");
|
||||||
|
sql.append(" INNER JOIN empresa e ON e.empresa_id = c.empresacorrida_id ");
|
||||||
|
sql.append(" INNER JOIN ruta r ON r.ruta_id = c.ruta_id ");
|
||||||
|
sql.append(" INNER JOIN parada o ON o.parada_id = c.origen_id ");
|
||||||
|
sql.append(" INNER JOIN parada d ON d.parada_id = c.destino_id ");
|
||||||
|
sql.append(" WHERE ca.fechorvta BETWEEN To_date('").append(dataDe).append("', 'dd/mm/yyyy') ");
|
||||||
|
sql.append(" AND To_date('").append(dataAte).append("', 'dd/mm/yyyy') ");
|
||||||
|
sql.append(" AND c.ruta_id IN (").append(linhasIds).append(") ");
|
||||||
|
sql.append(" AND ex.empresa_id IN (").append(empresaId).append(") ");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
sql.append(" GROUP BY c.feccorrida, c.fechorsalida, r.descruta, o.descparada, d.descparada, e.empresa_id, e.nombempresa ");
|
||||||
|
sql.append(" ORDER BY c.feccorrida, e.nombempresa ASC ");
|
||||||
|
|
||||||
|
return sql.toString();
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
|
@ -0,0 +1,218 @@
|
||||||
|
<?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="RelatorioLinhaOperacional" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="05f861f2-e7cd-40e1-9ba0-8f8cd2c3c35c">
|
||||||
|
<property name="ireport.zoom" value="1.0"/>
|
||||||
|
<property name="ireport.x" value="0"/>
|
||||||
|
<property name="ireport.y" value="0"/>
|
||||||
|
<parameter name="DATA_DE" class="java.lang.String" isForPrompting="false"/>
|
||||||
|
<parameter name="DATA_ATE" class="java.lang.String" isForPrompting="false"/>
|
||||||
|
<parameter name="LINHAS" class="java.lang.String" isForPrompting="false"/>
|
||||||
|
<parameter name="LINHAS_IDS" class="java.lang.String" isForPrompting="false"/>
|
||||||
|
<parameter name="EMPRESA_IDS" class="java.lang.String" isForPrompting="false"/>
|
||||||
|
<parameter name="SQL" class="java.lang.String"/>
|
||||||
|
<parameter name="STR_ESPECIE" class="java.lang.String"/>
|
||||||
|
<queryString>
|
||||||
|
<![CDATA[$P!{SQL}]]>
|
||||||
|
</queryString>
|
||||||
|
<field name="DATA_CORRIDA" class="java.sql.Timestamp"/>
|
||||||
|
<field name="HORA_SAIDA" class="java.sql.Timestamp"/>
|
||||||
|
<field name="LINHA" class="java.lang.String"/>
|
||||||
|
<field name="ORIGEM" class="java.lang.String"/>
|
||||||
|
<field name="DESTINO" class="java.lang.String"/>
|
||||||
|
<field name="EMPRESAID" class="java.math.BigDecimal"/>
|
||||||
|
<field name="EMPRESA" class="java.lang.String"/>
|
||||||
|
<field name="QTDE_BOLETOS" class="java.math.BigDecimal"/>
|
||||||
|
<variable name="QTDE_BOLETOS_1" class="java.math.BigDecimal" resetType="Group" resetGroup="feccorrida" calculation="Sum">
|
||||||
|
<variableExpression><![CDATA[$F{QTDE_BOLETOS}]]></variableExpression>
|
||||||
|
</variable>
|
||||||
|
<group name="empresa">
|
||||||
|
<groupExpression><![CDATA[$F{EMPRESAID}]]></groupExpression>
|
||||||
|
<groupHeader>
|
||||||
|
<band/>
|
||||||
|
</groupHeader>
|
||||||
|
</group>
|
||||||
|
<group name="feccorrida">
|
||||||
|
<groupExpression><![CDATA[$F{DATA_CORRIDA}]]></groupExpression>
|
||||||
|
<groupHeader>
|
||||||
|
<band height="50">
|
||||||
|
<line>
|
||||||
|
<reportElement uuid="b17d89e0-6b0b-4905-a5d7-8f5efaeba8b7" x="0" y="49" width="555" height="1"/>
|
||||||
|
</line>
|
||||||
|
<staticText>
|
||||||
|
<reportElement uuid="ec08843f-04de-4891-abc8-14f015abf4e4" x="0" y="29" width="57" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[Hora]]></text>
|
||||||
|
</staticText>
|
||||||
|
<staticText>
|
||||||
|
<reportElement uuid="23d10c6d-a185-407c-bd32-43d5c0fbd4dd" x="57" y="29" width="180" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[Linha]]></text>
|
||||||
|
</staticText>
|
||||||
|
<staticText>
|
||||||
|
<reportElement uuid="00b58cf4-caaa-4721-b08a-2303e6cf5cab" x="237" y="29" width="134" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[Origem]]></text>
|
||||||
|
</staticText>
|
||||||
|
<staticText>
|
||||||
|
<reportElement uuid="65b42a56-42d8-427c-8dd4-5767b3124ad9" x="371" y="29" width="134" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[Destino]]></text>
|
||||||
|
</staticText>
|
||||||
|
<staticText>
|
||||||
|
<reportElement uuid="cfa49b76-7a66-481c-b436-ce89f9f95be4" x="507" y="29" width="48" height="20"/>
|
||||||
|
<textElement textAlignment="Right">
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[Qtde.]]></text>
|
||||||
|
</staticText>
|
||||||
|
<textField pattern="dd/MM/yyyy">
|
||||||
|
<reportElement uuid="fd966f7d-df9e-41fe-b776-0c26dd329997" x="0" y="9" width="68" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$F{DATA_CORRIDA}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField>
|
||||||
|
<reportElement uuid="67b08836-be8c-4e19-a2c8-a75624670dc7" x="68" y="9" width="100" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$F{EMPRESA}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<line>
|
||||||
|
<reportElement uuid="47efb762-6148-45fa-892c-67687d0e52a9" x="0" y="8" width="555" height="1"/>
|
||||||
|
</line>
|
||||||
|
</band>
|
||||||
|
</groupHeader>
|
||||||
|
<groupFooter>
|
||||||
|
<band height="22">
|
||||||
|
<textField>
|
||||||
|
<reportElement uuid="07e8d335-9e16-476b-b170-5f19ac2b140b" x="371" y="0" width="184" height="20"/>
|
||||||
|
<textElement textAlignment="Right">
|
||||||
|
<font size="11" isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA["Total do dia " + $V{QTDE_BOLETOS_1}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<line>
|
||||||
|
<reportElement uuid="5942b8cb-4274-4ff4-be5c-ded9128456a4" positionType="Float" x="0" y="0" width="555" height="1"/>
|
||||||
|
</line>
|
||||||
|
</band>
|
||||||
|
</groupFooter>
|
||||||
|
</group>
|
||||||
|
<background>
|
||||||
|
<band splitType="Stretch"/>
|
||||||
|
</background>
|
||||||
|
<title>
|
||||||
|
<band height="93" splitType="Stretch">
|
||||||
|
<staticText>
|
||||||
|
<reportElement uuid="68f4ea28-b08b-4655-ab65-5f181721909f" x="0" y="0" width="247" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font size="14" isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[LINHA OPERACIONAL]]></text>
|
||||||
|
</staticText>
|
||||||
|
<textField pattern="dd/MM/yyyy HH:mm">
|
||||||
|
<reportElement uuid="d0203404-283e-4281-a85f-9fe7c3f0e121" x="403" y="0" width="152" height="20"/>
|
||||||
|
<textElement textAlignment="Right">
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField>
|
||||||
|
<reportElement uuid="7adb9127-4696-4a5a-9ebb-ab4430744550" x="0" y="31" width="247" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA["Período: " + $P{DATA_DE} + " a " + $P{DATA_ATE}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<staticText>
|
||||||
|
<reportElement uuid="4edc7c1b-38fc-4738-a3eb-a8002b23ae18" x="0" y="51" width="46" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[Linha(s):]]></text>
|
||||||
|
</staticText>
|
||||||
|
<textField>
|
||||||
|
<reportElement uuid="69376e05-cb11-4073-8230-e2fdf8d12d1f" x="46" y="51" width="509" height="20" isPrintWhenDetailOverflows="true"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$P{LINHAS}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<staticText>
|
||||||
|
<reportElement uuid="bb6eb592-643e-4bce-8a2c-4b7f09848727" positionType="Float" x="0" y="71" width="46" height="20"/>
|
||||||
|
<textElement>
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[Espécie:]]></text>
|
||||||
|
</staticText>
|
||||||
|
<line>
|
||||||
|
<reportElement uuid="001cfcc7-c18f-4b8f-9bd1-01568512ca0c" positionType="Float" x="0" y="91" width="555" height="1"/>
|
||||||
|
</line>
|
||||||
|
<textField>
|
||||||
|
<reportElement uuid="d5217a3d-bf2e-4e6e-a235-b8149af41b56" x="46" y="71" width="509" height="20"/>
|
||||||
|
<textElement/>
|
||||||
|
<textFieldExpression><![CDATA[$P{STR_ESPECIE}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
</band>
|
||||||
|
</title>
|
||||||
|
<pageHeader>
|
||||||
|
<band height="23" splitType="Stretch">
|
||||||
|
<textField>
|
||||||
|
<reportElement uuid="6a9bc57e-e736-4980-9a76-2c0c5f9da022" x="371" y="0" width="184" height="20"/>
|
||||||
|
<textElement textAlignment="Right">
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA["Página " + $V{PAGE_NUMBER}+ " de " + $V{PAGE_NUMBER}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
</band>
|
||||||
|
</pageHeader>
|
||||||
|
<columnHeader>
|
||||||
|
<band splitType="Stretch"/>
|
||||||
|
</columnHeader>
|
||||||
|
<detail>
|
||||||
|
<band height="20" splitType="Stretch">
|
||||||
|
<textField pattern="HH.mm" isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="3c1495b2-eb67-4d1a-8483-47526b4e14be" x="0" y="0" width="57" height="20" isPrintWhenDetailOverflows="true"/>
|
||||||
|
<textElement/>
|
||||||
|
<textFieldExpression><![CDATA[$F{HORA_SAIDA}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="959dcd09-1ee7-426e-b678-e3d6cd22324d" x="57" y="0" width="180" height="20" isPrintWhenDetailOverflows="true"/>
|
||||||
|
<textElement/>
|
||||||
|
<textFieldExpression><![CDATA[$F{LINHA}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="4a0f6ebe-4f70-4ac9-a93b-44c842b2cf1a" x="237" y="0" width="134" height="20" isPrintWhenDetailOverflows="true"/>
|
||||||
|
<textElement/>
|
||||||
|
<textFieldExpression><![CDATA[$F{ORIGEM}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="d033d5fa-3020-4404-b927-c799a0b33439" x="371" y="0" width="134" height="20" isPrintWhenDetailOverflows="true"/>
|
||||||
|
<textElement/>
|
||||||
|
<textFieldExpression><![CDATA[$F{DESTINO}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="466de50f-51a9-4a7f-8a2c-a0e31dc0eefc" x="507" y="0" width="48" height="20" isPrintWhenDetailOverflows="true"/>
|
||||||
|
<textElement textAlignment="Right"/>
|
||||||
|
<textFieldExpression><![CDATA[$F{QTDE_BOLETOS}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
</band>
|
||||||
|
</detail>
|
||||||
|
<columnFooter>
|
||||||
|
<band splitType="Stretch"/>
|
||||||
|
</columnFooter>
|
||||||
|
<pageFooter>
|
||||||
|
<band splitType="Stretch"/>
|
||||||
|
</pageFooter>
|
||||||
|
<summary>
|
||||||
|
<band splitType="Stretch"/>
|
||||||
|
</summary>
|
||||||
|
</jasperReport>
|
|
@ -0,0 +1,180 @@
|
||||||
|
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.EnumSet;
|
||||||
|
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.Paging;
|
||||||
|
import org.zkoss.zul.Textbox;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.Ruta;
|
||||||
|
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioLinhaOperacional;
|
||||||
|
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioLinhaOperacional.EnumEspecie;
|
||||||
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
|
||||||
|
import com.rjconsultores.ventaboletos.service.EmpresaService;
|
||||||
|
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
|
||||||
|
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
|
||||||
|
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
|
||||||
|
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
|
||||||
|
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioLinhaOperacionalRuta;
|
||||||
|
|
||||||
|
@Controller("relatorioLinhaOperacionalController")
|
||||||
|
@Scope("prototype")
|
||||||
|
public class RelatorioLinhaOperacionalController extends MyGenericForwardComposer {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
@Autowired
|
||||||
|
private DataSource dataSource;
|
||||||
|
@Autowired
|
||||||
|
private transient PagedListWrapper<Ruta> plwRuta;
|
||||||
|
@Autowired
|
||||||
|
private EmpresaService empresaService;
|
||||||
|
List<Empresa> lsEmpresa;
|
||||||
|
private Datebox datInicial;
|
||||||
|
private Datebox datFinal;
|
||||||
|
private Paging pagingRuta;
|
||||||
|
private MyListbox rutaList;
|
||||||
|
private Textbox txtPalavraPesquisa;
|
||||||
|
private Combobox cmbEmpresa;
|
||||||
|
private Combobox cmbEspecie;
|
||||||
|
private EnumSet<EnumEspecie> lsEspecie;
|
||||||
|
|
||||||
|
public List<Empresa> getLsEmpresa() {
|
||||||
|
return lsEmpresa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLsEmpresa(List<Empresa> lsEmpresa) {
|
||||||
|
this.lsEmpresa = lsEmpresa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EnumSet<EnumEspecie> getLsEspecie() {
|
||||||
|
return lsEspecie;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLsEspecie(EnumSet<EnumEspecie> lsEspecie) {
|
||||||
|
this.lsEspecie = lsEspecie;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void doAfterCompose(Component comp) throws Exception {
|
||||||
|
lsEmpresa = empresaService.obtenerTodos();
|
||||||
|
lsEspecie = EnumEspecie.all;
|
||||||
|
super.doAfterCompose(comp);
|
||||||
|
|
||||||
|
rutaList.setItemRenderer(new RenderRelatorioLinhaOperacionalRuta());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void limparPesquisa() {
|
||||||
|
rutaList.setData(new ArrayList<Ruta>());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void executarPesquisa() {
|
||||||
|
HibernateSearchObject<Ruta> rutaBusqueda =
|
||||||
|
new HibernateSearchObject<Ruta>(Ruta.class, pagingRuta.getPageSize());
|
||||||
|
|
||||||
|
rutaBusqueda.addFilterLike("descruta", "%" + txtPalavraPesquisa.getValue() + "%");
|
||||||
|
|
||||||
|
rutaBusqueda.addSortAsc("descruta");
|
||||||
|
|
||||||
|
rutaBusqueda.addFilterEqual("activo", Boolean.TRUE);
|
||||||
|
|
||||||
|
plwRuta.init(rutaBusqueda, rutaList, pagingRuta);
|
||||||
|
|
||||||
|
if (rutaList.getData().length == 0) {
|
||||||
|
try {
|
||||||
|
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
|
||||||
|
Labels.getLabel("relatorioLinhaOperacionalController.window.title"),
|
||||||
|
Messagebox.OK, Messagebox.INFORMATION);
|
||||||
|
} catch (InterruptedException ex) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onClick$btnLimpar(Event ev) {
|
||||||
|
limparPesquisa();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onClick$btnPesquisa(Event ev) {
|
||||||
|
executarPesquisa();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onClick$btnExecutarRelatorio(Event ev) throws InterruptedException, SQLException {
|
||||||
|
List<Ruta> lsRutasSelecionadas = new ArrayList<Ruta>(Arrays.asList(rutaList.getSelectedsItens().toArray(new Ruta[rutaList.getSelectedsItens().size()])));
|
||||||
|
|
||||||
|
if (!lsRutasSelecionadas.isEmpty()) {
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
|
||||||
|
Date dataDe = datInicial.getValue();
|
||||||
|
Date dataAte = datFinal.getValue();
|
||||||
|
|
||||||
|
if (dataAte.after(dataDe)) {
|
||||||
|
Map<String, Object> parametros = new HashMap<String, Object>();
|
||||||
|
parametros.put("DATA_DE", sdf.format(dataDe));
|
||||||
|
parametros.put("DATA_ATE", sdf.format(dataAte));
|
||||||
|
|
||||||
|
String linhasIds = "0";
|
||||||
|
for (int i = 0; i < lsRutasSelecionadas.size(); i++) {
|
||||||
|
Ruta ruta = lsRutasSelecionadas.get(i);
|
||||||
|
linhasIds = linhasIds + "," + ruta.getRutaId();
|
||||||
|
}
|
||||||
|
parametros.put("LINHAS", linhasIds);
|
||||||
|
|
||||||
|
Comboitem cbiEmpresa = cmbEmpresa.getSelectedItem();
|
||||||
|
String empresaId;
|
||||||
|
if (cbiEmpresa != null) {
|
||||||
|
Empresa empresa = (Empresa) cbiEmpresa.getValue();
|
||||||
|
empresaId = empresa.getEmpresaId().toString();
|
||||||
|
} else {
|
||||||
|
empresaId = "0";
|
||||||
|
for (int i = 0; i < lsEmpresa.size(); i++) {
|
||||||
|
Empresa empresa = lsEmpresa.get(i);
|
||||||
|
empresaId = empresaId + "," + empresa.getEmpresaId();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
parametros.put("EMPRESA_IDS", empresaId);
|
||||||
|
|
||||||
|
Comboitem cbiEspecie = cmbEspecie.getSelectedItem();
|
||||||
|
if (cbiEspecie != null) {
|
||||||
|
EnumEspecie especie = (EnumEspecie) cbiEspecie.getValue();
|
||||||
|
parametros.put("ESPECIE", especie);
|
||||||
|
} else {
|
||||||
|
parametros.put("ESPECIE", EnumEspecie.BILHETE);
|
||||||
|
}
|
||||||
|
|
||||||
|
Relatorio relatorio = new RelatorioLinhaOperacional(parametros, dataSource.getConnection());
|
||||||
|
|
||||||
|
Map<String, Object> args = new HashMap<String, Object>();
|
||||||
|
args.put("relatorio", relatorio);
|
||||||
|
|
||||||
|
openWindow("/component/reportView.zul",
|
||||||
|
Labels.getLabel("relatorioLinhaOperacionalController.window.title"), args, MODAL);
|
||||||
|
} else {
|
||||||
|
Messagebox.show(Labels.getLabel("relatorioLinhaOperacionalController.MSG.datainvalida"),
|
||||||
|
Labels.getLabel("relatorioLinhaOperacionalController.window.title"),
|
||||||
|
Messagebox.OK, Messagebox.EXCLAMATION);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Messagebox.show(Labels.getLabel("relatorioLinhaOperacionalController.MSG.selecionarlinha"),
|
||||||
|
Labels.getLabel("relatorioLinhaOperacionalController.window.title"),
|
||||||
|
Messagebox.OK, Messagebox.INFORMATION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
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 ItemMenuRelatorioLinhaOperacional extends DefaultItemMenuSistema {
|
||||||
|
|
||||||
|
public ItemMenuRelatorioLinhaOperacional() {
|
||||||
|
super("indexController.mniRelatorioLinhaOperacional.label");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getClaveMenu() {
|
||||||
|
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOLINHAOPERACIONAL";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void ejecutar() {
|
||||||
|
PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioLinhaOperacional.zul",
|
||||||
|
Labels.getLabel("relatorioLinhaOperacionalController.window.title"), null, desktop);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.rjconsultores.ventaboletos.web.utilerias.render;
|
||||||
|
|
||||||
|
import org.zkoss.zul.Listcell;
|
||||||
|
import org.zkoss.zul.Listitem;
|
||||||
|
import org.zkoss.zul.ListitemRenderer;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.Ruta;
|
||||||
|
|
||||||
|
public class RenderRelatorioLinhaOperacionalRuta implements ListitemRenderer {
|
||||||
|
|
||||||
|
public void render(Listitem lstm, Object o) throws Exception {
|
||||||
|
Ruta ruta = (Ruta) o;
|
||||||
|
|
||||||
|
Listcell lc = new Listcell(ruta.getRutaId().toString());
|
||||||
|
lc.setParent(lstm);
|
||||||
|
|
||||||
|
lc = new Listcell(ruta.getPrefixo());
|
||||||
|
lc.setParent(lstm);
|
||||||
|
|
||||||
|
lc = new Listcell(ruta.getDescruta());
|
||||||
|
lc.setParent(lstm);
|
||||||
|
|
||||||
|
OrgaoConcedente orgaoConcedente = ruta.getOrgaoConcedente();
|
||||||
|
if (orgaoConcedente != null) {
|
||||||
|
lc = new Listcell(orgaoConcedente.getDescOrgao());
|
||||||
|
} else {
|
||||||
|
lc = new Listcell("-");
|
||||||
|
}
|
||||||
|
lc.setParent(lstm);
|
||||||
|
|
||||||
|
lstm.setAttribute("data", ruta);
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,7 +7,7 @@
|
||||||
# <controler>. <id>. <propiedade> = XXX
|
# <controler>. <id>. <propiedade> = XXX
|
||||||
|
|
||||||
#Versao do VentaBoleto:
|
#Versao do VentaBoleto:
|
||||||
versao = ADM_20130710_1RC173
|
versao = ADM_20130712_1RC174
|
||||||
|
|
||||||
# MSG Defaut:
|
# MSG Defaut:
|
||||||
MSG.CONSTRAINT.PORCENTAGEM = Os valores devem estar entre 0 e 100
|
MSG.CONSTRAINT.PORCENTAGEM = Os valores devem estar entre 0 e 100
|
||||||
|
@ -213,6 +213,7 @@ indexController.mniTarjetaCredito.label = Cartão de Crédito
|
||||||
indexController.mniRelatorios.label = Relatórios
|
indexController.mniRelatorios.label = Relatórios
|
||||||
indexController.mniRelatorioAproveitamento.label = Relatório de Aproveitamento
|
indexController.mniRelatorioAproveitamento.label = Relatório de Aproveitamento
|
||||||
indexController.mniRelatorioReceitaDiariaAgencia.label = Relatório de Receita Diária por Agência
|
indexController.mniRelatorioReceitaDiariaAgencia.label = Relatório de Receita Diária por Agência
|
||||||
|
indexController.mniRelatorioLinhaOperacional.label = Relatório de Linha Operacional
|
||||||
|
|
||||||
#PARTE REALIZADA POR MANUEL
|
#PARTE REALIZADA POR MANUEL
|
||||||
indexController.mnCortesias.label = Cortesias Para Funcionários
|
indexController.mnCortesias.label = Cortesias Para Funcionários
|
||||||
|
@ -4274,4 +4275,20 @@ importarClientesController.fileupload.label = Selecionar Arquivo...
|
||||||
importarClientesController.qtde.label = Total de clientes a importar
|
importarClientesController.qtde.label = Total de clientes a importar
|
||||||
importarClientesController.codigofidelidade.label = Codigo Fidelidade
|
importarClientesController.codigofidelidade.label = Codigo Fidelidade
|
||||||
importarClientesController.nome.label = Nome
|
importarClientesController.nome.label = Nome
|
||||||
importarClientesController.documento.label = Documento
|
importarClientesController.documento.label = Documento
|
||||||
|
|
||||||
|
# Relatorio de Linha Operacional
|
||||||
|
relatorioLinhaOperacionalController.window.title = Linha Operacional
|
||||||
|
relatorioLinhaOperacionalController.lbRuta.value = Linha
|
||||||
|
relatorioLinhaOperacionalController.btnPesquisa.label = Pesquisar
|
||||||
|
relatorioLinhaOperacionalController.btnLimpar.label = Limpar
|
||||||
|
relatorioLinhaOperacionalController.prefixo.label = Prefixo
|
||||||
|
relatorioLinhaOperacionalController.orgao.label = Orgão Concedente
|
||||||
|
relatorioLinhaOperacionalController.lbAgrupar.value = Agrupar por
|
||||||
|
relatorioLinhaOperacionalController.chkAgruparDia.value = Dia
|
||||||
|
relatorioLinhaOperacionalController.chkAgruparMes.value = Mes
|
||||||
|
relatorioLinhaOperacionalController.chkAgruparAno.value = Ano
|
||||||
|
relatorioLinhaOperacionalController.MSG.selecionarlinha = Selecione alguma linha para gerar o relatório.
|
||||||
|
relatorioLinhaOperacionalController.MSG.datainvalida = Data de inicio não pode ser maior que final.
|
||||||
|
relatorioLinhaOperacionalController.lblEmpresa.value = Empresa
|
||||||
|
relatorioLinhaOperacionalController.lblEspecie.value = Espécie
|
|
@ -0,0 +1,115 @@
|
||||||
|
<?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="winFiltroRelatorioLinhaOperacional"?>
|
||||||
|
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
|
||||||
|
|
||||||
|
<zk xmlns="http://www.zkoss.org/2005/zul">
|
||||||
|
<window id="winFiltroRelatorioLinhaOperacional"
|
||||||
|
apply="${relatorioLinhaOperacionalController}"
|
||||||
|
contentStyle="overflow:auto" width="700px" border="normal">
|
||||||
|
<grid fixedLayout="true">
|
||||||
|
<columns>
|
||||||
|
<column width="20%" />
|
||||||
|
<column width="30%" />
|
||||||
|
<column width="20%" />
|
||||||
|
<column width="30%" />
|
||||||
|
</columns>
|
||||||
|
<rows>
|
||||||
|
<row>
|
||||||
|
<label
|
||||||
|
value="${c:l('relatorioReceitaDiariaAgenciaController.lbDataIni.value')}" />
|
||||||
|
<datebox id="datInicial" width="100%" mold="rounded"
|
||||||
|
format="dd/MM/yyyy" lenient="false" constraint="no empty"
|
||||||
|
maxlength="10" />
|
||||||
|
<label
|
||||||
|
value="${c:l('relatorioReceitaDiariaAgenciaController.lbDataFin.value')}" />
|
||||||
|
<datebox id="datFinal" width="100%" mold="rounded"
|
||||||
|
format="dd/MM/yyyy" lenient="false" constraint="no empty"
|
||||||
|
maxlength="10" />
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row visible="false">
|
||||||
|
<label
|
||||||
|
value="${c:l('relatorioLinhaOperacionalController.lbAgrupar.value')}" />
|
||||||
|
<checkbox
|
||||||
|
label="${c:l('relatorioLinhaOperacionalController.chkAgruparDia.value')}"
|
||||||
|
id="chkAgruparDia" />
|
||||||
|
<checkbox
|
||||||
|
label="${c:l('relatorioLinhaOperacionalController.chkAgruparMes.value')}"
|
||||||
|
id="chkAgruparMes" />
|
||||||
|
<checkbox
|
||||||
|
label="${c:l('relatorioLinhaOperacionalController.chkAgruparAno.value')}"
|
||||||
|
id="chkAgruparAno" />
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row spans="1,3">
|
||||||
|
<label
|
||||||
|
value="${c:l('relatorioLinhaOperacionalController.lblEmpresa.value')}" />
|
||||||
|
<combobox id="cmbEmpresa"
|
||||||
|
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
|
||||||
|
mold="rounded" buttonVisible="true" width="40%"
|
||||||
|
model="@{winFiltroRelatorioLinhaOperacional$composer.lsEmpresa}" />
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row spans="1,3">
|
||||||
|
<label
|
||||||
|
value="${c:l('relatorioLinhaOperacionalController.lblEspecie.value')}" />
|
||||||
|
<combobox id="cmbEspecie" constraint="no empty"
|
||||||
|
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
|
||||||
|
mold="rounded" buttonVisible="true" width="50%"
|
||||||
|
model="@{winFiltroRelatorioLinhaOperacional$composer.lsEspecie}" />
|
||||||
|
</row>
|
||||||
|
|
||||||
|
<row spans="1,3">
|
||||||
|
<label
|
||||||
|
value="${c:l('relatorioLinhaOperacionalController.lbRuta.value')}" />
|
||||||
|
<bandbox id="bbPesquisaPuntoVenta" width="100%"
|
||||||
|
mold="rounded" readonly="true">
|
||||||
|
<bandpopup>
|
||||||
|
<vbox>
|
||||||
|
<hbox>
|
||||||
|
<label
|
||||||
|
value="${c:l('busquedaCatalogoDeRutaController.lhDesc.label')}" />
|
||||||
|
<textbox id="txtPalavraPesquisa"
|
||||||
|
width="250px"
|
||||||
|
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
|
||||||
|
<button id="btnPesquisa"
|
||||||
|
image="/gui/img/find.png"
|
||||||
|
label="${c:l('relatorioLinhaOperacionalController.btnPesquisa.label')}" />
|
||||||
|
<button id="btnLimpar"
|
||||||
|
image="/gui/img/eraser.png"
|
||||||
|
label="${c:l('relatorioLinhaOperacionalController.btnLimpar.label')}" />
|
||||||
|
</hbox>
|
||||||
|
|
||||||
|
<paging id="pagingRuta" pageSize="20" />
|
||||||
|
<listbox id="rutaList" mold="paging"
|
||||||
|
checkmark="true"
|
||||||
|
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
|
||||||
|
vflex="true" multiple="true" height="100%" width="650px">
|
||||||
|
<listhead>
|
||||||
|
<listheader
|
||||||
|
label="${c:l('lb.id')}" width="15%" />
|
||||||
|
<listheader
|
||||||
|
label="${c:l('relatorioLinhaOperacionalController.prefixo.label')}"
|
||||||
|
width="20%" />
|
||||||
|
<listheader
|
||||||
|
label="${c:l('lb.dec')}" width="40%" />
|
||||||
|
<listheader
|
||||||
|
label="${c:l('relatorioLinhaOperacionalController.orgao.label')}"
|
||||||
|
width="25%" />
|
||||||
|
</listhead>
|
||||||
|
</listbox>
|
||||||
|
</vbox>
|
||||||
|
</bandpopup>
|
||||||
|
</bandbox>
|
||||||
|
</row>
|
||||||
|
</rows>
|
||||||
|
</grid>
|
||||||
|
<toolbar>
|
||||||
|
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
|
||||||
|
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
|
||||||
|
</toolbar>
|
||||||
|
</window>
|
||||||
|
</zk>
|
||||||
|
|
Loading…
Reference in New Issue