From 4adb95f375ff0c6ccfd37171d2b93640277261f0 Mon Sep 17 00:00:00 2001 From: frederico Date: Wed, 17 Feb 2016 11:36:31 +0000 Subject: [PATCH] =?UTF-8?q?fixed=20bug=20#7112=20-=20desenvolvimento=20rel?= =?UTF-8?q?at=C3=B3rio=20de=20tabela=20de=20pre=C3=A7os?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@52968 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/impl/RelatorioTabelaPreco.java | 95 ++++++ .../RelatorioTabelaPreco_es.properties | 25 ++ .../RelatorioTabelaPreco_pt_BR.properties | 25 ++ .../templates/RelatorioTabelaPreco.jasper | Bin 0 -> 37005 bytes .../templates/RelatorioTabelaPreco.jrxml | 315 ++++++++++++++++++ .../RelatorioTabelaPrecoController.java | 185 ++++++++++ .../ItemMenuRelatorioTabelaPreco.java | 24 ++ web/WEB-INF/i3-label_es_MX.label | 8 + web/WEB-INF/i3-label_pt_BR.label | 7 + .../relatorios/filtroRelatorioTabelaPreco.zul | 57 ++++ 10 files changed, 741 insertions(+) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioTabelaPreco.java create mode 100644 web/gui/relatorios/filtroRelatorioTabelaPreco.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java new file mode 100644 index 000000000..5a200b814 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java @@ -0,0 +1,95 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Timestamp; +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.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioTabelaPreco extends Relatorio { + + public RelatorioTabelaPreco(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(); + NamedParameterStatement stmt = new NamedParameterStatement(conexao, getSql()); + + stmt.setTimestamp("dataInicial", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); + stmt.setTimestamp("dataFinal", new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime())); + + ResultSet rset = stmt.executeQuery(); + + while (rset.next()) { + Map dataResult = new HashMap(); + + dataResult.put("origem", rset.getString("origem")); + dataResult.put("destino", rset.getString("destino")); + dataResult.put("tarifa", rset.getBigDecimal("tarifa")); + dataResult.put("pedagio", rset.getBigDecimal("pedagio")); + dataResult.put("taxaEmbarque", rset.getBigDecimal("taxaEmbarque")); + dataResult.put("seguro", rset.getBigDecimal("seguro")); + dataResult.put("outros", rset.getBigDecimal("outros")); + dataResult.put("tipoClasse", rset.getString("tipoClasse")); + dataResult.put("linha", rset.getString("linha")); + dataResult.put("empresa", rset.getString("empresa")); + dataResult.put("dataVigencia", rset.getString("dataVigencia")); + + this.dados.add(dataResult); + } + + this.resultSet = rset; + } + }); + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql() { + StringBuilder sql = new StringBuilder(); + + sql.append("SELECT pOrigem.DESCPARADA as origem, "); + sql.append(" pDestino.DESCPARADA as destino, "); + sql.append(" COALESCE(t.precio,0) as tarifa, "); + sql.append(" COALESCE(t.IMPORTEPEDAGIO, 0) as pedagio, "); + sql.append(" COALESCE(t.IMPORTETAXAEMBARQUE, 0) as taxaEmbarque, "); + sql.append(" COALESCE(t.IMPORTESEGURO, 0) as seguro, "); + sql.append(" COALESCE(t.IMPORTEOUTROS, 0) as outros, "); + sql.append(" cs.DESCCLASE as tipoClasse, "); + sql.append(" r.DESCRUTA as linha, "); + sql.append(" e.NOMBEMPRESA as empresa, "); + sql.append(" vt.FECINICIOVIGENCIA || ' à ' || vt.FECFINVIGENCIA as dataVigencia "); + sql.append("FROM TARIFA t "); + sql.append("INNER JOIN PARADA pOrigem ON t.ORIGEN_ID = pOrigem.PARADA_ID "); + sql.append("INNER JOIN PARADA pDestino ON t.DESTINO_ID = pDestino.PARADA_ID "); + sql.append("INNER JOIN CLASE_SERVICIO cs ON cs.CLASESERVICIO_ID = t.CLASESERVICIO_ID "); + sql.append("INNER JOIN RUTA r ON r.RUTA_ID = t.RUTA_ID "); + sql.append("INNER JOIN MARCA m ON m.MARCA_ID = t.MARCA_ID "); + sql.append("INNER JOIN EMPRESA e ON e.EMPRESA_ID = m.EMPRESA_ID "); + sql.append("INNER JOIN VIGENCIA_TARIFA vt ON vt.VIGENCIATARIFA_ID = t.VIGENCIATARIFA_ID "); + sql.append("WHERE (:dataInicial BETWEEN vt.FECINICIOVIGENCIA AND vt.FECFINVIGENCIA ) "); + sql.append("AND (:dataFinal BETWEEN vt.FECINICIOVIGENCIA AND vt.FECFINVIGENCIA ) "); + + if (parametros.get("EMPRESA_ID") != null) { + sql.append(" AND e.empresa_id = " + parametros.get("EMPRESA_ID")); + } + + if (parametros.get("RUTA_ID") != null) { + sql.append(" AND r.RUTA_ID = " + parametros.get("RUTA_ID")); + } + + return sql.toString(); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_es.properties new file mode 100644 index 000000000..ca8a404a6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_es.properties @@ -0,0 +1,25 @@ +#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: + +#Labels header +label.origem=Origem +label.destino=Destino +label.tarifa=Tarifa +label.pedagio=Pedágio +label.taxaEmbarque=Taxa +label.seguro=Seguro +label.outros=Outros +label.tipoClasse=Classe +label.linha=Linha +label.empresa=Empresa +label.dataVigencia=Vigência \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_pt_BR.properties new file mode 100644 index 000000000..ca8a404a6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_pt_BR.properties @@ -0,0 +1,25 @@ +#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: + +#Labels header +label.origem=Origem +label.destino=Destino +label.tarifa=Tarifa +label.pedagio=Pedágio +label.taxaEmbarque=Taxa +label.seguro=Seguro +label.outros=Outros +label.tipoClasse=Classe +label.linha=Linha +label.empresa=Empresa +label.dataVigencia=Vigência \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jasper new file mode 100644 index 0000000000000000000000000000000000000000..6530b4717a31d6f1f7e3a552414b9fffa688355e GIT binary patch literal 37005 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 SHX1u#P)+#o*`s}xlK&5iqM;=K literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jrxml new file mode 100644 index 000000000..c33641763 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jrxml @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java new file mode 100644 index 000000000..2aea0c66d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java @@ -0,0 +1,185 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.util.Calendar; +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.Comboitem; +import org.zkoss.zul.Datebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioTabelaPreco; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.RutaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +@Controller("relatorioTabelaPrecoController") +@Scope("prototype") +public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + private Datebox datInicial; + private Datebox datFinal; + private MyComboboxEstandar cmbEmpresa; + private List lsEmpresa; + private MyComboboxEstandar cmbRuta; + private List lsRuta; + + @Autowired + private EmpresaService empresaService; + @Autowired + private RutaService rutaService; + @Autowired + private DataSource dataSourceRead; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + lsRuta = rutaService.obtenerTodos(); + super.doAfterCompose(comp); + } + + /** + * @throws Exception + * + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + { + if (datInicial != null && datFinal != null && datFinal.getValue().compareTo(datInicial.getValue()) < 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioTabelaPrecoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } else + { + Relatorio relatorio; + + Map parametros = new HashMap(); + + StringBuilder filtro = new StringBuilder(); + + filtro.append("Início período: "); + Calendar cal = Calendar.getInstance(); + cal.setTime(datInicial.getValue()); + filtro.append(cal.get(Calendar.DATE) + "/"); + filtro.append((cal.get(Calendar.MONTH) + 1) + "/"); + filtro.append(cal.get(Calendar.YEAR) + "; "); + + filtro.append("Fim período: "); + cal.setTime(datFinal.getValue()); + filtro.append(cal.get(Calendar.DATE) + "/"); + filtro.append((cal.get(Calendar.MONTH) + 1) + "/"); + filtro.append(cal.get(Calendar.YEAR) + "; "); + + parametros.put("DATA_INICIAL", (java.util.Date) datInicial.getValue()); + parametros.put("DATA_FINAL", (java.util.Date) datFinal.getValue()); + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioTabelaPrecoController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("USUARIO_NOME", UsuarioLogado.getUsuarioLogado().getNombusuario()); + + filtro.append("Empresa: "); + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", empresa.getEmpresaId()); + filtro.append(empresa.getNombempresa() + ";"); + } else { + filtro.append(" Todas;"); + } + + filtro.append("Linha: "); + Comboitem itemRuta = cmbRuta.getSelectedItem(); + if (itemRuta != null) { + Ruta ruta = (Ruta) itemRuta.getValue(); + parametros.put("RUTA_ID", ruta.getRutaId()); + filtro.append(ruta.getDescruta() + ";"); + } else { + filtro.append(" Todas;"); + } + + parametros.put("FILTROS", filtro.toString()); + + relatorio = new RelatorioTabelaPreco(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioTabelaPrecoController.window.title"), args, MODAL); + } + } + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception{ + executarRelatorio(); + } + + + public Datebox getDatInicial() { + return datInicial; + } + + public void setDatInicial(Datebox datInicial) { + this.datInicial = datInicial; + } + + public Datebox getDatFinal() { + return datFinal; + } + + public void setDatFinal(Datebox datFinal) { + this.datFinal = datFinal; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public MyComboboxEstandar getCmbRuta() { + return cmbRuta; + } + + public void setCmbRuta(MyComboboxEstandar cmbRuta) { + this.cmbRuta = cmbRuta; + } + + public List getLsRuta() { + return lsRuta; + } + + public void setLsRuta(List lsRuta) { + this.lsRuta = lsRuta; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioTabelaPreco.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioTabelaPreco.java new file mode 100644 index 000000000..dec84f0c6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioTabelaPreco.java @@ -0,0 +1,24 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioTabelaPreco extends DefaultItemMenuSistema { + + public ItemMenuRelatorioTabelaPreco() { + super("indexController.mniRelatorioTabelaPreco.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.TABELAPRECO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioTabelaPreco.zul", + Labels.getLabel("relatorioTabelaPrecoController.window.title"), getArgs(), desktop); + } +} \ No newline at end of file diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 0cf123358..59187aa55 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -250,6 +250,7 @@ indexController.mniRelatorioDemandas.label = Reporte de Demandas indexController.mniRelatorioReceitaServico.label = Reporte de Ingreso por Servicio indexController.mniRelatorioCancelamentoVendaCartao.label = Reporte Cancelación de Venta con Tarjeta indexController.mniRelatorioCancelamentoTransacao.label = Relatório de Cancelamento de Transação +indexController.mniRelatorioTabelaPreco.label = Relátorio de Tabela de Preços indexController.mniRelatorioAIDF.label = Reporte AIDF indexController.mniPrecoApanhe.label = Preço Apanhe indexController.mniRelatorioVendasPacotesResumido.label = Ventas de Paquetes - Resumido @@ -4177,6 +4178,13 @@ relatorioCancelamentoTransacaoController.btnLimpar.label = Limpar relatorioCancelamentoTransacaoController.lbNumero.value = Número Agência relatorioCancelamentoTransacaoController.lbBilheteiro.value = Bilheteiro +#Relatorio de Tabela Preco +relatorioTabelaPrecoController.window.title = Relatório de Tabela de Preços +relatorioTabelaPrecoController.dataInicial.value = Data Inicial +relatorioTabelaPrecoController.dataFinal.value = Data Final +relatorioTabelaPrecoController.lbEmpresa.value = Empresa +relatorioTabelaPrecoController.lbLinha.value = Linha + # Editar Motivo cancelación equivalencia editarMotivoCancelacionEquivalenciaController.window.title = Equivalencia motivo de cancelación editarMotivoCancelacionEquivalenciaController.btnApagar.tooltiptext = Eliminar diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index fd761f6ad..d3c6d98e9 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -255,6 +255,7 @@ indexController.mniRelatorioDemandas.label = Relatório de Demandas indexController.mniRelatorioReceitaServico.label = Relatório de Receita por Serviço indexController.mniRelatorioCancelamentoVendaCartao.label = Relatório Cancelamento de Venda de Cartão indexController.mniRelatorioCancelamentoTransacao.label = Relatório de Cancelamento de Transação +indexController.mniRelatorioTabelaPreco.label = Relátorio de Tabela de Preços indexController.mniRelatorioAIDF.label = Relatório AIDF indexController.mniPrecoApanhe.label = Preço Apanhe indexController.mniRelatorioVendasPacotesResumido.label = Vendas de Pacotes - Resumido @@ -4239,6 +4240,12 @@ relatorioCancelamentoTransacaoController.btnLimpar.label = Limpar relatorioCancelamentoTransacaoController.lbNumero.value = Número Agência relatorioCancelamentoTransacaoController.lbBilheteiro.value = Bilheteiro +#Relatorio de Tabela Preco +relatorioTabelaPrecoController.window.title = Relatório de Tabela de Preços +relatorioTabelaPrecoController.dataInicial.value = Data Inicial +relatorioTabelaPrecoController.dataFinal.value = Data Final +relatorioTabelaPrecoController.lbEmpresa.value = Empresa +relatorioTabelaPrecoController.lbLinha.value = Linha # Editar Motivo cancelamento equivalencia editarMotivoCancelacionEquivalenciaController.window.title = Equivalencia Motivo de Cancelamento diff --git a/web/gui/relatorios/filtroRelatorioTabelaPreco.zul b/web/gui/relatorios/filtroRelatorioTabelaPreco.zul new file mode 100644 index 000000000..df678efd7 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioTabelaPreco.zul @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +