wilian 2015-09-15 17:18:32 +00:00
parent ab4696dd65
commit fd95e99c05
12 changed files with 738 additions and 11 deletions

View File

@ -0,0 +1,188 @@
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioVendasComissaoBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
public class RelatorioVendasComissao extends Relatorio {
private static Logger log = Logger.getLogger(RelatorioVendasComissao.class);
private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
private List<RelatorioVendasComissaoBean> lsDadosRelatorio;
private Date fecInicio;
private Date fecFinal;
public RelatorioVendasComissao(Map<String, Object> parametros, Connection conexao) throws Exception {
super(parametros, conexao);
this.setCustomDataSource(new DataSource(this) {
@Override
public void initDados() throws Exception {
Map<String, Object> parametros = this.relatorio.getParametros();
fecInicio = new java.sql.Date(sdf.parse(parametros.get("fecInicio").toString()).getTime());
fecFinal = new java.sql.Date(sdf.parse(parametros.get("fecFinal").toString()).getTime());
Connection conexao = this.relatorio.getConexao();
processarVendasComissao(conexao);
setLsDadosRelatorio(lsDadosRelatorio);
}
});
}
private void processarVendasComissao(Connection conexao) {
ResultSet rset = null;
NamedParameterStatement stmt = null;
try {
if(lsDadosRelatorio == null) {
lsDadosRelatorio = new ArrayList<RelatorioVendasComissaoBean>();
}
/* Processando vendas normais */
stmt = carregarNamedParameterStatement(conexao);
rset = stmt.executeQuery();
processarResultado(rset);
fecharConexaoBanco(stmt, rset);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
private void fecharConexaoBanco(NamedParameterStatement stmt, ResultSet rset) {
try {
if(rset != null) {
rset.close();
}
if(stmt != null) {
stmt.close();
}
} catch (SQLException e) {
log.error(e.getMessage(), e);
}
}
private void processarResultado(ResultSet rset) throws SQLException {
while (rset.next()) {
RelatorioVendasComissaoBean relatorioVendasPacotesBoletosBean = new RelatorioVendasComissaoBean();
relatorioVendasPacotesBoletosBean.setNumPuntoVenta(rset.getString("NUMPUNTOVENTA"));
relatorioVendasPacotesBoletosBean.setNombPuntoVenta(rset.getString("NOMBPUNTOVENTA"));
String indstatusboleto = rset.getString("INDSTATUSBOLETO");
Long motivocancelacionId = rset.getLong("MOTIVOCANCELACION_ID");
if(isDevolucaoOrCancelamentoCaja(indstatusboleto, motivocancelacionId) && StringUtils.isNotBlank(rset.getString("NUMPTOVTAVENTA"))) {
relatorioVendasPacotesBoletosBean.setNumPuntoVenta(rset.getString("NUMPTOVTAVENTA"));
relatorioVendasPacotesBoletosBean.setNombPuntoVenta(rset.getString("NOMBPTOVTAVENTA"));
}
boolean contain = lsDadosRelatorio.contains(relatorioVendasPacotesBoletosBean);
if(contain) {
relatorioVendasPacotesBoletosBean = lsDadosRelatorio.get(lsDadosRelatorio.indexOf(relatorioVendasPacotesBoletosBean));
}
if(isVenda(indstatusboleto)) {
relatorioVendasPacotesBoletosBean.setTotalVendas(relatorioVendasPacotesBoletosBean.getTotalVendas().add(rset.getBigDecimal("TOTAL")));
relatorioVendasPacotesBoletosBean.setTotalTaxasVendas(relatorioVendasPacotesBoletosBean.getTotalTaxasVendas().add(rset.getBigDecimal("TOTAL_TAXAS")));
} else if(isCancelamentoCaja(indstatusboleto, motivocancelacionId)) {
relatorioVendasPacotesBoletosBean.setTotalVendasCanceladas(relatorioVendasPacotesBoletosBean.getTotalVendasCanceladas().add(rset.getBigDecimal("TOTAL")));
relatorioVendasPacotesBoletosBean.setTotalTaxasVendasCanceladas(relatorioVendasPacotesBoletosBean.getTotalTaxasVendasCanceladas().add(rset.getBigDecimal("TOTAL_TAXAS")));
} else if(isDevolucaoCaja(indstatusboleto, motivocancelacionId)) {
relatorioVendasPacotesBoletosBean.setTotalVendasDevolucao(relatorioVendasPacotesBoletosBean.getTotalVendasDevolucao().add(rset.getBigDecimal("TOTAL")));
relatorioVendasPacotesBoletosBean.setTotalTaxasVendasDevolucao(relatorioVendasPacotesBoletosBean.getTotalTaxasVendasDevolucao().add(rset.getBigDecimal("TOTAL_TAXAS")));
}
if(!contain) {
lsDadosRelatorio.add(relatorioVendasPacotesBoletosBean);
}
}
}
private boolean isCancelamento(String indstatusboleto) {
return "C".equals(indstatusboleto);
}
private boolean isVenda(String indstatusboleto) {
return "V".equals(indstatusboleto);
}
private boolean isCancelamentoCaja(String indstatusboleto, Long motivocancelacionId) {
return isCancelamento(indstatusboleto) && Constantes.MVO_CANCEL_CANCELACION.equals(motivocancelacionId);
}
private boolean isDevolucaoCaja(String indstatusboleto, Long motivocancelacionId) {
return "C".equals(indstatusboleto) && Constantes.MVO_CANCEL_DEVOLUCAO.equals(motivocancelacionId);
}
private boolean isDevolucaoOrCancelamentoCaja(String indstatusboleto, Long motivocancelacionId) {
return isCancelamentoCaja(indstatusboleto, motivocancelacionId) || isDevolucaoCaja(indstatusboleto, motivocancelacionId);
}
private NamedParameterStatement carregarNamedParameterStatement(Connection conexao) throws SQLException {
String sql = getSqlPacotes();
log.info(sql);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
if(fecInicio != null) {
stmt.setDate("fecInicio", fecInicio);
}
if(fecFinal != null) {
stmt.setDate("fecFinal", fecFinal);
}
return stmt;
}
protected String getSqlPacotes() {
StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, C.PTOVTAVENTA_ID, PV1.NUMPUNTOVENTA as NUMPTOVTAVENTA, PV1.NOMBPUNTOVENTA AS NOMBPTOVTAVENTA, C.INDSTATUSBOLETO, C.MOTIVOCANCELACION_ID, ")
.append("SUM(C.PRECIOPAGADO + C.IMPORTETAXAEMBARQUE + C.IMPORTESEGURO + C.IMPORTEPEDAGIO + C.IMPORTEOUTROS) AS TOTAL, ")
.append("SUM(C.IMPORTETAXAEMBARQUE + C.IMPORTESEGURO + C.IMPORTEPEDAGIO + C.IMPORTEOUTROS) AS TOTAL_TAXAS ")
.append("FROM CAJA C ")
.append("JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = C.PUNTOVENTA_ID ")
.append("LEFT JOIN PUNTO_VENTA PV1 ON PV1.PUNTOVENTA_ID = C.PTOVTAVENTA_ID ")
.append("WHERE (C.INDSTATUSBOLETO = 'V' OR (C.INDCANCELACION = 1 AND C.INDSTATUSBOLETO = 'C')) ")
.append("AND C.FECHORVENTA BETWEEN :fecInicio AND :fecFinal ")
.append("GROUP BY PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, C.PTOVTAVENTA_ID, PV1.NUMPUNTOVENTA, PV1.NOMBPUNTOVENTA, C.INDSTATUSBOLETO, C.MOTIVOCANCELACION_ID ")
.append("ORDER BY PV.NUMPUNTOVENTA, PV1.NUMPUNTOVENTA, C.INDSTATUSBOLETO");
return sQuery.toString();
}
@Override
protected void processaParametros() throws Exception {
}
public List<RelatorioVendasComissaoBean> getLsDadosRelatorio() {
return lsDadosRelatorio;
}
public void setLsDadosRelatorio(List<RelatorioVendasComissaoBean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio;
}
}

View File

@ -0,0 +1,23 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
#Labels cabeçalho
cabecalho.nome=Relatório Vendas para Comissão
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:
cabecalho.usuario=Usuário:
label.numPuntoVenta=Número Agência
label.nombPuntoVenta=Nome Agência
label.totalVendas=Vendas
label.totalTaxasVendas=Taxas Vendas
label.totalVendasCanceladas=Anulação
label.totalTaxasVendasCanceladas=Taxas Anulação
label.totalVendasDevolucao=Devolução
label.totalTaxasVendasDevolucao=Taxas Devolução
label.total=Total

View File

@ -0,0 +1,23 @@
#geral
msg.noData=Não foi possivel obter dados com os parâmetros informados.
#Labels cabeçalho
cabecalho.nome=Relatório Vendas para Comissão
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:
cabecalho.usuario=Usuário:
label.numPuntoVenta=Número Agência
label.nombPuntoVenta=Nome Agência
label.totalVendas=Vendas
label.totalTaxasVendas=Taxas Vendas
label.totalVendasCanceladas=Anulação
label.totalTaxasVendasCanceladas=Taxas Anulação
label.totalVendasDevolucao=Devolução
label.totalTaxasVendasDevolucao=Taxas Devolução
label.total=Total

View File

@ -0,0 +1,233 @@
<?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="RelatorioVendasComissao" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="84b9dfcf-8ec5-4f51-80cc-7339e3b158b4">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="fecInicio" class="java.lang.String"/>
<parameter name="fecFinal" class="java.lang.String"/>
<parameter name="noDataRelatorio" class="java.lang.String"/>
<queryString>
<![CDATA[]]>
</queryString>
<field name="numPuntoVenta" class="java.lang.String"/>
<field name="totalVendas" class="java.math.BigDecimal"/>
<field name="totalTaxasVendas" class="java.math.BigDecimal"/>
<field name="totalVendasCanceladas" class="java.math.BigDecimal"/>
<field name="totalTaxasVendasCanceladas" class="java.math.BigDecimal"/>
<field name="totalVendasDevolucao" class="java.math.BigDecimal"/>
<field name="totalTaxasVendasDevolucao" class="java.math.BigDecimal"/>
<field name="nombPuntoVenta" class="java.lang.String"/>
<variable name="vTotalVendas" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{totalVendas}]]></variableExpression>
</variable>
<variable name="vTotalTaxasVendas" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{totalTaxasVendas}]]></variableExpression>
</variable>
<variable name="vTotalVendasCanceladas" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{totalVendasCanceladas}]]></variableExpression>
</variable>
<variable name="vTotalTaxasVendasCanceladas" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{totalTaxasVendasCanceladas}]]></variableExpression>
</variable>
<variable name="vTotalVendasDevolucao" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{totalVendasDevolucao}]]></variableExpression>
</variable>
<variable name="vTotalTaxasVendasDevolucao" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{totalTaxasVendasDevolucao}]]></variableExpression>
</variable>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="41" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="620" height="20" uuid="43b2c28d-4760-4890-b00d-25e931e79c74"/>
<textElement markup="none">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.nome}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm">
<reportElement x="638" y="0" width="164" height="20" uuid="4d1bcd65-c9a6-44b4-8dca-cc3c4c20c9a5"/>
<textElement textAlignment="Right">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="20" width="620" height="20" uuid="fd05bd35-30d9-4baf-aa56-f8e5d3c3268b"/>
<textElement>
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.periodo} + " " + $P{fecInicio} + " " + $R{cabecalho.periodoA} + " " + $P{fecFinal}]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band height="21" splitType="Stretch">
<textField>
<reportElement x="607" y="0" width="195" height="20" uuid="6a8a0843-7236-40a3-98ae-5fbf59b4cfec"/>
<textElement textAlignment="Right">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.pagina} + " " + $V{PAGE_NUMBER}+ " " + $R{cabecalho.de} + " " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<columnHeader>
<band height="23" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="102" height="20" uuid="a3dea313-f2a7-4388-bd91-5c02e8612b8e"/>
<textFieldExpression><![CDATA[$R{label.numPuntoVenta}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="311" y="0" width="80" height="20" uuid="8a39b1b1-6ebd-4f33-adea-c28a9988eaae"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$R{label.totalVendas}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="393" y="0" width="80" height="20" uuid="d9e0c815-b91e-4bc9-8a1a-1fa77aaabcb3"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$R{label.totalTaxasVendas}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="475" y="0" width="80" height="20" uuid="2d666aaf-65a6-4c3f-acd3-e65483a78256"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$R{label.totalVendasCanceladas}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="557" y="0" width="80" height="20" uuid="a2ea7cea-d8ab-4c0e-bee0-4dafb3866c1f"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$R{label.totalTaxasVendasCanceladas}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="721" y="0" width="80" height="20" uuid="43d6ee75-8459-4b9e-8cbe-ca2819d3198a"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$R{label.totalTaxasVendasDevolucao}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="639" y="0" width="80" height="20" uuid="12a7a0b1-f60c-4819-972a-2ea87f1f07b3"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$R{label.totalVendasDevolucao}]]></textFieldExpression>
</textField>
<line>
<reportElement positionType="Float" x="0" y="21" width="802" height="1" uuid="811af238-a027-48e9-bd6f-eee885474929"/>
</line>
<textField>
<reportElement x="104" y="0" width="205" height="20" uuid="cfac237e-06b7-4c98-b7f1-285f5ec2c8b3"/>
<textFieldExpression><![CDATA[$R{label.nombPuntoVenta}]]></textFieldExpression>
</textField>
</band>
</columnHeader>
<detail>
<band height="22" splitType="Stretch">
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="639" y="0" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="2e83e648-f95f-42ae-9069-862e6ad79b21"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$F{totalVendasDevolucao}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="311" y="0" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="8cdbdd14-c9f1-45d8-bf41-a4066930f5a4"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$F{totalVendas}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="102" height="20" isPrintWhenDetailOverflows="true" uuid="c98526c0-c36f-42df-9308-452ac671044c"/>
<textFieldExpression><![CDATA[$F{numPuntoVenta}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="721" y="0" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="040c8de3-f836-40bc-96bd-761a7f5b46ef"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$F{totalTaxasVendasDevolucao}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="557" y="0" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="b18fae2e-6454-42b0-a68c-04cf790ddfd6"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$F{totalTaxasVendasCanceladas}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="475" y="0" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="09b0cd36-1946-406f-923a-172b8a4f1ac6"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$F{totalVendasCanceladas}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="393" y="0" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="8810c4af-e2ba-438f-a553-0143938c5f15"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$F{totalTaxasVendas}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="104" y="0" width="205" height="20" isPrintWhenDetailOverflows="true" uuid="cebb836f-d485-4d50-98e0-0678bb715fb9"/>
<textFieldExpression><![CDATA[$F{nombPuntoVenta}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band splitType="Stretch"/>
</pageFooter>
<summary>
<band height="26" splitType="Stretch">
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="475" y="5" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="5de9b146-8a5d-4972-bd9c-7147f05137ef"/>
<textElement textAlignment="Right">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{vTotalVendasCanceladas}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="557" y="5" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="f22b1a6f-2e0b-4771-acf3-b7460874f730"/>
<textElement textAlignment="Right">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{vTotalTaxasVendasCanceladas}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="639" y="5" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="353f7f71-1413-4dd6-82d7-23cd3944819f"/>
<textElement textAlignment="Right">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{vTotalVendasDevolucao}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="721" y="5" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="417ed1de-ce71-42fa-8108-33a37f6a0626"/>
<textElement textAlignment="Right">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{vTotalTaxasVendasDevolucao}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="393" y="5" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="3325e0ca-40a5-4f6d-be63-a1fdc0f0d36c"/>
<textElement textAlignment="Right">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{vTotalTaxasVendas}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="311" y="5" width="80" height="20" isPrintWhenDetailOverflows="true" uuid="7d8e9f80-020d-4dc9-b7ce-e5213b42f920"/>
<textElement textAlignment="Right">
<font isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{vTotalVendas}]]></textFieldExpression>
</textField>
<line>
<reportElement positionType="Float" x="0" y="2" width="802" height="1" uuid="c8dfd524-14cc-454c-afc0-3ce9f8d0ead8"/>
</line>
<textField>
<reportElement x="104" y="5" width="205" height="20" uuid="38a0f957-1b50-46f9-b79f-c631baf8937b"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$R{label.total}]]></textFieldExpression>
</textField>
</band>
</summary>
<noData>
<band height="24">
<textField isBlankWhenNull="true">
<reportElement positionType="Float" x="0" y="0" width="555" height="20" isPrintWhenDetailOverflows="true" uuid="d7df66c6-4dc0-4f3b-88f4-b22094d29091"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$R{msg.noData}]]></textFieldExpression>
</textField>
</band>
</noData>
</jasperReport>

