From 20f322e4ada89b63840d9fe2a46765b8a6e1d679 Mon Sep 17 00:00:00 2001 From: wilian Date: Fri, 14 Oct 2016 19:48:06 +0000 Subject: [PATCH] fixes bug #8108 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@61637 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioVendasPacotesDetalhado.java | 33 ++++- .../impl/RelatorioVendasPacotesResumido.java | 4 +- ...ioVendasPacotesDetalhadoItem_es.properties | 4 +- ...endasPacotesDetalhadoItem_pt_BR.properties | 4 +- ...atorioVendasPacotesDetalhado_es.properties | 2 + ...rioVendasPacotesDetalhado_pt_BR.properties | 2 + .../RelatorioVendasPacotesDetalhado.jasper | Bin 28891 -> 30426 bytes .../RelatorioVendasPacotesDetalhado.jrxml | 18 ++- ...RelatorioVendasPacotesDetalhadoItem.jasper | Bin 37947 -> 40718 bytes .../RelatorioVendasPacotesDetalhadoItem.jrxml | 136 ++++++++++++------ .../RelatorioVendasPacotesDetalhadoBean.java | 22 ++- .../RelatorioVendasPacotesResumidoBean.java | 7 + ...torioVendasPacotesDetalhadoController.java | 36 ++++- web/WEB-INF/i3-label_es_MX.label | 6 + web/WEB-INF/i3-label_pt_BR.label | 6 + .../filtroRelatorioVendasPacotesDetalhado.zul | 22 +++ 16 files changed, 239 insertions(+), 63 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java index ccc56a7dd..35dd7db25 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesDetalhado.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import com.rjconsultores.ventaboletos.enums.LocalEnderecoApanhe; @@ -37,6 +38,8 @@ public class RelatorioVendasPacotesDetalhado extends Relatorio { private Integer destinoId; private Integer usuarioId; private Integer tipoTarifaPacoteId; + private SituacaoVendaPacote situacaoVendaPacote; + private String voucherNotaCredito; public RelatorioVendasPacotesDetalhado(Map parametros, Connection conexao, final String... nomeSubReporte) throws Exception { super(parametros, conexao); @@ -53,6 +56,8 @@ public class RelatorioVendasPacotesDetalhado extends Relatorio { destinoId = parametros.get("destinoId") != null && !parametros.get("destinoId").equals("null") ? Integer.valueOf(parametros.get("destinoId").toString()) : null; usuarioId = parametros.get("usuarioId") != null && !parametros.get("usuarioId").equals("null") ? Integer.valueOf(parametros.get("usuarioId").toString()) : null; tipoTarifaPacoteId = parametros.get("tipoTarifaPacoteId") != null && !parametros.get("tipoTarifaPacoteId").equals("null") ? Integer.valueOf(parametros.get("tipoTarifaPacoteId").toString()) : null; + situacaoVendaPacote = parametros.get("situacaoPacoteId") != null && !parametros.get("situacaoPacoteId").equals("null") ? (SituacaoVendaPacote) parametros.get("situacaoPacoteId") : null; + voucherNotaCredito = parametros.get("voucherNotaCredito") != null && !parametros.get("voucherNotaCredito").equals("null") ? parametros.get("voucherNotaCredito").toString() : null; Connection conexao = this.relatorio.getConexao(); processarVendasPacote(conexao); @@ -98,6 +103,12 @@ public class RelatorioVendasPacotesDetalhado extends Relatorio { if(tipoTarifaPacoteId != null && tipoTarifaPacoteId > 0) { stmt.setInt("tipoTarifaPacoteId", tipoTarifaPacoteId); } + if(situacaoVendaPacote != null) { + stmt.setInt("situacaoVendaPacote", situacaoVendaPacote.getShortValue()); + } + if(StringUtils.isNotBlank(voucherNotaCredito)) { + stmt.setLong("voucherNotaCredito", Long.valueOf(voucherNotaCredito)); + } rset = stmt.executeQuery(); @@ -129,6 +140,8 @@ public class RelatorioVendasPacotesDetalhado extends Relatorio { relatorioVendasPacotesDetalhadoItemBean.setSubTotal(rset.getBigDecimal("subtotal")); relatorioVendasPacotesDetalhadoItemBean.setTotal(rset.getBigDecimal("total")); relatorioVendasPacotesDetalhadoItemBean.setVendapacoteId(rset.getLong("vendapacote_id")); + relatorioVendasPacotesDetalhadoItemBean.setNumoperacionNotaCreditoPagamento(rset.getString("NUMOPERACION_PAG_NC")); + relatorioVendasPacotesDetalhadoItemBean.setVoucherNotaCredito(rset.getLong("VOUCHER_NOTACREDITO")); relatorioVendasPacotesDetalhadoItemBean.setSituacaoVendaPacote(SituacaoVendaPacote.getSituacaoVendaPacote(rset.getInt("situacao"))); if(relatorioVendasPacotesBean.getRelatorioVendasPacotesDetalhadoItemBeans() == null) { @@ -163,18 +176,19 @@ public class RelatorioVendasPacotesDetalhado extends Relatorio { protected String getSqlPacotes() { StringBuilder sQuery = new StringBuilder(); - sQuery.append("SELECT P.PACOTE_ID, VP.VENDAPACOTE_ID, P.NOMPACOTE, VP.NUMOPERACION, VP.DATAVENDA, VP.DATAPACOTE, EA.DESCHOTEL, EA.LOCAL, CP.RAZAO_SOCIAL, U.NOMBUSUARIO, VP.SUBTOTAL, VP.DESCONTO, VP.TOTAL, VP.SITUACAO, COUNT(TVP.TARIFAVENDAPACOTE_ID) AS QTDETARIFAS ") + sQuery.append("SELECT P.PACOTE_ID, VP.VENDAPACOTE_ID, P.NOMPACOTE, VP.NUMOPERACION, VP.DATAVENDA, VP.DATAPACOTE, EA.DESCHOTEL, EA.LOCAL, CP.RAZAO_SOCIAL, ") + .append("NC.NOTACREDITOVENDAPACOTE_ID AS VOUCHER_NOTACREDITO, VPNC.NUMOPERACION AS NUMOPERACION_PAG_NC,U.NOMBUSUARIO, VP.SUBTOTAL,0, NVL(VP.DESCONTO,0) AS DESCONTO, VP.TOTAL, VP.SITUACAO, COUNT(NVL(TVP.TARIFAVENDAPACOTE_ID,0)) AS QTDETARIFAS ") .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 ENDERECO_APANHE EA ON EA.VENDAPACOTE_ID = VP.VENDAPACOTE_ID AND EA.ACTIVO = 1 ") .append("LEFT JOIN CLIENTE_PACOTE CP ON CP.CLIENTEPACOTE_ID = VP.CLIENTEPACOTE_ID ") .append("LEFT JOIN USUARIO U ON U.USUARIO_ID = VP.USUARIO_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("WHERE P.ACTIVO = 1 ") - .append("AND (B.BOLETO_ID IS NULL OR (B.ACTIVO = 1 AND B.INDSTATUSBOLETO = 'V' AND B.MOTIVOCANCELACION_ID IS NULL)) "); + .append("LEFT JOIN NOTA_CREDITO_VENDA_PACOTE NC ON NC.VENDAPACOTECANCELAMENTO_ID = VP.VENDAPACOTE_ID ") + .append("LEFT JOIN VENDA_PACOTE VPNC ON NC.VENDAPACOTEPAGAMENTO_ID = VPNC.VENDAPACOTE_ID ") + .append("WHERE P.ACTIVO = 1 "); if(empresaId != null && empresaId > 0) { sQuery.append("AND P.EMPRESA_ID = :empresaId "); @@ -208,7 +222,16 @@ public class RelatorioVendasPacotesDetalhado extends Relatorio { sQuery.append("AND TTP.TIPOTARIFAPACOTE_ID = :tipoTarifaPacoteId "); } - sQuery.append("GROUP BY P.PACOTE_ID, VP.VENDAPACOTE_ID, P.NOMPACOTE, VP.NUMOPERACION, VP.DATAVENDA, VP.DATAPACOTE, EA.DESCHOTEL, EA.LOCAL, CP.RAZAO_SOCIAL, U.NOMBUSUARIO, VP.SUBTOTAL, VP.DESCONTO, VP.TOTAL, VP.SITUACAO ") + if(situacaoVendaPacote != null) { + sQuery.append("AND VP.SITUACAO = :situacaoVendaPacote "); + } + + if(StringUtils.isNotBlank(voucherNotaCredito)) { + sQuery.append("AND NC.NOTACREDITOVENDAPACOTE_ID = :voucherNotaCredito "); + } + + sQuery.append("GROUP BY P.PACOTE_ID, VP.VENDAPACOTE_ID, P.NOMPACOTE, VP.NUMOPERACION, VP.DATAVENDA, VP.DATAPACOTE, EA.DESCHOTEL, EA.LOCAL, ") + .append("CP.RAZAO_SOCIAL, U.NOMBUSUARIO, VP.SUBTOTAL, VP.DESCONTO, VP.TOTAL, VP.SITUACAO, NC.NOTACREDITOVENDAPACOTE_ID, VPNC.NUMOPERACION ") .append("ORDER BY P.NOMPACOTE, VP.DATAPACOTE, VP.DATAVENDA "); return sQuery.toString(); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java index 0d04d6f72..73a0fc789 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPacotesResumido.java @@ -166,7 +166,7 @@ public class RelatorioVendasPacotesResumido extends Relatorio { private String getSqlPacotes() { StringBuilder sQuery = new StringBuilder(); - sQuery.append("SELECT P.PACOTE_ID, P.NOMPACOTE, COUNT(P.PACOTE_ID) AS QTDEPACOTE, SUM(VP.TOTAL) AS TOTALPACOTE ") + sQuery.append("SELECT P.PACOTE_ID, P.NOMPACOTE, COUNT(NVL(P.PACOTE_ID,0)) AS QTDEPACOTE, SUM(NVL(VP.TOTAL,0)) AS TOTALPACOTE ") .append("FROM VENDA_PACOTE VP ") .append("LEFT JOIN PACOTE P ON P.PACOTE_ID = VP.PACOTE_ID ") .append("WHERE P.ACTIVO = 1 "); @@ -191,7 +191,7 @@ public class RelatorioVendasPacotesResumido extends Relatorio { private String getSqlBoletos() { StringBuilder sQuery = new StringBuilder(); - sQuery.append("SELECT P.PACOTE_ID, P.NOMPACOTE, SUM(TVP.VALOR) AS TOTALBOLETOS ") + sQuery.append("SELECT P.PACOTE_ID, P.NOMPACOTE, SUM(NVL(TVP.VALOR,0)) AS TOTALBOLETOS ") .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 ") diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhadoItem_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhadoItem_es.properties index 26689a446..dce76da80 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhadoItem_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhadoItem_es.properties @@ -9,4 +9,6 @@ label.dtVenda=Data Venda label.subTotal=SubTotal label.desconto=Desconto label.total=Total -label.situacao=Situação \ No newline at end of file +label.situacao=Situação +label.localizadorNotaCreditoPagamento=Loc. Nota Crédito Pag. +label.voucherNotaCredito=Voucher Nota Crédito \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhadoItem_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhadoItem_pt_BR.properties index 26689a446..dce76da80 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhadoItem_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhadoItem_pt_BR.properties @@ -9,4 +9,6 @@ label.dtVenda=Data Venda label.subTotal=SubTotal label.desconto=Desconto label.total=Total -label.situacao=Situação \ No newline at end of file +label.situacao=Situação +label.localizadorNotaCreditoPagamento=Loc. Nota Crédito Pag. +label.voucherNotaCredito=Voucher Nota Crédito \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhado_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhado_es.properties index 832addf5a..79d706d8c 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhado_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhado_es.properties @@ -11,6 +11,8 @@ cabecalho.impressorPor=Impressor por: cabecalho.pagina=Página cabecalho.de=de cabecalho.filtros=Filtros: +cabecalho.situacaoPacote=Situação: +cabecalho.voucherNotaCredito=Voucher Nota Crédito: label.empresa=Empresa: label.pacote=Pacote: cabecalho.origem=Origem: diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhado_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhado_pt_BR.properties index 832addf5a..79d706d8c 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhado_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPacotesDetalhado_pt_BR.properties @@ -11,6 +11,8 @@ cabecalho.impressorPor=Impressor por: cabecalho.pagina=Página cabecalho.de=de cabecalho.filtros=Filtros: +cabecalho.situacaoPacote=Situação: +cabecalho.voucherNotaCredito=Voucher Nota Crédito: label.empresa=Empresa: label.pacote=Pacote: cabecalho.origem=Origem: diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhado.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhado.jasper index 31635defb6bf022eee1c5c670bcaa8fad0b31234..1f0d02654374b1048ce2c5c8eeec2cc291554360 100644 GIT binary patch delta 8703 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhado.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhado.jrxml index 8c0ff8471..625407f17 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhado.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhado.jrxml @@ -15,6 +15,8 @@ + + @@ -24,7 +26,7 @@ - <band height="142" splitType="Stretch"> + <band height="181" splitType="Stretch"> <textField> <reportElement x="0" y="0" width="637" height="20" uuid="43b2c28d-4760-4890-b00d-25e931e79c74"/> <textElement markup="none"> @@ -81,6 +83,20 @@ </textElement> <textFieldExpression><![CDATA[$R{cabecalho.origem} + " " + $P{origem} + " " + $R{cabecalho.destino} + " " + $P{destino}]]></textFieldExpression> </textField> + <textField> + <reportElement x="0" y="140" width="801" height="20" uuid="0081e5f0-0219-4d52-a883-d932296d8764"/> + <textElement> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.situacaoPacote} + " " + $P{situacaoPacote}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="0" y="160" width="801" height="20" uuid="cc9c448f-3596-46c2-99bf-7ed4dc2cf865"/> + <textElement> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.voucherNotaCredito} + " " + $P{voucherNotaCredito}]]></textFieldExpression> + </textField> </band> diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhadoItem.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhadoItem.jasper index b6b4b5dc47e7a4b76182e7f34354bc4fb00a8075..95dad0b34a6497e38b38e79a1bd2785dc97bf236 100644 GIT binary patch delta 11217 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 XR-}y>8G6P4!Z={K{BObd2gCmd8tZ!h delta 9211 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhadoItem.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhadoItem.jrxml index d23130876..6e7a02fdf 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhadoItem.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhadoItem.jrxml @@ -1,7 +1,7 @@ - - + + @@ -14,6 +14,8 @@ + + @@ -38,70 +40,70 @@ - + - + - + - + - + - + - + - + - + - + @@ -117,34 +119,34 @@ - + - + - + - + - + - + - + - + - + @@ -156,6 +158,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -175,56 +197,56 @@ - + - + - + - - + + - - + + - + - + - + @@ -240,34 +262,34 @@ - + - + - + - + - + - + - + - + - + @@ -276,26 +298,46 @@ + + + + + + + + + + + + + + + + + + + + - + - + - + @@ -315,19 +357,19 @@ - + - + - + - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesDetalhadoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesDetalhadoBean.java index 09baa1844..e3474b7c8 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesDetalhadoBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesDetalhadoBean.java @@ -4,8 +4,6 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; -import oracle.net.aso.s; - import org.apache.commons.lang.StringUtils; import com.rjconsultores.ventaboletos.enums.LocalEnderecoApanhe; @@ -81,6 +79,8 @@ public class RelatorioVendasPacotesDetalhadoBean { private String nombusuario; private String razaoSocialCliente; private SituacaoVendaPacote situacaoVendaPacote; + private String numoperacionNotaCreditoPagamento; + private Long voucherNotaCredito; public Long getVendapacoteId() { return vendapacoteId; @@ -219,6 +219,24 @@ public class RelatorioVendasPacotesDetalhadoBean { this.situacaoVendaPacote = situacaoVendaPacote; } + public String getNumoperacionNotaCreditoPagamento() { + return numoperacionNotaCreditoPagamento; + } + + public void setNumoperacionNotaCreditoPagamento(String numoperacionNotaCreditoPagamento) { + this.numoperacionNotaCreditoPagamento = numoperacionNotaCreditoPagamento; + } + + public Long getVoucherNotaCredito() { + return voucherNotaCredito; + } + + public void setVoucherNotaCredito(Long voucherNotaCredito) { + if(voucherNotaCredito != null && !voucherNotaCredito.equals(0l)) { + this.voucherNotaCredito = voucherNotaCredito; + } + } + } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesResumidoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesResumidoBean.java index 6a9e243fa..d3ed567b3 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesResumidoBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPacotesResumidoBean.java @@ -9,6 +9,13 @@ public class RelatorioVendasPacotesResumidoBean { private Long qtdePacotes; private BigDecimal totalBoletos; private BigDecimal totalPacotes; + + public RelatorioVendasPacotesResumidoBean() { + super(); + this.qtdePacotes = 0l; + this.totalBoletos = BigDecimal.ZERO; + this.totalPacotes = BigDecimal.ZERO; + } public Long getPacoteId() { return pacoteId; 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 eab847278..ce92713d9 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 @@ -9,9 +9,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; @@ -21,12 +19,14 @@ 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.Pacote; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.TipoTarifaPacote; import com.rjconsultores.ventaboletos.entidad.Usuario; +import com.rjconsultores.ventaboletos.enums.SituacaoVendaPacote; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasPacotesDetalhado; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EmpresaService; @@ -37,6 +37,10 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParadaCve; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxUsuario; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; + +import net.sf.jasperreports.engine.JasperReport; +import net.sf.jasperreports.engine.util.JRLoader; @Controller("relatorioVendasPacotesDetalhadoController") @Scope("prototype") @@ -64,12 +68,17 @@ public class RelatorioVendasPacotesDetalhadoController extends MyGenericForwardC private MyComboboxEstandar cmbEmpresa; private MyComboboxEstandar cmbPacote; private MyComboboxEstandar cmbTipoTarifaPacote; + private MyTextbox txtVoucherNotaCredito; private MyComboboxParada cmbParadaOrigem; private MyComboboxParadaCve cmbParadaOrigemCve; private MyComboboxParada cmbParadaDestino; private MyComboboxParadaCve cmbParadaDestinoCve; private MyComboboxUsuario cmbUsuario; + private Radio rTodos; + private Radio rPagos; + private Radio rReservados; + private Radio rCancelados; public List getLsEmpresa() { return lsEmpresa; @@ -128,6 +137,8 @@ public class RelatorioVendasPacotesDetalhadoController extends MyGenericForwardC } public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + txtVoucherNotaCredito.getValue(); + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Date dataDe = dataInicial.getValue(); Date dataAte = dataFinal.getValue(); @@ -179,7 +190,7 @@ public class RelatorioVendasPacotesDetalhadoController extends MyGenericForwardC parametros.put("usuarioId", usuario.getUsuarioId()); parametros.put("usuario", usuario.getNombUsuarioCompleto()); } - + parametros.put("tipoTarifaPacote","Todas"); Comboitem cbiTipoTarifaPacote = cmbTipoTarifaPacote.getSelectedItem(); if (cbiTipoTarifaPacote != null) { @@ -187,6 +198,23 @@ public class RelatorioVendasPacotesDetalhadoController extends MyGenericForwardC parametros.put("tipoTarifaPacoteId", tipoTarifaPacote.getTipotarifapacoteId()); parametros.put("tipoTarifaPacote", tipoTarifaPacote.getDesctipotarifa()); } + + parametros.put("situacaoPacote", "Todos"); + if(rPagos.isChecked()) { + parametros.put("situacaoPacote", "Pagos"); + parametros.put("situacaoPacoteId", SituacaoVendaPacote.PAGO); + } else if(rReservados.isChecked()) { + parametros.put("situacaoPacote", "Reservados"); + parametros.put("situacaoPacoteId", SituacaoVendaPacote.RESERVA); + } else if(rCancelados.isChecked()) { + parametros.put("situacaoPacote", "Cancelados"); + parametros.put("situacaoPacoteId", SituacaoVendaPacote.CANCELADO); + } + + parametros.put("voucherNotaCredito", ""); + if (StringUtils.isNotBlank(txtVoucherNotaCredito.getValue())) { + parametros.put("voucherNotaCredito", txtVoucherNotaCredito.getValue()); + } JasperReport subRelatorioVendasPacotesDetalhadoItens = (JasperReport) JRLoader.loadObject(this.getClass().getResourceAsStream("/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPacotesDetalhadoItem.jasper")); parametros.put("subreporte", subRelatorioVendasPacotesDetalhadoItens); diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 19948f227..4c33f1887 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -6170,6 +6170,12 @@ relatorioVendasPacotesDetalhadoController.lblTipoTarifaPacote.value = Tipo Tarif relatorioVendasPacotesDetalhadoController.lblOrigem.value = Origen relatorioVendasPacotesDetalhadoController.lblDestino.value = Destino relatorioVendasPacotesDetalhadoController.lblUsuario.value = Usuário +relatorioVendasPacotesDetalhadoController.lblSituacao.value = Situacion +relatorioVendasPacotesDetalhadoController.lblSituacaoTodos.value = Todos +relatorioVendasPacotesDetalhadoController.lblSituacaoPagos.value = Pagos +relatorioVendasPacotesDetalhadoController.lblSituacaoReservados.value = Reservados +relatorioVendasPacotesDetalhadoController.lblSituacaoCancelados.value = Cancelados +relatorioVendasPacotesDetalhadoController.lblVoucherNotaCredito=Voucher Nota Crédito # Relatorio Vendas Pacotes Pasajes relatorioVendasPacotesBoletosController.window.title = Reporte Ventas de Paquetes - Pasajes diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 0937b3a4d..418603f6b 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -6359,6 +6359,12 @@ relatorioVendasPacotesDetalhadoController.lblTipoTarifaPacote.value = Tipo Tarif relatorioVendasPacotesDetalhadoController.lblOrigem.value = Origem relatorioVendasPacotesDetalhadoController.lblDestino.value = Destino relatorioVendasPacotesDetalhadoController.lblUsuario.value = Usuário +relatorioVendasPacotesDetalhadoController.lblSituacao.value = Situação +relatorioVendasPacotesDetalhadoController.lblSituacaoTodos.value = Todos +relatorioVendasPacotesDetalhadoController.lblSituacaoPagos.value = Pagos +relatorioVendasPacotesDetalhadoController.lblSituacaoReservados.value = Reservados +relatorioVendasPacotesDetalhadoController.lblSituacaoCancelados.value = Cancelados +relatorioVendasPacotesDetalhadoController.lblVoucherNotaCredito=Voucher Nota Crédito # Relatorio Vendas Pacotes Boletos relatorioVendasPacotesBoletosController.window.title = Relatório Vendas de Pacotes - Bilhetes diff --git a/web/gui/relatorios/filtroRelatorioVendasPacotesDetalhado.zul b/web/gui/relatorios/filtroRelatorioVendasPacotesDetalhado.zul index 6beffb272..91c4d5f83 100644 --- a/web/gui/relatorios/filtroRelatorioVendasPacotesDetalhado.zul +++ b/web/gui/relatorios/filtroRelatorioVendasPacotesDetalhado.zul @@ -88,6 +88,28 @@ format="dd/MM/yyyy" lenient="false" constraint="no empty" maxlength="10" /> + + + + +