diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/BusquedaTarifaOficialController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/BusquedaTarifaOficialController.java index 32c31131f..f59cebbd3 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/BusquedaTarifaOficialController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/BusquedaTarifaOficialController.java @@ -5,6 +5,8 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -25,11 +27,13 @@ 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.Ruta; import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.service.ClaseServicioService; import com.rjconsultores.ventaboletos.service.MarcaService; import com.rjconsultores.ventaboletos.service.MonedaService; +import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; @@ -45,6 +49,20 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderTarifaOficial; @Scope("prototype") public class BusquedaTarifaOficialController extends MyGenericForwardComposer { + private final static Comparator STRING_NULL_COMPARATOR = new Comparator() { + @Override + public int compare(String lhs, String rhs) { + if (lhs == null) { + return -1; + } + if (rhs == null) { + return 1; + } + + return lhs.compareTo(rhs); + } + }; + @Autowired private transient PagedListWrapper plwTarifaOficial; private Paging pagingTarifaOficial; @@ -53,23 +71,27 @@ public class BusquedaTarifaOficialController extends MyGenericForwardComposer { @Autowired private ClaseServicioService claseServicioService; @Autowired + private RutaService rutaService; + @Autowired private MonedaService monedaService; private List lsMarcas; private List lsClaseServico; + private List lsLinhas; + private List lsNumLinhas; private List lsTramos; private List lsMonedas; - private MyListbox tarifaList; - private Combobox cmbMarca; private Combobox cmbOrigem; private Combobox cmbDestino; - private Combobox cmbMoneda; + private Combobox cmbMarca; private Combobox cmbClaseServicio; + private Combobox cmbLinha; + private Combobox cmbNumLinha; + private Combobox cmbMoneda; private Combobox cmbVigenciaTarifaOficial; - + private MyListbox tarifaList; + private static final Logger log = Logger.getLogger(BusquedaTarifaOficialController.class); - - public Combobox getCmbVigenciaTarifaOficial() { return cmbVigenciaTarifaOficial; } @@ -86,6 +108,22 @@ public class BusquedaTarifaOficialController extends MyGenericForwardComposer { this.cmbClaseServicio = cmbClaseServicio; } + public Combobox getCmbLinha() { + return cmbLinha; + } + + public void setCmbLinha(Combobox cmbLinha) { + this.cmbLinha = cmbLinha; + } + + public Combobox getCmbNumLinha() { + return cmbNumLinha; + } + + public void setCmbNumLinha(Combobox cmbNumLinha) { + this.cmbNumLinha = cmbNumLinha; + } + public Combobox getCmbMarca() { return cmbMarca; } @@ -114,6 +152,22 @@ public class BusquedaTarifaOficialController extends MyGenericForwardComposer { return lsMarcas; } + public List getLsLinhas() { + return lsLinhas; + } + + public void setLsLinhas(List lsLinhas) { + this.lsLinhas = lsLinhas; + } + + public List getLsNumLinhas() { + return lsNumLinhas; + } + + public void setLsNumLinhas(List lsNumLinhas) { + this.lsNumLinhas = lsNumLinhas; + } + public void setLsMarcas(List lsMarcas) { this.lsMarcas = lsMarcas; } @@ -174,6 +228,17 @@ public class BusquedaTarifaOficialController extends MyGenericForwardComposer { lsClaseServico.add(null); lsClaseServico.addAll(claseServicioService.obtenerTodos()); + lsLinhas = new ArrayList(); + lsNumLinhas = new ArrayList(); + lsLinhas.add(0, null); + lsNumLinhas.add(0, null); + for (Ruta ruta: rutaService.obtenerTodos()) { + lsLinhas.add(ruta.getDescruta()); + lsNumLinhas.add(ruta.getNumRuta()); + } + Collections.sort(lsLinhas, STRING_NULL_COMPARATOR); + Collections.sort(lsNumLinhas, STRING_NULL_COMPARATOR); + lsMonedas = new ArrayList(); lsMonedas.add(null); lsMonedas.addAll(monedaService.obtenerTodos()); @@ -186,7 +251,7 @@ public class BusquedaTarifaOficialController extends MyGenericForwardComposer { return; } - Map args = new HashMap(); + Map args = new HashMap(); args.put("tarifaOficial", t); args.put("tarifaOficialList", tarifaList); @@ -194,23 +259,26 @@ public class BusquedaTarifaOficialController extends MyGenericForwardComposer { Labels.getLabel("editarTarifaOficialController.window.title"), args, MODAL); } + @SuppressWarnings("unchecked") + private T getIfSelected(Combobox cb) { + return (T) (cb.getSelectedItem() != null ? cb.getSelectedItem().getValue() : null); + } + private void refreshLista() throws InterruptedException { - Moneda moneda = (Moneda) (cmbMoneda.getSelectedItem() != null ? cmbMoneda.getSelectedItem().getValue() : null); - Marca marca = (Marca) (cmbMarca.getSelectedItem() != null ? cmbMarca.getSelectedItem().getValue() : null); - ClaseServicio claseServicio = (ClaseServicio) (cmbClaseServicio.getSelectedItem() != null ? cmbClaseServicio.getSelectedItem().getValue() : null); - Parada origem = (Parada) (cmbOrigem.getSelectedItem() != null ? cmbOrigem.getSelectedItem().getValue() : null); - Parada destino = (Parada) (cmbDestino.getSelectedItem() != null ? cmbDestino.getSelectedItem().getValue() : null); + Parada origem = getIfSelected(cmbOrigem); + Parada destino = getIfSelected(cmbDestino); + Marca marca = getIfSelected(cmbMarca); + ClaseServicio claseServicio = getIfSelected(cmbClaseServicio); + String linha = getIfSelected(cmbLinha); + String numLinha = getIfSelected(cmbNumLinha); + Moneda moneda = getIfSelected(cmbMoneda); if ((moneda == null) && (!cmbMoneda.getText().isEmpty())) { - try { - Messagebox.show(Labels.getLabel("MSG.SELECCIONE.VALOR.CORRECTO") + " Moneda.", - Labels.getLabel("editarTarifaOficialController.window.title"), - Messagebox.OK, Messagebox.EXCLAMATION); + Messagebox.show(Labels.getLabel("MSG.SELECCIONE.VALOR.CORRECTO") + " Moneda.", + Labels.getLabel("editarTarifaOficialController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); - return; - } catch (Exception ex) { - log.error(ex); - } + return; } if ((marca == null) && (!cmbMarca.getText().isEmpty())) { @@ -229,8 +297,6 @@ public class BusquedaTarifaOficialController extends MyGenericForwardComposer { return; } - - if ((origem == null) && (!cmbOrigem.getText().isEmpty())) { Messagebox.show(Labels.getLabel("MSG.SELECCIONE.VALOR.CORRECTO") + " Origen.", Labels.getLabel("editarTarifaOficialController.window.title"), @@ -247,25 +313,42 @@ public class BusquedaTarifaOficialController extends MyGenericForwardComposer { return; } + if ((linha == null) && (!cmbLinha.getText().isEmpty())) { + Messagebox.show(Labels.getLabel("MSG.SELECCIONE.VALOR.CORRECTO") + " Linea.", + Labels.getLabel("editarTarifaOficialController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + if ((numLinha == null) && (!cmbNumLinha.getText().isEmpty())) { + Messagebox.show(Labels.getLabel("MSG.SELECCIONE.VALOR.CORRECTO") + " Número Linea.", + Labels.getLabel("editarTarifaOficialController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + HibernateSearchObject tarifaBusqueda = new HibernateSearchObject(TarifaOficial.class, pagingTarifaOficial.getPageSize()); - HibernateSearchObject tarifaBusqueda =new HibernateSearchObject(TarifaOficial.class, pagingTarifaOficial.getPageSize()); - tarifaBusqueda.addFilterEqual("activo", Boolean.TRUE); tarifaBusqueda.addFilterEqual("moneda", moneda); - - if(marca != null){ - tarifaBusqueda.addFilterEqual("marca", marca); - }else{ - tarifaBusqueda.addFilterIn("marca", lsMarcas); + + if (marca != null) { + tarifaBusqueda.addFilterEqual("marca", marca); + } + else { + tarifaBusqueda.addFilterIn("marca", lsMarcas); } - tarifaBusqueda.addFilterEqual("claseServicio", claseServicio); tarifaBusqueda.addFilterEqual("tramo.origem", origem); tarifaBusqueda.addFilterEqual("tramo.destino", destino); + tarifaBusqueda.addFilterEqual("claseServicio", claseServicio); + tarifaBusqueda.addFilterEqual("ruta.descruta", linha); + tarifaBusqueda.addFilterEqual("ruta.numRuta", numLinha); - plwTarifaOficial.init(tarifaBusqueda, tarifaList, pagingTarifaOficial); if (tarifaList.getData().length == 0) { - Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),Labels.getLabel("editarTarifaOficialController.window.title"),Messagebox.OK, Messagebox.INFORMATION); + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),Labels.getLabel("editarTarifaOficialController.window.title"),Messagebox.OK, Messagebox.INFORMATION); } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderTarifaOficial.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderTarifaOficial.java index 63a1d30d5..bf9f6f6a0 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderTarifaOficial.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderTarifaOficial.java @@ -4,14 +4,14 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import java.text.DecimalFormat; -import java.text.SimpleDateFormat; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.TarifaOficial; + /** * * @author rodrigo @@ -98,6 +98,13 @@ public class RenderTarifaOficial implements ListitemRenderer { } lc.setParent(lstm); + if (t.getRuta() != null) { + lc = new Listcell(t.getRuta().getNumRuta()); + } else { + lc = new Listcell(""); + } + lc.setParent(lstm); + lstm.setAttribute("data", t); } } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index cead12d88..21340c6c1 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -2172,6 +2172,7 @@ busquedaTarifaController.lhCategoria.label = Tipo de pasaje busquedaTarifaController.lhTramo.label = Tramo busquedaTarifaController.lhOrgao.label = Instituición busquedaTarifaController.lhLinha.label = Linea +busquedaTarifaController.lhNumLinha.label = Número Linea busquedaTarifaController.lhPedagio.label = Peaje busquedaTarifaController.lhTaxa.label = Tasa de abordaje busquedaTarifaController.lhSeguro.label = Seguro @@ -2183,7 +2184,6 @@ busquedaTarifaController.lhprecioredabierto.label = Tarifa de regreso abierto busquedaTarifaController.btnAddTarifaCategoria.tooltiptext = Incluir busquedaTarifaController.btnRmvTarifaCategoria.tooltiptext = Eliminar busquedaTarifaController.lhTipoPontoVenta.label = Canal de venta -busquedaTarifaController.lhLinha.label = Linha busquedaTarifaController.lhVia.label = Via busquedaTarifaController.btnAddTarifaTipoPontoVenta.tooltiptext = Incluir busquedaTarifaController.btnRmvTarifaTipoPontoVenta.tooltiptext = Eliminar diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 613eacc98..1f20513bd 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -1,4 +1,4 @@ - # V. 1.4 +# V. 1.4 # Para alterar esta planilha, selecione Ferramentas | Planilhas # E abrir a planilha no editor. @@ -2227,6 +2227,7 @@ busquedaTarifaController.lhCategoria.label = Tipo de Passagem busquedaTarifaController.lhTramo.label = Trecho busquedaTarifaController.lhOrgao.label = Órgão busquedaTarifaController.lhLinha.label = Linha +busquedaTarifaController.lhNumLinha.label = Número Linha busquedaTarifaController.lhPedagio.label = Pedágio busquedaTarifaController.lhTaxa.label = Taxa de Embarque busquedaTarifaController.lhSeguro.label = Seguro @@ -2238,7 +2239,6 @@ busquedaTarifaController.lhprecioredabierto.label = Tarifa volta em aberto busquedaTarifaController.btnAddTarifaCategoria.tooltiptext = Incluir busquedaTarifaController.btnRmvTarifaCategoria.tooltiptext = Eliminar busquedaTarifaController.lhTipoPontoVenta.label = Canal de Venda -busquedaTarifaController.lhLinha.label = Linha busquedaTarifaController.lhVia.label = Via busquedaTarifaController.btnAddTarifaTipoPontoVenta.tooltiptext = Incluir busquedaTarifaController.btnRmvTarifaTipoPontoVenta.tooltiptext = Eliminar @@ -5952,10 +5952,6 @@ busquedaOCDParamController.tipopenalizacion.label = Penalização por busquedaOCDParamController.parametroOCD.label = Parametros OCD busquedaOCDParamController.orgaoconcedente.label = Orgão Concedente -busquedaOCDParamController.FormaPagamentoOCD.label = Formas de pagamento para geração OCD -busquedaOCDParamController.SomenteCartao.label = Somente cartão -busquedaOCDParamController.TodasFormasPagamento.label = Todas as formas de pagamento - #complejidad contrasena complejidadContrasena.CANT_MIN_CARACTER=A senha deve ter um tamanho mínimo de {0} caracteres complejidadContrasena.CANT_MIN_LETRA=A senha deve ter ao menos {0} letra diff --git a/web/gui/tarifas/busquedaTarifasOficial.zul b/web/gui/tarifas/busquedaTarifasOficial.zul index 8ff006ecf..5fc5ea566 100644 --- a/web/gui/tarifas/busquedaTarifasOficial.zul +++ b/web/gui/tarifas/busquedaTarifasOficial.zul @@ -39,21 +39,33 @@ - - + + + + + + @@ -98,6 +110,8 @@ label="${c:l('busquedaTarifaController.lhOrgao.label')}" sort="auto(orgaoConcedente.descOrgao)"/> +