View File

@ -0,0 +1,127 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
import java.math.BigDecimal;
public class RelatorioVendasComissaoBean {
private String nombPuntoVenta;
private String numPuntoVenta;
private String indstatusboleto;
private BigDecimal totalVendas;
private BigDecimal totalTaxasVendas;
private BigDecimal totalVendasCanceladas;
private BigDecimal totalTaxasVendasCanceladas;
private BigDecimal totalVendasDevolucao;
private BigDecimal totalTaxasVendasDevolucao;
public RelatorioVendasComissaoBean() {
super();
this.totalVendas = BigDecimal.ZERO;
this.totalTaxasVendas = BigDecimal.ZERO;
this.totalVendasCanceladas = BigDecimal.ZERO;
this.totalTaxasVendasCanceladas = BigDecimal.ZERO;
this.totalVendasDevolucao = BigDecimal.ZERO;
this.totalTaxasVendasDevolucao = BigDecimal.ZERO;
}
public String getNumPuntoVenta() {
return numPuntoVenta;
}
public void setNumPuntoVenta(String numPuntoVenta) {
this.numPuntoVenta = numPuntoVenta;
}
public BigDecimal getTotalVendas() {
return totalVendas;
}
public void setTotalVendas(BigDecimal totalVendas) {
this.totalVendas = totalVendas;
}
public BigDecimal getTotalTaxasVendas() {
return totalTaxasVendas;
}
public void setTotalTaxasVendas(BigDecimal totalTaxasVendas) {
this.totalTaxasVendas = totalTaxasVendas;
}
public BigDecimal getTotalVendasCanceladas() {
return totalVendasCanceladas;
}
public void setTotalVendasCanceladas(BigDecimal totalVendasCanceladas) {
this.totalVendasCanceladas = totalVendasCanceladas;
}
public BigDecimal getTotalTaxasVendasCanceladas() {
return totalTaxasVendasCanceladas;
}
public void setTotalTaxasVendasCanceladas(BigDecimal totalTaxasVendasCanceladas) {
this.totalTaxasVendasCanceladas = totalTaxasVendasCanceladas;
}
public BigDecimal getTotalVendasDevolucao() {
return totalVendasDevolucao;
}
public void setTotalVendasDevolucao(BigDecimal totalVendasDevolucao) {
this.totalVendasDevolucao = totalVendasDevolucao;
}
public BigDecimal getTotalTaxasVendasDevolucao() {
return totalTaxasVendasDevolucao;
}
public void setTotalTaxasVendasDevolucao(BigDecimal totalTaxasVendasDevolucao) {
this.totalTaxasVendasDevolucao = totalTaxasVendasDevolucao;
}
public String getIndstatusboleto() {
return indstatusboleto;
}
public void setIndstatusboleto(String indstatusboleto) {
this.indstatusboleto = indstatusboleto;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((numPuntoVenta == null) ? 0 : numPuntoVenta.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RelatorioVendasComissaoBean other = (RelatorioVendasComissaoBean) obj;
if (numPuntoVenta == null) {
if (other.numPuntoVenta != null)
return false;
} else if (!numPuntoVenta.equals(other.numPuntoVenta))
return false;
return true;
}
public String getNombPuntoVenta() {
return nombPuntoVenta;
}
public void setNombPuntoVenta(String nombPuntoVenta) {
this.nombPuntoVenta = nombPuntoVenta;
}
}

View File

@ -2494,7 +2494,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer {
args.put("ptovtaComissaoList", ptovtaComissaoList); args.put("ptovtaComissaoList", ptovtaComissaoList);
openWindow("/gui/catalogos/editarPuntoVentaComissao.zul", openWindow("/gui/catalogos/editarPuntoVentaComissao.zul",
Labels.getLabel("ededitarPuntoVentaComissaoController.window.title"), args, MODAL); Labels.getLabel("editarPuntoVentaComissaoController.window.title", new String[]{ptovtaComissao.getEmpresaId().getNombempresa()}), args, MODAL);
} }

