From 870b16f548c03382c58428ef6ec5cec1fca7aab0 Mon Sep 17 00:00:00 2001 From: wilian Date: Mon, 15 Jun 2015 20:47:40 +0000 Subject: [PATCH] fixes bug #6378 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@44999 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioVendasPacotesBoletos.java | 183 ++++++++++++ .../impl/RelatorioVendasPacotesDetalhado.java | 3 +- .../impl/RelatorioVendasPacotesResumido.java | 3 +- ...orioVendasPacotesBoletosItem_es.properties | 11 + ...oVendasPacotesBoletosItem_pt_BR.properties | 11 + ...elatorioVendasPacotesBoletos_es.properties | 15 + ...torioVendasPacotesBoletos_pt_BR.properties | 15 + .../RelatorioVendasPacotesBoletos.jasper | Bin 0 -> 25718 bytes .../RelatorioVendasPacotesBoletos.jrxml | 108 +++++++ .../RelatorioVendasPacotesBoletosItem.jasper | Bin 0 -> 34970 bytes .../RelatorioVendasPacotesBoletosItem.jrxml | 270 ++++++++++++++++++ .../RelatorioVendasPacotesBoletosBean.java | 206 +++++++++++++ ...latorioVendasPacotesBoletosController.java | 94 ++++++ ...torioVendasPacotesDetalhadoController.java | 4 +- ...ItemMenuRelatorioVendasPacotesBoletos.java | 29 ++ web/WEB-INF/i3-label_es_MX.label | 18 +- web/WEB-INF/i3-label_pt_BR.label | 18 +- .../filtroRelatorioVendasPacotesBoletos.zul | 48 ++++ 18 files changed, 1022 insertions(+), 14 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletos.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletos.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBoletosBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesBoletosController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPacotesBoletos.java create mode 100644 web/gui/relatorios/filtroRelatorioVendasPacotesBoletos.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java new file mode 100644 index 000000000..1960b5449 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java @@ -0,0 +1,183 @@ +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.log4j.Logger; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioVendasPacotesBoletosBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioVendasPacotesBoletos extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioVendasPacotesBoletos.class); + + private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + + private List lsDadosRelatorio; + + private Date fecInicio; + private Date fecFinal; + private Integer empresaId; + + public RelatorioVendasPacotesBoletos(Map parametros, Connection conexao, final String nomeSubReporte) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + Map 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()); + empresaId = parametros.get("empresaId") != null && !parametros.get("empresaId").equals("null") ? Integer.valueOf(parametros.get("empresaId").toString()) : null; + + Connection conexao = this.relatorio.getConexao(); + processarVendasPacote(conexao); + + setNomeSubReporte(nomeSubReporte); + setLsDadosRelatorio(lsDadosRelatorio); + } + }); + } + + private void processarVendasPacote(Connection conexao) { + ResultSet rset = null; + NamedParameterStatement stmt = null; + + try { + String sql = getSqlPacotes(); + + log.info(sql); + + stmt = new NamedParameterStatement(conexao, sql); + + if(fecInicio != null) { + stmt.setDate("fecInicio", fecInicio); + } + if(fecFinal != null) { + stmt.setDate("fecFinal", fecFinal); + } + if (empresaId != null){ + stmt.setInt("empresaId", empresaId); + } + + rset = stmt.executeQuery(); + + if(lsDadosRelatorio == null) { + lsDadosRelatorio = new ArrayList(); + } + + while (rset.next()) { + RelatorioVendasPacotesBoletosBean relatorioVendasBoletosBean = new RelatorioVendasPacotesBoletosBean(); + relatorioVendasBoletosBean.setDescdestino(rset.getString("destino")); + relatorioVendasBoletosBean.setDescorigen(rset.getString("origem")); + + Integer idx = null; + if(lsDadosRelatorio.contains(relatorioVendasBoletosBean)) { + idx = lsDadosRelatorio.indexOf(relatorioVendasBoletosBean); + relatorioVendasBoletosBean = lsDadosRelatorio.get(idx); + } + + RelatorioVendasPacotesBoletosBean.RelatorioVendasPacotesBoletosItemBean relatorioVendasPacotesBoletosItemBean = new RelatorioVendasPacotesBoletosBean().new RelatorioVendasPacotesBoletosItemBean(); + relatorioVendasPacotesBoletosItemBean.setNomconvenio(rset.getString("nomconvenio")); + relatorioVendasPacotesBoletosItemBean.setDesctipotarifa(rset.getString("desctipotarifa")); + relatorioVendasPacotesBoletosItemBean.setQtde(rset.getLong("qtde")); + relatorioVendasPacotesBoletosItemBean.setSimportetaxaembarque(rset.getBigDecimal("simportetaxaembarque")); + relatorioVendasPacotesBoletosItemBean.setSimportepedagio(rset.getBigDecimal("simportepedagio")); + relatorioVendasPacotesBoletosItemBean.setSimporteoutros(rset.getBigDecimal("simporteoutros")); + relatorioVendasPacotesBoletosItemBean.setSimporteseguro(rset.getBigDecimal("simporteseguro")); + relatorioVendasPacotesBoletosItemBean.setSpreciopagado(rset.getBigDecimal("spreciopagado")); + relatorioVendasPacotesBoletosItemBean.setSpreciobase(rset.getBigDecimal("spreciobase")); + relatorioVendasPacotesBoletosItemBean.setDesconto(rset.getBigDecimal("desconto")); + + if(relatorioVendasBoletosBean.getRelatorioVendasPacotesBoletosItemBeans() == null) { + relatorioVendasBoletosBean.setRelatorioVendasPacotesBoletosItemBeans(new ArrayList()); + } + relatorioVendasBoletosBean.getRelatorioVendasPacotesBoletosItemBeans().add(relatorioVendasPacotesBoletosItemBean); + + if(idx != null) { + lsDadosRelatorio.set(idx, relatorioVendasBoletosBean); + } else { + lsDadosRelatorio.add(relatorioVendasBoletosBean); + } + } + + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + + } + + protected String getSqlPacotes() { + StringBuilder sQuery = new StringBuilder(); + + sQuery.append("SELECT ORI.DESCPARADA AS ORIGEM, DES.DESCPARADA AS DESTINO, TVP.NOMCONVENIO, TTP.DESCTIPOTARIFA, ") + .append("COUNT(TVP.TARIFAVENDAPACOTE_ID) AS QTDE, SUM(B.IMPORTETAXAEMBARQUE) AS SIMPORTETAXAEMBARQUE, SUM(B.IMPORTEPEDAGIO) AS SIMPORTEPEDAGIO, ") + .append("SUM(B.IMPORTEOUTROS) AS SIMPORTEOUTROS, SUM(B.IMPORTESEGURO) AS SIMPORTESEGURO, SUM(B.PRECIOBASE) AS SPRECIOBASE, SUM(B.PRECIOBASE - B.PRECIOPAGADO) AS DESCONTO, ") + .append("SUM(B.PRECIOPAGADO) AS SPRECIOPAGADO ") + .append("FROM VENDA_PACOTE VP ") + .append("LEFT JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID ") + .append("LEFT JOIN TARIFA_VENDA_PACOTE TVP ON TVP.VENDAPACOTE_ID = VP.VENDAPACOTE_ID ") + .append("LEFT JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") + .append("LEFT JOIN PACOTE_TARIFA PT ON PT.PACOTETARIFA_ID = TVP.PACOTETARIFA_ID ") + .append("LEFT JOIN TIPO_TARIFA_PACOTE TTP ON TTP.TIPOTARIFAPACOTE_ID = PT.TIPOTARIFAPACOTE_ID ") + .append("LEFT JOIN PARADA ORI ON ORI.PARADA_ID = B.ORIGEN_ID ") + .append("LEFT JOIN PARADA DES ON DES.PARADA_ID = B.DESTINO_ID ") + .append("WHERE P.ACTIVO = 1 ") + .append("AND B.ACTIVO = 1 ") + .append("AND B.INDSTATUSBOLETO = 'V' ") + .append("AND B.MOTIVOCANCELACION_ID IS NULL "); + + if(empresaId != null) { + sQuery.append("AND P.EMPRESA_ID = :empresaId "); + } + + if(fecInicio != null) { + sQuery.append("AND VP.DATAVENDA >= :fecInicio "); + } + + if(fecFinal != null) { + sQuery.append("AND VP.DATAVENDA <= :fecFinal "); + } + + sQuery.append("GROUP BY ORI.DESCPARADA,DES.DESCPARADA,TVP.NOMCONVENIO,TTP.DESCTIPOTARIFA ") + .append("ORDER BY ORI.DESCPARADA,DES.DESCPARADA,TVP.NOMCONVENIO,TTP.DESCTIPOTARIFA "); + + return sQuery.toString(); + } + + @Override + protected void processaParametros() throws Exception { + } + + public List getLsDadosRelatorio() { + return lsDadosRelatorio; + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java index 59a41d9f0..bf3c21a2e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java @@ -151,7 +151,8 @@ public class RelatorioVendasPacotesDetalhado extends Relatorio { .append("LEFT JOIN USUARIO U ON U.USUARIO_ID = VP.USUARIO_ID ") .append("WHERE P.ACTIVO = 1 ") .append("AND B.ACTIVO = 1 ") - .append("AND B.INDSTATUSBOLETO = 'V' "); + .append("AND B.INDSTATUSBOLETO = 'V' ") + .append("AND B.MOTIVOCANCELACION_ID IS NULL ");; if(empresaId != null) { sQuery.append("AND P.EMPRESA_ID = :empresaId "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java index ba8214533..84a75da5a 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java @@ -197,7 +197,8 @@ public class RelatorioVendasPacotesResumido extends Relatorio { .append("LEFT JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") .append("WHERE P.ACTIVO = 1 ") .append("AND B.ACTIVO = 1 ") - .append("AND B.INDSTATUSBOLETO = 'V' "); + .append("AND B.INDSTATUSBOLETO = 'V' ") + .append("AND B.MOTIVOCANCELACION_ID IS NULL ");; if(empresaId != null) { sQuery.append("AND P.EMPRESA_ID = :empresaId "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_es.properties new file mode 100644 index 000000000..ca5622f37 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_es.properties @@ -0,0 +1,11 @@ +#Labels +label.qtde=Qtde +label.desctipotarifa=Tipo Tarifa +label.nomconvenio=Convênio +label.spreciobase=Valor Tarifário +label.simporteseguro=Valor Seguro +label.simportetaxaembarque=Taxa Embarque +label.simporteoutros=Valor Serviço +label.spreciopagado=Total c/ Desconto +label.desconto=Desconto +label.spreciototal=Valor Total \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_pt_BR.properties new file mode 100644 index 000000000..ca5622f37 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_pt_BR.properties @@ -0,0 +1,11 @@ +#Labels +label.qtde=Qtde +label.desctipotarifa=Tipo Tarifa +label.nomconvenio=Convênio +label.spreciobase=Valor Tarifário +label.simporteseguro=Valor Seguro +label.simportetaxaembarque=Taxa Embarque +label.simporteoutros=Valor Serviço +label.spreciopagado=Total c/ Desconto +label.desconto=Desconto +label.spreciototal=Valor Total \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_es.properties new file mode 100644 index 000000000..7828250ea --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_es.properties @@ -0,0 +1,15 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Vendas de Pacotes - Boletos +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: +label.empresa=Empresa: +label.trecho=Trecho: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_pt_BR.properties new file mode 100644 index 000000000..7828250ea --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_pt_BR.properties @@ -0,0 +1,15 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Vendas de Pacotes - Boletos +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: +label.empresa=Empresa: +label.trecho=Trecho: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletos.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletos.jasper new file mode 100644 index 0000000000000000000000000000000000000000..71415185b6b2febcff5ee128b6e42199d5795e99 GIT binary patch literal 25718 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 + + + + + + + + + + + + + + + + + + + + + + <band height="62" 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="a16eb33b-78ca-4fb4-80c2-f5c85a0d09c3"/> + <textElement> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.empresa} + " " + $P{empresa}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="0" y="40" 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> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jasper new file mode 100644 index 0000000000000000000000000000000000000000..f8ddfc97d87f71036070cb8329bf7933caddccf0 GIT binary patch literal 34970 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 KE`4$<`Tqd2*#;#5 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jrxml new file mode 100644 index 000000000..5b9b1fc90 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jrxml @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBoletosBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBoletosBean.java new file mode 100644 index 000000000..918bca7dd --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBoletosBean.java @@ -0,0 +1,206 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; +import java.util.List; + +public class RelatorioVendasPacotesBoletosBean { + + private String descorigen; + private String descdestino; + + private List relatorioVendasPacotesBoletosItemBeans; + + public String getDescorigen() { + return descorigen; + } + + public void setDescorigen(String descorigen) { + this.descorigen = descorigen; + } + + public String getDescdestino() { + return descdestino; + } + + public void setDescdestino(String descdestino) { + this.descdestino = descdestino; + } + + public List getRelatorioVendasPacotesBoletosItemBeans() { + return relatorioVendasPacotesBoletosItemBeans; + } + + public void setRelatorioVendasPacotesBoletosItemBeans(List relatorioVendasPacotesBoletosItemBeans) { + this.relatorioVendasPacotesBoletosItemBeans = relatorioVendasPacotesBoletosItemBeans; + } + + public class RelatorioVendasPacotesBoletosItemBean { + + private String nomconvenio; + private String desctipotarifa; + private Long qtde; + private BigDecimal simportetaxaembarque; + private BigDecimal simportepedagio; + private BigDecimal simporteoutros; + private BigDecimal simporteseguro; + private BigDecimal desconto; + private BigDecimal spreciopagado; + private BigDecimal spreciobase; + + public String getNomconvenio() { + return nomconvenio; + } + + public void setNomconvenio(String nomconvenio) { + this.nomconvenio = nomconvenio; + } + + public String getDesctipotarifa() { + return desctipotarifa; + } + + public void setDesctipotarifa(String desctipotarifa) { + this.desctipotarifa = desctipotarifa; + } + + public Long getQtde() { + return qtde; + } + + public void setQtde(Long qtde) { + this.qtde = qtde; + } + + public BigDecimal getSimportetaxaembarque() { + return simportetaxaembarque; + } + + public void setSimportetaxaembarque(BigDecimal simportetaxaembarque) { + this.simportetaxaembarque = simportetaxaembarque; + } + + public BigDecimal getSimportepedagio() { + return simportepedagio; + } + + public void setSimportepedagio(BigDecimal simportepedagio) { + this.simportepedagio = simportepedagio; + } + + public BigDecimal getSimporteoutros() { + return simporteoutros; + } + + public void setSimporteoutros(BigDecimal simporteoutros) { + this.simporteoutros = simporteoutros; + } + + public BigDecimal getSimporteseguro() { + return simporteseguro; + } + + public void setSimporteseguro(BigDecimal simporteseguro) { + this.simporteseguro = simporteseguro; + } + + public BigDecimal getDesconto() { + return desconto; + } + + public void setDesconto(BigDecimal desconto) { + this.desconto = desconto; + } + + public BigDecimal getSpreciopagado() { + return spreciopagado; + } + + public void setSpreciopagado(BigDecimal spreciopagado) { + this.spreciopagado = spreciopagado; + } + + public BigDecimal getSpreciototal() { + BigDecimal spreciototal = BigDecimal.ZERO; + + spreciototal = simportetaxaembarque != null ? spreciototal.add(simportetaxaembarque) : spreciototal; + spreciototal = simportepedagio != null ? spreciototal.add(simportepedagio) : spreciototal; + spreciototal = simporteoutros != null ? spreciototal.add(simporteoutros) : spreciototal; + spreciototal = simporteseguro != null ? spreciototal.add(simporteseguro) : spreciototal; + spreciototal = spreciobase != null ? spreciototal.add(spreciobase) : spreciototal; + + return spreciototal; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((desctipotarifa == null) ? 0 : desctipotarifa.hashCode()); + result = prime * result + ((nomconvenio == null) ? 0 : nomconvenio.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; + RelatorioVendasPacotesBoletosItemBean other = (RelatorioVendasPacotesBoletosItemBean) obj; + if (desctipotarifa == null) { + if (other.desctipotarifa != null) + return false; + } else if (!desctipotarifa.equals(other.desctipotarifa)) + return false; + if (nomconvenio == null) { + if (other.nomconvenio != null) + return false; + } else if (!nomconvenio.equals(other.nomconvenio)) + return false; + return true; + } + + public BigDecimal getSpreciobase() { + return spreciobase; + } + + public void setSpreciobase(BigDecimal spreciobase) { + this.spreciobase = spreciobase; + } + + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((descdestino == null) ? 0 : descdestino.hashCode()); + result = prime * result + ((descorigen == null) ? 0 : descorigen.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; + RelatorioVendasPacotesBoletosBean other = (RelatorioVendasPacotesBoletosBean) obj; + if (descdestino == null) { + if (other.descdestino != null) + return false; + } else if (!descdestino.equals(other.descdestino)) + return false; + if (descorigen == null) { + if (other.descorigen != null) + return false; + } else if (!descorigen.equals(other.descorigen)) + return false; + return true; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesBoletosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesBoletosController.java new file mode 100644 index 000000000..81a2b85a4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesBoletosController.java @@ -0,0 +1,94 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +import net.sf.jasperreports.engine.JasperReport; +import net.sf.jasperreports.engine.util.JRLoader; + +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.Comboitem; +import org.zkoss.zul.Datebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Pacote; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasPacotesBoletos; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.PacoteService; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +@Controller("relatorioVendasPacotesBoletosController") +@Scope("prototype") +public class RelatorioVendasPacotesBoletosController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private DataSource dataSourceRead; + + @Autowired + private EmpresaService empresaService; + + private List lsEmpresa; + private Datebox dataInicial; + private Datebox dataFinal; + private MyComboboxEstandar cmbEmpresa; + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + 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 parametros = new HashMap(); + parametros.put("fecInicio", sdf.format(dataDe)); + parametros.put("fecFinal", sdf.format(dataAte)); + + Comboitem cbiEmpresa = cmbEmpresa.getSelectedItem(); + String empresaId = null; + parametros.put("empresa", ""); + if (cbiEmpresa != null) { + Empresa empresa = (Empresa) cbiEmpresa.getValue(); + empresaId = empresa.getEmpresaId().toString(); + parametros.put("empresa", empresa.getNombempresa()); + } + parametros.put("empresaId", empresaId); + + JasperReport subRelatorioVendasPacotesBoletosItens = (JasperReport) JRLoader.loadObject(this.getClass().getResourceAsStream("/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jasper")); + parametros.put("subreporte", subRelatorioVendasPacotesBoletosItens); + + Relatorio relatorio = new RelatorioVendasPacotesBoletos(parametros, dataSourceRead.getConnection(), "RelatorioVendasPacotesBoletosItem"); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioVendasPacotesBoletosController.window.title"), args, MODAL); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesDetalhadoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesDetalhadoController.java index 09f1ce448..8794f0d71 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesDetalhadoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesDetalhadoController.java @@ -95,8 +95,8 @@ public class RelatorioVendasPacotesDetalhadoController extends MyGenericForwardC } parametros.put("pacoteId", pacoteId); - JasperReport subRelatorioVendasPacotesResumidoItens = (JasperReport) JRLoader.loadObject(this.getClass().getResourceAsStream("/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhadoItem.jasper")); - parametros.put("subreporte", subRelatorioVendasPacotesResumidoItens); + JasperReport subRelatorioVendasPacotesDetalhadoItens = (JasperReport) JRLoader.loadObject(this.getClass().getResourceAsStream("/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhadoItem.jasper")); + parametros.put("subreporte", subRelatorioVendasPacotesDetalhadoItens); Relatorio relatorio = new RelatorioVendasPacotesDetalhado(parametros, dataSourceRead.getConnection(), "RelatorioVendasPacotesDetalhadoItem"); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPacotesBoletos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPacotesBoletos.java new file mode 100644 index 000000000..6815a8f48 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPacotesBoletos.java @@ -0,0 +1,29 @@ +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; + +/** + * @author Wilian Domingues + * + */ +public class ItemMenuRelatorioVendasPacotesBoletos extends DefaultItemMenuSistema { + + public ItemMenuRelatorioVendasPacotesBoletos() { + super("indexController.mniRelatorioVendasPacotesBoletos.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOVENDASPACOTESBOLETOS"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioVendasPacotesBoletos.zul", + Labels.getLabel("relatorioVendasPacotesBoletosController.window.title"), getArgs() ,desktop); + } + +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 5dc6c008d..94db8748b 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -242,8 +242,9 @@ indexController.mniRelatorioCorridas.label = Reporte de Corridas indexController.mniRelatorioDemandas.label = Reporte de Demandas indexController.mniRelatorioReceitaServico.label = Relatório de Receita por Serviço indexController.mniPrecoApanhe.label = Preço Apanhe -indexController.mniRelatorioVendasPacotesResumido.label = Ventas de Paquetes Resumido -indexController.mniRelatorioVendasPacotesDetalhado.label = Ventas de Paquetes Detalhado +indexController.mniRelatorioVendasPacotesResumido.label = Ventas de Paquetes - Resumido +indexController.mniRelatorioVendasPacotesDetalhado.label = Ventas de Paquetes - Detalhado +indexController.mniRelatorioVendasPacotesBoletos.label = Ventas de Pacotes - Boletos indexController.mniSubMenuClientePacote.label=Pacote indexController.mniAlterarEnderecoApanhe.label=Alterar Endereço Apanhe @@ -5278,14 +5279,21 @@ editarAlterarEnderecoApanheController.lhNumoperacion.label = Num Operacion editarAlterarEnderecoApanheController.lhDataPacote.label = Fecha Pacote # Relatorio Vendas Pacotes Resumido -relatorioVendasPacotesResumidoController.window.title = Relatório Vendas de Pacotes Resumido +relatorioVendasPacotesResumidoController.window.title = Relatório Vendas de Pacotes - Resumido relatorioVendasPacotesResumidoController.lbDataIni.value = Fecha Inicio relatorioVendasPacotesResumidoController.lbDataFin.value = Fecha Final relatorioVendasPacotesResumidoController.lblEmpresa.value = Empresa # Relatorio Vendas Pacotes Detalhado -relatorioVendasPacotesDetalhadoController.window.title = Relatório Vendas de Pacotes Detalhado +relatorioVendasPacotesDetalhadoController.window.title = Relatório Vendas de Pacotes - Detalhado relatorioVendasPacotesDetalhadoController.lbDataIni.value = Fecha Inicio relatorioVendasPacotesDetalhadoController.lbDataFin.value = Fecha Final relatorioVendasPacotesDetalhadoController.lblEmpresa.value = Empresa -relatorioVendasPacotesDetalhadoController.lblPacote.value = Pacote \ No newline at end of file +relatorioVendasPacotesDetalhadoController.lblPacote.value = Pacote + +# Relatorio Vendas Pacotes Boletos +relatorioVendasPacotesBoletosController.window.title = Relatório Vendas de Pacotes - Boletos +relatorioVendasPacotesBoletosController.lbDataIni.value = Fecha Inicio +relatorioVendasPacotesBoletosController.lbDataFin.value = Fecha Final +relatorioVendasPacotesBoletosController.lblEmpresa.value = Empresa +relatorioVendasPacotesBoletosController.lblPacote.value = Pacote \ No newline at end of file diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 0706fa306..76bf5e1fb 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -247,8 +247,9 @@ indexController.mniRelatorioCorridas.label = Relatório de Serviços indexController.mniRelatorioDemandas.label = Relatório de Demandas indexController.mniRelatorioReceitaServico.label = Relatório de Receita por Serviço indexController.mniPrecoApanhe.label = Preço Apanhe -indexController.mniRelatorioVendasPacotesResumido.label = Vendas de Pacotes Resumido -indexController.mniRelatorioVendasPacotesDetalhado.label = Ventas de Pacotes Detalhado +indexController.mniRelatorioVendasPacotesResumido.label = Vendas de Pacotes - Resumido +indexController.mniRelatorioVendasPacotesDetalhado.label = Ventas de Pacotes - Detalhado +indexController.mniRelatorioVendasPacotesBoletos.label = Ventas de Pacotes - Boletos indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal indexController.mniTotnaofiscalEmpresa.label=Totalizadoes Não-fiscais @@ -5405,14 +5406,21 @@ editarAlterarEnderecoApanheController.lhNumoperacion.label = Localizador editarAlterarEnderecoApanheController.lhDataPacote.label = Data Pacote # Relatorio Vendas Pacotes Resumido -relatorioVendasPacotesResumidoController.window.title = Relatório Vendas de Pacotes Resumido +relatorioVendasPacotesResumidoController.window.title = Relatório Vendas de Pacotes - Resumido relatorioVendasPacotesResumidoController.lbDataIni.value = Data Inicial relatorioVendasPacotesResumidoController.lbDataFin.value = Data Final relatorioVendasPacotesResumidoController.lblEmpresa.value = Empresa # Relatorio Vendas Pacotes Detalhado -relatorioVendasPacotesDetalhadoController.window.title = Relatório Vendas de Pacotes Detalhado +relatorioVendasPacotesDetalhadoController.window.title = Relatório Vendas de Pacotes - Detalhado relatorioVendasPacotesDetalhadoController.lbDataIni.value = Data Inicial relatorioVendasPacotesDetalhadoController.lbDataFin.value = Data Final relatorioVendasPacotesDetalhadoController.lblEmpresa.value = Empresa -relatorioVendasPacotesDetalhadoController.lblPacote.value = Pacote \ No newline at end of file +relatorioVendasPacotesDetalhadoController.lblPacote.value = Pacote + +# Relatorio Vendas Pacotes Boletos +relatorioVendasPacotesBoletosController.window.title = Relatório Vendas de Pacotes - Boletos +relatorioVendasPacotesBoletosController.lbDataIni.value = Data Inicial +relatorioVendasPacotesBoletosController.lbDataFin.value = Data Final +relatorioVendasPacotesBoletosController.lblEmpresa.value = Empresa +relatorioVendasPacotesBoletosController.lblPacote.value = Pacote \ No newline at end of file diff --git a/web/gui/relatorios/filtroRelatorioVendasPacotesBoletos.zul b/web/gui/relatorios/filtroRelatorioVendasPacotesBoletos.zul new file mode 100644 index 000000000..b1e8fafc0 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioVendasPacotesBoletos.zul @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + +