From 475e5b418fe2bc2942e96b40cbf58a6e6fa0d34d Mon Sep 17 00:00:00 2001 From: walace Date: Wed, 6 Sep 2017 17:29:52 +0000 Subject: [PATCH] fixes bug #9388 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@73558 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioDocumentosFiscais.java | 106 +++-- ...ocumentosFiscaisAgrupadoPorLocalidade.java | 200 +++++++++ ...FiscaisAgrupadoPorLocalidade_es.properties | 28 ++ ...FiscaisAgrupadoPorLocalidade_pt.properties | 30 ++ ...elatorioDocumentosFiscais_pt_BR.properties | 6 +- .../RelatorioDocumentosFiscais.jasper | Bin 38835 -> 46766 bytes .../RelatorioDocumentosFiscais.jrxml | 185 ++++++-- ...umentosFiscaisAgrupadoPorLocalidade.jasper | Bin 0 -> 48158 bytes ...cumentosFiscaisAgrupadoPorLocalidade.jrxml | 424 ++++++++++++++++++ .../RelatorioDocumentosFiscaisController.java | 28 +- .../filtroRelatorioDocumentosFiscais.zul | 8 +- 11 files changed, 918 insertions(+), 97 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscaisAgrupadoPorLocalidade_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscaisAgrupadoPorLocalidade_pt.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.jrxml diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscais.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscais.java index 954963101..32635cf05 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscais.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscais.java @@ -1,6 +1,7 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.math.BigDecimal; +import java.math.RoundingMode; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Timestamp; @@ -37,12 +38,13 @@ public class RelatorioDocumentosFiscais extends Relatorio { Map parametros = this.relatorio.getParametros(); Integer empresaId = (Integer) parametros.get("EMPRESA_ID"); + Integer estadoId = (Integer) parametros.get("ESTADO_ID"); String agencia = (String) parametros.get("PUNTOVENTA"); String tipoLinha = (String) parametros.get("TIPO_LINHA"); Aidf aidf = (Aidf) parametros.get("AIDF"); Boolean somenteCancelado = (Boolean) parametros.get("SOMENTE_CANCELADO"); - String sql = getSql(empresaId, agencia, somenteCancelado, tipoLinha, aidf); + String sql = getSql(empresaId, agencia, somenteCancelado, tipoLinha, aidf, estadoId); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); @@ -53,8 +55,14 @@ public class RelatorioDocumentosFiscais extends Relatorio { rset = stmt.executeQuery(); lsDadosRelatorio = new ArrayList(); - BigDecimal saldo = BigDecimal.ZERO; - BigDecimal total = BigDecimal.ZERO; + + BigDecimal totalValorContabil = BigDecimal.ZERO; + BigDecimal totalValorBaseCalculo = BigDecimal.ZERO; + BigDecimal totalValorAliquiotaICMS = BigDecimal.ZERO; + BigDecimal totalValorICMS = BigDecimal.ZERO; + BigDecimal totalValorIsentas = BigDecimal.ZERO; + BigDecimal totalValorOutras = BigDecimal.ZERO; + BigDecimal totalValorCancelado = BigDecimal.ZERO; while (rset.next()) { @@ -70,16 +78,43 @@ public class RelatorioDocumentosFiscais extends Relatorio { bean.setValorICMS((BigDecimal) rset.getObject("valorICMS")); bean.setOutras((BigDecimal) rset.getObject("outras")); bean.setValorCancelado((BigDecimal) rset.getObject("valorCancelado")); - bean.setEstadoId((Integer) Integer.parseInt(rset.getObject("estadoId").toString())); + bean.setNomeEstado((String) rset.getObject("nomeEstado")); lsDadosRelatorio.add(bean); } if (lsDadosRelatorio.size() > 0) { + + for (RelatorioDocumentosFiscaisBean bean : lsDadosRelatorio) { + + bean.setValorContabil(bean.getValorContabil().setScale(2, RoundingMode.HALF_EVEN)); + bean.setValorBaseCalculo(bean.getValorBaseCalculo().setScale(2, RoundingMode.HALF_EVEN)); + bean.setValorAliquiotaICMS(bean.getValorAliquiotaICMS().setScale(2, RoundingMode.HALF_EVEN)); + bean.setValorICMS(bean.getValorICMS().setScale(2, RoundingMode.HALF_EVEN)); + bean.setOutras(bean.getOutras().setScale(2, RoundingMode.HALF_EVEN)); + // bean.setIsentas(bean.getIsentas().setScale(2, RoundingMode.HALF_EVEN)); + bean.setValorCancelado(bean.getValorCancelado().setScale(2, RoundingMode.HALF_EVEN)); + + totalValorContabil = totalValorContabil.add(bean.getValorContabil() != null ? bean.getValorContabil() : BigDecimal.ZERO); + totalValorBaseCalculo = totalValorBaseCalculo.add(bean.getValorBaseCalculo() != null ? bean.getValorBaseCalculo() : BigDecimal.ZERO); + totalValorAliquiotaICMS = totalValorAliquiotaICMS.add(bean.getValorAliquiotaICMS() != null ? bean.getValorAliquiotaICMS() : BigDecimal.ZERO); + totalValorICMS = totalValorICMS.add(bean.getValorICMS() != null ? bean.getValorICMS() : BigDecimal.ZERO); + // totalValorIsentas = totalValorIsentas.add(bean.getIsentas() != null ? bean.getIsentas() : BigDecimal.ZERO); + totalValorOutras = totalValorOutras.add(bean.getOutras() != null ? bean.getOutras() : BigDecimal.ZERO); + totalValorCancelado = totalValorCancelado.add(bean.getValorCancelado() != null ? bean.getValorCancelado() : BigDecimal.ZERO); + } setLsDadosRelatorio(lsDadosRelatorio); - parametros.put("SALDO", saldo.subtract(total)); - parametros.put("TOTAL", total); + + parametros.put("TOTAL_VALOR_CONTABIL", totalValorContabil); + parametros.put("TOTAL_VALOR_BASE_CALCULO", totalValorBaseCalculo); + parametros.put("TOTAL_VALOR_ALIQUIOTA_ICMS", totalValorAliquiotaICMS); + parametros.put("TOTAL_VALOR_ICMS", totalValorICMS); + parametros.put("TOTAL_VALOR_ISENTAS", totalValorIsentas); + parametros.put("TOTAL_VALOR_OUTRAS", totalValorOutras); + parametros.put("TOTAL_VALOR_CANCELADO", totalValorCancelado); + } + } }); @@ -90,21 +125,22 @@ public class RelatorioDocumentosFiscais extends Relatorio { this.lsDadosRelatorio = lsDadosRelatorio; } - private String getSql(Integer empresaId, String agencia, Boolean somenteCancelado, String tipoLinha, Aidf aidf) { + private String getSql(Integer empresaId, String agencia, Boolean somenteCancelado, String tipoLinha, Aidf aidf, Integer estadoId) { StringBuilder sql = new StringBuilder(); - sql.append("SELECT coalesce(tabela.numAidf, '') as numAidf, "); - sql.append(" tabela.formInicial as formInicial, "); - sql.append(" tabela.formFinal as formFinal, "); - sql.append(" tabela.serie as serie, "); - sql.append(" tabela.subSerie as subSerie , "); + + sql.append("SELECT coalesce(tabela.numAidf, '') AS numAidf, "); + sql.append(" tabela.formInicial AS formInicial, "); + sql.append(" tabela.formFinal AS formFinal, "); + sql.append(" tabela.serie AS serie, "); + sql.append(" tabela.subSerie AS subSerie, "); + sql.append(" tabela.nomeEstado AS nomeEstado, "); sql.append(" coalesce(sum(tabela.valorContabil),0) AS valorContabil, "); - sql.append(" (sum(tabela.valorContabil) - (sum(tabela.valorContabil) * tabela.redBaseCalcIcms)) AS valorBaseCalculo, "); - sql.append(" tabela.ICMS AS valorAliquiotaICMS, "); - sql.append(" (sum(tabela.valorContabil) - (sum(tabela.valorContabil) * tabela.redBaseCalcIcms)) * tabela.ICMS AS valorICMS, "); - sql.append(" sum(tabela.valorContabil) - (sum(tabela.valorContabil) - (sum(tabela.valorContabil) * tabela.redBaseCalcIcms)) AS outras, "); - sql.append(" coalesce(sum(tabela.valorCancelado),0) AS valorCancelado, "); - sql.append(" tabela.estadoId as estadoId "); + sql.append(" sum(valorBaseCalculo) AS valorBaseCalculo, "); + sql.append(" tabela.valorAliquiotaICMS AS valorAliquiotaICMS, "); + sql.append(" sum(tabela.valorICMS) AS valorICMS, "); + sql.append(" coalesce(sum(tabela.valorCancelado),0) AS valorCancelado, "); + sql.append(" sum(tabela.outras) AS outras "); sql.append("FROM "); sql.append(" (SELECT a.ACFISCAL AS numAidf, "); sql.append(" a.FORMINICIAL AS formInicial, "); @@ -113,15 +149,15 @@ public class RelatorioDocumentosFiscais extends Relatorio { sql.append(" a.SUBSERIE AS subSerie, "); sql.append(" c.MOTIVOCANCELACION_ID AS motivoCancelacion, "); sql.append(" c.PRECIOBASE AS tarifa, "); - sql.append(" ed.ICMS AS ICMS, "); - sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO ELSE 0 END AS valorContabil, "); - sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NOT NULL THEN c.PRECIOPAGADO ELSE 0 "); - sql.append(" END AS valorCancelado, "); + sql.append(" ed.ICMS AS valorAliquiotaICMS, "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO ELSE 0 END AS valorContabil, "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NOT NULL THEN c.PRECIOPAGADO ELSE 0 END AS valorCancelado, "); sql.append(" coalesce(ei.PORCREDBASEICMS / 100,0) AS redBaseCalcIcms, "); - sql.append(" ei.estado_id AS estadoId, "); - sql.append(" po.DESCPARADA AS origem, "); - sql.append(" pd.DESCPARADA AS destino, "); - sql.append(" CASE WHEN((coalesce(eos.cveestado, eo.cveestado)) = (coalesce(eds.cveestado, ed.cveestado))) then 0 else 1 end as isInterEstadual "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO - (c.PRECIOPAGADO * coalesce(ei.PORCREDBASEICMS / 100,0)) ELSE 0 END AS valorBaseCalculo, "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN ((c.PRECIOPAGADO - (c.PRECIOPAGADO * coalesce(ei.PORCREDBASEICMS / 100,0))) * ed.ICMS) / 100 ELSE 0 END AS valorICMS, "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO - (c.PRECIOPAGADO - (c.PRECIOPAGADO * coalesce(ei.PORCREDBASEICMS / 100,0))) ELSE 0 END AS outras, "); + sql.append(" eo.estado_id AS estadoId, eo.NOMBESTADO AS nomeEstado, po.DESCPARADA AS origem, pd.DESCPARADA AS destino, "); + sql.append(" CASE WHEN((coalesce(eos.cveestado, eo.cveestado)) = (coalesce(eds.cveestado, ed.cveestado))) THEN 0 ELSE 1 END AS isInterEstadual "); sql.append(" FROM caja c "); sql.append(" INNER JOIN aidf a ON a.aidf_id = c.aidf_id "); sql.append(" JOIN marca m ON c.marca_id = m.marca_id "); @@ -144,21 +180,17 @@ public class RelatorioDocumentosFiscais extends Relatorio { sql.append(" LEFT JOIN ciudad cds ON cds.ciudad_id = pds.ciudad_id "); sql.append(" LEFT JOIN estado eds ON eds.estado_id = cds.estado_id "); sql.append(" INNER JOIN empresa_imposto ei ON ei.empresa_id = e.empresa_id "); - sql.append(" WHERE c.feccreacion between :DATA_INICIAL and :DATA_FINAL "); sql.append("AND c.EMPRESACORRIDA_ID =" + empresaId + " "); sql.append(somenteCancelado == true ? " AND c.INDCANCELACION = 1" : " "); - sql.append("AND a.AIDF_ID = " + aidf.getAidfId() + " "); - sql.append(" AND coalesce(eos.cveestado, eo.cveestado) IN ('BA') )tabela "); + // sql.append("AND a.AIDF_ID = " + aidf.getAidfId() + " "); + sql.append("AND coalesce(eos.estado_id, eo.estado_id) IN (" + estadoId + ") "); + sql.append(")tabela "); sql.append(tipoLinha.equals("INTERMUNICIPAL") ? " where tabela.isInterEstadual = 1" : tipoLinha.equals("INTERESTADUAL") ? " where tabela.isInterEstadual = 0" : " "); - sql.append("GROUP BY tabela.numAidf, "); - sql.append(" tabela.formInicial, "); - sql.append(" tabela.formFinal, "); - sql.append(" tabela.serie, "); - sql.append(" tabela.subSerie, "); - sql.append(" tabela.ICMS, "); - sql.append(" tabela.redBaseCalcIcms, "); - sql.append(" tabela.estadoId"); + sql.append("GROUP BY tabela.numAidf,tabela.formInicial, "); + sql.append(" tabela.formFinal,tabela.serie, tabela.subSerie,tabela.nomeEstado, "); + sql.append(" tabela.valorAliquiotaICMS "); + sql.append("ORDER BY tabela.nomeEstado"); return sql.toString(); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.java new file mode 100644 index 000000000..8243e0258 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.java @@ -0,0 +1,200 @@ + +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import com.rjconsultores.ventaboletos.entidad.Aidf; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioDocumentosFiscaisBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioDocumentosFiscaisAgrupadoPorLocalidade extends Relatorio { + + public RelatorioDocumentosFiscaisAgrupadoPorLocalidade(Map parametros, Connection conexao) { + super(parametros, conexao); + } + + private List lsDadosRelatorio; + + @Override + protected void processaParametros() throws Exception { + + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + + Map parametros = this.relatorio.getParametros(); + + Integer empresaId = (Integer) parametros.get("EMPRESA_ID"); + String agencia = (String) parametros.get("PUNTOVENTA"); + String tipoLinha = (String) parametros.get("TIPO_LINHA"); + Aidf aidf = (Aidf) parametros.get("AIDF"); + Boolean somenteCancelado = (Boolean) parametros.get("SOMENTE_CANCELADO"); + + String sql = getSql(empresaId, agencia, somenteCancelado, tipoLinha, aidf); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + stmt.setTimestamp("DATA_INICIAL", (Timestamp) parametros.get("DATA_INICIAL")); + stmt.setTimestamp("DATA_FINAL", (Timestamp) parametros.get("DATA_FINAL")); + + ResultSet rset = null; + rset = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + + BigDecimal totalValorContabil = BigDecimal.ZERO; + BigDecimal totalValorBaseCalculo = BigDecimal.ZERO; + BigDecimal totalValorAliquiotaICMS = BigDecimal.ZERO; + BigDecimal totalValorICMS = BigDecimal.ZERO; + BigDecimal totalValorIsentas = BigDecimal.ZERO; + BigDecimal totalValorOutras = BigDecimal.ZERO; + BigDecimal totalValorCancelado = BigDecimal.ZERO; + + while (rset.next()) { + + RelatorioDocumentosFiscaisBean bean = new RelatorioDocumentosFiscaisBean(); + bean.setNumAIDF((String) (rset.getObject("numAIDF") == null ? "" : rset.getObject("numAIDF"))); + bean.setFormInicial((String) rset.getObject("formInicial")); + bean.setFormFinal((String) rset.getObject("formFinal")); + bean.setSerie((String) rset.getObject("serie")); + bean.setSubSerie((String) rset.getObject("subSerie")); + bean.setValorContabil((BigDecimal) rset.getObject("valorContabil")); + bean.setValorBaseCalculo((BigDecimal) rset.getObject("valorBaseCalculo")); + bean.setValorAliquiotaICMS((BigDecimal) rset.getObject("valorAliquiotaICMS")); + bean.setValorICMS((BigDecimal) rset.getObject("valorICMS")); + bean.setOutras((BigDecimal) rset.getObject("outras")); + bean.setValorCancelado((BigDecimal) rset.getObject("valorCancelado")); + bean.setNomeEstado((String) rset.getObject("nomeEstado")); + bean.setNomeOrigem((String) rset.getObject("nomeOrigem")); + bean.setNomeDestino((String) rset.getObject("nomeDestino")); + lsDadosRelatorio.add(bean); + + } + + if (lsDadosRelatorio.size() > 0) { + + for (RelatorioDocumentosFiscaisBean bean : lsDadosRelatorio) { + + bean.setValorContabil(bean.getValorContabil().setScale(2, RoundingMode.HALF_EVEN)); + bean.setValorBaseCalculo(bean.getValorBaseCalculo().setScale(2, RoundingMode.HALF_EVEN)); + bean.setValorAliquiotaICMS(bean.getValorAliquiotaICMS().setScale(2, RoundingMode.HALF_EVEN)); + bean.setValorICMS(bean.getValorICMS().setScale(2, RoundingMode.HALF_EVEN)); + bean.setOutras(bean.getOutras().setScale(2, RoundingMode.HALF_EVEN)); + //bean.setIsentas(bean.getIsentas().setScale(2, RoundingMode.HALF_EVEN)); + bean.setValorCancelado(bean.getValorCancelado().setScale(2, RoundingMode.HALF_EVEN)); + + totalValorContabil = totalValorContabil.add(bean.getValorContabil() != null ? bean.getValorContabil() : BigDecimal.ZERO); + totalValorBaseCalculo = totalValorBaseCalculo.add(bean.getValorBaseCalculo() != null ? bean.getValorBaseCalculo() : BigDecimal.ZERO); + totalValorAliquiotaICMS = totalValorAliquiotaICMS.add(bean.getValorAliquiotaICMS() != null ? bean.getValorAliquiotaICMS() : BigDecimal.ZERO); + totalValorICMS = totalValorICMS.add(bean.getValorICMS() != null ? bean.getValorICMS() : BigDecimal.ZERO); + //totalValorIsentas = totalValorIsentas.add(bean.getIsentas() != null ? bean.getIsentas() : BigDecimal.ZERO); + totalValorOutras = totalValorOutras.add(bean.getOutras() != null ? bean.getOutras() : BigDecimal.ZERO); + totalValorCancelado = totalValorCancelado.add(bean.getValorCancelado() != null ? bean.getValorCancelado() : BigDecimal.ZERO); + } + setLsDadosRelatorio(lsDadosRelatorio); + + parametros.put("TOTAL_VALOR_CONTABIL", totalValorContabil); + parametros.put("TOTAL_VALOR_BASE_CALCULO", totalValorBaseCalculo); + parametros.put("TOTAL_VALOR_ALIQUIOTA_ICMS", totalValorAliquiotaICMS); + parametros.put("TOTAL_VALOR_ICMS", totalValorICMS); + parametros.put("TOTAL_VALOR_ISENTAS", totalValorIsentas); + parametros.put("TOTAL_VALOR_OUTRAS", totalValorOutras); + parametros.put("TOTAL_VALOR_CANCELADO", totalValorCancelado); + + } + } + }); + + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + private String getSql(Integer empresaId, String agencia, Boolean somenteCancelado, String tipoLinha, Aidf aidf) { + + StringBuilder sql = new StringBuilder(); + + sql.append("SELECT coalesce(tabela.numAidf, '') AS numAidf, "); + sql.append(" tabela.formInicial AS formInicial, "); + sql.append(" tabela.formFinal AS formFinal, "); + sql.append(" tabela.serie AS serie, "); + sql.append(" tabela.subSerie AS subSerie, "); + sql.append(" tabela.nomeEstado AS nomeEstado, "); + sql.append(" tabela.origem AS nomeOrigem, "); + sql.append(" tabela.destino AS nomeDestino, "); + sql.append(" coalesce(sum(tabela.valorContabil),0) AS valorContabil, "); + sql.append(" sum(valorBaseCalculo) AS valorBaseCalculo, "); + sql.append(" tabela.valorAliquiotaICMS AS valorAliquiotaICMS, "); + sql.append(" sum(tabela.valorICMS) AS valorICMS, "); + sql.append(" coalesce(sum(tabela.valorCancelado),0) AS valorCancelado, "); + sql.append(" sum(tabela.outras) AS outras "); + sql.append("FROM "); + sql.append(" (SELECT a.ACFISCAL AS numAidf, "); + sql.append(" a.FORMINICIAL AS formInicial, "); + sql.append(" a.FORMFINAL AS formFinal, "); + sql.append(" a.SERIE AS serie, "); + sql.append(" a.SUBSERIE AS subSerie, "); + sql.append(" c.MOTIVOCANCELACION_ID AS motivoCancelacion, "); + sql.append(" c.PRECIOBASE AS tarifa, "); + sql.append(" ed.ICMS AS valorAliquiotaICMS, "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO ELSE 0 END AS valorContabil, "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NOT NULL THEN c.PRECIOPAGADO ELSE 0 END AS valorCancelado, "); + sql.append(" coalesce(ei.PORCREDBASEICMS / 100,0) AS redBaseCalcIcms, "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO - (c.PRECIOPAGADO * coalesce(ei.PORCREDBASEICMS / 100,0)) ELSE 0 END AS valorBaseCalculo, "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN ((c.PRECIOPAGADO - (c.PRECIOPAGADO * coalesce(ei.PORCREDBASEICMS / 100,0))) * ed.ICMS) / 100ELSE 0 END AS valorICMS, "); + sql.append(" CASE WHEN c.MOTIVOCANCELACION_ID IS NULL THEN c.PRECIOPAGADO - (c.PRECIOPAGADO - (c.PRECIOPAGADO * coalesce(ei.PORCREDBASEICMS / 100,0))) ELSE 0 END AS outras, "); + sql.append(" eo.estado_id AS estadoId, eo.NOMBESTADO AS nomeEstado, po.DESCPARADA AS origem, pd.DESCPARADA AS destino, "); + sql.append(" CASE WHEN((coalesce(eos.cveestado, eo.cveestado)) = (coalesce(eds.cveestado, ed.cveestado))) THEN 0 ELSE 1 END AS isInterEstadual "); + sql.append(" FROM caja c "); + sql.append(" INNER JOIN aidf a ON a.aidf_id = c.aidf_id "); + sql.append(" JOIN marca m ON c.marca_id = m.marca_id "); + sql.append(" JOIN empresa e ON e.empresa_id = m.empresa_id "); + sql.append(" JOIN parada po ON po.parada_id = c.origen_id "); + sql.append(" JOIN ciudad co ON co.ciudad_id = po.ciudad_id "); + sql.append(" JOIN estado eo ON eo.estado_id = co.estado_id "); + sql.append(" JOIN parada pd ON pd.parada_id = c.destino_id "); + sql.append(" JOIN ciudad cd ON cd.ciudad_id = pd.ciudad_id "); + sql.append(" JOIN estado ed ON ed.estado_id = cd.estado_id "); + sql.append(" LEFT JOIN alias_servico s ON s.origen_id = c.origen_id "); + sql.append(" AND s.destino_id = c.destino_id "); + sql.append(" AND (s.corrida_id = c.corrida_id "); + sql.append(" OR s.corrida_id IS NULL) "); + sql.append(" AND s.ruta_id = c.ruta_id "); + sql.append(" LEFT JOIN parada pos ON pos.parada_id = s.aliasorigen_id "); + sql.append(" LEFT JOIN ciudad cos ON cos.ciudad_id = pos.ciudad_id "); + sql.append(" LEFT JOIN estado eos ON eos.estado_id = cos.estado_id "); + sql.append(" LEFT JOIN parada pds ON pds.parada_id = s.aliasdestino_id "); + sql.append(" LEFT JOIN ciudad cds ON cds.ciudad_id = pds.ciudad_id "); + sql.append(" LEFT JOIN estado eds ON eds.estado_id = cds.estado_id "); + sql.append(" INNER JOIN empresa_imposto ei ON ei.empresa_id = e.empresa_id "); + sql.append(" WHERE c.feccreacion between :DATA_INICIAL and :DATA_FINAL "); + sql.append("AND c.EMPRESACORRIDA_ID =" + empresaId + " "); + sql.append(somenteCancelado == true ? " AND c.INDCANCELACION = 1" : " "); + // sql.append("AND a.AIDF_ID = " + aidf.getAidfId() + " "); + sql.append(")tabela "); + sql.append(tipoLinha.equals("INTERMUNICIPAL") ? " where tabela.isInterEstadual = 1" : tipoLinha.equals("INTERESTADUAL") ? " where tabela.isInterEstadual = 0" : " "); + sql.append("GROUP BY tabela.numAidf,tabela.formInicial, "); + sql.append(" tabela.formFinal,tabela.serie, tabela.subSerie,tabela.nomeEstado, "); + sql.append(" tabela.origem, tabela.destino, "); + sql.append(" tabela.valorAliquiotaICMS "); + sql.append("ORDER BY tabela.nomeEstado,tabela.origem, tabela.destino"); + + return sql.toString(); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscaisAgrupadoPorLocalidade_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscaisAgrupadoPorLocalidade_es.properties new file mode 100644 index 000000000..779d3ef82 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscaisAgrupadoPorLocalidade_es.properties @@ -0,0 +1,28 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Documentos Fiscais +cabecalho.relatorio=Relatório +label.periodo=Período: +label.UF=UF +label.especie=Espécie +label.empresa=Empresa: +label.formInicial=Nº Inicial +label.formFinal=Nº Final +label.numAIDF=AIDF +label.serie=Série +label.subSerie=SubSérie +label.valorContabil=Vlr Contábil +label.valorBaseCalculo=Vlr Base Cálc. +label.valorAliquiotaICMS=Alíquota ICMS +label.valorICMS=Valor ICMS +label.isentas=Isentas +label.outras=Outras +label.valorCancelado=Qtd. Cancec +label.origem=Origem +label.destino=Destino +label.estado=Estado +header.data=Período +header.a=a +header.tipoLinha=Tipo Linha diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscaisAgrupadoPorLocalidade_pt.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscaisAgrupadoPorLocalidade_pt.properties new file mode 100644 index 000000000..8e11cf111 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscaisAgrupadoPorLocalidade_pt.properties @@ -0,0 +1,30 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Documentos Fiscais +cabecalho.relatorio=Relatório Documentos Fiscais +header.periodo=Período: +header.a=a +header.tipoLinha=Tipo Linha: +label.periodo=Período: +label.UF=UF +label.especie=Espécie: +label.empresa=Empresa: +label.formInicial=Nº Inicial +label.formFinal=Nº Final +label.numAIDF=AIDF +label.serie=Série +label.subSerie=SubSérie +label.valorContabil=Vlr Contábil +label.valorBaseCalculo=Vlr Base Cálc. +label.valorAliquiotaICMS=Alíquota ICMS +label.valorICMS=Valor ICMS +label.isentas=Isentas +label.outras=Outras +label.valorCancelado=Qtd. Cancec +label.origem=Origem +label.destino=Destino +label.estado=Estado: +label.totais=Totais: + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscais_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscais_pt_BR.properties index be959e3f3..2d7a90777 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscais_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDocumentosFiscais_pt_BR.properties @@ -7,7 +7,7 @@ cabecalho.relatorio=Relat label.periodo=Período: label.UF=UF label.especie=Espécie -label.empresa=Empresa +label.empresa=Empresa: label.formInicial=Nº Inicial label.formFinal=Nº Final label.numAIDF=AIDF @@ -20,4 +20,6 @@ label.valorICMS=Valor ICMS label.isentas=Isentas label.outras=Outras label.valorCancelado=Qtd. Cancec -header.data=Período +header.periodo=Período: +header.tipoLinha=Tipo Linha: +header.estado=Estado: diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscais.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscais.jasper index 4ee4bb4ff53283bc0f16fe36a4004c83c50b97d5..453cb4be07169b106d6ddc0eedacf590488be917 100644 GIT binary patch literal 46766 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 literal 38835 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 W*QYb>Vs%&8t;5UbcD)WR`TqcsI+#WP diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscais.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscais.jrxml index 8edbd1591..c2c13ee1e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscais.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscais.jrxml @@ -1,7 +1,7 @@ - - - + + + @@ -14,6 +14,16 @@ + + + + + + + + + + @@ -37,17 +47,28 @@ + + <band height="28"> + <textField> + <reportElement x="258" y="2" width="300" height="20" uuid="e15d26de-6873-4576-b49b-8dc546b39dbe"/> + <textElement textAlignment="Center"> + <font size="12"/> + </textElement> + <textFieldExpression><![CDATA[$P{TITULO}]]></textFieldExpression> + </textField> + </band> + - + - + - + @@ -67,13 +88,6 @@ - - - - - - - @@ -89,10 +103,10 @@ - + - + @@ -113,6 +127,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -156,49 +210,49 @@ - + - + - + - + - + - + - + @@ -208,8 +262,8 @@ - - + + @@ -222,8 +276,8 @@ - - + + @@ -236,41 +290,34 @@ - - + + - - + + - - + + - + - - - - - - - @@ -292,15 +339,61 @@ + + + + + + + - - - - - + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.jasper new file mode 100644 index 0000000000000000000000000000000000000000..6aee916375a368b4fa3965fa492bcaa814c7d2e5 GIT binary patch literal 48158 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 NkHu^)dUrwB{{vbjWo!Td literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.jrxml new file mode 100644 index 000000000..8ca9c8bcd --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDocumentosFiscaisAgrupadoPorLocalidade.jrxml @@ -0,0 +1,424 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="22"> + <textField> + <reportElement x="231" y="0" width="231" height="20" uuid="652312bd-292a-424d-a234-5f157e3699c6"/> + <textElement textAlignment="Center"> + <font size="12"/> + </textElement> + <textFieldExpression><![CDATA[$P{TITULO}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDocumentosFiscaisController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDocumentosFiscaisController.java index e6d948eed..2dc7e9ab8 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDocumentosFiscaisController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDocumentosFiscaisController.java @@ -26,6 +26,7 @@ import com.rjconsultores.ventaboletos.entidad.Aidf; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioDocumentosFiscais; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioDocumentosFiscaisAgrupadoPorLocalidade; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.AidfService; import com.rjconsultores.ventaboletos.service.EmpresaService; @@ -33,8 +34,6 @@ import com.rjconsultores.ventaboletos.service.EstadoService; import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; -import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; -import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEstadoUf; @Controller("relatorioDocumentosFiscaisController") @Scope("prototype") @@ -62,6 +61,7 @@ public class RelatorioDocumentosFiscaisController extends MyGenericForwardCompos private List aidfList; private Checkbox ckbSomenteCancelado; private Radiogroup rdgInterestadualMunicial; + private Radiogroup rdTipoAgrupamento; @Autowired private AidfService aidfService; private List lsAidf; @@ -92,19 +92,28 @@ public class RelatorioDocumentosFiscaisController extends MyGenericForwardCompos Radio radio = rdgInterestadualMunicial.getSelectedItem(); String tipoLinha; - if (radio.getValue().equals("1")) { + if (radio.getValue().equals("0")) { tipoLinha = "INTERMUNICIPAL"; - } - if (radio.getValue().equals("2")) { + } else if (radio.getValue().equals("1")) { tipoLinha = "INTERESTADUAL"; } else { tipoLinha = "TODOS"; } + Radio rdEspecie = rdgInterestadualMunicial.getSelectedItem(); + String especie; + if (rdEspecie.getValue().equals("0")) { + especie = "Bilhetes BPR"; + } else { + especie = "Excesso de Bagagem(EB)"; + } parametros.put("AIDF", aidf); parametros.put("ESTADO_ID", estado.getEstadoId()); + parametros.put("ESTADO", estado.getNombestado()); parametros.put("TIPO_LINHA", tipoLinha); parametros.put("SOMENTE_CANCELADO", somenteCancelado); + parametros.put("ESPECIE", especie); + if (empresa != null) { parametros.put("EMPRESA", empresa.getNombempresa()); parametros.put("EMPRESA_ID", empresa.getEmpresaId()); @@ -112,9 +121,12 @@ public class RelatorioDocumentosFiscaisController extends MyGenericForwardCompos parametros.put("EMPRESA", "TODOS"); } parametros.put("TITULO", Labels.getLabel("relatorioDocumentosFiscaisController.window.title")); - - relatorio = new RelatorioDocumentosFiscais(parametros, dataSourceRead.getConnection()); - + Radio radioAgrupamento = rdTipoAgrupamento.getSelectedItem(); + if (radioAgrupamento.getValue().equals("0")) { + relatorio = new RelatorioDocumentosFiscais(parametros, dataSourceRead.getConnection()); + } else { + relatorio = new RelatorioDocumentosFiscaisAgrupadoPorLocalidade(parametros, dataSourceRead.getConnection()); + } Map args = new HashMap(); args.put("relatorio", relatorio); diff --git a/web/gui/relatorios/filtroRelatorioDocumentosFiscais.zul b/web/gui/relatorios/filtroRelatorioDocumentosFiscais.zul index 08cca643a..3c9231851 100644 --- a/web/gui/relatorios/filtroRelatorioDocumentosFiscais.zul +++ b/web/gui/relatorios/filtroRelatorioDocumentosFiscais.zul @@ -40,9 +40,9 @@ value="${c:l('relatorioDocumentosFiscaisController.lbAgruparPor.label')}" /> - - @@ -52,9 +52,9 @@ value="${c:l('relatorioDocumentosFiscaisController.lbTrazerDados.label')}" /> - -