View File

@ -0,0 +1,57 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
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.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Datebox;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasComissao;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
@Controller("relatorioVendasComissaoController")
@Scope("prototype")
public class RelatorioVendasComissaoController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
@Autowired
private DataSource dataSourceRead;
private Datebox dataInicial;
private Datebox dataFinal;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
}
public void onClick$btnExecutarRelatorio(Event ev) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date dataDe = dataInicial.getValue();
Date dataAte = dataFinal.getValue();
Map<String, Object> parametros = new HashMap<String, Object>();
parametros.put("fecInicio", sdf.format(dataDe));
parametros.put("fecFinal", sdf.format(dataAte));
Relatorio relatorio = new RelatorioVendasComissao(parametros, dataSourceRead.getConnection());
Map<String, Object> args = new HashMap<String, Object>();
args.put("relatorio", relatorio);
openWindow("/component/reportView.zul",
Labels.getLabel("indexController.mniRelatorioVendasComissao.label"), args, MODAL);
}
}

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

View File

@ -253,6 +253,7 @@ indexController.mniRelatorioVendasPacotesDetalhado.label = Ventas de Paquetes -
indexController.mniRelatorioVendasPacotesBoletos.label = Ventas de Pacotes - Boletos indexController.mniRelatorioVendasPacotesBoletos.label = Ventas de Pacotes - Boletos
indexController.mniRelatorioVendasPacotesFaturamento.label = Ventas de Pacotes - Faturamento indexController.mniRelatorioVendasPacotesFaturamento.label = Ventas de Pacotes - Faturamento
indexController.mniRelatorioDiferencasTransferencias.label = Relatório de Diferenças em Transferências indexController.mniRelatorioDiferencasTransferencias.label = Relatório de Diferenças em Transferências
indexController.mniRelatorioVendasComissao.label = Relatório de Vendas de Comissão
indexController.mniSubMenuClientePacote.label=Pacote indexController.mniSubMenuClientePacote.label=Pacote
indexController.mniManutencaoPacote.label=Manutenção Pacote indexController.mniManutencaoPacote.label=Manutenção Pacote
@ -959,7 +960,7 @@ editarPuntoVentaController.MSG.borrarFechamentoParamptovta=Deseja eliminar este
editarPuntoVentaController.MSG.fechamentoParamptovtaInvalidado=Já existe parâmetro cadastrado. editarPuntoVentaController.MSG.fechamentoParamptovtaInvalidado=Já existe parâmetro cadastrado.
# Editar comisión ponto de venta # Editar comisión ponto de venta
editarPuntoVentaComissaoController.window.title = Comisión empresa/Punto de venta editarPuntoVentaComissaoController.window.title = Comisión empresa/Punto de venta - {0}
editarPuntoVentaComissaoController.MSG.suscribirOK = Comisión de la empresa/Punto de venta se registró exitosamente editarPuntoVentaComissaoController.MSG.suscribirOK = Comisión de la empresa/Punto de venta se registró exitosamente
editarPuntoVentaComissaoController.MSG.borrarPergunta = Deseas eliminar esta comisión de la Empresa/Punto de venta? editarPuntoVentaComissaoController.MSG.borrarPergunta = Deseas eliminar esta comisión de la Empresa/Punto de venta?
editarPuntoVentaComissaoController.MSG.borrarOK = Comisión de la empresa/Punto de venta se eliminó exitosamente editarPuntoVentaComissaoController.MSG.borrarOK = Comisión de la empresa/Punto de venta se eliminó exitosamente
@ -4891,7 +4892,7 @@ editarConfiguracionComissaoController.lbAlta.value = Alta estación(%)
editarConfiguracionComissaoController.lbExcesso.value = Exceso de equipaje editarConfiguracionComissaoController.lbExcesso.value = Exceso de equipaje
editarConfiguracionComissaoController.lbSeguro.value = Seguro opcional editarConfiguracionComissaoController.lbSeguro.value = Seguro opcional
editarConfiguracionComissaoController.lbOutros.value = Otros productos editarConfiguracionComissaoController.lbOutros.value = Otros productos
editarConfiguracionComissaoController.lbCompReceita.value = Composición del ingreso editarConfiguracionComissaoController.lbCompReceita.value = Composición del ingreso de BPR
editarConfiguracionCorridaController.lbTarifa.value = Tarifa editarConfiguracionCorridaController.lbTarifa.value = Tarifa
editarConfiguracionCorridaController.lbTaxa.value = Tasa de embarque editarConfiguracionCorridaController.lbTaxa.value = Tasa de embarque
editarConfiguracionCorridaController.lbSeguro.value = Seguro editarConfiguracionCorridaController.lbSeguro.value = Seguro
@ -4902,9 +4903,10 @@ editarConfiguracionComissaoController.lbPercISS.value =(%)
editarConfiguracionComissaoController.lbPerc.value =(%) editarConfiguracionComissaoController.lbPerc.value =(%)
editarConfiguracionComissaoController.lbRoyaties.value = Royaties editarConfiguracionComissaoController.lbRoyaties.value = Royaties
editarConfiguracionComissaoController.lbDestino.value = Destino de la comisión editarConfiguracionComissaoController.lbDestino.value = Destino de la comisión
editarConfiguracionComissaoController.lbReceita.value = Considerar ingreso editarConfiguracionComissaoController.lbReceita.value = Considerar ingreso (ICMS)
editarConfiguracionComissaoController.lbRecibo.value = No enviar recibo por E-mail editarConfiguracionComissaoController.lbRecibo.value = No enviar recibo por E-mail
editarConfiguracionComissaoController.lbCodAG.value = Código en AG. editarConfiguracionComissaoController.lbInddescontoporc.value = Descuento en %
editarConfiguracionComissaoController.lbDesconto.value = Descuento
#Editar Diversos #Editar Diversos
editarConfiguracionDiversosController.lbResponAluguel.value = Renta en nombre de editarConfiguracionDiversosController.lbResponAluguel.value = Renta en nombre de
@ -5618,3 +5620,7 @@ editarPracaPedagioController.window.title = Praça Padágio
editarPracaPedagioController.MSG.suscribirOK = Praça de Pedágio Registrada com Sucesso. editarPracaPedagioController.MSG.suscribirOK = Praça de Pedágio Registrada com Sucesso.
editarPracaPedagioController.btnFechar.MSG.Deseja.Borrar = Deseja eliminar Praça de Pedágio? editarPracaPedagioController.btnFechar.MSG.Deseja.Borrar = Deseja eliminar Praça de Pedágio?
editarPracaPedagioController.btnFechar.MSG.borrarOK = Praça de Pedágio Excluido com Sucesso. editarPracaPedagioController.btnFechar.MSG.borrarOK = Praça de Pedágio Excluido com Sucesso.
# Relatorio de Vendas para Comissao
relatorioVendasComissaoController.lbDataIni.value = Fecha Inicio
relatorioVendasComissaoController.lbDataFin.value = Fecha Final

View File

@ -258,6 +258,7 @@ indexController.mniRelatorioVendasPacotesDetalhado.label = Vendas de Pacotes - D
indexController.mniRelatorioVendasPacotesBoletos.label = Vendas de Pacotes - Boletos indexController.mniRelatorioVendasPacotesBoletos.label = Vendas de Pacotes - Boletos
indexController.mniRelatorioVendasPacotesFaturamento.label = Vendas de Pacotes - Faturamento indexController.mniRelatorioVendasPacotesFaturamento.label = Vendas de Pacotes - Faturamento
indexController.mniRelatorioDiferencasTransferencias.label = Relatório de Diferenças em Transferências indexController.mniRelatorioDiferencasTransferencias.label = Relatório de Diferenças em Transferências
indexController.mniRelatorioVendasComissao.label = Relatório de Vendas de Comissão
indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal
indexController.mnSubMenuRelatorioImpressaoFiscal.label=Relatório Impressão Fiscal indexController.mnSubMenuRelatorioImpressaoFiscal.label=Relatório Impressão Fiscal
@ -996,7 +997,7 @@ editarPuntoVentaController.MSG.borrarFechamentoParamptovta=Deseja eliminar este
editarPuntoVentaController.MSG.fechamentoParamptovtaInvalidado=Já existe parâmetro cadastrado. editarPuntoVentaController.MSG.fechamentoParamptovtaInvalidado=Já existe parâmetro cadastrado.
# Editar comissão ponto de venda # Editar comissão ponto de venda
editarPuntoVentaComissaoController.window.title = Comissão Empresa/Ponto de Venda editarPuntoVentaComissaoController.window.title = Comissão Empresa/Ponto de Venda - {0}
editarPuntoVentaComissaoController.MSG.suscribirOK = Comissão da Empresa/Ponto de Venda registrada com cucesso. editarPuntoVentaComissaoController.MSG.suscribirOK = Comissão da Empresa/Ponto de Venda registrada com cucesso.
editarPuntoVentaComissaoController.MSG.borrarPergunta = Deseja eliminar esta Comissão da Empresa/Ponto de Venda? editarPuntoVentaComissaoController.MSG.borrarPergunta = Deseja eliminar esta Comissão da Empresa/Ponto de Venda?
editarPuntoVentaComissaoController.MSG.borrarOK = Comissão da Empresa/Ponto de Venda excluida com sucesso. editarPuntoVentaComissaoController.MSG.borrarOK = Comissão da Empresa/Ponto de Venda excluida com sucesso.
@ -4952,7 +4953,7 @@ editarConfiguracionComissaoController.lbAlta.value = Alta Estação(%)
editarConfiguracionComissaoController.lbExcesso.value = Excesso de Bagagem editarConfiguracionComissaoController.lbExcesso.value = Excesso de Bagagem
editarConfiguracionComissaoController.lbSeguro.value = Seguro Opcional editarConfiguracionComissaoController.lbSeguro.value = Seguro Opcional
editarConfiguracionComissaoController.lbOutros.value = Outros Produtos editarConfiguracionComissaoController.lbOutros.value = Outros Produtos
editarConfiguracionComissaoController.lbCompReceita.value = Composição da Receita editarConfiguracionComissaoController.lbCompReceita.value = Composição da Receita de BPR
editarConfiguracionCorridaController.lbTarifa.value = Tarifa editarConfiguracionCorridaController.lbTarifa.value = Tarifa
editarConfiguracionCorridaController.lbTaxa.value = Taxa de Embarque editarConfiguracionCorridaController.lbTaxa.value = Taxa de Embarque
editarConfiguracionCorridaController.lbSeguro.value = Seguro editarConfiguracionCorridaController.lbSeguro.value = Seguro
@ -4963,9 +4964,10 @@ editarConfiguracionComissaoController.lbPercISS.value =(%)
editarConfiguracionComissaoController.lbPerc.value =(%) editarConfiguracionComissaoController.lbPerc.value =(%)
editarConfiguracionComissaoController.lbRoyaties.value = Royaties editarConfiguracionComissaoController.lbRoyaties.value = Royaties
editarConfiguracionComissaoController.lbDestino.value = Destino da Comissão editarConfiguracionComissaoController.lbDestino.value = Destino da Comissão
editarConfiguracionComissaoController.lbReceita.value = Considerar Receita editarConfiguracionComissaoController.lbReceita.value = Considerar Receita (ICMS)
editarConfiguracionComissaoController.lbRecibo.value = Não Enviar Recibo por Email editarConfiguracionComissaoController.lbRecibo.value = Não Enviar Recibo por Email
editarConfiguracionComissaoController.lbCodAG.value = Código no AG. editarConfiguracionComissaoController.lbInddescontoporc.value = Desconto em %
editarConfiguracionComissaoController.lbDesconto.value = Desconto
#Editar Diversos #Editar Diversos
editarConfiguracionDiversosController.lbResponAluguel.value = Aluguel em Nome de editarConfiguracionDiversosController.lbResponAluguel.value = Aluguel em Nome de
@ -5760,3 +5762,7 @@ editarPracaPedagioController.window.title = Praça de Padágio
editarPracaPedagioController.MSG.suscribirOK = Praça de Pedágio Registrada com Sucesso. editarPracaPedagioController.MSG.suscribirOK = Praça de Pedágio Registrada com Sucesso.
editarPracaPedagioController.btnFechar.MSG.Deseja.Borrar = Deseja eliminar Praça de Pedágio? editarPracaPedagioController.btnFechar.MSG.Deseja.Borrar = Deseja eliminar Praça de Pedágio?
editarPracaPedagioController.btnFechar.MSG.borrarOK = Praça de Pedágio Excluido com Sucesso. editarPracaPedagioController.btnFechar.MSG.borrarOK = Praça de Pedágio Excluido com Sucesso.
# Relatorio de Vendas para Comissao
relatorioVendasComissaoController.lbDataIni.value = Data Início
relatorioVendasComissaoController.lbDataFin.value = Data Final

View File

@ -0,0 +1,39 @@
<?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="winFiltroRelatorioVendasComissao"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioVendasComissao"
apply="${relatorioVendasComissaoController}"
contentStyle="overflow:auto" width="700px" border="normal">
<grid fixedLayout="true">
<columns>
<column width="13%" />
<column width="37%" />
<column width="13%" />
<column width="37%" />
</columns>
<rows>
<row>
<label
value="${c:l('relatorioVendasComissaoController.lbDataIni.value')}" />
<datebox id="dataInicial" width="100%" mold="rounded"
format="dd/MM/yyyy" lenient="false" constraint="no empty"
maxlength="10" />
<label
value="${c:l('relatorioVendasComissaoController.lbDataFin.value')}" />
<datebox id="dataFinal" width="100%" mold="rounded"
format="dd/MM/yyyy" lenient="false" constraint="no empty"
maxlength="10" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnExecutarRelatorio" image="/gui/img/find.png"
label="${c:l('relatorio.lb.btnExecutarRelatorio')}" />
</toolbar>
</window>
</zk>