From 528dd322e0ed0b8612aa6db0437f96101e6e632a Mon Sep 17 00:00:00 2001 From: valdir Date: Mon, 2 Aug 2021 14:47:08 +0000 Subject: [PATCH] 0022355: ESPEC 2021 - Relatorio de pricing especifico SPRINT 2 bug#22355 dev:valdevir qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@108100 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioPricingEspecifico.java | 276 +++++++++ ...elatorioPricingEspecifico_es_MX.properties | 38 ++ ...elatorioPricingEspecifico_pt_BR.properties | 38 ++ .../RelatorioPricingEspecifico.jasper | Bin 0 -> 42692 bytes .../RelatorioPricingEspecifico.jrxml | 453 ++++++++++++++ .../RelatorioPricingEspecificoController.java | 569 ++++++++++++++++++ .../ItemMenuRelatorioPricingEspecifico.java | 27 + .../utilerias/menu/menu_original.properties | 1 + web/WEB-INF/i3-label_es_MX.label | 10 + web/WEB-INF/i3-label_pt_BR.label | 11 + .../pricing/relatorioPricingEspecifico.zul | 165 +++++ 11 files changed, 1588 insertions(+) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPricingEspecifico.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPricingEspecifico_es_MX.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPricingEspecifico_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/RelatorioPricingEspecificoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pricing/ItemMenuRelatorioPricingEspecifico.java create mode 100644 web/gui/pricing/relatorioPricingEspecifico.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPricingEspecifico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPricingEspecifico.java new file mode 100644 index 000000000..f708b3771 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPricingEspecifico.java @@ -0,0 +1,276 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioPricingEspecifico extends Relatorio { + + public RelatorioPricingEspecifico(Map parametros, Connection conexao) throws Exception { + + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + String sql = getSql(parametros); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + ResultSet rset = stmt.executeQuery(); + + while (rset.next()) { + Map dataResult = new HashMap(); + + dataResult.put("PRICINGESPECIFICO_ID", rset.getInt("PRICINGESPECIFICO_ID")); + dataResult.put("NOMBPRICING", rset.getString("NOMBPRICING")); + dataResult.put("DATAINICIOVIAGEM", rset.getTimestamp("DATAINICIOVIAGEM")); + dataResult.put("DATAFIMVIAGEM", rset.getTimestamp("DATAFIMVIAGEM")); + dataResult.put("DATAINICIOVENDA", rset.getTimestamp("DATAINICIOVENDA")); + dataResult.put("DATAFIMVENDA", rset.getTimestamp("DATAFIMVENDA")); + dataResult.put("CORRIDA_ID", rset.getObject("CORRIDA_ID") == null ? null : rset.getInt("CORRIDA_ID")); + dataResult.put("DESCCLASE", rset.getString("DESCCLASE")); + dataResult.put("DESCMARCA", rset.getString("DESCMARCA")); + dataResult.put("ORIGEM", rset.getString("ORIGEM")); + dataResult.put("DESTINO", rset.getString("DESTINO")); + dataResult.put("MOEDA", rset.getString("MOEDA")); + dataResult.put("TARIFAVOLTA", rset.getBigDecimal("TARIFAVOLTA")); + dataResult.put("EXIBEVENDA", rset.getBoolean("EXIBEVENDA")); + dataResult.put("OCUPACAO", rset.getString("OCUPACAO")); + dataResult.put("DIASSEMANA", rset.getString("DIASSEMANA")); + dataResult.put("CATEGORIAS", rset.getString("CATEGORIAS")); + dataResult.put("PONTOSDEVENDA", rset.getString("PONTOSDEVENDA")); + dataResult.put("CANALDEVENDA", rset.getString("CANALDEVENDA")); + + this.dados.add(dataResult); + } + + this.resultSet = rset; + } + }); + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(Map parametros) { + StringBuilder sql = new StringBuilder(); + + String formatoData = ("'dd/MM/yyyy hh24:mi:ss'"); + SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); + + Date DATA_INICIO_VIAGEM = (Date) parametros.get("DATA_INICIO_VIAGEM"); + Date DATA_FIM_VIAGEM = (Date) parametros.get("DATA_FIM_VIAGEM"); + + Date DATA_INICIO_VENDA = (Date) parametros.get("DATA_INICIO_VENDA"); + Date DATA_FIM_VENDA = (Date) parametros.get("DATA_FIM_VENDA"); + + String NOMBPRICING = (String) parametros.get("NOMBPRICING"); + + Integer ORIGEM = (Integer) parametros.get("ORIGEM"); + Integer DESTINO = (Integer) parametros.get("DESTINO"); + + Integer MARCA_ID = (Integer) parametros.get("MARCA_ID"); + Integer TIPO_PASSAGEIRO = (Integer) parametros.get("TIPO_PASSAGEIRO"); + Integer TIPO_CLASSE = (Integer) parametros.get("TIPO_CLASSE"); + Integer CANAL_DE_VENDA = (Integer) parametros.get("CANAL_DE_VENDA"); + Integer CORRIDA_ID = (Integer) parametros.get("CORRIDA_ID"); + + String puntoVentas = (String) parametros.get("NUMPUNTOVENTA"); + + Boolean domingo = (Boolean) parametros.get("DOMINGO"); + Boolean segunda = (Boolean) parametros.get("SEGUNDA"); + Boolean terca = (Boolean) parametros.get("TERCA"); + Boolean quarta = (Boolean) parametros.get("QUARTA"); + Boolean quinta = (Boolean) parametros.get("QUINTA"); + Boolean sexta = (Boolean) parametros.get("SEXTA"); + Boolean sabado = (Boolean) parametros.get("SABADO"); + + Double tarifaVolta = (Double) parametros.get("TARIFAVOLTA"); + + 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, "); + sql.append(" MOEDA.DESCMONEDA AS MOEDA, pe.tarifaredabierto AS TARIFAVOLTA, PE.EXIBEVENDA, "); + + //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(" WITHIN GROUP (ORDER BY PEO.PRICINGESPECIFICO_ID) OCUPACAO "); + sql.append(" FROM "); + sql.append(" PRICING_ESPECIFICO_OCUPACION PEO "); + sql.append(" WHERE "); + sql.append(" PEO.ACTIVO = 1 AND PEO.PRICINGESPECIFICO_ID = PE.PRICINGESPECIFICO_ID) AS OCUPACAO, "); + + //Dias da semana + sql.append(" ( CASE WHEN PE.DOMINGO = 0 THEN '' ELSE 'Dom,' END || "); + sql.append(" CASE WHEN PE.SEGUNDA = 0 THEN '' ELSE 'Seg,' END || "); + sql.append(" CASE WHEN PE.TERCA = 0 THEN '' ELSE 'Ter,' END || "); + sql.append(" CASE WHEN PE.QUARTA = 0 THEN '' ELSE 'Qua,' END || "); + sql.append(" CASE WHEN PE.QUINTA = 0 THEN '' ELSE 'Qui,' END || "); + sql.append(" CASE WHEN PE.SEXTA = 0 THEN '' ELSE 'Sex,' END || "); + sql.append(" CASE WHEN PE.SABADO = 0 THEN '' ELSE 'Sab' END ) AS DIASSEMANA,"); + + //Subquery categorias + sql.append(" ( SELECT"); + sql.append(" LISTAGG(CA.DESCCATEGORIA, '; ' ) WITHIN GROUP (ORDER BY PEC.PRICINGESPECIFICO_ID) OCUPACAO "); + sql.append(" FROM "); + sql.append(" PRICING_ESPECIFICO_CATEGORIA PEC INNER JOIN "); + sql.append(" CATEGORIA CA ON PEC.CATEGORIA_ID = CA.CATEGORIA_ID "); + sql.append(" WHERE "); + sql.append(" PEC.ACTIVO = 1 AND PEC.PRICINGESPECIFICO_ID = PE.PRICINGESPECIFICO_ID) AS CATEGORIAS, "); + + //Subquery pontos de venda + sql.append(" ( SELECT "); + sql.append(" LISTAGG(PTV.NOMBPUNTOVENTA, '; ' ) WITHIN GROUP (ORDER BY PEPV.PRICINGESPECIFICO_ID) OCUPACAO "); + sql.append(" FROM "); + sql.append(" PRICING_ESP_PUNTO_VENTA PEPV INNER JOIN "); + sql.append(" PUNTO_VENTA PTV ON PEPV.PUNTOVENTA_ID = PTV.PUNTOVENTA_ID "); + sql.append(" WHERE "); + sql.append(" PEPV.ACTIVO = 1 AND PEPV.PRICINGESPECIFICO_ID = PE.PRICINGESPECIFICO_ID) AS PONTOSDEVENDA, "); + + //Subquery canal de venda + sql.append(" ( SELECT "); + sql.append(" LISTAGG(TPV.DESCTIPO, '; ' ) WITHIN GROUP (ORDER BY PECV.PRICINGESPECIFICO_ID) OCUPACAO "); + sql.append(" FROM "); + sql.append(" PRICING_ESP_CANAL_VENTA PECV INNER JOIN "); + sql.append(" TIPO_PTOVTA TPV ON PECV.TIPOPTOVTA_ID = TPV.TIPOPTOVTA_ID "); + sql.append(" WHERE "); + sql.append(" PECV.ACTIVO = 1 AND PECV.PRICINGESPECIFICO_ID = PE.PRICINGESPECIFICO_ID) AS CANALDEVENDA "); + + sql.append(" FROM "); + sql.append(" PRICING_ESPECIFICO PE LEFT JOIN "); + sql.append(" CLASE_SERVICIO CS ON PE.CLASESERVICIO_ID = CS.CLASESERVICIO_ID LEFT JOIN "); + sql.append(" MARCA M ON PE.MARCA_ID = M.MARCA_ID LEFT JOIN "); + sql.append(" PARADA ORIGEM ON PE.ORIGEN_ID = ORIGEM.PARADA_ID LEFT JOIN "); + sql.append(" PARADA DESTINO ON PE.DESTINO_ID = DESTINO.PARADA_ID LEFT JOIN "); + sql.append(" MONEDA MOEDA ON PE.MONEDA_ID = MOEDA.MONEDA_ID "); + sql.append(" WHERE "); + sql.append(" PE.ACTIVO = 1 "); + + if(domingo != null && domingo == true) { + sql.append(" AND PE.DOMINGO <> 0 "); + } else if(domingo != null) { + sql.append(" AND PE.DOMINGO = 0"); + } + + if(segunda != null && segunda == true) { + sql.append(" AND PE.SEGUNDA <> 0 "); + } else if(segunda != null) { + sql.append(" AND PE.SEGUNDA = 0"); + } + + if(terca != null && terca == true) { + sql.append(" AND PE.TERCA <> 0 "); + } else if(terca != null) { + sql.append(" AND PE.TERCA = 0"); + } + + if(quarta != null && quarta == true) { + sql.append(" AND PE.QUARTA <> 0 "); + } else if(quarta != null) { + sql.append(" AND PE.QUARTA = 0"); + } + + if(quinta != null && quinta == true) { + sql.append(" AND PE.QUINTA <> 0 "); + } else if(quinta != null) { + sql.append(" AND PE.QUINTA = 0"); + } + + if(sexta != null && sexta == true) { + sql.append(" AND PE.SEXTA <> 0 "); + } else if(sexta != null) { + sql.append(" AND PE.SEXTA = 0"); + } + + if(sabado != null && sabado == true) { + sql.append(" AND PE.SABADO <> 0 "); + } else if(sabado != null) { + sql.append(" AND PE.SABADO = 0"); + } + + if(tarifaVolta != null) { + sql.append(" AND pe.TARIFAREDABIERTO = ").append(tarifaVolta); + } + + if (CANAL_DE_VENDA != null ) { + sql.append(" AND ").append(CANAL_DE_VENDA).append(" in "); + sql.append(" ( SELECT PECV.TIPOPTOVTA_ID "); + sql.append(" FROM "); + sql.append(" PRICING_ESP_CANAL_VENTA PECV "); + sql.append(" WHERE "); + sql.append(" PECV.ACTIVO = 1 AND PECV.PRICINGESPECIFICO_ID = PE.PRICINGESPECIFICO_ID) "); + } + + if (TIPO_PASSAGEIRO != null ) { + sql.append(" AND ").append(TIPO_PASSAGEIRO).append(" IN "); + sql.append(" ( SELECT"); + sql.append(" PEC.CATEGORIA_ID "); + sql.append(" FROM "); + sql.append(" PRICING_ESPECIFICO_CATEGORIA PEC "); + sql.append(" WHERE "); + sql.append(" PEC.ACTIVO = 1 AND PEC.PRICINGESPECIFICO_ID = PE.PRICINGESPECIFICO_ID) "); + } + + if (puntoVentas != null && !puntoVentas.isEmpty()) { + sql.append(" AND "); + sql.append(" ( SELECT "); + sql.append(" COUNT(PEPV.PUNTOVENTA_ID) "); + sql.append(" FROM "); + sql.append(" PRICING_ESP_PUNTO_VENTA PEPV "); + sql.append(" WHERE "); + sql.append(" PEPV.ACTIVO = 1 AND PEPV.PRICINGESPECIFICO_ID = PE.PRICINGESPECIFICO_ID "); + sql.append(" AND PEPV.PUNTOVENTA_ID IN (" + puntoVentas + ") ) > 0 "); + } + + if (NOMBPRICING != null) { + sql.append(" AND PE.NOMBPRICING LIKE '" + NOMBPRICING + "' "); + } + + if (DATA_INICIO_VIAGEM != null && DATA_FIM_VIAGEM != null) { + sql.append(" AND PE.DATAINICIOVIAGEM BETWEEN TO_DATE('" + format.format(DATA_INICIO_VIAGEM) +"', "+ formatoData + ") AND TO_DATE('" + format.format(DATA_FIM_VIAGEM) +"', "+ formatoData + ") "); + sql.append(" AND PE.DATAFIMVIAGEM BETWEEN TO_DATE('" + format.format(DATA_INICIO_VIAGEM) +"', "+ formatoData + ") AND TO_DATE('" + format.format(DATA_FIM_VIAGEM) +"', "+ formatoData + ") "); + } + + if (DATA_INICIO_VENDA != null && DATA_FIM_VENDA != null) { + sql.append(" AND PE.DATAINICIOVENDA BETWEEN TO_DATE('" + format.format(DATA_INICIO_VENDA) +"', "+ formatoData + ") AND TO_DATE('" + format.format(DATA_FIM_VENDA) +"', "+ formatoData + ") "); + sql.append(" AND PE.DATAFIMVENDA BETWEEN TO_DATE('" + format.format(DATA_INICIO_VENDA) +"', "+ formatoData + ") AND TO_DATE('" + format.format(DATA_FIM_VENDA) +"', "+ formatoData + ") "); + } + + if (ORIGEM != null ) { + sql.append(" AND ORIGEM.PARADA_ID = " + ORIGEM ); + } + + if (DESTINO != null ) { + sql.append(" AND DESTINO.PARADA_ID = " + DESTINO ); + } + + if (MARCA_ID != null ) { + sql.append(" AND PE.MARCA_ID = " + MARCA_ID ); + } + + if (TIPO_CLASSE != null ) { + sql.append(" AND PE.CLASESERVICIO_ID = ").append(TIPO_CLASSE); + } + + if (CORRIDA_ID != null ) { + sql.append(" AND PE.CORRIDA_ID = " + CORRIDA_ID ); + } + + sql.append(" ORDER BY "); + sql.append(" PE.PRICINGESPECIFICO_ID "); + + return sql.toString(); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPricingEspecifico_es_MX.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPricingEspecifico_es_MX.properties new file mode 100644 index 000000000..d8ec9d60f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPricingEspecifico_es_MX.properties @@ -0,0 +1,38 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +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.nomePricing=Nome +label.dataInicioViagem=In Viagem +label.dataFimViagem=Fim Viagem +label.dataInicioVenda=In Venda +label.dataFimVenda=Fim Venda +label.servico=Serviço +label.classe=Classe +label.marca=Marca +label.moeda=Moeda +label.tarifaVolta=T. Volta +label.exibeNaVenda=Exibe na Venda +label.canalDeVenda=Canal de Venda +label.origem=Origem +label.destino=Destino +label.ocupacao=Ocupação +label.dias=Dias +label.categorias=Tp. Pass. +label.pontosDeVenda=Agência + +label.puntoVenta=Agência +label.bilheteiro=Bilheteiro +label.valorTroco=Valor Troco +label.boleto=Boleto +label.transacao=Transação +label.totalTroco=Total Troco: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPricingEspecifico_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPricingEspecifico_pt_BR.properties new file mode 100644 index 000000000..11185f580 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPricingEspecifico_pt_BR.properties @@ -0,0 +1,38 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +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.nomePricing=Nome +label.dataInicioViagem=Início Viagem +label.dataFimViagem=Fim Viagem +label.dataInicioVenda=Início Venda +label.dataFimVenda=Fim Venda +label.servico=Serviço +label.classe=Classe +label.marca=Marca +label.moeda=Moeda +label.tarifaVolta=T. Volta +label.exibeNaVenda=Exibe na Venda +label.canalDeVenda=Canal de Venda +label.origem=Origem +label.destino=Destino +label.ocupacao=Ocupação +label.dias=Dias +label.categorias=Tipo Passageiro. +label.pontosDeVenda=Agência + +label.puntoVenta=Agência +label.bilheteiro=Bilheteiro +label.valorTroco=Valor Troco +label.boleto=Boleto +label.transacao=Transação +label.totalTroco=Total Troco: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jasper new file mode 100644 index 0000000000000000000000000000000000000000..2ea269f710852cf93e2da9ce0deea0c368d4c5fa GIT binary patch literal 42692 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jrxml new file mode 100644 index 000000000..0c0a81d8c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jrxml @@ -0,0 +1,453 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="101" splitType="Stretch"> + <line> + <reportElement uuid="54719d85-3e16-47ba-8a7d-50d626129e3d" x="0" y="68" width="800" height="1"/> + </line> + <textField> + <reportElement uuid="abfa62bc-56f8-4add-8903-0b64e8dbac7a" x="511" y="0" width="186" height="25"/> + <textElement textAlignment="Right"> + <font size="9" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="1a6a5b3b-d765-4d73-98d5-bd050b49dcf3" mode="Transparent" x="697" y="41" width="104" height="15" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.impressorPor}+" "+$P{USUARIO}]]></textFieldExpression> + </textField> + <line> + <reportElement uuid="9f8fb8ed-d527-4abf-9a65-791a8a9ce032" positionType="Float" x="0" y="84" width="800" height="1"/> + </line> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="942f5b46-6e12-4ef7-8f5f-28c8b90062e1" mode="Transparent" x="511" y="25" width="267" height="16" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.pagina}+" "+$V{PAGE_NUMBER}+" "+$R{cabecalho.de}]]></textFieldExpression> + </textField> + <textField evaluationTime="Report" pattern="" isBlankWhenNull="false"> + <reportElement uuid="2acc421d-eff6-44d3-a35d-23d25afbba1a" mode="Transparent" x="779" y="25" width="21" height="16" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> + </textField> + <textField pattern="dd/MM/yyyy HH:mm" isBlankWhenNull="false"> + <reportElement uuid="54330d46-2a96-4065-b0ee-7d80265e78b0" mode="Transparent" x="697" y="0" width="104" height="25" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> + </textField> + <textField isStretchWithOverflow="true"> + <reportElement uuid="852c6b40-a6cd-4a7d-9067-57114f688220" x="0" y="69" width="800" height="15"/> + <textElement verticalAlignment="Middle"> + <font size="8"/> + </textElement> + <textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="16fc4ee9-a895-4859-831b-4f609ff16d50" mode="Transparent" x="0" y="0" width="511" height="41" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="14" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$P{NOME_RELATORIO}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 new file mode 100644 index 000000000..e1caafb36 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/RelatorioPricingEspecificoController.java @@ -0,0 +1,569 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.pricing; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +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.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Bandbox; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Doublebox; +import org.zkoss.zul.Intbox; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Categoria; +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.entidad.Moneda; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioPricingEspecifico; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.CategoriaService; +import com.rjconsultores.ventaboletos.service.ClaseServicioService; +import com.rjconsultores.ventaboletos.service.MarcaService; +import com.rjconsultores.ventaboletos.service.MonedaService; +import com.rjconsultores.ventaboletos.service.ParadaService; +import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiro; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiroSelecionados; + +/** + * + * @author Valdir Cordeiro + */ +@Controller("relatorioPricingEspecificoController") +@Scope("prototype") +public class RelatorioPricingEspecificoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private MarcaService marcaService; + @Autowired + private MonedaService monedaService; + @Autowired + private CategoriaService categoriaService; + @Autowired + private ClaseServicioService claseServicioService; + @Autowired + private ParadaService paradaService; + @Autowired + private TipoPuntoVentaService puntoVentaService; + private List lsMarca; + private List lsMoneda; + private List lsCategoria; + private List lsClaseServicio; + private List lsPtovata; + @Autowired + private transient PagedListWrapper plwPricingEspecifico; + private Combobox cmbMarca; + private Combobox cmbMoneda; + private Combobox cmbTipoPassageiro; + private Combobox cmbTipoServicio; + private Combobox cmbPtovta; + private Combobox cmbOrigem; + private Combobox cmbDestino; + + private Datebox inicioDataViagem; + private Datebox fimDataViagem; + + private Datebox inicioDataVenda; + private Datebox fimDataVenda; + + private Textbox txtNombrePricing; + private Intbox txtCodigoServico; + + private Doublebox txtTarifa; + + @Autowired + private DataSource dataSourceRead; + + private MyTextbox txtNombrePuntoVenta; + private Bandbox bbPesquisaPuntoVenta; + private Paging pagingPuntoVenta; + private MyListbox puntoVentaList; + private MyListbox puntoVentaSelList; + + private Checkbox chkDomingo; + private Checkbox chkSegunda; + private Checkbox chkTerca; + private Checkbox chkQuarta; + private Checkbox chkQuinta; + private Checkbox chkSexta; + private Checkbox chkSabado; + + @Autowired + private transient PagedListWrapper plwPuntoVenta; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsMarca = marcaService.buscarMarcaPorEmpresa(UsuarioLogado.getUsuarioLogado().getEmpresa()); + lsMoneda = monedaService.obtenerTodos(); + lsCategoria = categoriaService.obtenerTodos(); + lsClaseServicio = claseServicioService.obtenerTodos(); + lsPtovata = puntoVentaService.obtenerTodos(); + + super.doAfterCompose(comp); + + puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); + + txtNombrePricing.focus(); + } + + public void onClick$btnRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + public void onDoubleClick$puntoVentaSelList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaSelList.getSelected(); + puntoVentaSelList.removeItem(puntoVenta); + } + + public void onDoubleClick$puntoVentaList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaList.getSelected(); + puntoVentaSelList.addItemNovo(puntoVenta); + } + + public void onClick$btnLimpar(Event ev) { + puntoVentaList.setData(new ArrayList()); + bbPesquisaPuntoVenta.setText(""); + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + private void executarPesquisa() { + HibernateSearchObject puntoVentaBusqueda = new HibernateSearchObject(PuntoVenta.class, pagingPuntoVenta.getPageSize()); + + puntoVentaBusqueda.addFilterILike("nombpuntoventa", "%" + txtNombrePuntoVenta.getValue() + "%"); + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + puntoVentaBusqueda.addFilterNotEqual("puntoventaId", -1); + puntoVentaBusqueda.addSortAsc("nombpuntoventa"); + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + plwPuntoVenta.init(puntoVentaBusqueda, puntoVentaList, pagingPuntoVenta); + + if (puntoVentaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioVendasBilheteiroController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + Relatorio relatorio; + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); + + if (inicioDataViagem.getValue() != null) { + parametros.put("DATA_INICIO_VIAGEM", (java.util.Date) inicioDataViagem.getValue()); + parametros.put("DATA_FIM_VIAGEM", (java.util.Date) fimDataViagem.getValue()); + + filtro.append("Data Viagem: ") + .append(format.format(inicioDataViagem.getValue())) + .append(" - ") + .append(format.format(fimDataViagem.getValue())) + .append(";"); + } + + if (inicioDataVenda.getValue() != null) { + parametros.put("DATA_INICIO_VENDA", (java.util.Date) inicioDataVenda.getValue()); + parametros.put("DATA_FIM_VENDA", (java.util.Date) fimDataVenda.getValue()); + + filtro.append("Data Venda: ") + .append(format.format(inicioDataVenda.getValue())) + .append(" - ") + .append(format.format(fimDataVenda.getValue())) + .append(";"); + } + + filtro.append("Origem: "); + Parada parada = (Parada) (cmbOrigem.getSelectedItem() != null ? cmbOrigem.getSelectedItem().getValue() : null); + if(parada != null) { + parametros.put("ORIGEM", parada.getParadaId()); + filtro.append(parada.getDescparada()); + } else { + filtro.append(" Todas; "); + } + + filtro.append("Destino: "); + Parada parada1 = (Parada) (cmbDestino.getSelectedItem() != null ? cmbDestino.getSelectedItem().getValue() : null); + if(parada1 != null) { + parametros.put("DESTINO", parada1.getParadaId()); + filtro.append(parada1.getDescparada()); + } else { + filtro.append(" Todas; "); + } + + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioPricingEspecificoController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("USUARIO_NOME", UsuarioLogado.getUsuarioLogado().getNombusuario()); + + filtro.append("Marca: "); + Comboitem itemMarca = cmbMarca.getSelectedItem(); + if (itemMarca != null) { + Marca marca = (Marca) itemMarca.getValue(); + parametros.put("MARCA_ID", marca.getMarcaId().intValue()); + filtro.append(marca.getDescmarca() + ";"); + } else { + filtro.append(" Todas; "); + } + + filtro.append("Tipo Passageiro: "); + Categoria categoria = (Categoria) (cmbTipoPassageiro.getSelectedItem() != null ? cmbTipoPassageiro.getSelectedItem().getValue() : null); + if (categoria != null) { + parametros.put("TIPO_PASSAGEIRO", categoria.getCategoriaId()); + filtro.append(categoria.getDesccategoria() + ";"); + } else { + filtro.append(" Todos; "); + } + + filtro.append("Tipo Classe: "); + ClaseServicio claseServicio = (ClaseServicio) (cmbTipoServicio.getSelectedItem() != null ? cmbTipoServicio.getSelectedItem().getValue() : null); + if (claseServicio != null) { + parametros.put("TIPO_CLASSE", claseServicio.getClaseservicioId()); + filtro.append(claseServicio.getDescclase() + ";"); + } else { + filtro.append(" Todas; "); + } + + filtro.append("Canal de Venda: "); + TipoPuntoVenta tipoPuntoVenta = (TipoPuntoVenta) (cmbPtovta.getSelectedItem() != null ? cmbPtovta.getSelectedItem().getValue() : null); + if (tipoPuntoVenta != null) { + parametros.put("CANAL_DE_VENDA", tipoPuntoVenta.getTipoptovtaId().intValue()); + filtro.append(tipoPuntoVenta.getDesctipo() + ";"); + } else { + filtro.append(" Todos; "); + } + + filtro.append("Serviço: "); + Integer codServico = txtCodigoServico.getValue(); + if (codServico != null) { + parametros.put("CORRIDA_ID", codServico); + filtro.append(codServico + ";"); + } else { + filtro.append(" Todos; "); + } + + filtro.append("Agência: "); + String puntoVentaIds = ""; + String puntoVentas = ""; + List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); + if (lsPuntoVentaSelecionados.size() > 0) { + for (int i = 0; i < lsPuntoVentaSelecionados.size(); i++) { + PuntoVenta puntoVenta = lsPuntoVentaSelecionados.get(i); + puntoVentas = puntoVentas + puntoVenta.getNombpuntoventa() + ","; + puntoVentaIds = puntoVentaIds + puntoVenta.getPuntoventaId() + ","; + } + + puntoVentaIds = puntoVentaIds.substring(0, puntoVentaIds.length() - 1); + puntoVentas = puntoVentas.substring(0, puntoVentas.length() - 1); + parametros.put("NUMPUNTOVENTA", puntoVentaIds); + } else { + filtro.append("Todas; "); + } + + filtro.append(puntoVentas).append(";"); + + filtro.append(" Dias da Semana: "); + if( chkDomingo.isChecked() && chkSegunda.isChecked() && chkTerca.isChecked() && chkQuarta.isChecked() && chkQuinta.isChecked() && chkSexta.isChecked() && chkSabado.isChecked()) { + filtro.append(" Todos; "); + } else { + filtro.append(chkDomingo.isChecked() ? "Dom " : ""); + parametros.put("DOMINGO", chkDomingo.isChecked()); + + filtro.append(chkSegunda.isChecked() ? "Seg " : ""); + parametros.put("SEGUNDA", chkSegunda.isChecked()); + + filtro.append(chkTerca.isChecked() ? "Ter " : ""); + parametros.put("TERCA", chkTerca.isChecked()); + + filtro.append(chkQuarta.isChecked() ? "Qua " : ""); + parametros.put("QUARTA", chkQuarta.isChecked()); + + filtro.append(chkQuinta.isChecked() ? "Qui " : ""); + parametros.put("QUINTA", chkQuinta.isChecked()); + + filtro.append(chkSexta.isChecked() ? "Sex " : ""); + parametros.put("SEXTA", chkSexta.isChecked()); + + filtro.append(chkSabado.isChecked() ? "Sab " : ""); + parametros.put("SABADO", chkSabado.isChecked()); + } + + String nomePricing = txtNombrePricing.getText().trim(); + if (!nomePricing.isEmpty()) { + parametros.put("NOMBPRICING", "%" + nomePricing + "%"); + filtro.append("; Nome Pricing: " + nomePricing); + } + + Double tarifaVolta = txtTarifa.getValue(); + if (tarifaVolta != null) { + parametros.put("TARIFAVOLTA", tarifaVolta); + filtro.append("; Tarifa Volta: " + tarifaVolta); + } + + parametros.put("FILTROS", filtro.toString()); + relatorio = new RelatorioPricingEspecifico(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioPricingEspecificoController.window.title"), args, MODAL); + } + + public List getLsMarca() { + return lsMarca; + } + + public void setLsMarca(List lsMarca) { + this.lsMarca = lsMarca; + } + + public List getLsMoneda() { + return lsMoneda; + } + + public void setLsMoneda(List lsMoneda) { + this.lsMoneda = lsMoneda; + } + + public MarcaService getMarcaService() { + return marcaService; + } + + public void setMarcaService(MarcaService marcaService) { + this.marcaService = marcaService; + } + + public MonedaService getMonedaService() { + return monedaService; + } + + public void setMonedaService(MonedaService monedaService) { + this.monedaService = monedaService; + } + + public PagedListWrapper getPlwPricingEspecifico() { + return plwPricingEspecifico; + } + + public void setPlwPricingEspecifico(PagedListWrapper plwPricingEspecifico) { + this.plwPricingEspecifico = plwPricingEspecifico; + } + + public List getLsCategoria() { + return lsCategoria; + } + + public void setLsCategoria(List lsCategoria) { + this.lsCategoria = lsCategoria; + } + + public List getLsClaseServicio() { + return lsClaseServicio; + } + + public void setLsClaseServicio(List lsClaseServicio) { + this.lsClaseServicio = lsClaseServicio; + } + + public CategoriaService getCategoriaService() { + return categoriaService; + } + + public void setCategoriaService(CategoriaService categoriaService) { + this.categoriaService = categoriaService; + } + + public ClaseServicioService getClaseServicioService() { + return claseServicioService; + } + + public void setClaseServicioService(ClaseServicioService claseServicioService) { + this.claseServicioService = claseServicioService; + } + + public Combobox getCmbMarca() { + return cmbMarca; + } + + public void setCmbMarca(Combobox cmbMarca) { + this.cmbMarca = cmbMarca; + } + + public Combobox getCmbMoneda() { + return cmbMoneda; + } + + public void setCmbMoneda(Combobox cmbMoneda) { + this.cmbMoneda = cmbMoneda; + } + + public Combobox getCmbTipoPassageiro() { + return cmbTipoPassageiro; + } + + public void setCmbTipoPassageiro(Combobox cmbTipoPassageiro) { + this.cmbTipoPassageiro = cmbTipoPassageiro; + } + + public Combobox getCmbTipoServicio() { + return cmbTipoServicio; + } + + public void setCmbTipoServicio(Combobox cmbTipoServicio) { + this.cmbTipoServicio = cmbTipoServicio; + } + + public ParadaService getParadaService() { + return paradaService; + } + + public void setParadaService(ParadaService paradaService) { + this.paradaService = paradaService; + } + + public List getLsPtovata() { + return lsPtovata; + } + + public void setLsPtovata(List lsPtovata) { + this.lsPtovata = lsPtovata; + } + + public TipoPuntoVentaService getPuntoVentaService() { + return puntoVentaService; + } + + public void setPuntoVentaService(TipoPuntoVentaService puntoVentaService) { + this.puntoVentaService = puntoVentaService; + } + + public Combobox getCmbPtovta() { + return cmbPtovta; + } + + public void setCmbPtovta(Combobox cmbPtovta) { + this.cmbPtovta = cmbPtovta; + } + + public Combobox getCmbOrigem() { + return cmbOrigem; + } + + public void setCmbOrigem(Combobox cmbOrigem) { + this.cmbOrigem = cmbOrigem; + } + + public Combobox getCmbDestino() { + return cmbDestino; + } + + public void setCmbDestino(Combobox cmbDestino) { + this.cmbDestino = cmbDestino; + } + + public Datebox getInicioDataViagem() { + return inicioDataViagem; + } + + public void setInicioDataViagem(Datebox inicioDataViagem) { + this.inicioDataViagem = inicioDataViagem; + } + + public Datebox getFimDataViagem() { + return fimDataViagem; + } + + public void setFimDataViagem(Datebox fimDataViagem) { + this.fimDataViagem = fimDataViagem; + } + + public Datebox getInicioDataVenda() { + return inicioDataVenda; + } + + public void setInicioDataVenda(Datebox inicioDataVenda) { + this.inicioDataVenda = inicioDataVenda; + } + + public Datebox getFimDataVenda() { + return fimDataVenda; + } + + public void setFimDataVenda(Datebox fimDataVenda) { + this.fimDataVenda = fimDataVenda; + } + + public Textbox getTxtNombrePricing() { + return txtNombrePricing; + } + + public void setTxtNombrePricing(Textbox txtNombrePricing) { + this.txtNombrePricing = txtNombrePricing; + } + + public Intbox getTxtCodigoServico() { + return txtCodigoServico; + } + + public void setTxtCodigoServico(Intbox txtCodigoServico) { + this.txtCodigoServico = txtCodigoServico; + } + + public Doublebox getTxtTarifa() { + return txtTarifa; + } + + public void setTxtTarifa(Doublebox txtTarifa) { + this.txtTarifa = txtTarifa; + } + + public PagedListWrapper getPlwPuntoVenta() { + return plwPuntoVenta; + } + + public void setPlwPuntoVenta(PagedListWrapper plwPuntoVenta) { + this.plwPuntoVenta = plwPuntoVenta; + } + + public MyListbox getPuntoVentaSelList() { + return puntoVentaSelList; + } + + public void setPuntoVentaSelList(MyListbox puntoVentaSelList) { + this.puntoVentaSelList = puntoVentaSelList; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pricing/ItemMenuRelatorioPricingEspecifico.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pricing/ItemMenuRelatorioPricingEspecifico.java new file mode 100644 index 000000000..95bb80915 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/pricing/ItemMenuRelatorioPricingEspecifico.java @@ -0,0 +1,27 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricing; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioPricingEspecifico extends DefaultItemMenuSistema { + + public ItemMenuRelatorioPricingEspecifico() { + super("indexController.mniRelatorioPricingEspecifico.label"); + } + + @Override + public String getClaveMenu() { + return ConstantesFuncionSistema.CLAVE_RELATORIO_PRICING_ESPECIFICO; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/pricing/relatorioPricingEspecifico.zul", + Labels.getLabel("relatorioPricingEspecificoController.window.title"), getArgs(), desktop); + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index 634a64152..a199380c0 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -139,6 +139,7 @@ pricing.general=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricing.I pricing.especifico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricing.ItemMenuPricingEspecifico pricing.modificacionMassivaEspecifico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricing.ItemMenuModificacionMassivaPricingEspecifico pricing.classeTarifaria=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricing.ItemMenuPricingClasseTarifaria +pricing.relatorioEspecifico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricing.ItemMenuRelatorioPricingEspecifico ingresosExtras=com.rjconsultores.ventaboletos.web.utilerias.menu.item.ingreso.MenuIngreso ingresosExtras.ingreso=com.rjconsultores.ventaboletos.web.utilerias.menu.item.ingreso.ItemMenuIngreso analitico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.MenuAnalitico diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index cf61e7b8c..48b67d42d 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -191,6 +191,16 @@ indexController.mniVersion.label = Versión indexController.mniPricing.label = Pricing indexController.mniPricingCtrl.label = Configurações do Pricing indexController.mniConfiguracionServicio.label = Configuración de producto o servicio de terceros + +indexController.mniRelatorioPricingEspecifico.label = Relatório Pricing Específico +relatorioPricingEspecificoController.window.title = Relatório Pricing Específico +editarRelatorioPricingController.lhdataInicioViagem.label= Início Data Viagem +editarRelatorioPricingController.lhdataFimViagem.label= Fim Data Viagem +editarRelatorioPricingController.lhdataInicioVenda.label= Início Data Venda +editarRelatorioPricingController.lhdataFimVenda.label= Fim Data Venda +editarRelatorioPricingController.tarifaVolta.title = Tarifa Volta +editarRelatorioPricingController.btnRelatorio.label= Executar Relatório + indexController.mniPricingEspecifico.label = Pricing específico indexController.mnSeguridad.label = Seguridad indexController.mniPerfil.label = Perfil diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index b012fbb1d..0d1830626 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -199,6 +199,17 @@ indexController.mniVersion.label = Versão indexController.mniPricing.label = Pricing indexController.mniPricingCtrl.label = Configurações do Pricing indexController.mniConfiguracionServicio.label = Configuração de Produto ou Serviço Tercerizado + +indexController.mniRelatorioPricingEspecifico.label = Relatório Pricing Específico +relatorioPricingEspecificoController.window.title = Relatório Pricing Específico +editarRelatorioPricingController.lhdataInicioViagem.label= Início Data Viagem +editarRelatorioPricingController.lhdataFimViagem.label= Fim Data Viagem +editarRelatorioPricingController.lhdataInicioVenda.label= Início Data Venda +editarRelatorioPricingController.lhdataFimVenda.label= Fim Data Venda +editarRelatorioPricingController.tarifaVolta.title = Tarifa Volta +editarRelatorioPricingController.btnRelatorio.label= Executar Relatório + + indexController.mniPricingEspecifico.label = Pricing Específico indexController.mnSeguridad.label = Segurança indexController.mniPerfil.label = Perfil diff --git a/web/gui/pricing/relatorioPricingEspecifico.zul b/web/gui/pricing/relatorioPricingEspecifico.zul new file mode 100644 index 000000000..b8fc52d24 --- /dev/null +++ b/web/gui/pricing/relatorioPricingEspecifico.zul @@ -0,0 +1,165 @@ + + + + + + + + + + +