From 29c229c84f3853d2b9267bed10c12ec59a35f452 Mon Sep 17 00:00:00 2001 From: "gleison.cruz" Date: Mon, 27 May 2024 20:40:40 -0300 Subject: [PATCH] fixes bug#AL-4146 --- pom.xml | 2 +- .../RelatorioTaxasLinhaPorDataEmissao.java | 328 ++++++++ ...oTaxasLinhaPorDataEmissao_pt_BR.properties | 13 + .../RelatorioTaxasLinhaPorDataEmissao.jasper | Bin 0 -> 73537 bytes .../RelatorioTaxasLinhaPorDataEmissao.jrxml | 781 ++++++++++++++++++ .../RelatorioTaxasLinhaController.java | 103 ++- web/WEB-INF/i3-label_en.label | 1 + web/WEB-INF/i3-label_es_MX.label | 1 + web/WEB-INF/i3-label_fr_FR.label | 1 + web/WEB-INF/i3-label_pt_BR.label | 1 + .../relatorios/filtroRelatorioTaxasLinha.zul | 2 + 11 files changed, 1229 insertions(+), 4 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinhaPorDataEmissao.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTaxasLinhaPorDataEmissao_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinhaPorDataEmissao.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinhaPorDataEmissao.jrxml diff --git a/pom.xml b/pom.xml index 25718aa99..3b407643c 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.78.3 + 1.78.4 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinhaPorDataEmissao.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinhaPorDataEmissao.java new file mode 100644 index 000000000..0efdaf01c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinhaPorDataEmissao.java @@ -0,0 +1,328 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.negocio.CalculoImposto; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ExceptionConfiguracao; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioTaxasLinhaBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +/** + * @author Bruno H. G. Gouvea + * + */ +public class RelatorioTaxasLinhaPorDataEmissao extends Relatorio { + + private List lsDadosRelatorio; + + /** + * @param parametros + * @param conexao + * @throws Exception + */ + public RelatorioTaxasLinhaPorDataEmissao(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + CalculoImposto.limpaCache(); + + this.setCustomDataSource(false, new DataSource(this) { + @Override + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + String puntosVentaIds = (String) parametros.get("NUMPUNTOVENTA"); + + Boolean isTxEmbarque = (Boolean) parametros.get("IS_TX_EMBARQUE"); + Boolean isPedagio = (Boolean) parametros.get("IS_PEDAGIO"); + Boolean isSeguro = (Boolean) parametros.get("IS_SEGURO"); + Boolean isSeguroW2I = (Boolean) parametros.get("IS_SEGUROOPCIONAL"); + + lsDadosRelatorio = new ArrayList(); + + String sql = getSql(puntosVentaIds); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + ResultSet rset1 = null; + + stmt.setInt("TIPO_DATA", (Integer) parametros.get("TIPO_DATA")); + stmt.setTimestamp("DATA_INICIAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); + stmt.setTimestamp("DATA_FINAL", new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime())); + + if (parametros.get("EMPRESA_ID") != null) + stmt.setInt("EMPRESA_ID", (Integer) parametros.get("EMPRESA_ID")); + else + stmt.setNull("EMPRESA_ID", java.sql.Types.INTEGER); + + if (parametros.get("ORIGEN_ID") != null && parametros.get("ORIGEN_ID") != "" && ((Integer) parametros.get("ORIGEN_ID") != -1)) + stmt.setInt("ORIGEN_ID", (Integer) parametros.get("ORIGEN_ID")); + else + stmt.setNull("ORIGEN_ID", java.sql.Types.INTEGER); + + if (parametros.get("DESTINO_ID") != null && parametros.get("DESTINO_ID") != "" && ((Integer) parametros.get("DESTINO_ID") != -1)) + stmt.setInt("DESTINO_ID", (Integer) parametros.get("DESTINO_ID")); + else + stmt.setNull("DESTINO_ID", java.sql.Types.INTEGER); + + rset1 = stmt.executeQuery(); + + + while (rset1.next()) { + Boolean isValidado = false; + BigDecimal valorIcms; + // Se não for pra subtrair o ICMS, realiza o calculo e adiciona o mesmo + if(!(Boolean) parametros.get("B_SUBTRAIR_ICMS")){ + valorIcms = BigDecimal.ZERO; + }else{ + valorIcms = rset1.getBigDecimal("ICMS") == null ? BigDecimal.ZERO : rset1.getBigDecimal("ICMS"); + } + String indInterestadual = rset1.getString("INTERESTADUAL"); + Integer idEstado = rset1.getInt("ORIGEM_ESTADO_ID"); + Integer empresaId = rset1.getInt("EMPRESA_ID"); + + BigDecimal importeTaxaEmbarque = rset1.getBigDecimal("IMPORTETAXAEMBARQUE") == null ? BigDecimal.ZERO : rset1.getBigDecimal("IMPORTETAXAEMBARQUE"); + BigDecimal importePedagio = rset1.getBigDecimal("IMPORTEPEDAGIO") == null ? BigDecimal.ZERO : rset1.getBigDecimal("IMPORTEPEDAGIO"); + BigDecimal importeSeguro = rset1.getBigDecimal("IMPORTESEGURO") == null ? BigDecimal.ZERO : rset1.getBigDecimal("IMPORTESEGURO"); + + BigDecimal totalEmbarque = rset1.getBigDecimal("TOTAL_EMBARQUE") == null ? BigDecimal.ZERO : rset1.getBigDecimal("TOTAL_EMBARQUE"); + BigDecimal totalPedagio = rset1.getBigDecimal("TOTAL_PEDAGIO") == null ? BigDecimal.ZERO : rset1.getBigDecimal("TOTAL_PEDAGIO"); + BigDecimal totalSeguro = rset1.getBigDecimal("TOTAL_SEGURO") == null ? BigDecimal.ZERO : rset1.getBigDecimal("TOTAL_SEGURO"); + + String prefixo = rset1.getString("PREFIXO") == null ? "" : rset1.getString("PREFIXO"); + String cidadeOrigem = rset1.getString("CIDADE_ORIGEM") == null ? "" : rset1.getString("CIDADE_ORIGEM"); + String cidadeDestino= rset1.getString("CIDADE_DESTINO") == null ? "" : rset1.getString("CIDADE_DESTINO"); + + String nombEmpresa = rset1.getString("NOMBEMPRESA") == null ? "" : rset1.getString("NOMBEMPRESA"); + String nombPuntoVenta = rset1.getString("NOMBPUNTOVENTA") == null ? "" : rset1.getString("NOMBPUNTOVENTA"); + BigDecimal embarque_vendidos = rset1.getBigDecimal("EMBARQUE_VENDIDOS") == null ? BigDecimal.ZERO : rset1.getBigDecimal("EMBARQUE_VENDIDOS"); + BigDecimal pedagio_vendidos = rset1.getBigDecimal("PEDAGIO_VENDIDOS") == null ? BigDecimal.ZERO : rset1.getBigDecimal("PEDAGIO_VENDIDOS"); + BigDecimal seguro_vendidos = rset1.getBigDecimal("SEGURO_VENDIDOS") == null ? BigDecimal.ZERO : rset1.getBigDecimal("SEGURO_VENDIDOS"); + + BigDecimal qtdSeguroOpcionalCancelado = rset1.getBigDecimal("QTD_SEGUROOPCIONALCANCELADO") == null ? BigDecimal.ZERO : rset1.getBigDecimal("QTD_SEGUROOPCIONALCANCELADO"); + BigDecimal totalValorSeguroOpcionalCancelado = rset1.getBigDecimal("TOTAL_SEG_CANCELADO") == null ? BigDecimal.ZERO : rset1.getBigDecimal("TOTAL_SEG_CANCELADO"); + BigDecimal qtdSeguroOpcionalVendidos = rset1.getBigDecimal("QTD_SEGUROOPCIONALVENDIDOS") == null ? BigDecimal.ZERO : rset1.getBigDecimal("QTD_SEGUROOPCIONALVENDIDOS"); + BigDecimal totalValorseguroOpcionalVendido = rset1.getBigDecimal("TOTAL_SEG_VENDIDO") == null ? BigDecimal.ZERO : rset1.getBigDecimal("TOTAL_SEG_VENDIDO"); + + + RelatorioTaxasLinhaBean taxasLinha = new RelatorioTaxasLinhaBean(); + + if(!importeTaxaEmbarque.equals(BigDecimal.ZERO) && (Boolean) this.relatorio.getParametros().get("B_SUBTRAIR_ICMS")){ + valorIcms = CalculoImposto.getValorImposto(this.relatorio.getConexao(), idEstado, empresaId, indInterestadual, BigDecimal.ZERO, BigDecimal.ZERO, importeTaxaEmbarque, BigDecimal.ZERO); + importeTaxaEmbarque = MoneyHelper.subtrair(importeTaxaEmbarque, valorIcms); + } + taxasLinha.setIMPORTETAXAEMBARQUE(importeTaxaEmbarque); + + if(!importePedagio.equals(BigDecimal.ZERO) && (Boolean) this.relatorio.getParametros().get("B_SUBTRAIR_ICMS")){ + valorIcms = CalculoImposto.getValorImposto(this.relatorio.getConexao(), idEstado, empresaId, indInterestadual, BigDecimal.ZERO, BigDecimal.ZERO, BigDecimal.ZERO, importePedagio); + importePedagio = MoneyHelper.subtrair(importePedagio, valorIcms); + } + taxasLinha.setIMPORTEPEDAGIO(importePedagio); + + if(!importeSeguro.equals(BigDecimal.ZERO) && (Boolean) this.relatorio.getParametros().get("B_SUBTRAIR_ICMS")){ + valorIcms = CalculoImposto.getValorImposto(this.relatorio.getConexao(), idEstado, empresaId, indInterestadual, BigDecimal.ZERO, importeSeguro, BigDecimal.ZERO, BigDecimal.ZERO); + importeSeguro = MoneyHelper.subtrair(importeSeguro, valorIcms); + } + taxasLinha.setIMPORTESEGURO(importeSeguro); + + if(!totalEmbarque.equals(BigDecimal.ZERO) && (Boolean) this.relatorio.getParametros().get("B_SUBTRAIR_ICMS")){ + //Mantis 16205 - Alinhado com a Junia + //Estava sendo feita a subtracao do ICMS duas vezes, no valor unitario (Emb., Ped. e Seg.) e no totalizador (T Emb., T. Ped. e T. Seg.) + //Assim os valores não batiam quando se multiplicava o valor unitario pela Q. EMB. por serem calculos independentes. + //Agora o valor unitario é subtraido pelo ICMS e os totalizadores sao calculados pela multiplicado do Q. EMB. + +// valorIcms = CalculoImposto.getValorImposto(this.relatorio.getConexao(), idEstado, empresaId, indInterestadual, BigDecimal.ZERO, BigDecimal.ZERO, totalEmbarque , BigDecimal.ZERO); +// totalEmbarque = MoneyHelper.subtrair(totalEmbarque, valorIcms); + totalEmbarque = importeTaxaEmbarque.multiply(embarque_vendidos); + + } + taxasLinha.setTOTAL_EMBARQUE(totalEmbarque); + + if(!totalPedagio.equals(BigDecimal.ZERO) && (Boolean) this.relatorio.getParametros().get("B_SUBTRAIR_ICMS")){ + //Mantis 16205 - Alinhado com a Junia + //Estava sendo feita a subtracao do ICMS duas vezes, no valor unitario (Emb., Ped. e Seg.) e no totalizador (T Emb., T. Ped. e T. Seg.) + //Assim os valores não batiam quando se multiplicava o valor unitario pela Q. EMB. por serem calculados independentes. + //Agora o valor unitario é subtraído pelo ICMS e os totalizadores sao calculados pela multiplicacao do Q. EMB. + +// valorIcms = CalculoImposto.getValorImposto(this.relatorio.getConexao(), idEstado, empresaId, indInterestadual, BigDecimal.ZERO, BigDecimal.ZERO, BigDecimal.ZERO, totalPedagio); +// totalPedagio = MoneyHelper.subtrair(totalPedagio, valorIcms); + totalPedagio = importePedagio.multiply(pedagio_vendidos); + } + taxasLinha.setTOTAL_PEDAGIO(totalPedagio); + + if(!totalSeguro.equals(BigDecimal.ZERO) && (Boolean) this.relatorio.getParametros().get("B_SUBTRAIR_ICMS")){ + //Mantis 16205 - Alinhado com a Junia + //Estava sendo feita a subtração do ICMS duas vezes, no valor unitario (Emb., Ped. e Seg.) e no totalizador (T Emb., T. Ped. e T. Seg.) + //Assim os valores não batiam quando se multiplicava o valor unitario pela Q. EMB. por serem calculos independentes. + //Agora o valor unitario é subtraído pelo ICMS e os totalizadores sao calculados pela multiplicação do Q. EMB. + +// valorIcms = CalculoImposto.getValorImposto(this.relatorio.getConexao(), idEstado, empresaId, indInterestadual, BigDecimal.ZERO, totalSeguro, BigDecimal.ZERO, BigDecimal.ZERO); +// totalSeguro = MoneyHelper.subtrair(totalSeguro, valorIcms); + totalSeguro = importeSeguro.multiply(seguro_vendidos); + } + taxasLinha.setTOTAL_SEGURO(totalSeguro); + + taxasLinha.setPREFIXO(prefixo); + taxasLinha.setCIDADE_ORIGEM(cidadeOrigem); + taxasLinha.setCIDADE_DESTINO(cidadeDestino); + + taxasLinha.setNOMBEMPRESA(nombEmpresa); + taxasLinha.setNOMBPUNTOVENTA(nombPuntoVenta); + + taxasLinha.setEMBARQUE_VENDIDOS(embarque_vendidos); + taxasLinha.setPEDAGIO_VENDIDOS(pedagio_vendidos); + taxasLinha.setSEGURO_VENDIDOS(seguro_vendidos); + + taxasLinha.setQtdSeguroOpcionalCancelado(qtdSeguroOpcionalCancelado); + taxasLinha.setTotalValorSeguroOpcionalCancelado(totalValorSeguroOpcionalCancelado); + taxasLinha.setQtdSeguroOpcionalVendidos(qtdSeguroOpcionalVendidos); + taxasLinha.setTotalValorseguroOpcionalVendido(totalValorseguroOpcionalVendido); + + if( importeTaxaEmbarque.doubleValue() > 0 && isTxEmbarque ) { + isValidado = true; + }else if( importeSeguro.doubleValue() > 0 && isSeguro ) { + isValidado = true; + }else if( importePedagio.doubleValue() > 0 && isPedagio ) { + isValidado = true; + }else if((taxasLinha.getTotalValorSeguroOpcionalCancelado().compareTo(BigDecimal.ZERO)==1 || taxasLinha.getTotalValorseguroOpcionalVendido().compareTo(BigDecimal.ZERO)==1) && isSeguroW2I ) { + isValidado = true; + } + + taxasLinha.setFecHorventa(rset1.getTimestamp("FECHORVENTA")); + + if( isValidado ) { + lsDadosRelatorio.add(taxasLinha); + } + + } + + if (lsDadosRelatorio.size() > 0) { + + setLsDadosRelatorio(lsDadosRelatorio); + } + } + + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + /* + * (non-Javadoc) + * + * @see com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio#processaParametros() + */ + @Override + protected void processaParametros() throws Exception { + } + + public HashMap getConfigImposto(Integer idEstado, Integer puntoVentaId) throws Exception { + HashMap cacheConfig = null; + + try { + cacheConfig = (HashMap) CalculoImposto.getConfigImpostoByEstadoOrigem(this.getConexao(), idEstado, puntoVentaId); + } catch (Exception e) { + if (e instanceof ExceptionConfiguracao) + this.addInfoMsg(e.getMessage()); + else + throw e; + } + + return cacheConfig; + } + + private String getSql(String puntosVentaIds) { + StringBuilder sql = new StringBuilder(); + + sql.append(" SELECT RT.PREFIXO, "); + sql.append(" PO.DESCPARADA CIDADE_ORIGEM, "); + sql.append(" PD.DESCPARADA CIDADE_DESTINO, "); + sql.append(" COALESCE(CJ.IMPORTETAXAEMBARQUE,0) AS IMPORTETAXAEMBARQUE, "); + sql.append(" COALESCE(CJ.IMPORTEPEDAGIO,0) AS IMPORTEPEDAGIO, "); + sql.append(" COALESCE(CJ.IMPORTESEGURO,0) AS IMPORTESEGURO, "); + sql.append(" EM.NOMBEMPRESA, "); + sql.append(" EM.EMPRESA_ID, "); + sql.append(" CJ.PUNTOVENTA_ID, "); + sql.append(" PV.NOMBPUNTOVENTA, "); + sql.append(" SUM(CASE WHEN (CJ.IMPORTETAXAEMBARQUE>0 and cj.indcancelacion = 0 ) THEN 1 WHEN (CJ.IMPORTETAXAEMBARQUE>0 and cj.indcancelacion = 1 ) then -1 ELSE 0 END) EMBARQUE_VENDIDOS, "); + sql.append(" SUM(CASE WHEN (CJ.IMPORTEPEDAGIO>0 and cj.indcancelacion = 0 ) THEN 1 WHEN (CJ.IMPORTEPEDAGIO>0 and cj.indcancelacion = 1 ) THEN -1 ELSE 0 END) PEDAGIO_VENDIDOS, "); + sql.append(" SUM(CASE WHEN (CJ.IMPORTESEGURO>0 and cj.indcancelacion = 0 ) THEN 1 WHEN (CJ.IMPORTESEGURO>0 and cj.indcancelacion = 1 ) THEN -1 ELSE 0 END) SEGURO_VENDIDOS, "); + sql.append(" CO.ESTADO_ID ORIGEM_ESTADO_ID, "); + sql.append(" CD.ESTADO_ID DESTINO_ESTADO_ID, "); + sql.append(" CASE "); + sql.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN "); + sql.append(" 'S' "); + sql.append(" ELSE "); + sql.append(" 'N' "); + sql.append(" END INTERESTADUAL, "); + sql.append(" SUM( (case when cj.indcancelacion = 0 then 1 else -1 end) * CJ.IMPORTETAXAEMBARQUE) TOTAL_EMBARQUE, "); + sql.append(" SUM( (case when cj.indcancelacion = 0 then 1 else -1 end) * CJ.IMPORTEPEDAGIO) TOTAL_PEDAGIO, "); + sql.append(" SUM( (case when cj.indcancelacion = 0 then 1 else -1 end) * CJ.IMPORTESEGURO) TOTAL_SEGURO, "); + sql.append(" EST.ICMS AS ICMS, "); + sql.append(" SUM( (case when sx.status =0 then 1 else 0.0 end)) QTD_SEGUROOPCIONALCANCELADO, "); + sql.append(" SUM( (case when sx.status =0 then sx.valor else 0.0 end )) TOTAL_SEG_CANCELADO, "); + sql.append(" SUM( (case when sx.status >0 then 1 else 0.0 end )) QTD_SEGUROOPCIONALVENDIDOS, "); + sql.append(" SUM( (case when sx.status >0 then sx.valor else 0.0 end )) TOTAL_SEG_VENDIDO, "); + sql.append(" CJ.FECHORVENTA "); + sql.append("FROM CAJA CJ "); + sql.append("INNER JOIN PUNTO_VENTA PV ON CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); + sql.append("INNER JOIN EMPRESA EM ON CJ.EMPRESACORRIDA_ID = EM.EMPRESA_ID "); + sql.append("INNER JOIN PARADA PO ON CJ.ORIGEN_ID = PO.PARADA_ID "); + sql.append("INNER JOIN PARADA PD ON CJ.DESTINO_ID = PD.PARADA_ID "); + sql.append("INNER JOIN CIUDAD CO ON PO.CIUDAD_ID = CO.CIUDAD_ID "); + sql.append("INNER JOIN ESTADO EST ON EST.ESTADO_ID = CO.estado_ID "); + sql.append("INNER JOIN CIUDAD CD ON PD.CIUDAD_ID = CD.CIUDAD_ID "); + sql.append("LEFT JOIN CORRIDA CR ON (CJ.CORRIDA_ID = CR.CORRIDA_ID AND CJ.FECCORRIDA = CR.FECCORRIDA) "); + sql.append("LEFT JOIN RUTA RT ON RT.RUTA_ID = CJ.RUTA_ID "); + sql.append("LEFT JOIN SEGPOLV SX ON SX.BOLETO_ID = CJ.TRANSACAO_ID "); + sql.append("LEFT JOIN TAXPOLV TX ON TX.BOLETO_ID = CJ.TRANSACAO_ID "); + + sql.append("WHERE (CJ.IMPORTETAXAEMBARQUE>0 OR CJ.IMPORTEPEDAGIO>0 OR CJ.IMPORTESEGURO>0 OR SX.VALOR>0 OR TX.VALORTAXA > 0) "); + sql.append("AND CJ.INDSTATUSOPERACION = 'F' "); + sql.append("AND CJ.INDREIMPRESION = 0 "); + sql.append("AND DECODE(:TIPO_DATA, 1, CJ.FECHORVENTA, 2, CJ.FECCORRIDA) BETWEEN :DATA_INICIAL AND :DATA_FINAL "); + sql.append("AND EM.EMPRESA_ID = COALESCE(:EMPRESA_ID, EM.EMPRESA_ID) "); + + if (!puntosVentaIds.equals("Todas")) { + sql.append(" AND PV.PUNTOVENTA_ID IN (").append(puntosVentaIds).append(") "); + } + sql.append(" AND PO.PARADA_ID = COALESCE(:ORIGEN_ID, PO.PARADA_ID) "); + sql.append(" AND PD.PARADA_ID = COALESCE(:DESTINO_ID, PD.PARADA_ID) "); + + sql.append(" GROUP BY RT.PREFIXO, "); + sql.append(" PO.DESCPARADA, "); + sql.append(" PD.DESCPARADA, "); + sql.append(" COALESCE(CJ.IMPORTETAXAEMBARQUE,0), "); + sql.append(" COALESCE(CJ.IMPORTEPEDAGIO,0), "); + sql.append(" COALESCE(CJ.IMPORTESEGURO,0), "); + sql.append(" CO.ESTADO_ID, "); + sql.append(" CD.ESTADO_ID, "); + sql.append(" EM.NOMBEMPRESA, "); + sql.append(" EM.EMPRESA_ID, "); + sql.append(" CJ.PUNTOVENTA_ID, "); + sql.append(" PV.NOMBPUNTOVENTA, "); + sql.append(" EST.ICMS, "); + sql.append(" CJ.FECHORVENTA "); + sql.append(" ORDER BY EM.NOMBEMPRESA,PV.NOMBPUNTOVENTA ,PO.DESCPARADA, PD.DESCPARADA "); + + return sql.toString(); + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTaxasLinhaPorDataEmissao_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTaxasLinhaPorDataEmissao_pt_BR.properties new file mode 100644 index 000000000..f39ccac7e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTaxasLinhaPorDataEmissao_pt_BR.properties @@ -0,0 +1,13 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinhaPorDataEmissao.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinhaPorDataEmissao.jasper new file mode 100644 index 0000000000000000000000000000000000000000..abdd14a4d24bb1de1e03304d9aa1291ead0654eb GIT binary patch literal 73537 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 bc#QQ3{ZL_yjm+w6juR{ARaU7lGB*D|bKaPD literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinhaPorDataEmissao.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinhaPorDataEmissao.jrxml new file mode 100644 index 000000000..1b685551a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinhaPorDataEmissao.jrxml @@ -0,0 +1,781 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTaxasLinhaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTaxasLinhaController.java index 054bd936f..d94a0ad3b 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTaxasLinhaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTaxasLinhaController.java @@ -42,6 +42,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioTaxasLinha; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioTaxasLinhaPorDataEmissao; import com.rjconsultores.ventaboletos.relatorios.negocio.CalculoImposto; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioTaxasLinhaBean; @@ -180,11 +181,107 @@ public class RelatorioTaxasLinhaController extends MyGenericForwardComposer { public void onClick$btnExecutarRelatorio(Event ev) throws Exception { executarRelatorio(); } + + public void onClick$btnExecutarRelatorioPorDataEmissao(Event ev) throws Exception { + executarRelatorioPorDataEmissao(); + } /** * @throws Exception * */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorioPorDataEmissao() throws Exception { + Relatorio relatorio; + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + + filtro.append("Agência: "); + String puntoVentaIds = ""; + String puntoVentas = ""; + List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); + if (lsPuntoVentaSelecionados.isEmpty()) { + puntoVentas = "Todas"; + puntoVentaIds = "Todas"; + } else { + for (int i = 0; i < lsPuntoVentaSelecionados.size(); i++) { + PuntoVenta puntoVenta = lsPuntoVentaSelecionados.get(i); + puntoVentas = puntoVentas + puntoVenta.getNombpuntoventa() + ","; + + puntoVentaIds = puntoVentaIds + puntoVenta.getPuntoventaId() + ","; + } + + // removendo ultima virgula + puntoVentaIds = puntoVentaIds.substring(0, puntoVentaIds.length() - 1); + puntoVentas = puntoVentas.substring(0, puntoVentas.length() - 1); + } + filtro.append(puntoVentas).append(";"); + + parametros.put("DATA_INICIAL", (java.util.Date) this.datInicial.getValue()); + parametros.put("DATA_FINAL", (java.util.Date) this.datFinal.getValue()); + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioTaxasLinhaController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("TIPO_DATA", Integer.parseInt(rdGroupTipoData.getSelectedItem().getValue())); + parametros.put("NUMPUNTOVENTA", puntoVentaIds); + parametros.put("B_SUBTRAIR_ICMS", ((Boolean) (chkSubtrairIcms.isChecked()))); + parametros.put("IS_TX_EMBARQUE", ((Boolean) (chkTaxaEmbarque.isChecked()))); + parametros.put("IS_PEDAGIO", (Boolean) chkTaxaPedagio.isChecked()); + parametros.put("IS_SEGURO", chkTaxaSeguro.isChecked()); + parametros.put("IS_SEGUROOPCIONAL", chkTaxaSeguroOpcional.isChecked()); + filtro.append(" Tipo de Data: " + (rdGroupTipoData.getSelectedItem().getValue().equals(1) ? " Origem;" : "Destino;")); + filtro.append(" Subtrair ICMS: " + (chkSubtrairIcms.isChecked() ? " Sim;" : "Não;")); + filtro.append(" Empresa: "); + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", empresa.getEmpresaId()); + parametros.put("EMPRESA", empresa.getNombempresa()); + filtro.append(empresa.getNombempresa() + ";"); + } else { + filtro.append("Todas;"); + } + + filtro.append(" Origem: "); + Comboitem cbiOrigem = cmbParadaOrigem.getSelectedItem(); + if (cbiOrigem != null) { + Parada origem = (Parada) cbiOrigem.getValue(); + parametros.put("ORIGEN_ID", origem.getParadaId()); + filtro.append(origem.getCveparada() + ";"); + } else { + filtro.append("Todas;"); + } + + filtro.append(" Destino: "); + Comboitem cbiDestino = cmbParadaDestino.getSelectedItem(); + if (cbiDestino != null) { + Parada destino = (Parada) cbiDestino.getValue(); + parametros.put("DESTINO_ID", destino.getParadaId()); + filtro.append(destino.getCveparada() + ";"); + } else { + filtro.append("Todos;"); + } + + Connection connection = dataSourceRead.getConnection(); + try { + if(chkDownloadTxt.isChecked()) + exportarTxt(parametros, connection); + + parametros.put("FILTROS", filtro.toString()); + relatorio = new RelatorioTaxasLinhaPorDataEmissao(parametros, connection); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioTaxasLinhaController.window.title"), args, MODAL); + } finally { + if ((connection != null) && !connection.isClosed()) { + connection.close(); + } + } + } + @SuppressWarnings({ "rawtypes", "unchecked" }) private void executarRelatorio() throws Exception { Relatorio relatorio; @@ -276,6 +373,7 @@ public class RelatorioTaxasLinhaController extends MyGenericForwardComposer { } } } + private void exportarTxt(Map parametros, Connection conexao) throws Exception{ @@ -433,7 +531,7 @@ public class RelatorioTaxasLinhaController extends MyGenericForwardComposer { List lsDadosRelatorio = new ArrayList(); - String sql = getSql(puntosVentaIds); + String sql = getSql(puntosVentaIds, false); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); @@ -562,7 +660,7 @@ public class RelatorioTaxasLinhaController extends MyGenericForwardComposer { return lsDadosRelatorio; } - private String getSql(String puntosVentaIds) { + private String getSql(String puntosVentaIds, Boolean isDataEmissao) { StringBuilder sql = new StringBuilder(); sql.append(" SELECT RT.PREFIXO, "); @@ -668,5 +766,4 @@ public class RelatorioTaxasLinhaController extends MyGenericForwardComposer { return sql.toString(); } - } diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index 8881bec7c..bfe6554f5 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -9450,6 +9450,7 @@ relatorioTaxasLinhaController.window.title = Relatório de Taxas por Linha relatorioTrechoVendidoController.btnLimpar.label = Limpar Seleção relatorioTrechoVendidoController.btnPesquisa.label = Pesquisar relatorioTrechoVendidoController.lbDataFin.value = Data Final +relatorio.lb.btnExecutarRelatorioPorDataEmissao= Detailed by Issue Date #Relatorio Trecho Vendido relatorioTrechoVendidoController.lbDataIni.value = Data Inicial relatorioTrechoVendidoController.lbEmpresa.label = Empresa diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 9185918be..b17c64735 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -9592,6 +9592,7 @@ relatorioTaxasLinhaController.window.title = Reporte de tasas por linea relatorioTrechoVendidoController.btnLimpar.label = Limpiar selección relatorioTrechoVendidoController.btnPesquisa.label = Buscar relatorioTrechoVendidoController.lbDataFin.value = Fecha final +relatorio.lb.btnExecutarRelatorioPorDataEmissao= Detallado por fecha de emisión #Relatorio Tramo Vendido relatorioTrechoVendidoController.lbDataIni.value = Fecha inicial relatorioTrechoVendidoController.lbEmpresa.label = Empresa diff --git a/web/WEB-INF/i3-label_fr_FR.label b/web/WEB-INF/i3-label_fr_FR.label index 012e9d8cd..07f30aaa9 100644 --- a/web/WEB-INF/i3-label_fr_FR.label +++ b/web/WEB-INF/i3-label_fr_FR.label @@ -9563,6 +9563,7 @@ relatorioTaxasLinhaController.window.title = Rapport des tarifs par ligne relatorioTrechoVendidoController.btnLimpar.label = Effacer la sélection relatorioTrechoVendidoController.btnPesquisa.label = Recherche relatorioTrechoVendidoController.lbDataFin.value = Date de fin +relatorio.lb.btnExecutarRelatorioPorDataEmissao= Détaillé par date d'émission #Relatorio Trecho Vendido relatorioTrechoVendidoController.lbDataIni.value = Date de début relatorioTrechoVendidoController.lbEmpresa.label = Entreprise diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 93d55df68..c5d6d8057 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -9567,6 +9567,7 @@ relatorioTaxasLinhaController.window.title = Relatório de Taxas por Linha relatorioTrechoVendidoController.btnLimpar.label = Limpar Seleção relatorioTrechoVendidoController.btnPesquisa.label = Pesquisar relatorioTrechoVendidoController.lbDataFin.value = Data Final +relatorio.lb.btnExecutarRelatorioPorDataEmissao= Detalhado por Data Emissão #Relatorio Trecho Vendido relatorioTrechoVendidoController.lbDataIni.value = Data Inicial relatorioTrechoVendidoController.lbEmpresa.label = Empresa diff --git a/web/gui/relatorios/filtroRelatorioTaxasLinha.zul b/web/gui/relatorios/filtroRelatorioTaxasLinha.zul index d57b665c6..08598a528 100644 --- a/web/gui/relatorios/filtroRelatorioTaxasLinha.zul +++ b/web/gui/relatorios/filtroRelatorioTaxasLinha.zul @@ -158,6 +158,8 @@