diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/BusquedaPricingController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/BusquedaPricingController.java index 38025d897..7ff7dd3f4 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/BusquedaPricingController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/BusquedaPricingController.java @@ -19,6 +19,7 @@ import org.zkoss.zhtml.Messagebox; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zkplus.databind.BindingListModelList; import org.zkoss.zul.Checkbox; import org.zkoss.zul.Combobox; import org.zkoss.zul.Datebox; @@ -26,9 +27,14 @@ import org.zkoss.zul.Paging; import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Pricing; +import com.rjconsultores.ventaboletos.entidad.PricingRuta; +import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.ParadaService; import com.rjconsultores.ventaboletos.service.PricingService; +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; @@ -51,15 +57,24 @@ public class BusquedaPricingController extends MyGenericForwardComposer { private PricingService pricingService; @Autowired private EmpresaService empresaService; + @Autowired + private RutaService rutaService; private MyListbox pricingList; private Paging pagingPricing; private List lsPricing; private List lsEmpresa; + private List lsRuta; private Combobox cmbEmpresa; private Textbox txtNome; private Datebox fechaInicio; private Datebox fechaFin; private Checkbox chkBuscarInativos; + private Combobox cmbRuta; + private Combobox cmbOrigen; + private Combobox cmbDestino; + @Autowired + private ParadaService paradaService; + private static Logger log = Logger.getLogger(BusquedaPricingController.class); public List getLsPricing() { @@ -134,11 +149,35 @@ public class BusquedaPricingController extends MyGenericForwardComposer { this.fechaFin = fechaFin; } + public RutaService getRutaService() { + return rutaService; + } + + public void setRutaService(RutaService rutaService) { + this.rutaService = rutaService; + } + + public List getLsRuta() { + return lsRuta; + } + + public void setLsRuta(List lsRuta) { + this.lsRuta = lsRuta; + } + + public Combobox getCmbRuta() { + return cmbRuta; + } + + public void setCmbRuta(Combobox cmbRuta) { + this.cmbRuta = cmbRuta; + } + @Override public void doAfterCompose(Component comp) throws Exception { lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); - + super.doAfterCompose(comp); pricingList.setItemRenderer(new RenderPricing()); @@ -156,6 +195,19 @@ public class BusquedaPricingController extends MyGenericForwardComposer { refreshLista(); } + public void onChange$cmbEmpresa(Event ev) throws InterruptedException { + + Empresa empresa = (Empresa) (cmbEmpresa.getSelectedItem() != null ? cmbEmpresa.getSelectedItem().getValue() : null); + + if (empresa != null) { + lsRuta = rutaService.obtenerPorEmpresa(empresa); + lsRuta.add(rutaService.obtenerID(-1)); + BindingListModelList l = new BindingListModelList(lsRuta, true); + cmbRuta.setModel(l); + } + + } + public void onClick$btnPesquisa(Event ev) throws InterruptedException { refreshLista(); } @@ -169,7 +221,28 @@ public class BusquedaPricingController extends MyGenericForwardComposer { } private void refreshLista() { + Empresa empresa = (Empresa) (cmbEmpresa.getSelectedItem() != null ? cmbEmpresa.getSelectedItem().getValue() : null); + Ruta ruta = (Ruta) (cmbRuta.getSelectedItem() != null ? cmbRuta.getSelectedItem().getValue() : null); + Parada origen = null; + + if (cmbOrigen.getSelectedItem() == null) { + List lsParadaOri = paradaService.buscar(cmbOrigen.getText().toUpperCase()); + if (!lsParadaOri.isEmpty()) { + origen = lsParadaOri.get(0); + } + } else { + origen = (Parada) cmbOrigen.getSelectedItem().getValue(); + } + Parada destino = null; + if (cmbDestino.getSelectedItem() == null) { + List lsParadaOri = paradaService.buscar(cmbDestino.getText().toUpperCase()); + if (!lsParadaOri.isEmpty()) { + destino = lsParadaOri.get(0); + } + } else { + destino = (Parada) cmbDestino.getSelectedItem().getValue(); + } HibernateSearchObject pricingSearch = new HibernateSearchObject( Pricing.class, pagingPricing.getPageSize()); @@ -179,6 +252,18 @@ public class BusquedaPricingController extends MyGenericForwardComposer { } else { pricingSearch.addFilterIn("empresa", lsEmpresa); } + + if (ruta != null) { + pricingSearch.addFilterIn("pricingRutaList.ruta", ruta); + } + + if (origen != null) { + pricingSearch.addFilterIn("pricingMercadoList.origen", origen); + } + + if (destino != null) { + pricingSearch.addFilterIn("pricingMercadoList.destino", destino); + } if (!txtNome.getValue().isEmpty()) { pricingSearch.addFilterILike("nombPricing", txtNome.getValue() + "%"); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRuta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRuta.java index fe2599315..7659086f0 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRuta.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRuta.java @@ -21,7 +21,7 @@ public class RenderPricingRuta implements ListitemRenderer { Listcell lc = new Listcell(); if (pc.getRuta() != null) { - lc = new Listcell(pc.getRuta().getRutaId().toString() + " - " + pc.getRuta().getDescruta()); + lc = new Listcell(pc.getRuta().getRutaId().toString() + " - " + pc.getRuta().getDescruta() + " - " + pc.getRuta().getPrefixo() ); } else { lc = new Listcell("-"); } diff --git a/web/gui/pricing/busquedaPricing.zul b/web/gui/pricing/busquedaPricing.zul index 92f2da475..0685981f1 100644 --- a/web/gui/pricing/busquedaPricing.zul +++ b/web/gui/pricing/busquedaPricing.zul @@ -51,6 +51,27 @@ + + + + + +