From 62549d54c3bb017ac14c78a5464a002429e79a23 Mon Sep 17 00:00:00 2001 From: julio Date: Thu, 6 Jul 2017 14:16:49 +0000 Subject: [PATCH] fixes bug #9311 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@71076 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioVendasComissaoEstavel.java | 321 ++++++++++++++++++ ...latorioVendasComissaoEstavel_es.properties | 24 ++ ...orioVendasComissaoEstavel_pt_BR.properties | 24 ++ .../RelatorioVendasComissaoEstavel.jasper | Bin 0 -> 37575 bytes .../RelatorioVendasComissaoEstavel.jrxml | 259 ++++++++++++++ .../RelatorioVendasComissaoController.java | 41 ++- web/WEB-INF/i3-label_es_MX.label | 2 +- web/WEB-INF/i3-label_pt_BR.label | 2 +- .../filtroRelatorioVendasComissao.zul | 5 +- 9 files changed, 662 insertions(+), 16 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasComissaoEstavel.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoEstavel_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoEstavel_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoEstavel.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoEstavel.jrxml diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasComissaoEstavel.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasComissaoEstavel.java new file mode 100644 index 000000000..6452442c2 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasComissaoEstavel.java @@ -0,0 +1,321 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; + +import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +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.relatorios.utilitarios.RelatorioVendasComissaoCancelamentoBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioVendasComissaoEstavel extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioVendasComissaoEstavel.class); + + private List lsDadosRelatorio; + private List lsDadosRelatorioCancelamento; + + private Timestamp fecInicio; + private Timestamp fecFinal; + private Integer empresaId; + private Boolean apenasCancelados; + private String stringLsPuntoVentaId; + + public RelatorioVendasComissaoEstavel(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + + @SuppressWarnings("unchecked") + @Override + public void initDados() throws Exception { + Map parametros = this.relatorio.getParametros(); + fecInicio = (Timestamp) parametros.get("dataFiltroInicial"); + fecFinal = (Timestamp) parametros.get("dataFiltroFinal"); + if(parametros.get("EMPRESA_ID")!=null){ + empresaId = Integer.valueOf(parametros.get("EMPRESA_ID").toString()); + } + apenasCancelados = (Boolean) parametros.get("apenasCancelados"); + + List lsPuntoVentaParam = (List) parametros.get("lsPuntoVenta"); + List lsNombPuntoVenta = new ArrayList(); + List lsPuntoVentaId = new ArrayList(); + for (PuntoVenta puntoVenta : lsPuntoVentaParam) { + lsPuntoVentaId.add("'" + String.valueOf(puntoVenta.getPuntoventaId()) + "'"); + lsNombPuntoVenta.add(puntoVenta.getNombpuntoventa()); + } + stringLsPuntoVentaId = StringUtils.join(lsPuntoVentaId.toArray(new String[0]), ','); + String nombPuntoVenta = !lsNombPuntoVenta.isEmpty() ? StringUtils.join(lsNombPuntoVenta.toArray(new String[0]), ',') : "Todas;"; + parametros.put("nombPuntoVenta", nombPuntoVenta); + + Connection conexao = this.relatorio.getConexao(); + processarVendasComissao(conexao); + + if (apenasCancelados) { + setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorioCancelamento)); + } else { + setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + } + + } + + }); + } + + private void processarVendasComissao(Connection conexao) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + + try { + + /* Processando vendas normais */ + stmt = carregarNamedParameterStatement(conexao); + rset = stmt.executeQuery(); + if (apenasCancelados) { + processarResultadoCancelamento(rset); + } else { + 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 { + if(lsDadosRelatorio == null) { + lsDadosRelatorio = new ArrayList(); + } + while (rset.next()) { + RelatorioVendasComissaoBean relatorioVendaComissao = new RelatorioVendasComissaoBean(); + relatorioVendaComissao.setNumPuntoVenta(rset.getString("NUMPUNTOVENTA")); + relatorioVendaComissao.setNombPuntoVenta(rset.getString("NOMBPUNTOVENTA")); + boolean indreimpresion = rset.getBoolean("INDREIMPRESION"); + String indstatusboleto = rset.getString("INDSTATUSBOLETO"); + Long motivocancelacionId = rset.getLong("MOTIVOCANCELACION_ID"); + if(isDevolucaoOrCancelamentoCaja(indstatusboleto, motivocancelacionId, indreimpresion) && StringUtils.isNotBlank(rset.getString("NUMPTOVTAVENTA"))) { + relatorioVendaComissao.setNumPuntoVenta(rset.getString("NUMPTOVTAVENTA")); + relatorioVendaComissao.setNombPuntoVenta(rset.getString("NOMBPTOVTAVENTA")); + } + + int indice = lsDadosRelatorio.indexOf(relatorioVendaComissao); + if(indice > -1) { + relatorioVendaComissao = lsDadosRelatorio.get(indice); + } + + BigDecimal total = rset.getBigDecimal("TOTAL"); + BigDecimal totalTaxas = rset.getBigDecimal("TOTAL_TAXAS"); + + if(isVenda(indstatusboleto, indreimpresion) || isTroca(indstatusboleto, indreimpresion)) { + relatorioVendaComissao.setTotalVendas(relatorioVendaComissao.getTotalVendas().add(total)); + relatorioVendaComissao.setTotalTaxasVendas(relatorioVendaComissao.getTotalTaxasVendas().add(totalTaxas)); + } else if(isCancelamentoCaja(indstatusboleto, motivocancelacionId, indreimpresion)) { + relatorioVendaComissao.setTotalVendasCanceladas(relatorioVendaComissao.getTotalVendasCanceladas().add(total)); + relatorioVendaComissao.setTotalTaxasVendasCanceladas(relatorioVendaComissao.getTotalTaxasVendasCanceladas().add(totalTaxas)); + } else if(isDevolucaoCaja(indstatusboleto, motivocancelacionId, indreimpresion) || + isDevolucaoOcdCaja(indstatusboleto, motivocancelacionId, indreimpresion) || + isDevolucaoTrocaCaja(indstatusboleto, motivocancelacionId, indreimpresion)) { + relatorioVendaComissao.setTotalVendasDevolucao(relatorioVendaComissao.getTotalVendasDevolucao().add(total)); + relatorioVendaComissao.setTotalTaxasVendasDevolucao(relatorioVendaComissao.getTotalTaxasVendasDevolucao().add(totalTaxas)); + } + + if(indice == -1) { + lsDadosRelatorio.add(relatorioVendaComissao); + } + } + + } + + private void processarResultadoCancelamento(ResultSet rset) throws SQLException { + if(lsDadosRelatorioCancelamento == null) { + lsDadosRelatorioCancelamento = new ArrayList(); + } + while (rset.next()) { + RelatorioVendasComissaoCancelamentoBean relatorioVendaComissao = new RelatorioVendasComissaoCancelamentoBean(); + relatorioVendaComissao.setNumFolioSistema(rset.getString("NUMFOLIOSISTEMA")); + relatorioVendaComissao.setCorridaId(rset.getInt("CORRIDA_ID")); + relatorioVendaComissao.setFecHorViaje(rset.getTimestamp("FECHORVIAJE")); + relatorioVendaComissao.setNumAsiento(rset.getString("NUMASIENTO")); + relatorioVendaComissao.setPrecioTotalPagado(rset.getBigDecimal("TOTAL")); + relatorioVendaComissao.setFecHorVenta(rset.getTimestamp("FECHORVENTA")); + relatorioVendaComissao.setNombPuntoVenta(rset.getString("NOMBPUNTOVENTA")); + lsDadosRelatorioCancelamento.add(relatorioVendaComissao); + } + + } + + private boolean isCancelamento(String indstatusboleto) { + return "C".equals(indstatusboleto); + } + + private boolean isVenda(String indstatusboleto, boolean indreimpresion) { + return "V".equals(indstatusboleto) && !indreimpresion; + } + + private boolean isTroca(String indstatusboleto, boolean indreimpresion) { + return "T".equals(indstatusboleto) && !indreimpresion; + } + + private boolean isCancelamentoCaja(String indstatusboleto, Long motivocancelacionId, boolean indreimpresion) { + return isCancelamento(indstatusboleto) && Constantes.MVO_CANCEL_CANCELACION.equals(motivocancelacionId) && !indreimpresion; + } + + private boolean isDevolucaoCaja(String indstatusboleto, Long motivocancelacionId, boolean indreimpresion) { + return isCancelamento(indstatusboleto) && Constantes.MVO_CANCEL_DEVOLUCAO.equals(motivocancelacionId) && !indreimpresion; + } + + private boolean isDevolucaoTrocaCaja(String indstatusboleto, Long motivocancelacionId, boolean indreimpresion) { + return isCancelamento(indstatusboleto) && Constantes.MVO_CANCEL_TROCA.equals(motivocancelacionId) && !indreimpresion; + } + + private boolean isDevolucaoOcdCaja(String indstatusboleto, Long motivocancelacionId, boolean indreimpresion) { + return isCancelamento(indstatusboleto) && Constantes.MVO_CANCEL_GERACAO_OCD.equals(motivocancelacionId) && !indreimpresion; + } + + private boolean isDevolucaoOrCancelamentoCaja(String indstatusboleto, Long motivocancelacionId, boolean indreimpresion) { + return isCancelamentoCaja(indstatusboleto, motivocancelacionId, indreimpresion) || + isDevolucaoCaja(indstatusboleto, motivocancelacionId, indreimpresion) || + isDevolucaoOcdCaja(indstatusboleto, motivocancelacionId, indreimpresion) || + isDevolucaoTrocaCaja(indstatusboleto, motivocancelacionId, indreimpresion); + } + + private NamedParameterStatement carregarNamedParameterStatement(Connection conexao) throws SQLException { + String sql = apenasCancelados ? getSqlCancelados() : getSql(); + log.info(sql); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + if(fecInicio != null) { + stmt.setTimestamp("fecInicio", fecInicio); + } + if(fecFinal != null) { + stmt.setTimestamp("fecFinal", fecFinal); + } + if(empresaId != null){ + stmt.setInt("EMPRESA_ID", empresaId); + } + + return stmt; + } + + protected String getSql() { + + String query = "SELECT PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, C.PTOVTAVENTA_ID, PV1.NUMPUNTOVENTA as NUMPTOVTAVENTA, PV1.NOMBPUNTOVENTA AS NOMBPTOVTAVENTA, C.INDSTATUSBOLETO, C.MOTIVOCANCELACION_ID, C.INDREIMPRESION, " + + "SUM(COALESCE (C.PRECIOPAGADO,0) + COALESCE (C.IMPORTETAXAEMBARQUE,0) + COALESCE (C.IMPORTESEGURO,0) + COALESCE (C.IMPORTEPEDAGIO,0) + COALESCE (C.IMPORTEOUTROS,0)) AS TOTAL, " + + "SUM(COALESCE (C.IMPORTETAXAEMBARQUE,0) + COALESCE (C.IMPORTESEGURO,0) + COALESCE (C.IMPORTEPEDAGIO,0) + COALESCE (C.IMPORTEOUTROS,0)) AS TOTAL_TAXAS " + + "FROM CAJA C " + + "JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = C.PUNTOVENTA_ID " + + "JOIN MARCA M ON M.MARCA_ID = C.MARCA_ID " + + "LEFT JOIN PUNTO_VENTA PV1 ON PV1.PUNTOVENTA_ID = C.PTOVTAVENTA_ID " + + "WHERE ((C.INDSTATUSBOLETO = 'V' AND C.INDREIMPRESION = 0) " + + "OR (C.INDSTATUSBOLETO = 'T' AND C.INDREIMPRESION = 0) " + + "OR (C.INDCANCELACION = 1 AND C.INDSTATUSBOLETO = 'C')) " + + "AND (C.MOTIVOCANCELACION_ID IS NULL OR C.MOTIVOCANCELACION_ID NOT IN (10, 32, 99)) " + + "AND C.FECHORVENTA BETWEEN CAST (:fecInicio AS DATE) AND CAST(:fecFinal AS DATE) "; + + if (StringUtils.isNotBlank(stringLsPuntoVentaId)) { + query += "AND C.PUNTOVENTA_ID IN(" + stringLsPuntoVentaId + ") "; + } + + if(parametros.get("EMPRESA_ID")!= null){ + query += "AND M.EMPRESA_ID =:EMPRESA_ID "; + } + + //foi adicionado indreimpresion = 0 para boleto. Foi analisado e chegou-se ao entendimento que os registros de boleto são sempre válidos + query += "GROUP BY PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, C.PTOVTAVENTA_ID, PV1.NUMPUNTOVENTA, PV1.NOMBPUNTOVENTA, C.INDSTATUSBOLETO, C.MOTIVOCANCELACION_ID, C.INDREIMPRESION " + + "UNION " + + "SELECT PV3.PUNTOVENTA_ID, PV3.NUMPUNTOVENTA, PV3.NOMBPUNTOVENTA, B.PTOVTAVENTA_ID, PV4.NUMPUNTOVENTA as NUMPTOVTAVENTA, PV4.NOMBPUNTOVENTA AS NOMBPTOVTAVENTA, B.INDSTATUSBOLETO, B.MOTIVOCANCELACION_ID, 0, " + + "COALESCE (B.PRECIOPAGADO,0) + COALESCE (B.IMPORTETAXAEMBARQUE,0) + COALESCE (B.IMPORTESEGURO,0) + COALESCE (B.IMPORTEPEDAGIO,0) + COALESCE (B.IMPORTEOUTROS,0) AS TOTAL, " + + "COALESCE (B.IMPORTETAXAEMBARQUE,0) + COALESCE (B.IMPORTESEGURO,0) + COALESCE (B.IMPORTEPEDAGIO,0) + COALESCE (B.IMPORTEOUTROS,0) AS TOTAL_TAXAS " + + "FROM BOLETO B " + + "JOIN PUNTO_VENTA PV3 ON PV3.PUNTOVENTA_ID = B.PUNTOVENTA_ID " + + "LEFT JOIN PUNTO_VENTA PV4 ON PV4.PUNTOVENTA_ID = B.PTOVTAVENTA_ID " + + "JOIN MARCA M2 ON M2.MARCA_ID = B.MARCA_ID " + + "WHERE B.INDSTATUSBOLETO = 'C' " + + "AND B.MOTIVOCANCELACION_ID IN(10, 32, 99) " + + "AND B.FECHORVENTA BETWEEN CAST (:fecInicio AS DATE) AND CAST(:fecFinal AS DATE) "; + + if (StringUtils.isNotBlank(stringLsPuntoVentaId)) { + query += "AND B.PUNTOVENTA_ID IN(" + stringLsPuntoVentaId + ") "; + } + + if(parametros.get("EMPRESA_ID")!= null){ + query += "AND M2.EMPRESA_ID = :EMPRESA_ID "; + } + + query += "ORDER BY NUMPUNTOVENTA, NUMPTOVTAVENTA, INDSTATUSBOLETO "; + + return query; + + } + + protected String getSqlCancelados() { + + String query = "SELECT B.NUMFOLIOSISTEMA, B.CORRIDA_ID, B.FECHORVIAJE, B.NUMASIENTO, B.PRECIOPAGADO, B.FECHORVENTA, COALESCE(PV2.NOMBPUNTOVENTA, PV1.NOMBPUNTOVENTA) NOMBPUNTOVENTA, " + + "(COALESCE (B.PRECIOPAGADO,0) + COALESCE (B.IMPORTETAXAEMBARQUE,0) + COALESCE (B.IMPORTESEGURO,0) + COALESCE (B.IMPORTEPEDAGIO,0) + COALESCE (B.IMPORTEOUTROS,0)) AS TOTAL " + + "FROM BOLETO B " + + "JOIN MARCA M ON M.MARCA_ID = B.MARCA_ID " + + "LEFT JOIN PUNTO_VENTA PV1 ON PV1.PUNTOVENTA_ID = B.PUNTOVENTA_ID " + + "LEFT JOIN PUNTO_VENTA PV2 ON PV2.PUNTOVENTA_ID = B.PTOVTAVENTA_ID " + + "WHERE B.INDSTATUSBOLETO = 'C' " + + "AND (B.MOTIVOCANCELACION_ID IN(10, 32, 99)) " + + "AND B.FECHORVENTA BETWEEN CAST (:fecInicio AS DATE) AND CAST(:fecFinal AS DATE) "; + + if(parametros.get("EMPRESA_ID")!= null) { + query += "AND M.EMPRESA_ID =:EMPRESA_ID "; + } + + if (StringUtils.isNotBlank(stringLsPuntoVentaId)) { + query += "AND B.PUNTOVENTA_ID IN(" + stringLsPuntoVentaId + ") "; + } + + return query; + + } + + @Override + protected void processaParametros() throws Exception { + } + + public List getLsDadosRelatorio() { + return lsDadosRelatorio; + } + + @Override + public String getNome() { + if (apenasCancelados) { + return "RelatorioVendasComissaoCancelamento"; + } + return super.getNome(); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoEstavel_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoEstavel_es.properties new file mode 100644 index 000000000..9bd241b06 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoEstavel_es.properties @@ -0,0 +1,24 @@ +#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 +label.puntoVenta=Agência: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoEstavel_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoEstavel_pt_BR.properties new file mode 100644 index 000000000..9bd241b06 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoEstavel_pt_BR.properties @@ -0,0 +1,24 @@ +#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 +label.puntoVenta=Agência: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoEstavel.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoEstavel.jasper new file mode 100644 index 0000000000000000000000000000000000000000..7076af100ba4116640109383ec6a3594e07e5f75 GIT binary patch literal 37575 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoEstavel.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoEstavel.jrxml new file mode 100644 index 000000000..d0068a051 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoEstavel.jrxml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="81" splitType="Stretch"> + <textField> + <reportElement uuid="43b2c28d-4760-4890-b00d-25e931e79c74" x="0" y="0" width="620" height="20"/> + <textElement markup="none"> + <font size="14" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.nome}]]></textFieldExpression> + </textField> + <textField pattern="dd/MM/yyyy HH:mm"> + <reportElement uuid="4d1bcd65-c9a6-44b4-8dca-cc3c4c20c9a5" x="638" y="0" width="164" height="20"/> + <textElement textAlignment="Right"> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="fd05bd35-30d9-4baf-aa56-f8e5d3c3268b" x="0" y="20" width="620" height="20"/> + <textElement> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.periodo} + " " + $P{fecInicio} + " " + $R{cabecalho.periodoA} + " " + $P{fecFinal}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="8fa1c53b-1da7-4d4d-a75c-ab1543acae2a" x="53" y="41" width="139" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{empresa}]]></textFieldExpression> + </textField> + <staticText> + <reportElement uuid="a91f6081-4740-4e36-8965-41b6cde4cc20" x="0" y="41" width="53" height="20"/> + <textElement/> + <text><![CDATA[Empresa:]]></text> + </staticText> + <textField> + <reportElement uuid="1a29d731-e121-4507-8c0b-e93f437e8d80" x="0" y="61" width="53" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$R{label.puntoVenta}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="53d53aa5-d8c9-43c6-b17d-1e6b49697237" x="53" y="61" width="748" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{nombPuntoVenta}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasComissaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasComissaoController.java index bad0b4c28..d7837cdb9 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasComissaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasComissaoController.java @@ -1,5 +1,6 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; +import java.sql.SQLException; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -26,6 +27,7 @@ import org.zkoss.zul.Paging; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasComissao; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasComissaoEstavel; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.utilerias.DateUtil; @@ -69,20 +71,28 @@ public class RelatorioVendasComissaoController extends MyGenericForwardComposer super.doAfterCompose(comp); } - @SuppressWarnings({ "unchecked", "rawtypes" }) public void onClick$btnExecutarRelatorio(Event ev) throws Exception { - + excutarRelatorios(false); + } + + public void onClick$btnExecutarRelatorioEstavel(Event ev) throws Exception { + excutarRelatorios(true); + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void excutarRelatorios(boolean versionestable) throws SQLException, Exception { + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Date dataDe = dataInicial.getValue(); Date dataAte = dataFinal.getValue(); - + Timestamp fecVentaInicial = new Timestamp(DateUtil.inicioFecha(dataDe).getTime()); Timestamp fecVentaFinal = new Timestamp(DateUtil.fimFecha(dataAte).getTime()); - + Map parametros = new HashMap(); parametros.put("fecInicio", sdf.format(dataDe)); parametros.put("fecFinal", sdf.format(dataAte)); - + parametros.put("dataFiltroInicial", fecVentaInicial); parametros.put("dataFiltroFinal", fecVentaFinal); @@ -91,22 +101,27 @@ public class RelatorioVendasComissaoController extends MyGenericForwardComposer Empresa empresa = (Empresa) itemEmpresa.getValue(); parametros.put("EMPRESA_ID", empresa.getEmpresaId()); parametros.put("empresa", empresa.getNombempresa()); - } else{ + } else { parametros.put("empresa", "Todas;"); } - + parametros.put("apenasCancelados", chkApenasCancelados.isChecked()); - + List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); parametros.put("lsPuntoVenta", lsPuntoVentaSelecionados); - - Relatorio relatorio = new RelatorioVendasComissao(parametros, dataSourceRead.getConnection()); - + Map args = new HashMap(); - args.put("relatorio", relatorio); + if (versionestable) { + Relatorio relatorio = new RelatorioVendasComissaoEstavel(parametros, dataSourceRead.getConnection()); + args.put("relatorio", relatorio); + } else { + Relatorio relatorio = new RelatorioVendasComissao(parametros, dataSourceRead.getConnection()); + args.put("relatorio", relatorio); + } openWindow("/component/reportView.zul", - Labels.getLabel("indexController.mniRelatorioVendasComissao.label"), args, MODAL); + Labels.getLabel("indexController.mniRelatorioVendasComissao.label"), args, MODAL); + } public void onClick$btnPesquisa(Event ev) { diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 70941c020..489dabfc4 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -72,7 +72,7 @@ relatorio.lb.btnSalvarRelatorio = Guardar reporte relatorio.lb.btnSalvarRelatorioPdf = Guardar reporte en PDF relatorio.lb.btnSalvarRelatorioXls = Guardar reporte en XLS relatorio.parametro.msgNoData = No fue posible obtener datos con los parámetros informados. - +relatorio.lb.btnExecutarRelatorioEstavel = Ejecutar reporte - Versión Estable # tooltip botões tooltiptext.btnFechar = Cerrar diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 3def725b9..7250bc863 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -74,7 +74,7 @@ relatorio.lb.btnSalvarRelatorio = Salvar Relatório relatorio.lb.btnSalvarRelatorioPdf = Salvar Relatório em PDF relatorio.lb.btnSalvarRelatorioXls = Salvar Relatório em XLS relatorio.parametro.msgNoData = Não foi possivel obter dados com os parâmetros informados. - +relatorio.lb.btnExecutarRelatorioEstavel = Executar Relatório - Versão Estável # tooltip botões tooltiptext.btnFechar = Fechar diff --git a/web/gui/relatorios/filtroRelatorioVendasComissao.zul b/web/gui/relatorios/filtroRelatorioVendasComissao.zul index 471adeee9..6b3cd8898 100644 --- a/web/gui/relatorios/filtroRelatorioVendasComissao.zul +++ b/web/gui/relatorios/filtroRelatorioVendasComissao.zul @@ -98,8 +98,11 @@ -