From 9e68405d3f8a5de54b8038a06051a6f36923b8b2 Mon Sep 17 00:00:00 2001 From: valdir Date: Wed, 4 Aug 2021 12:05:41 +0000 Subject: [PATCH] 0022355: ESPEC 2021 - Relatorio de pricing especifico SPRINT 2 bug#22355 dev: qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@108181 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioPricingEspecifico.java | 28 +++++++- .../RelatorioPricingEspecifico.jasper | Bin 42692 -> 43108 bytes .../RelatorioPricingEspecifico.jrxml | 2 +- .../RelatorioPricingEspecificoController.java | 67 ++++++++++++++++++ web/WEB-INF/i3-label_es_MX.label | 7 ++ web/WEB-INF/i3-label_pt_BR.label | 7 ++ .../pricing/relatorioPricingEspecifico.zul | 17 +++++ 7 files changed, 126 insertions(+), 2 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPricingEspecifico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPricingEspecifico.java index f708b3771..816c72407 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPricingEspecifico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPricingEspecifico.java @@ -98,6 +98,12 @@ public class RelatorioPricingEspecifico extends Relatorio { Double tarifaVolta = (Double) parametros.get("TARIFAVOLTA"); + Integer ocupacaoInicial = (Integer) parametros.get("OCUPACAOINICIAL"); + Integer ocupacaoFinal = (Integer) parametros.get("OCUPACAOFINAL"); + + Double tarifaOcupacao = (Double) parametros.get("TARIFAOCUPACAO"); + Double descontoOcupacao = (Double) parametros.get("DESCONTOOCUPACAO"); + sql.append(" SELECT "); sql.append(" PE.PRICINGESPECIFICO_ID, PE.NOMBPRICING, PE.DATAINICIOVIAGEM, PE.DATAFIMVIAGEM, PE.DATAINICIOVENDA, PE.DATAFIMVENDA, "); sql.append(" PE.CORRIDA_ID, cs.DESCCLASE, m.DESCMARCA, ORIGEM.DESCPARADA as ORIGEM, DESTINO.DESCPARADA as DESTINO, "); @@ -105,7 +111,7 @@ public class RelatorioPricingEspecifico extends Relatorio { //Subquery ocupacao sql.append(" ( SELECT"); - sql.append(" LISTAGG(PEO.OCUPACIONINICIAL || ' a ' || PEO.OCUPACIONFINAL || ', ' || CASE PEO.TARIFA WHEN NULL THEN 'D: ' ||PEO.DESCUENTO ELSE 'T: ' || PEO.TARIFA END, '; ' ) "); + sql.append(" LISTAGG(PEO.OCUPACIONINICIAL || ' a ' || PEO.OCUPACIONFINAL || ', ' || CASE WHEN PEO.TARIFA IS NULL THEN 'Desconto: ' ||PEO.DESCUENTO ELSE 'Tarifa: ' || PEO.TARIFA END, '; ' ) "); sql.append(" WITHIN GROUP (ORDER BY PEO.PRICINGESPECIFICO_ID) OCUPACAO "); sql.append(" FROM "); sql.append(" PRICING_ESPECIFICO_OCUPACION PEO "); @@ -204,6 +210,26 @@ public class RelatorioPricingEspecifico extends Relatorio { sql.append(" AND pe.TARIFAREDABIERTO = ").append(tarifaVolta); } + if(ocupacaoInicial != null && ocupacaoFinal != null ) { + sql.append(" AND ( SELECT "); + sql.append(" COUNT(PEO.PRICINGESPECIFICOOCUPACION_ID) "); + sql.append(" FROM "); + sql.append(" PRICING_ESPECIFICO_OCUPACION PEO "); + sql.append(" WHERE "); + sql.append(" PEO.ACTIVO = 1 AND PEO.PRICINGESPECIFICO_ID = PE.PRICINGESPECIFICO_ID"); + + if(tarifaOcupacao != null) { + sql.append(" AND PEO.TARIFA = ").append(tarifaOcupacao); + } + + if(descontoOcupacao != null) { + sql.append(" AND PEO.DESCUENTO = ").append(descontoOcupacao); + } + + sql.append(" AND ").append(ocupacaoInicial).append(" BETWEEN PEO.OCUPACIONINICIAL AND PEO.OCUPACIONFINAL "); + sql.append(" AND ").append(ocupacaoFinal).append(" BETWEEN PEO.OCUPACIONINICIAL AND PEO.OCUPACIONFINAL ) > 0 "); + } + if (CANAL_DE_VENDA != null ) { sql.append(" AND ").append(CANAL_DE_VENDA).append(" in "); sql.append(" ( SELECT PECV.TIPOPTOVTA_ID "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jasper index 2ea269f710852cf93e2da9ce0deea0c368d4c5fa..9eba6e3cf5af14da7abf1944633634059d54f9fb 100644 GIT binary patch delta 5882 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 D_*=)( diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jrxml index 0c0a81d8c..ffd657fbe 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jrxml @@ -212,7 +212,7 @@ - + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/RelatorioPricingEspecificoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/RelatorioPricingEspecificoController.java index e1caafb36..54f5205b4 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/RelatorioPricingEspecificoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/RelatorioPricingEspecificoController.java @@ -115,6 +115,12 @@ public class RelatorioPricingEspecificoController extends MyGenericForwardCompos private Checkbox chkSexta; private Checkbox chkSabado; + private Intbox ocupacaoInicial; + private Intbox ocupacaoFinal; + + private Doublebox txtTarifaOcupacao; + private Doublebox txtDescontoOcupacao; + @Autowired private transient PagedListWrapper plwPuntoVenta; @@ -333,6 +339,35 @@ public class RelatorioPricingEspecificoController extends MyGenericForwardCompos filtro.append("; Tarifa Volta: " + tarifaVolta); } + Double tarifaOcupcao = txtTarifaOcupacao.getValue(); + if (tarifaOcupcao != null) { + parametros.put("TARIFAOCUPACAO", tarifaOcupcao); + filtro.append("; Tarifa: " + tarifaOcupcao); + } + + Double descontoOcupcao = txtDescontoOcupacao.getValue(); + if (descontoOcupcao != null) { + parametros.put("DESCONTOOCUPACAO", descontoOcupcao); + filtro.append("; Desconto: " + descontoOcupcao); + } + + Integer ocpInicial = ocupacaoInicial.getValue(); + if (ocpInicial != null) { + parametros.put("OCUPACAOINICIAL", ocpInicial); + filtro.append("; Ocupaēćo Inicial: " + ocpInicial); + } + + Integer ocpFinal = ocupacaoFinal.getValue(); + if (ocpFinal != null) { + parametros.put("OCUPACAOFINAL", ocpFinal); + filtro.append("; Ocupaēćo Final: " + ocpFinal); + } + + if((ocpInicial != null && ocpFinal == null) || (ocpFinal != null && ocpInicial == null)) { + Messagebox.show(Labels.getLabel("editarPricingController.ErroOcupacao"), Labels.getLabel("relatorioPricingEspecificoController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + return; + } + parametros.put("FILTROS", filtro.toString()); relatorio = new RelatorioPricingEspecifico(parametros, dataSourceRead.getConnection()); @@ -566,4 +601,36 @@ public class RelatorioPricingEspecificoController extends MyGenericForwardCompos public void setPuntoVentaSelList(MyListbox puntoVentaSelList) { this.puntoVentaSelList = puntoVentaSelList; } + + public Intbox getOcupacaoInicial() { + return ocupacaoInicial; + } + + public void setOcupacaoInicial(Intbox ocupacaoInicial) { + this.ocupacaoInicial = ocupacaoInicial; + } + + public Intbox getOcupacaoFinal() { + return ocupacaoFinal; + } + + public void setOcupacaoFinal(Intbox ocupacaoFinal) { + this.ocupacaoFinal = ocupacaoFinal; + } + + public Doublebox getTxtTarifaOcupacao() { + return txtTarifaOcupacao; + } + + public void setTxtTarifaOcupacao(Doublebox txtTarifaOcupacao) { + this.txtTarifaOcupacao = txtTarifaOcupacao; + } + + public Doublebox getTxtDescontoOcupacao() { + return txtDescontoOcupacao; + } + + public void setTxtDescontoOcupacao(Doublebox txtDescontoOcupacao) { + this.txtDescontoOcupacao = txtDescontoOcupacao; + } } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index b4cc85e03..e62cc416c 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -3667,6 +3667,13 @@ editarPricingController.lhQuinta.label= Qui editarPricingController.lhSexta.label= Sex editarPricingController.lhSabado.label= Sab +editarPricingController.ocupacao=Ocupação +editarPricingController.ocupacaoInicial=OcupaƧao Inicial +editarPricingController.ocupacaoFinal=OcupaƧao Inicial +editarPricingController.TarifaOcupacao=Tarifa +editarPricingController.DescontoOcupacao=Desconto +editarPricingController.ErroOcupacao= Ɖ necessĆ”rio preencher a ocupação inicial e final ou nenhuma delas. + editarPricingController.lhPorcSen.label = Porcentaje ida editarPricingController.lhPorcRed.label = Porcentaje viaje ida y regreso editarPricingController.lhCantDias.label = DĆ­as de anticipación diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 09dd1399f..6e7e22e7c 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -3961,6 +3961,13 @@ editarPricingController.lhQuinta.label= Qui editarPricingController.lhSexta.label= Sex editarPricingController.lhSabado.label= Sab +editarPricingController.ocupacao=Ocupação +editarPricingController.ocupacaoInicial=OcupaƧao Inicial +editarPricingController.ocupacaoFinal=OcupaƧao Inicial +editarPricingController.TarifaOcupacao=Tarifa +editarPricingController.DescontoOcupacao=Desconto +editarPricingController.ErroOcupacao= Ɖ necessĆ”rio preencher a ocupação inicial e final ou nenhuma delas. + editarPricingController.lhPorcSen.label = Porcentagem Ida editarPricingController.lhPorcRed.label = Porcentagem Viagem Ida e Volta editarPricingController.lhCantDias.label = Dias de Antecipação diff --git a/web/gui/pricing/relatorioPricingEspecifico.zul b/web/gui/pricing/relatorioPricingEspecifico.zul index b8fc52d24..eb66ec1bc 100644 --- a/web/gui/pricing/relatorioPricingEspecifico.zul +++ b/web/gui/pricing/relatorioPricingEspecifico.zul @@ -112,6 +112,23 @@ + + +