From 9e5bf7436b4a3db6aaf99528092c1cab723988eb Mon Sep 17 00:00:00 2001 From: wilian Date: Mon, 4 Jul 2016 17:49:38 +0000 Subject: [PATCH] fixes bug #7623 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@57530 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioVendasPacotesBoletos.java | 126 +++++-------- ...orioVendasPacotesBoletosItem_es.properties | 7 +- ...oVendasPacotesBoletosItem_pt_BR.properties | 7 +- ...elatorioVendasPacotesBoletos_es.properties | 3 +- ...torioVendasPacotesBoletos_pt_BR.properties | 3 +- .../RelatorioVendasBoletosItem.jasper | Bin 39044 -> 40730 bytes .../RelatorioVendasBoletosItem.jrxml | 134 +++++++------ .../RelatorioVendasPacotesBoletos.jasper | Bin 32391 -> 29228 bytes .../RelatorioVendasPacotesBoletos.jrxml | 70 ++----- .../RelatorioVendasPacotesBoletosItem.jasper | Bin 40141 -> 44978 bytes .../RelatorioVendasPacotesBoletosItem.jrxml | 178 ++++++++++++------ .../RelatorioVendasPacotesBoletosBean.java | 137 +++++++++++--- ...latorioVendasPacotesBoletosController.java | 61 +++--- web/WEB-INF/i3-label_es_MX.label | 9 +- web/WEB-INF/i3-label_pt_BR.label | 9 +- .../filtroRelatorioVendasPacotesBoletos.zul | 33 ++-- 16 files changed, 451 insertions(+), 326 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java index a8ec08266..3937dc429 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesBoletos.java @@ -11,10 +11,12 @@ import java.util.Map; import org.apache.log4j.Logger; +import com.rjconsultores.ventaboletos.enums.SituacaoVendaPacote; 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.relatorios.utilitarios.RelatorioVendasPacotesBoletosBean.RelatorioVendasPacotesBoletosItemBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; @@ -27,8 +29,10 @@ public class RelatorioVendasPacotesBoletos extends Relatorio { private List lsDadosRelatorio; - private Timestamp fecInicio; - private Timestamp fecFinal; + private Timestamp fecVendaInicio; + private Timestamp fecVendaFinal; + private Timestamp fecPacoteInicio; + private Timestamp fecPacoteFinal; private Integer empresaId; private Integer origenId; private Integer destinoId; @@ -44,8 +48,10 @@ public class RelatorioVendasPacotesBoletos extends Relatorio { @Override public void initDados() throws Exception { Map parametros = this.relatorio.getParametros(); - fecInicio = new java.sql.Timestamp(sdf.parse(parametros.get("fecInicio").toString()).getTime()); - fecFinal = new java.sql.Timestamp(sdf.parse(parametros.get("fecFinal").toString()).getTime()); + fecVendaInicio = parametros.get("fecVendaInicio") != null ? new java.sql.Timestamp(DateUtil.inicioFecha(sdf.parse(parametros.get("fecVendaInicio").toString())).getTime()) : null; + fecVendaFinal = parametros.get("fecVendaFinal") != null ? new java.sql.Timestamp(DateUtil.fimFecha(sdf.parse(parametros.get("fecVendaFinal").toString())).getTime()) : null; + fecPacoteInicio = parametros.get("fecPacoteInicio") != null ? new java.sql.Timestamp(DateUtil.inicioFecha(sdf.parse(parametros.get("fecPacoteInicio").toString())).getTime()) : null; + fecPacoteFinal = parametros.get("fecPacoteFinal") != null ? new java.sql.Timestamp(DateUtil.fimFecha(sdf.parse(parametros.get("fecPacoteFinal").toString())).getTime()) : null; empresaId = parametros.get("empresaId") != null && !parametros.get("empresaId").equals("null") ? Integer.valueOf(parametros.get("empresaId").toString()) : null; origenId = parametros.get("origenId") != null && !parametros.get("origenId").equals("null") ? Integer.valueOf(parametros.get("origenId").toString()) : null; destinoId = parametros.get("destinoId") != null && !parametros.get("destinoId").equals("null") ? Integer.valueOf(parametros.get("destinoId").toString()) : null; @@ -54,7 +60,6 @@ public class RelatorioVendasPacotesBoletos extends Relatorio { Connection conexao = this.relatorio.getConexao(); processarVendasPacote(conexao); - processarVendasPacoteCancelados(conexao); processarVendasPacoteTotais(); setNomeSubReporte(nomeSubReporte); @@ -112,6 +117,8 @@ public class RelatorioVendasPacotesBoletos extends Relatorio { private List carregarItens(ResultSet rset, RelatorioVendasPacotesBoletosBean relatorioVendasPacotesBoletosBean, List itens) throws SQLException { RelatorioVendasPacotesBoletosBean.RelatorioVendasPacotesBoletosItemBean relatorioVendasPacotesBoletosItemBean = relatorioVendasPacotesBoletosBean.new RelatorioVendasPacotesBoletosItemBean(); + relatorioVendasPacotesBoletosItemBean.setNumruta(rset.getString("numruta")); + relatorioVendasPacotesBoletosItemBean.setDescruta(rset.getString("descruta")); relatorioVendasPacotesBoletosItemBean.setNomconvenio(rset.getString("nomconvenio")); relatorioVendasPacotesBoletosItemBean.setDesctipotarifa(rset.getString("desctipotarifa")); relatorioVendasPacotesBoletosItemBean.setQtde(rset.getLong("qtde")); @@ -121,6 +128,8 @@ public class RelatorioVendasPacotesBoletos extends Relatorio { relatorioVendasPacotesBoletosItemBean.setSimporteseguro(rset.getBigDecimal("simporteseguro")); relatorioVendasPacotesBoletosItemBean.setSpreciobase(rset.getBigDecimal("spreciobase")); relatorioVendasPacotesBoletosItemBean.setDesconto(rset.getBigDecimal("desconto")); + relatorioVendasPacotesBoletosItemBean.setSituacao(SituacaoVendaPacote.getSituacaoVendaPacote(rset.getInt("situacao"))); + relatorioVendasPacotesBoletosItemBean.setQtdeImpresso(rset.getInt("qtdeimpresso")); if(itens == null) { itens = new ArrayList(); @@ -149,63 +158,23 @@ public class RelatorioVendasPacotesBoletos extends Relatorio { return relatorioVendasPacotesBoletosBean; } - private void processarVendasPacoteCancelados(Connection conexao) { - ResultSet rset = null; - NamedParameterStatement stmt = null; - - try { - stmt = carregarNamedParameterStatement(conexao, true); - rset = stmt.executeQuery(); - - if(lsDadosRelatorio == null) { - lsDadosRelatorio = new ArrayList(); - } - - while (rset.next()) { - RelatorioVendasPacotesBoletosBean relatorioVendasBoletosBean = carregarRelatorioVendasBoletosBean(rset); - Integer idx = carregarIndice(relatorioVendasBoletosBean); - - if(idx != null) { - relatorioVendasBoletosBean = lsDadosRelatorio.get(idx); - } - - relatorioVendasBoletosBean.setRelatorioVendasPacotesBoletosItemBeansCancelados(carregarItens(rset, relatorioVendasBoletosBean, relatorioVendasBoletosBean.getRelatorioVendasPacotesBoletosItemBeansCancelados())); - - 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); - } - } - - } - private NamedParameterStatement carregarNamedParameterStatement(Connection conexao, boolean cancelados) throws SQLException { String sql = getSqlPacotes(cancelados); log.info(sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); - if(fecInicio != null) { - stmt.setTimestamp("fecInicio", fecInicio); + if(fecVendaInicio != null) { + stmt.setTimestamp("fecVendaInicio", fecVendaInicio); } - if(fecFinal != null) { - stmt.setTimestamp("fecFinal", fecFinal); + if(fecVendaFinal != null) { + stmt.setTimestamp("fecVendaFinal", fecVendaFinal); + } + if(fecPacoteInicio != null) { + stmt.setTimestamp("fecPacoteInicio", fecPacoteInicio); + } + if(fecPacoteFinal != null) { + stmt.setTimestamp("fecPacoteFinal", fecPacoteFinal); } if (empresaId != null && empresaId > 0){ stmt.setInt("empresaId", empresaId); @@ -229,25 +198,36 @@ public class RelatorioVendasPacotesBoletos extends Relatorio { protected String getSqlPacotes(boolean cancelado) { StringBuilder sQuery = new StringBuilder(); - sQuery.append("SELECT DES.CVEPARADA AS CVEDESTINO, ORI.CVEPARADA AS CVEORIGEM, ORI.DESCPARADA AS ORIGEM, DES.DESCPARADA AS DESTINO, TVP.NOMCONVENIO, TTP.DESCTIPOTARIFA, ") + sQuery.append("SELECT DES.CVEPARADA AS CVEDESTINO, ORI.CVEPARADA AS CVEORIGEM, ORI.DESCPARADA AS ORIGEM, DES.DESCPARADA AS DESTINO, R.NUMRUTA, R.DESCRUTA, PC.NOMCONVENIO, TTP.DESCTIPOTARIFA, VP.SITUACAO, ") + .append("SUM(CASE WHEN B.MOTIVOCANCELACION_ID = 16 THEN 1 ELSE 0 END) AS QTDEIMPRESSO, ") .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("FROM VENDA_PACOTE VP ") - .append("LEFT JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID ") + .append("INNER JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID AND P.ACTIVO = 1 ") .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("INNER JOIN BOLETO B ON B.BOLETO_ID = TVP.BOLETO_ID ") + .append("LEFT JOIN RUTA R ON R.RUTA_ID = B.RUTA_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("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 PACOTE_CONVENIO PC ON PC.PACOTECONVENIO_ID = TVP.PACOTECONVENIO_ID AND PC.ACTIVO = 1 ") + .append("WHERE 1=1 "); - if(!cancelado) { - sQuery.append("AND B.INDSTATUSBOLETO = 'V' ") - .append("AND B.MOTIVOCANCELACION_ID IS NULL "); - } else { - sQuery.append("AND B.MOTIVOCANCELACION_ID IS NOT NULL "); + if(fecVendaInicio != null) { + sQuery.append("AND VP.DATAVENDA >= :fecVendaInicio "); + } + + if(fecVendaFinal != null) { + sQuery.append("AND VP.DATAVENDA <= :fecVendaFinal "); + } + + if(fecPacoteInicio != null) { + sQuery.append("AND VP.DATAPACOTE >= :fecPacoteInicio "); + } + + if(fecPacoteFinal != null) { + sQuery.append("AND VP.DATAPACOTE <= :fecPacoteFinal "); } if(empresaId != null && empresaId > 0){ @@ -270,16 +250,8 @@ public class RelatorioVendasPacotesBoletos extends Relatorio { sQuery.append("AND TTP.TIPOTARIFAPACOTE_ID = :tipoTarifaPacoteId "); } - if(fecInicio != null) { - sQuery.append("AND VP.DATAVENDA >= :fecInicio "); - } - - if(fecFinal != null) { - sQuery.append("AND VP.DATAVENDA <= :fecFinal "); - } - - sQuery.append("GROUP BY DES.CVEPARADA,ORI.CVEPARADA,ORI.DESCPARADA,DES.DESCPARADA,TVP.NOMCONVENIO,TTP.DESCTIPOTARIFA ") - .append("ORDER BY DES.CVEPARADA,ORI.CVEPARADA,ORI.DESCPARADA,DES.DESCPARADA,TVP.NOMCONVENIO,TTP.DESCTIPOTARIFA "); + sQuery.append("GROUP BY DES.CVEPARADA, ORI.CVEPARADA, ORI.DESCPARADA, DES.DESCPARADA, R.NUMRUTA, R.DESCRUTA, PC.NOMCONVENIO, TTP.DESCTIPOTARIFA, VP.SITUACAO ") + .append("ORDER BY DES.CVEPARADA, ORI.CVEPARADA, ORI.DESCPARADA, DES.DESCPARADA, R.NUMRUTA, R.DESCRUTA, PC.NOMCONVENIO, TTP.DESCTIPOTARIFA, VP.SITUACAO "); return sQuery.toString(); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_es.properties index ca5622f37..665da9364 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_es.properties @@ -8,4 +8,9 @@ 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 +label.spreciototal=Valor Total +label.cancelado=Cancelado +label.sim=Si +label.nao=No +label.ruta=Ruta +label.impresso=Impresso \ 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 index ca5622f37..f68b4fe4a 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletosItem_pt_BR.properties @@ -8,4 +8,9 @@ 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 +label.spreciototal=Valor Total +label.cancelado=Cancelado +label.sim=Sim +label.nao=Não +label.ruta=Rota +label.impresso=Impresso \ 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 index 41b496b90..af32ee071 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_es.properties @@ -4,7 +4,8 @@ msg.noData=N #Labels cabeçalho cabecalho.nome=Relatório Vendas de Pacotes - Boletos cabecalho.relatorio=Relatório: -cabecalho.periodo=Período: +cabecalho.periodoVenda=Data Venda: +cabecalho.periodoPacote=Data Pacote: cabecalho.periodoA=à cabecalho.dataHora=Data/Hora: cabecalho.impressorPor=Impressor por: 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 index 5af027d30..829f9c49a 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesBoletos_pt_BR.properties @@ -4,7 +4,8 @@ msg.noData=N #Labels cabeçalho cabecalho.nome=Relatório Vendas de Pacotes - Boletos cabecalho.relatorio=Relatório: -cabecalho.periodo=Período: +cabecalho.periodoVenda=Data Venda: +cabecalho.periodoPacote=Data Pacote: cabecalho.periodoA=à cabecalho.dataHora=Data/Hora: cabecalho.impressorPor=Impressor por: diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBoletosItem.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBoletosItem.jasper index 4730b7c362e0728e6fd30bfecc372125c85c5b48..fd41593f29d9bf58c4be7fa09f7e4647de60d551 100644 GIT binary patch delta 12756 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¨qcDT_$>Pfce20WUiJy@rz6V|_9-4^U*MbU0>15Gmnd6Zrfl_3%2r=f zw)&2;)m6Mg=b7&e#P5v&7HD*2rqP*oGlE!*(UtW#LYUo%V5vqV8*W6iOe2P68@-s* zh+{=YUsi7PW3vo9t2G9)dSftKW+btd#!&XKk;*n3BiJ@$B-?Ieuzkk$tmuG|$&MN0 z*=xoG_O3CJy=P2jXN_ET-Y8&~jY9U7QA#D=6vHsej4sA(N>)^=(K(h*m5~)GY3+Y( ObMqH&?8WQvi~2vt1FVMt delta 11621 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 R;%UAE`LoOXc%L18{tJkPhk5`2 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBoletosItem.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBoletosItem.jrxml index e3723938e..f50464b4d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBoletosItem.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBoletosItem.jrxml @@ -1,7 +1,7 @@ - - + + @@ -13,6 +13,7 @@ + @@ -50,56 +51,56 @@ - + - + - + - + - + - + - + - + @@ -109,28 +110,28 @@ - + - + - + - + - + - + - + - + @@ -139,70 +140,80 @@ - + - + + + + + + + + + + + - + - + - + - + - + - + - + - + @@ -212,28 +223,28 @@ - + - + - + - + - + - + - + - + @@ -242,15 +253,25 @@ - + - + + + + + + + + + + + @@ -259,49 +280,49 @@ - + - + - + - + - + - + - + @@ -314,41 +335,44 @@ - + - + - + - + - + - + - + - + - + - + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletos.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletos.jasper index 068c03708362dabd3a5d4a387362a72f5110746b..0b285766a3a5fa4684aa95b4aba4be59db16a292 100644 GIT binary patch delta 8942 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 - + - - @@ -17,18 +15,19 @@ + + - - <band height="122" splitType="Stretch"> + <band height="142" splitType="Stretch"> <textField> <reportElement x="0" y="0" width="620" height="20" uuid="43b2c28d-4760-4890-b00d-25e931e79c74"/> <textElement markup="none"> @@ -55,29 +54,36 @@ <textElement> <font isBold="true"/> </textElement> - <textFieldExpression><![CDATA[$R{cabecalho.periodo} + " " + $P{fecInicio} + " " + $R{cabecalho.periodoA} + " " + $P{fecFinal}]]></textFieldExpression> + <textFieldExpression><![CDATA[$R{cabecalho.periodoVenda} + " " + $P{periodoVenda}]]></textFieldExpression> </textField> <textField> - <reportElement x="0" y="60" width="802" height="20" uuid="bc1ac781-2bb6-40ef-92dd-d4f07f327d18"/> + <reportElement x="0" y="80" width="802" height="20" uuid="bc1ac781-2bb6-40ef-92dd-d4f07f327d18"/> <textElement> <font isBold="true"/> </textElement> - <textFieldExpression><![CDATA[$R{cabecalho.origem} + " " + $P{origem} + " " + $R{cabecalho.destino} + " " + $P{destino}]]></textFieldExpression> + <textFieldExpression><![CDATA[$R{cabecalho.origem} + " " + $P{origem} + " / " + $R{cabecalho.destino} + " " + $P{destino}]]></textFieldExpression> </textField> <textField> - <reportElement x="0" y="80" width="802" height="20" uuid="1cfececb-aab4-4ec7-a002-b7a45c567252"/> + <reportElement x="0" y="100" width="802" height="20" uuid="1cfececb-aab4-4ec7-a002-b7a45c567252"/> <textElement> <font isBold="true"/> </textElement> <textFieldExpression><![CDATA[$R{cabecalho.usuario} + " " + $P{usuario}]]></textFieldExpression> </textField> <textField> - <reportElement x="0" y="100" width="802" height="20" uuid="8b436394-0e3c-420e-b2dd-2b62ee7ed988"/> + <reportElement x="0" y="120" width="802" height="20" uuid="8b436394-0e3c-420e-b2dd-2b62ee7ed988"/> <textElement> <font isBold="true"/> </textElement> <textFieldExpression><![CDATA[$R{cabecalho.tipoTarifaPacote} + " " + $P{tipoTarifaPacote}]]></textFieldExpression> </textField> + <textField> + <reportElement x="0" y="60" width="620" height="20" uuid="5cf60597-1643-473f-ad7d-9a5748fcf2a6"/> + <textElement> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.periodoPacote} + " " + $P{periodoPacote}]]></textFieldExpression> + </textField> </band> @@ -115,27 +121,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -143,29 +128,6 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jasper index a79803da95cda0eaa5874cabf0c8acd92c044df6..42b1052125b8da65b716bb0705515aa51792415f 100644 GIT binary patch literal 44978 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 JdK+f={{WR>g1P_z literal 40141 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jrxml index 3dd63f3b8..8aaf5700d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesBoletosItem.jrxml @@ -1,7 +1,7 @@ - - + + @@ -14,6 +14,9 @@ + + + @@ -53,70 +56,70 @@ - + - + - + - + - + - + - + - + - + - + @@ -126,31 +129,31 @@ - + - + - + - + - + - + - + - + - + @@ -161,75 +164,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + @@ -239,31 +272,31 @@ - + - + - + - + - + - + - + - + - + @@ -274,6 +307,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -282,56 +345,56 @@ - + - + - + - + - + - + - + - + @@ -344,28 +407,28 @@ - + - + - + - + - + - + - + - + @@ -373,6 +436,9 @@ + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBoletosBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBoletosBean.java index 5a148393c..f1d69a314 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBoletosBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesBoletosBean.java @@ -3,6 +3,8 @@ package com.rjconsultores.ventaboletos.relatorios.utilitarios; import java.math.BigDecimal; import java.util.List; +import com.rjconsultores.ventaboletos.enums.SituacaoVendaPacote; + public class RelatorioVendasPacotesBoletosBean { private String cveorigen; @@ -39,6 +41,8 @@ public class RelatorioVendasPacotesBoletosBean { public class RelatorioVendasPacotesBoletosItemBean { + private String numruta; + private String descruta; private String nomconvenio; private String desctipotarifa; private String desccategoria; @@ -49,6 +53,8 @@ public class RelatorioVendasPacotesBoletosBean { private BigDecimal simporteseguro; private BigDecimal desconto; private BigDecimal spreciobase; + private SituacaoVendaPacote situacao; + private Integer qtdeImpresso; public String getNomconvenio() { return nomconvenio; @@ -134,37 +140,6 @@ public class RelatorioVendasPacotesBoletosBean { 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; } @@ -181,6 +156,106 @@ public class RelatorioVendasPacotesBoletosBean { this.desccategoria = desccategoria; } + public Boolean getCancelado() { + return SituacaoVendaPacote.CANCELADO.equals(getSituacao()); + } + + public SituacaoVendaPacote getSituacao() { + return situacao; + } + + public void setSituacao(SituacaoVendaPacote situacao) { + this.situacao = situacao; + } + + public String getNumruta() { + return numruta; + } + + public void setNumruta(String numruta) { + this.numruta = numruta; + } + + public String getDescruta() { + return descruta; + } + + public void setDescruta(String descruta) { + this.descruta = descruta; + } + + public String getNumDescRuta() { + StringBuilder str = new StringBuilder(); + str.append(getNumruta()) + .append(" - ") + .append(getDescruta()); + return str.toString(); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((desccategoria == null) ? 0 : desccategoria.hashCode()); + result = prime * result + ((descruta == null) ? 0 : descruta.hashCode()); + result = prime * result + ((desctipotarifa == null) ? 0 : desctipotarifa.hashCode()); + result = prime * result + ((nomconvenio == null) ? 0 : nomconvenio.hashCode()); + result = prime * result + ((numruta == null) ? 0 : numruta.hashCode()); + result = prime * result + ((situacao == null) ? 0 : situacao.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 (desccategoria == null) { + if (other.desccategoria != null) + return false; + } else if (!desccategoria.equals(other.desccategoria)) + return false; + if (descruta == null) { + if (other.descruta != null) + return false; + } else if (!descruta.equals(other.descruta)) + return false; + 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; + if (numruta == null) { + if (other.numruta != null) + return false; + } else if (!numruta.equals(other.numruta)) + return false; + if (situacao != other.situacao) + return false; + return true; + } + + public Integer getQtdeImpresso() { + return qtdeImpresso; + } + + public void setQtdeImpresso(Integer qtdeImpresso) { + this.qtdeImpresso = qtdeImpresso; + } + + public Boolean getImpresso() { + return qtdeImpresso != null && qtdeImpresso > 0; + } + } @Override 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 index c4555c97d..7066bf2ee 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesBoletosController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPacotesBoletosController.java @@ -10,9 +10,7 @@ import java.util.Map; import javax.sql.DataSource; -import net.sf.jasperreports.engine.JasperReport; -import net.sf.jasperreports.engine.util.JRLoader; - +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; @@ -22,13 +20,11 @@ import org.zkoss.zk.ui.event.Event; import org.zkoss.zul.Comboitem; import org.zkoss.zul.ComboitemRenderer; import org.zkoss.zul.Datebox; -import org.zkoss.zul.Radio; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.TipoTarifaPacote; import com.rjconsultores.ventaboletos.entidad.Usuario; -import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasBoletos; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasPacotesBoletos; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EmpresaService; @@ -39,6 +35,9 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParadaCve; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxUsuario; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import net.sf.jasperreports.engine.JasperReport; +import net.sf.jasperreports.engine.util.JRLoader; + @Controller("relatorioVendasPacotesBoletosController") @Scope("prototype") public class RelatorioVendasPacotesBoletosController extends MyGenericForwardComposer { @@ -56,12 +55,12 @@ public class RelatorioVendasPacotesBoletosController extends MyGenericForwardCom private List lsEmpresa; private List lsTipoTarifaPacote; - private Datebox dataInicial; - private Datebox dataFinal; + private Datebox dataVendaInicial; + private Datebox dataVendaFinal; + private Datebox dataPacoteInicial; + private Datebox dataPacoteFinal; private MyComboboxEstandar cmbEmpresa; private MyComboboxEstandar cmbTipoTarifaPacote; - private Radio rVendaPacotesBoletos; - private Radio rVendaBoletos; private MyComboboxParada cmbParadaOrigem; private MyComboboxParadaCve cmbParadaOrigemCve; @@ -120,12 +119,33 @@ public class RelatorioVendasPacotesBoletosController extends MyGenericForwardCom public void onClick$btnExecutarRelatorio(Event ev) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); - Date dataDe = dataInicial.getValue(); - Date dataAte = dataFinal.getValue(); + Date dataVendaDe = dataVendaInicial.getValue(); + Date dataVendaAte = dataVendaFinal.getValue(); + Date dataPacoteDe = dataPacoteInicial.getValue(); + Date dataPacoteAte = dataPacoteFinal.getValue(); Map parametros = new HashMap(); - parametros.put("fecInicio", sdf.format(dataDe)); - parametros.put("fecFinal", sdf.format(dataAte)); + String periodoVenda = ""; + String periodoPacote = ""; + if(dataVendaDe != null) { + parametros.put("fecVendaInicio", sdf.format(dataVendaDe)); + periodoVenda += parametros.get("fecVendaInicio") + " "; + } + if(dataVendaAte != null) { + parametros.put("fecVendaFinal", sdf.format(dataVendaAte)); + periodoVenda += Labels.getLabel("lb.ate") + " " + parametros.get("fecVendaFinal"); + } + if(dataPacoteDe != null) { + parametros.put("fecPacoteInicio", sdf.format(dataPacoteDe)); + periodoPacote += parametros.get("fecPacoteInicio") + " "; + } + if(dataPacoteAte != null) { + parametros.put("fecPacoteFinal", sdf.format(dataPacoteAte)); + periodoPacote += Labels.getLabel("lb.ate") + " " + parametros.get("fecPacoteFinal"); + } + + parametros.put("periodoVenda", StringUtils.isNotBlank(periodoVenda) ? periodoVenda : "Todos"); + parametros.put("periodoPacote", StringUtils.isNotBlank(periodoPacote) ? periodoPacote : "Todos"); Comboitem cbiEmpresa = cmbEmpresa.getSelectedItem(); String empresaId = null; @@ -169,13 +189,7 @@ public class RelatorioVendasPacotesBoletosController extends MyGenericForwardCom parametros.put("tipoTarifaPacote", tipoTarifaPacote.getDesctipotarifa()); } - Relatorio relatorio = null; - - if(rVendaPacotesBoletos.isSelected()) { - relatorio = gerarRelatorioVendaPacotesBoletos(parametros); - } else if(rVendaBoletos.isSelected()) { - relatorio = gerarRelatorioVendaBoletos(parametros); - } + Relatorio relatorio = gerarRelatorioVendaPacotesBoletos(parametros); Map args = new HashMap(); args.put("relatorio", relatorio); @@ -194,13 +208,6 @@ public class RelatorioVendasPacotesBoletosController extends MyGenericForwardCom return new RelatorioVendasPacotesBoletos(parametros, dataSourceRead.getConnection(), "RelatorioVendasPacotesBoletosItem", "RelatorioVendasPacotesBoletosItemTotais"); } - private Relatorio gerarRelatorioVendaBoletos(Map parametros) throws SQLException, Exception { - JasperReport subRelatorioVendasBoletosItens = (JasperReport) JRLoader.loadObject(this.getClass().getResourceAsStream("/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBoletosItem.jasper")); - parametros.put("subreporte", subRelatorioVendasBoletosItens); - - return new RelatorioVendasBoletos(parametros, dataSourceRead.getConnection(), "RelatorioVendasBoletosItem"); - } - public void onSelect$cmbParadaOrigemCve(Event ev) { if (cmbParadaOrigemCve.getSelectedItem() != null) { cmbParadaOrigem.setComboItemByParada((Parada) cmbParadaOrigemCve.getSelectedItem().getValue()); diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index cbe6774f9..0da014f1c 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -52,10 +52,11 @@ MSG.necesita.formaPago = Forma de pago obligatória MSG.Error.invalida.competencia = Competência inválida MSG.Error.necessita.puntoVenta = Punto Venta obligatório -# Labels Defaul +# Labels Default lb.id = ID lb.dec = Descripción lb.Equivalencia = Equivalencia +lb.ate = até # Reporte relatorio.lb.btnExecutarRelatorio = Ejecutar reporte @@ -6044,8 +6045,10 @@ relatorioVendasPacotesDetalhadoController.lblUsuario.value = Usuário # Relatorio Vendas Pacotes Boletos relatorioVendasPacotesBoletosController.window.title = Reporte Ventas de Paquetes - Boletos -relatorioVendasPacotesBoletosController.lbDataIni.value = Fecha Inicio -relatorioVendasPacotesBoletosController.lbDataFin.value = Fecha Final +relatorioVendasPacotesBoletosController.lbDataVendaIni.value = Fec Venda Inicial +relatorioVendasPacotesBoletosController.lbDataVendaFin.value = Fec Venda Final +relatorioVendasPacotesBoletosController.lbDataPacoteIni.value = Fec Paquete Inicial +relatorioVendasPacotesBoletosController.lbDataPacoteFin.value = Fec Paquete Final relatorioVendasPacotesBoletosController.lblEmpresa.value = Empresa relatorioVendasPacotesBoletosController.lblTipoTarifaPacote.value = Tipo Tarifa relatorioVendasPacotesBoletosController.lblPacote.value = Pacote diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index fc098090c..f015ee397 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -54,10 +54,11 @@ MSG.necesita.formaPago = Forma de Pagamento Obrigatória MSG.Error.invalida.competencia = Competência inválida MSG.Error.necessita.puntoVenta = Ponto de Venda (Agência) Obrigatório -# Labels Defaul +# Labels Default lb.id = ID lb.dec = Descrição lb.Equivalencia = Equivalencia +lb.ate = até # Relatório relatorio.lb.btnExecutarRelatorio = Executar Relatório @@ -6231,8 +6232,10 @@ relatorioVendasPacotesDetalhadoController.lblUsuario.value = Usuário # Relatorio Vendas Pacotes Boletos relatorioVendasPacotesBoletosController.window.title = Relatório Vendas de Pacotes - Bilhetes -relatorioVendasPacotesBoletosController.lbDataIni.value = Data Inicial -relatorioVendasPacotesBoletosController.lbDataFin.value = Data Final +relatorioVendasPacotesBoletosController.lbDataVendaIni.value = Dt Venda Inicial +relatorioVendasPacotesBoletosController.lbDataVendaFin.value = Dt Venda Final +relatorioVendasPacotesBoletosController.lbDataPacoteIni.value = Dt Pacote Inicial +relatorioVendasPacotesBoletosController.lbDataPacoteFin.value = Dt Pacote Final relatorioVendasPacotesBoletosController.lblEmpresa.value = Empresa relatorioVendasPacotesBoletosController.lblTipoTarifaPacote.value = Tipo Tarifa relatorioVendasPacotesBoletosController.lblPacote.value = Pacote diff --git a/web/gui/relatorios/filtroRelatorioVendasPacotesBoletos.zul b/web/gui/relatorios/filtroRelatorioVendasPacotesBoletos.zul index c110265ad..07529f25b 100644 --- a/web/gui/relatorios/filtroRelatorioVendasPacotesBoletos.zul +++ b/web/gui/relatorios/filtroRelatorioVendasPacotesBoletos.zul @@ -69,27 +69,28 @@ - - + +