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 000000000..2ea269f71 Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPricingEspecifico.jasper differ 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 @@ + + + + + + + + + + +