From c0a8cd539c20b8cecc684d27c0d1ff94b8c87110 Mon Sep 17 00:00:00 2001 From: frederico Date: Tue, 1 Mar 2016 16:58:02 +0000 Subject: [PATCH] =?UTF-8?q?fixed=20bug=200007112=20-=20melhorias=20relat?= =?UTF-8?q?=C3=B3rio=20tabela=20de=20pre=C3=A7o?= 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@53412 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/impl/RelatorioTabelaPreco.java | 34 ++- .../RelatorioTabelaPreco_es.properties | 6 +- .../RelatorioTabelaPreco_pt_BR.properties | 6 +- .../templates/RelatorioTabelaPreco.jasper | Bin 44516 -> 50198 bytes .../templates/RelatorioTabelaPreco.jrxml | 152 ++++++++++-- ...atorioCancelamentoTransacaoController.java | 2 +- .../RelatorioTabelaPrecoController.java | 219 ++++++++++++------ .../RenderLinhaRelatorioTabelaPreco.java | 24 ++ web/WEB-INF/i3-label_es_MX.label | 2 + web/WEB-INF/i3-label_pt_BR.label | 2 + .../relatorios/filtroRelatorioTabelaPreco.zul | 63 ++++- 11 files changed, 400 insertions(+), 110 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderLinhaRelatorioTabelaPreco.java diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java index f790717f8..17ff1ae91 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTabelaPreco.java @@ -11,7 +11,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; public class RelatorioTabelaPreco extends Relatorio { - public RelatorioTabelaPreco(Map parametros, Connection conexao) throws Exception { + public RelatorioTabelaPreco(final Map parametros, Connection conexao) throws Exception { super(parametros, conexao); this.setCustomDataSource(new ArrayDataSource(this) { @@ -19,7 +19,6 @@ public class RelatorioTabelaPreco extends Relatorio { public void initDados() throws Exception { Connection conexao = this.relatorio.getConexao(); NamedParameterStatement stmt = new NamedParameterStatement(conexao, getSql()); - ResultSet rset = stmt.executeQuery(); while (rset.next()) { @@ -71,14 +70,21 @@ public class RelatorioTabelaPreco extends Relatorio { sql.append(" vt.FECINICIOVIGENCIA as dataVigenciaInicial, "); sql.append(" r.RUTA_ID as idLinha "); 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 (1 = 1) "); + 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("INNER JOIN RUTA_COMBINACION rc ON rc.RUTA_ID = r.RUTA_ID "); + sql.append("INNER JOIN TRAMO tr ON tr.TRAMO_ID = rc.TRAMO_ID "); + sql.append("INNER JOIN ORGAO_CONCEDENTE o ON o.ORGAOCONCEDENTE_ID = r.ORGAOCONCEDENTE_ID "); + sql.append("WHERE rc.INDVENTA = 1 "); + sql.append("AND rc.ACTIVO = 1 "); + sql.append("AND tr.ACTIVO = 1 "); + sql.append("AND tr.ORIGEN_ID = t.ORIGEN_ID "); + sql.append("AND tr.DESTINO_ID = t.DESTINO_ID "); if(parametros.get("VIGENCIA_ID") != null){ sql.append(" AND vt.VIGENCIATARIFA_ID = " + parametros.get("VIGENCIA_ID")); @@ -88,8 +94,12 @@ public class RelatorioTabelaPreco extends Relatorio { 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")); + if (parametros.get("LINHAS_ID") != null) { + sql.append(" AND r.RUTA_ID IN (" + parametros.get("LINHAS_ID") + ")"); + } + + if(parametros.get("ORGAO_CONCEDENTE_ID") != null){ + sql.append(" AND r.ORGAOCONCEDENTE_ID = " + parametros.get("ORGAO_CONCEDENTE_ID")); } sql.append( "ORDER BY r.RUTA_ID, vt.FECINICIOVIGENCIA "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_es.properties index b501a1968..b6c693ebd 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_es.properties @@ -11,6 +11,7 @@ cabecalho.pagina=P cabecalho.de=de cabecalho.filtros=Filtros: + #Labels header label.origem=Origem label.destino=Destino @@ -20,7 +21,8 @@ label.taxaEmbarque=Taxa label.seguro=Seguro label.outros=Outros label.tipoClasse=Classe -label.linha=Linha +label.linha=Linha(s) label.empresa=Empresa label.dataVigencia=Vig阯cia -label.total = Total \ No newline at end of file +label.total=Total +label.orgacaoConcedente=Org鉶 Concedente \ 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 index b501a1968..b6c693ebd 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioTabelaPreco_pt_BR.properties @@ -11,6 +11,7 @@ cabecalho.pagina=P cabecalho.de=de cabecalho.filtros=Filtros: + #Labels header label.origem=Origem label.destino=Destino @@ -20,7 +21,8 @@ label.taxaEmbarque=Taxa label.seguro=Seguro label.outros=Outros label.tipoClasse=Classe -label.linha=Linha +label.linha=Linha(s) label.empresa=Empresa label.dataVigencia=Vig阯cia -label.total = Total \ No newline at end of file +label.total=Total +label.orgacaoConcedente=Org鉶 Concedente \ 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 index ad62726116c0d27e659587f84e2b7e903b7d17f0..9813c10c0c05b20ad8f57387a08c1c7bddbb1a37 100644 GIT binary patch literal 50198 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 delta 13653 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 awdWI2SGVHtF!1kbF4FRU@FY$jjs0Jlg0A}j diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jrxml index 55b9fe71e..bbf0a0c91 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTabelaPreco.jrxml @@ -1,8 +1,8 @@ - + - + @@ -11,10 +11,12 @@ - + + + @@ -35,7 +37,7 @@ - + @@ -43,6 +45,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -75,7 +178,7 @@ - <band height="119"> + <band height="130"> <textField pattern="" isBlankWhenNull="false"> <reportElement uuid="136a5066-d141-4362-af36-0780f0d16542" mode="Transparent" x="0" y="0" width="457" height="35" forecolor="#000000" backcolor="#FFFFFF"/> <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> @@ -141,7 +244,7 @@ ($P{EMPRESA_ID}.toString() + " - " + $P{EMPRESA})]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true"> - <reportElement uuid="049832ef-f634-42f9-95b1-ac2e1fe23b10" x="0" y="75" width="102" height="18" isPrintWhenDetailOverflows="true"/> + <reportElement uuid="049832ef-f634-42f9-95b1-ac2e1fe23b10" x="0" y="112" width="102" height="18" isPrintWhenDetailOverflows="true"/> <box> <bottomPen lineWidth="0.0"/> </box> @@ -150,14 +253,13 @@ </textElement> <textFieldExpression><![CDATA[$R{label.linha} + ":"]]></textFieldExpression> </textField> - <textField> - <reportElement uuid="df6b8946-988c-479c-8eeb-c8d40c94734b" x="102" y="75" width="586" height="18"/> + <textField isStretchWithOverflow="true"> + <reportElement uuid="df6b8946-988c-479c-8eeb-c8d40c94734b" x="102" y="112" width="586" height="18"/> <textElement/> - <textFieldExpression><![CDATA[$P{RUTA_ID} == null ? -"Todas" : $P{RUTA}]]></textFieldExpression> + <textFieldExpression><![CDATA[$P{LINHAS}]]></textFieldExpression> </textField> <textField isStretchWithOverflow="true"> - <reportElement uuid="2d048310-1ec5-4711-b402-75ef3d3500d4" x="0" y="93" width="102" height="18" isPrintWhenDetailOverflows="true"/> + <reportElement uuid="2d048310-1ec5-4711-b402-75ef3d3500d4" x="0" y="76" width="102" height="18" isPrintWhenDetailOverflows="true"/> <box> <bottomPen lineWidth="0.0"/> </box> @@ -167,28 +269,28 @@ <textFieldExpression><![CDATA[$R{label.dataVigencia} + ":"]]></textFieldExpression> </textField> <textField pattern="dd/MM/yyyy"> - <reportElement uuid="40c47b73-ef86-4b76-a4bb-ec284d4e6f59" x="102" y="93" width="70" height="18"> + <reportElement uuid="40c47b73-ef86-4b76-a4bb-ec284d4e6f59" x="102" y="76" width="70" height="18"> <printWhenExpression><![CDATA[new Boolean($P{VIGENCIA_ID} != null)]]></printWhenExpression> </reportElement> <textElement textAlignment="Right"/> <textFieldExpression><![CDATA[$P{VIGENCIA_INICIAL}]]></textFieldExpression> </textField> <textField pattern="dd/MM/yyyy"> - <reportElement uuid="12564f32-d986-46a6-a184-23b23ba50bcb" x="190" y="93" width="70" height="18"> + <reportElement uuid="12564f32-d986-46a6-a184-23b23ba50bcb" x="190" y="76" width="70" height="18"> <printWhenExpression><![CDATA[new Boolean($P{VIGENCIA_ID} != null)]]></printWhenExpression> </reportElement> <textElement/> <textFieldExpression><![CDATA[$P{VIGENCIA_FINAL}]]></textFieldExpression> </textField> <staticText> - <reportElement uuid="bdfc1a2c-9e77-418f-8169-50c67ad7f116" x="172" y="93" width="18" height="18"> + <reportElement uuid="bdfc1a2c-9e77-418f-8169-50c67ad7f116" x="172" y="76" width="18" height="18"> <printWhenExpression><![CDATA[new Boolean($P{VIGENCIA_ID} != null)]]></printWhenExpression> </reportElement> <textElement textAlignment="Center"/> <text><![CDATA[脿]]></text> </staticText> <staticText> - <reportElement uuid="1bba53bd-7d81-491b-b1de-11a0c570c5c7" x="102" y="93" width="158" height="18"> + <reportElement uuid="1bba53bd-7d81-491b-b1de-11a0c570c5c7" x="102" y="76" width="158" height="18"> <printWhenExpression><![CDATA[new Boolean($P{VIGENCIA_ID} == null)]]></printWhenExpression> </reportElement> <textElement/> @@ -214,10 +316,26 @@ <textElement textAlignment="Center"/> <textFieldExpression><![CDATA[$F{empresa}]]></textFieldExpression> </textField> + <textField> + <reportElement uuid="0241b100-99d6-4e53-abd1-0154defc75bc" x="102" y="94" width="586" height="18"/> + <textElement/> + <textFieldExpression><![CDATA[$P{ORGAO_CONCEDENTE_ID} == null ? +"Todas" : $P{ORGAO_CONCEDENTE}]]></textFieldExpression> + </textField> + <textField isStretchWithOverflow="true"> + <reportElement uuid="afabe5dc-df90-4120-a42a-af1d3e6df583" x="0" y="94" width="102" height="18" isPrintWhenDetailOverflows="true"/> + <box> + <bottomPen lineWidth="0.0"/> + </box> + <textElement textAlignment="Right" verticalAlignment="Top"> + <font size="10" isBold="true" pdfFontName="Helvetica-Bold"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.orgacaoConcedente} + ":"]]></textFieldExpression> + </textField> </band> - + @@ -376,7 +494,7 @@ $F{outros}.doubleValue()]]> - + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoTransacaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoTransacaoController.java index 77a46f7bd..843f600e4 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoTransacaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoTransacaoController.java @@ -50,7 +50,7 @@ public class RelatorioCancelamentoTransacaoController extends MyGenericForwardCo public void doAfterCompose(Component comp) throws Exception { lsEmpresa = empresaService.obtenerTodos(); super.doAfterCompose(comp); - } + } /** * @throws Exception 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 index 5a82aea0f..a2f4a2e66 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioTabelaPrecoController.java @@ -1,5 +1,7 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; +import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -10,21 +12,31 @@ 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.Paging; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; 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.OrgaoConcedenteService; import com.rjconsultores.ventaboletos.service.RutaService; +import com.rjconsultores.ventaboletos.service.TarifaService; import com.rjconsultores.ventaboletos.service.VigenciaTarifaService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; 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.RenderLinhaRelatorioTabelaPreco; @Controller("relatorioTabelaPrecoController") @Scope("prototype") @@ -36,8 +48,15 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { private List lsVigencia; private MyComboboxEstandar cmbEmpresa; private List lsEmpresa; - private MyComboboxEstandar cmbRuta; - private List lsRuta; + private MyComboboxEstandar cmbOrgaoConcedente; + private List lsOrcaoConcedente; + @Autowired + private transient PagedListWrapper plwRuta; + + private Paging pagingLinha; + private MyTextbox txtLinha; + private MyListbox linhaList; + private MyListbox linhaSelList; @Autowired private VigenciaTarifaService vigenciaTarifaService; @@ -46,15 +65,22 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { @Autowired private RutaService rutaService; @Autowired - private DataSource dataSourceRead; - + private OrgaoConcedenteService orgaocConcedenteService; + @Autowired + private TarifaService tarifaService; + + @Autowired + private DataSource dataSourceRead; + @Override public void doAfterCompose(Component comp) throws Exception { lsVigencia = vigenciaTarifaService.obtenerTodos(); lsEmpresa = empresaService.obtenerTodos(); - lsRuta = rutaService.obtenerTodos(); - super.doAfterCompose(comp); - } + lsOrcaoConcedente = orgaocConcedenteService.obtenerTodos(); + super.doAfterCompose(comp); + linhaList.setItemRenderer(new RenderLinhaRelatorioTabelaPreco()); + linhaSelList.setItemRenderer(new RenderLinhaRelatorioTabelaPreco()); + } /** * @throws Exception @@ -63,51 +89,110 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { @SuppressWarnings({ "rawtypes", "unchecked" }) private void executarRelatorio() throws Exception { { - Relatorio relatorio; - - Map parametros = new HashMap(); - - parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioTabelaPrecoController.window.title")); - parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); - parametros.put("USUARIO_NOME", UsuarioLogado.getUsuarioLogado().getNombusuario()); - - Comboitem itemVigencia = cmbVigencia.getSelectedItem(); - if(itemVigencia != null){ - VigenciaTarifa vigencia = (VigenciaTarifa) itemVigencia.getValue(); - parametros.put("VIGENCIA_ID", vigencia.getVigenciatarifaId()); - parametros.put("VIGENCIA_INICIAL", vigencia.getFeciniciovigencia()); - parametros.put("VIGENCIA_FINAL", vigencia.getFecfinvigencia()); + Relatorio relatorio; + + Map parametros = new HashMap(); + + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioTabelaPrecoController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("USUARIO_NOME", UsuarioLogado.getUsuarioLogado().getNombusuario()); + + Comboitem itemVigencia = cmbVigencia.getSelectedItem(); + if (itemVigencia != null) { + VigenciaTarifa vigencia = (VigenciaTarifa) itemVigencia.getValue(); + parametros.put("VIGENCIA_ID", vigencia.getVigenciatarifaId()); + parametros.put("VIGENCIA_INICIAL", vigencia.getFeciniciovigencia()); + parametros.put("VIGENCIA_FINAL", vigencia.getFecfinvigencia()); + } + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", empresa.getEmpresaId()); + parametros.put("EMPRESA", empresa.getNombempresa()); + } + + String rutaIds = ""; + String rutas = ""; + List lsLinhasSelecionadas = new ArrayList(Arrays.asList(linhaSelList.getData())); + if (lsLinhasSelecionadas.isEmpty()) { + rutas = "Todas"; + } else { + for (int i = 0; i < lsLinhasSelecionadas.size(); i++) { + Ruta ruta = lsLinhasSelecionadas.get(i); + rutas += ruta.getDescruta() + ", "; + rutaIds += ruta.getRutaId() + ","; } - - Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); - if (itemEmpresa != null) { - Empresa empresa = (Empresa) itemEmpresa.getValue(); - parametros.put("EMPRESA_ID", empresa.getEmpresaId()); - parametros.put("EMPRESA", empresa.getNombempresa()); - } - - Comboitem itemRuta = cmbRuta.getSelectedItem(); - if (itemRuta != null) { - Ruta ruta = (Ruta) itemRuta.getValue(); - parametros.put("RUTA_ID", ruta.getRutaId()); - parametros.put("RUTA", ruta.getDescruta()); - } - - 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); - } - + // removendo ultima virgula + rutaIds = rutaIds.substring(0, rutaIds.length() - 1); + rutas = rutas.substring(0, rutas.length() - 2); + parametros.put("LINHAS_ID", rutaIds); + } + + parametros.put("LINHAS", rutas); + 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 void onClick$btnExecutarRelatorio(Event ev) throws Exception { + List lsLinhasSelecionadas = new ArrayList(Arrays.asList(linhaSelList.getData())); + if (lsLinhasSelecionadas.isEmpty()) { + Messagebox.show(Labels.getLabel("relatorioTabelaPrecoController.msg.informarLinha"), + Labels.getLabel("relatorioTabelaPrecoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + if (cmbVigencia.getValue() != null + && cmbEmpresa.getValue() != null) { + executarRelatorio(); + } + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + public void onClick$btnLimpar(Event ev) { + linhaList.setData(new ArrayList()); + txtLinha.setText(""); + } + + public void onDoubleClick$linhaSelList(Event ev) { + Ruta linha = (Ruta) linhaSelList.getSelected(); + linhaSelList.removeItem(linha); + } + + public void onDoubleClick$linhaList(Event ev) { + Ruta ruta = (Ruta) linhaList.getSelected(); + linhaSelList.addItemNovo(ruta); + } + + private void executarPesquisa() { + HibernateSearchObject rutaBusqueda = + new HibernateSearchObject(Ruta.class, pagingLinha.getPageSize()); + + rutaBusqueda.addFilterILike("descruta", "%" + txtLinha.getValue() + "%"); + rutaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + plwRuta.init(rutaBusqueda, linhaList, pagingLinha); + + if (linhaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioTabelaPrecoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } } - public List getLsEmpresa() { return lsEmpresa; @@ -125,22 +210,6 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { 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; - } - public MyComboboxEstandar getCmbVigencia() { return cmbVigencia; } @@ -155,8 +224,22 @@ public class RelatorioTabelaPrecoController extends MyGenericForwardComposer { public void setLsVigencia(List lsVigencia) { this.lsVigencia = lsVigencia; - } - - - + } + + public MyComboboxEstandar getCmbOrgaoConcedente() { + return cmbOrgaoConcedente; + } + + public void setCmbOrgaoConcedente(MyComboboxEstandar cmbOrgaoConcedente) { + this.cmbOrgaoConcedente = cmbOrgaoConcedente; + } + + public List getLsOrcaoConcedente() { + return lsOrcaoConcedente; + } + + public void setLsOrcaoConcedente(List lsOrcaoConcedente) { + this.lsOrcaoConcedente = lsOrcaoConcedente; + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderLinhaRelatorioTabelaPreco.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderLinhaRelatorioTabelaPreco.java new file mode 100644 index 000000000..55064da12 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderLinhaRelatorioTabelaPreco.java @@ -0,0 +1,24 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Ruta; + +public class RenderLinhaRelatorioTabelaPreco implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object o) throws Exception { + Ruta ruta = (Ruta) o; + + Listcell lc = new Listcell(ruta.getDescruta()); + lc.setParent(lstm); + + lstm.setAttribute("data", ruta); + } + +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 8a27eaa7a..c87dae111 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -4193,8 +4193,10 @@ relatorioCancelamentoTransacaoController.lbBilheteiro.value = Bilheteiro #Relatorio de Tabela Preco relatorioTabelaPrecoController.window.title = Relat贸rio de Tabela de Pre莽os relatorioTabelaPrecoController.vigencia = Vig锚ncia +relatorioTabelaPrecoController.orgaoConcedente.value = Org茫o Concedente relatorioTabelaPrecoController.lbEmpresa.value = Empresa relatorioTabelaPrecoController.lbLinha.value = Linha +relatorioTabelaPrecoController.msg.informarLinha = 脡 obrigat贸rio informar pelo menos uma linha no filtro. # Editar Motivo cancelaci贸n equivalencia editarMotivoCancelacionEquivalenciaController.window.title = Equivalencia motivo de cancelaci贸n diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 7fbdce252..a7e5f8875 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -4255,8 +4255,10 @@ relatorioCancelamentoTransacaoController.lbBilheteiro.value = Bilheteiro #Relatorio de Tabela Preco relatorioTabelaPrecoController.window.title = Relat贸rio de Tabela de Pre莽os relatorioTabelaPrecoController.vigencia = Vig锚ncia +relatorioTabelaPrecoController.orgaoConcedente.value = Org茫o Concedente relatorioTabelaPrecoController.lbEmpresa.value = Empresa relatorioTabelaPrecoController.lbLinha.value = Linha +relatorioTabelaPrecoController.msg.informarLinha = 脡 obrigat贸rio informar pelo menos uma linha no filtro. # 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 index a2b0b0da2..838518259 100644 --- a/web/gui/relatorios/filtroRelatorioTabelaPreco.zul +++ b/web/gui/relatorios/filtroRelatorioTabelaPreco.zul @@ -7,7 +7,7 @@ + height="312px" width="550px" border="normal"> @@ -23,9 +23,18 @@ buttonVisible="true" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar" model="@{winFiltroRelatorioTabelaPreco$composer.lsVigencia}" + width="100%" + constraint="no empty" /> + + + -