From 43966fa0e1b7a92969bdb4e8bd8d8b9a65e584a8 Mon Sep 17 00:00:00 2001 From: "lucas.taia" Date: Thu, 30 Mar 2023 15:16:20 -0300 Subject: [PATCH] fixes bug#AL-2431 --- pom.xml | 6 + .../utilitarios/PricingColorVO.java | 42 + .../utilitarios/PricingGestaoAlteradoVO.java | 44 + .../utilitarios/PricingGestaoVO.java | 78 + .../BusquedaGP_PricingController.java | 371 +++ ...usquedaGP_PricingEspecificoController.java | 548 ++++ .../CopiarGP_PricingController.java | 80 + .../CopiarGP_PricingEspecificoController.java | 97 + .../EditarGP_PricingAsientoController.java | 157 + .../EditarGP_PricingCategoriaController.java | 156 + .../EditarGP_PricingClaseController.java | 156 + .../EditarGP_PricingController.java | 2845 +++++++++++++++++ .../EditarGP_PricingCorridaController.java | 253 ++ .../EditarGP_PricingDiaController.java | 296 ++ .../EditarGP_PricingEspecificoController.java | 1262 ++++++++ ..._PricingEspecificoOcupacionController.java | 165 + .../EditarGP_PricingFormapagoController.java | 120 + .../EditarGP_PricingImporteController.java | 180 ++ .../EditarGP_PricingMarcaController.java | 148 + .../EditarGP_PricingMercadoController.java | 227 ++ ...cingOcupaAntecipaAutomaticoController.java | 402 +++ ...itarGP_PricingOcupaAntecipaController.java | 307 ++ .../EditarGP_PricingPuntoVentaController.java | 153 + .../EditarGP_PricingRutaController.java | 170 + .../EditarGP_PricingTipoPtoVtaController.java | 157 + ...ditarGP_PricingTipoServicioController.java | 166 + .../EditarGP_PricingVigenciaController.java | 207 ++ .../GestaoPricingController.java | 781 +++++ .../gestaoDePricing/ItemMenuPricing2.java | 27 + .../ItemMenuPricingEspecifico2.java | 27 + .../ItemMenuPricingGestao.java | 61 + .../gestaoDePricing/MenuGestaoDePricing.java | 17 + .../utilerias/menu/menu_original.properties | 4 + .../web/utilerias/render/RenderPricing.java | 129 +- .../render/RenderPricingAgencia.java | 38 +- .../render/RenderPricingAsiento.java | 40 +- .../utilerias/render/RenderPricingCanal.java | 36 +- .../render/RenderPricingCategoria.java | 43 +- .../utilerias/render/RenderPricingClase.java | 43 +- .../render/RenderPricingClasseTarifaria.java | 40 +- .../render/RenderPricingCorrida.java | 127 +- .../utilerias/render/RenderPricingDia.java | 364 ++- .../render/RenderPricingEspecifico.java | 128 +- .../RenderPricingEspecificoCategoria.java | 35 +- .../RenderPricingEspecificoOcupacion.java | 53 +- .../render/RenderPricingFormaPago.java | 54 +- .../render/RenderPricingImporte.java | 61 +- .../utilerias/render/RenderPricingMarca.java | 43 +- .../render/RenderPricingMercado.java | 106 +- .../render/RenderPricingOcupaAntecipa.java | 100 +- .../RenderPricingOcupaAntecipaLegenda.java | 29 + .../render/RenderPricingOcupacao.java | 45 + .../render/RenderPricingPuntoVenta.java | 43 +- .../render/RenderPricingRevisaoValores.java | 54 + .../utilerias/render/RenderPricingRuta.java | 67 +- .../render/RenderPricingTipoPtoVta.java | 44 +- .../render/RenderPricingTipoServicio.java | 43 +- .../render/RenderPricingVigencia.java | 110 +- src/java/spring-config.xml | 27 +- web/gui/gestao_pricing/busquedaGP_Pricing.zul | 115 + .../busquedaGP_PricingEspecifico.zul | 111 + web/gui/gestao_pricing/copiarGP_Pricing.zul | 34 + .../copiarGP_PricingEspecifico.zul | 34 + web/gui/gestao_pricing/editarGP_Pricing.zul | 951 ++++++ .../editarGP_PricingAsiento.zul | 53 + .../editarGP_PricingCategoria.zul | 45 + .../gestao_pricing/editarGP_PricingClase.zul | 46 + .../editarGP_PricingCorrida.zul | 89 + .../gestao_pricing/editarGP_PricingDia.zul | 88 + .../editarGP_PricingEspecifico.zul | 346 ++ .../editarGP_PricingEspecificoOcupacion.zul | 63 + .../editarGP_PricingFormapago.zul | 54 + .../editarGP_PricingImporte.zul | 51 + .../gestao_pricing/editarGP_PricingMarca.zul | 46 + .../editarGP_PricingMercado.zul | 51 + .../editarGP_PricingOcupaAntecipa.zul | 109 + ...ditarGP_PricingOcupaAntecipaAutomatico.zul | 96 + .../editarGP_PricingPuntoVenta.zul | 44 + .../gestao_pricing/editarGP_PricingRuta.zul | 45 + .../editarGP_PricingTipoPtoVta.zul | 45 + .../editarGP_PricingTipoServicio.zul | 46 + .../editarGP_PricingVigencia.zul | 59 + web/gui/gestao_pricing/gestaoPricing.zul | 392 +++ 83 files changed, 14078 insertions(+), 547 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingColorVO.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingGestaoAlteradoVO.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingGestaoVO.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/BusquedaGP_PricingController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/BusquedaGP_PricingEspecificoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/CopiarGP_PricingController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/CopiarGP_PricingEspecificoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingAsientoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingCategoriaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingClaseController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingCorridaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingDiaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingEspecificoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingEspecificoOcupacionController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingFormapagoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingImporteController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingMarcaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingMercadoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingOcupaAntecipaAutomaticoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingOcupaAntecipaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingPuntoVentaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingRutaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingTipoPtoVtaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingTipoServicioController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingVigenciaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/GestaoPricingController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricing2.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricingEspecifico2.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricingGestao.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/MenuGestaoDePricing.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupaAntecipaLegenda.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupacao.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRevisaoValores.java create mode 100644 web/gui/gestao_pricing/busquedaGP_Pricing.zul create mode 100644 web/gui/gestao_pricing/busquedaGP_PricingEspecifico.zul create mode 100644 web/gui/gestao_pricing/copiarGP_Pricing.zul create mode 100644 web/gui/gestao_pricing/copiarGP_PricingEspecifico.zul create mode 100644 web/gui/gestao_pricing/editarGP_Pricing.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingAsiento.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingCategoria.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingClase.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingCorrida.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingDia.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingEspecifico.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingEspecificoOcupacion.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingFormapago.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingImporte.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingMarca.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingMercado.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingOcupaAntecipa.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingOcupaAntecipaAutomatico.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingPuntoVenta.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingRuta.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingTipoPtoVta.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingTipoServicio.zul create mode 100644 web/gui/gestao_pricing/editarGP_PricingVigencia.zul create mode 100644 web/gui/gestao_pricing/gestaoPricing.zul diff --git a/pom.xml b/pom.xml index 976215843..889efca42 100644 --- a/pom.xml +++ b/pom.xml @@ -255,6 +255,12 @@ jxl 2.6.12 + + + br.com.rjconsultores + colorbox + 1.0.0 + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingColorVO.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingColorVO.java new file mode 100644 index 000000000..7bd829138 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingColorVO.java @@ -0,0 +1,42 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +public class PricingColorVO { + + private String id; + private String idBanco; + private String color; + private String backgroundColor; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public String getBackgroundColor() { + return backgroundColor; + } + + public void setBackgroundColor(String backgroundColor) { + this.backgroundColor = backgroundColor; + } + + public String getIdBanco() { + return idBanco; + } + + public void setIdBanco(String idBanco) { + this.idBanco = idBanco; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingGestaoAlteradoVO.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingGestaoAlteradoVO.java new file mode 100644 index 000000000..79104ec99 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingGestaoAlteradoVO.java @@ -0,0 +1,44 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.util.Date; + +public class PricingGestaoAlteradoVO { + + private String pricing; + private String servico; + private String id; + private Date data; + + public String getPricing() { + return pricing; + } + + public void setPricing(String pricing) { + this.pricing = pricing; + } + + public Date getData() { + return data; + } + + public void setData(Date data) { + this.data = data; + } + + public String getServico() { + return servico; + } + + public void setServico(String servico) { + this.servico = servico; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingGestaoVO.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingGestaoVO.java new file mode 100644 index 000000000..1ffb043d5 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/PricingGestaoVO.java @@ -0,0 +1,78 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +public class PricingGestaoVO { + + private String servico; + private String domingo; + private String segunda; + private String terca; + private String quarta; + private String quinta; + private String sexta; + private String sabado; + + public String getServico() { + return servico; + } + + public void setServico(String servico) { + this.servico = servico; + } + + public String getDomingo() { + return domingo; + } + + public void setDomingo(String domingo) { + this.domingo = domingo; + } + + public String getSegunda() { + return segunda; + } + + public void setSegunda(String segunda) { + this.segunda = segunda; + } + + public String getTerca() { + return terca; + } + + public void setTerca(String terca) { + this.terca = terca; + } + + public String getQuarta() { + return quarta; + } + + public void setQuarta(String quarta) { + this.quarta = quarta; + } + + public String getQuinta() { + return quinta; + } + + public void setQuinta(String quinta) { + this.quinta = quinta; + } + + public String getSexta() { + return sexta; + } + + public void setSexta(String sexta) { + this.sexta = sexta; + } + + public String getSabado() { + return sabado; + } + + public void setSabado(String sabado) { + this.sabado = sabado; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/BusquedaGP_PricingController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/BusquedaGP_PricingController.java new file mode 100644 index 000000000..86b61c611 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/BusquedaGP_PricingController.java @@ -0,0 +1,371 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.log4j.Logger; +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.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; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.GP_PricingService; +import com.rjconsultores.ventaboletos.service.ParadaService; +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; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricing; + +@Controller("busquedaGP_PricingController") +@Scope("prototype") +public class BusquedaGP_PricingController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private transient PagedListWrapper plwPricingPunto; + @Autowired + private GP_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(BusquedaGP_PricingController.class); + + public List getLsPricing() { + return lsPricing; + } + + public void setLsPricing(List lsPricing) { + this.lsPricing = lsPricing; + } + + public Paging getPagingPricing() { + return pagingPricing; + } + + public void setPagingPricing(Paging pagingPricing) { + this.pagingPricing = pagingPricing; + } + + public MyListbox getPricingList() { + return pricingList; + } + + public void setPricingList(MyListbox pricingList) { + this.pricingList = pricingList; + } + + public GP_PricingService getPricingService() { + return pricingService; + } + + public void setPricingService(GP_PricingService pricingService) { + this.pricingService = pricingService; + } + + public EmpresaService getEmpresaService() { + return empresaService; + } + + public void setEmpresaService(EmpresaService empresaService) { + this.empresaService = empresaService; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public Textbox getTxtNome() { + return txtNome; + } + + public void setTxtNome(Textbox txtNome) { + this.txtNome = txtNome; + } + + public Datebox getFechaInicio() { + return fechaInicio; + } + + public void setFechaInicio(Datebox fechaInicio) { + this.fechaInicio = fechaInicio; + } + + public Datebox getFechaFin() { + return fechaFin; + } + + public void setFechaFin(Datebox fechaFin) { + 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()); + pricingList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_Pricing pricing = (GP_Pricing) pricingList.getSelected(); + verPricing(pricing); + } + }); + + lsPricing = new ArrayList(); + + 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(); + } + + public void onClick$btnRefresh(Event ev) { + refreshLista(); + } + + public void onClick$btnNovo(Event ev) { + verPricing(new GP_Pricing()); + } + + 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( + GP_Pricing.class, pagingPricing.getPageSize()); + + if (empresa != null) { + pricingSearch.addFilterEqual("empresa", empresa); + } else { + pricingSearch.addFilterIn("empresa", lsEmpresa); + } + + if (ruta != null && ruta.getRutaId() != -1) { + 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() + "%"); + } + + Calendar calendar = Calendar.getInstance(); + Calendar calendar1 = Calendar.getInstance(); + if ((fechaInicio.getValue() != null) && (fechaFin.getValue() != null)) { + calendar.setTime(fechaInicio.getValue()); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + + calendar1.setTime(fechaFin.getValue()); + calendar1.set(Calendar.HOUR_OF_DAY, 23); + calendar1.set(Calendar.MINUTE, 59); + calendar1.set(Calendar.SECOND, 59); + calendar1.set(Calendar.MILLISECOND, 999); + + pricingSearch.addFilterGreaterOrEqual("pricingVigenciaList.fecinicioviaje", calendar.getTime()); + pricingSearch.addFilterLessOrEqual("pricingVigenciaList.fecfinviaje", calendar1.getTime()); + } else { + if (fechaInicio.getValue() != null) { + calendar.setTime(fechaInicio.getValue()); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + + calendar1.setTime(fechaInicio.getValue()); + calendar1.set(Calendar.HOUR_OF_DAY, 23); + calendar1.set(Calendar.MINUTE, 59); + calendar1.set(Calendar.SECOND, 59); + + pricingSearch.addFilterGreaterThan("pricingVigenciaList.fecinicioviaje", calendar.getTime()).addFilterLessThan("pricingVigenciaList.fecinicioviaje", calendar1.getTime()); + } else if (fechaFin.getValue() != null) { + calendar.setTime(fechaFin.getValue()); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + + calendar1.setTime(fechaFin.getValue()); + calendar1.set(Calendar.HOUR_OF_DAY, 23); + calendar1.set(Calendar.MINUTE, 59); + calendar1.set(Calendar.SECOND, 59); + pricingSearch.addFilterGreaterThan("pricingVigenciaList.fecfinviaje", calendar.getTime()).addFilterLessThan("pricingVigenciaList.fecfinviaje", calendar1.getTime()); + } + } + + Boolean buscarInativos = chkBuscarInativos.isChecked(); + if (buscarInativos) { + pricingSearch.addFilterEqual("activo", GP_Pricing.INATIVO); + } else { + pricingSearch.addFilterEqual("activo", GP_Pricing.ATIVO); + } + + pricingSearch.addSortAsc("nombPricing"); + + pricingSearch.addFetch("pricingVigenciaList"); + + plwPricingPunto.init(pricingSearch, pricingList, pagingPricing); + + if (pricingList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), Labels + .getLabel("busquedaPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricing(GP_Pricing pricing) { + if (pricing == null) { + return; + } + + Map args = new HashMap(); + args.put("pricing", pricing); + args.put("gravarNovo", pricing.getPricingId() == null); + args.put("pricingList", pricingList); + args.put("buscarPricingInativosAtivos", chkBuscarInativos.isChecked() ? GP_Pricing.INATIVO : GP_Pricing.ATIVO); + + openWindow("/gui/gestao_pricing/editarGP_Pricing.zul", + Labels.getLabel("busquedaGPPricingController.window.title"), args, MODAL); + } + + public void onClick$btnApagar(Event ev) { + try { + GP_Pricing p = (GP_Pricing) pricingList.getSelected(); + if (p != null) { + int resp = Messagebox.show(Labels.getLabel("editarPricingController.MSG.borrarPergunta"), + Labels.getLabel("busquedaPricingController.window.title"), + Messagebox.YES | Messagebox.NO, + Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingService.borrar(p); + Messagebox.show(Labels.getLabel("editarPricingController.MSG.borrarOK"), + Labels.getLabel("busquedaPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + pricingList.removeItem(p); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("busquedaPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error("Erro ao eliminar Pricing: " + ex); + } + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/BusquedaGP_PricingEspecificoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/BusquedaGP_PricingEspecificoController.java new file mode 100644 index 000000000..5c280a6f2 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/BusquedaGP_PricingEspecificoController.java @@ -0,0 +1,548 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +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.zk.ui.event.EventListener; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Datebox; +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.GP_PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoAgencia; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoCanalVendas; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoOcupacion; +import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.entidad.Moneda; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; +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.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingEspecifico; + +@Controller("busquedaGP_PricingEspecificoController") +@Scope("prototype") +public class BusquedaGP_PricingEspecificoController 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; + private MyListbox pricingList; + private Paging pagingPricing; + @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 fechaInicio; + private Datebox fechaFin; + private Textbox txtNombrePricing; + + @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); + + pricingList.setItemRenderer(new RenderPricingEspecifico()); + pricingList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingEspecifico pricingEspecifico = (GP_PricingEspecifico) pricingList.getSelected(); + verPricing(pricingEspecifico); + } + }); + + txtNombrePricing.focus(); + refreshLista(); + } + + public void onClick$btnPesquisa(Event ev) throws InterruptedException { + refreshLista(); + } + + public void onClick$btnRefresh(Event ev) { + refreshLista(); + } + + public void onClick$btnNovo(Event ev) { + + GP_PricingEspecifico pricingEspecifico = new GP_PricingEspecifico(); + pricingEspecifico.setPricingEspecificoAgenciasList(new ArrayList()); + pricingEspecifico.setPricingEspecificoCanalVendasList(new ArrayList()); + pricingEspecifico.setPricingEspecificoOcupacionsList(new ArrayList()); + + verPricing(pricingEspecifico); + } + + private void refreshLista() { + HibernateSearchObject pricingSearch = + new HibernateSearchObject(GP_PricingEspecifico.class, pagingPricing.getPageSize()); + pricingSearch.addFilterEqual("activo", Boolean.TRUE); + + Marca marca = (Marca) (cmbMarca.getSelectedItem() != null ? cmbMarca.getSelectedItem().getValue() : null); + Moneda moneda = (Moneda) (cmbMoneda.getSelectedItem() != null ? cmbMoneda.getSelectedItem().getValue() : null); + Categoria categoria = (Categoria) (cmbTipoPassageiro.getSelectedItem() != null ? cmbTipoPassageiro.getSelectedItem().getValue() : null); + ClaseServicio claseServicio = (ClaseServicio) (cmbTipoServicio.getSelectedItem() != null ? cmbTipoServicio.getSelectedItem().getValue() : null); + TipoPuntoVenta tipoPuntoVenta = (TipoPuntoVenta) (cmbPtovta.getSelectedItem() != null ? cmbPtovta.getSelectedItem().getValue() : null); + Parada parada = (Parada) (cmbOrigem.getSelectedItem() != null ? cmbOrigem.getSelectedItem().getValue() : null); + Parada parada1 = (Parada) (cmbDestino.getSelectedItem() != null ? cmbDestino.getSelectedItem().getValue() : null); + + if (fechaInicio.getValue() != null) { + pricingSearch.addFilterGreaterOrEqual("fechorinicio", fechaInicio.getValue()); + } + + if (fechaFin.getValue() != null) { + pricingSearch.addFilterLessOrEqual("fechorfin", fechaFin.getValue()); + } + + if (parada != null) { + pricingSearch.addFilterEqual("parada", parada); + } + + if (parada1 != null) { + pricingSearch.addFilterEqual("parada1", parada1); + } + + if (tipoPuntoVenta != null) { + pricingSearch.addFilterEqual("tipoPtovta", tipoPuntoVenta); + } + + if (marca != null) { + pricingSearch.addFilterEqual("marca", marca); + } else { + pricingSearch.addFilterIn("marca", lsMarca); + } + if (moneda != null) { + pricingSearch.addFilterEqual("moneda", moneda); + } + if (categoria != null) { + pricingSearch.addFilterEqual("categoria", categoria); + } + if (claseServicio != null) { + pricingSearch.addFilterEqual("claseServicio", claseServicio); + } + + String nomePricing = txtNombrePricing.getText().trim(); + if (!nomePricing.isEmpty()) { + pricingSearch.addFilterILike("nombPricing", "%" + nomePricing + "%"); + } + + pricingSearch.addSortAsc("nombPricing"); + + plwPricingEspecifico.init(pricingSearch, pricingList, pagingPricing); + + if (pricingList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricing(GP_PricingEspecifico pricingEspecifico) { + if (pricingEspecifico == null) { + return; + } + + Map args = new HashMap(); + args.put("pricingEspecifico", pricingEspecifico); + args.put("pricingList", pricingList); + + openWindow("/gui/gestao_pricing/editarGP_PricingEspecifico.zul", + Labels.getLabel("busqueDaGPPricingEspecifico.window.title"), args, MODAL); + } + + /** + * @return the lsMarca + */ + public List getLsMarca() { + return lsMarca; + } + + /** + * @param lsMarca + * the lsMarca to set + */ + public void setLsMarca(List lsMarca) { + this.lsMarca = lsMarca; + } + + /** + * @return the lsMoneda + */ + public List getLsMoneda() { + return lsMoneda; + } + + /** + * @param lsMoneda + * the lsMoneda to set + */ + public void setLsMoneda(List lsMoneda) { + this.lsMoneda = lsMoneda; + } + + /** + * @return the pricingList + */ + public MyListbox getPricingList() { + return pricingList; + } + + /** + * @param pricingList + * the pricingList to set + */ + public void setPricingList(MyListbox pricingList) { + this.pricingList = pricingList; + } + + /** + * @return the pagingPricing + */ + public Paging getPagingPricing() { + return pagingPricing; + } + + /** + * @param pagingPricing + * the pagingPricing to set + */ + public void setPagingPricing(Paging pagingPricing) { + this.pagingPricing = pagingPricing; + } + + /** + * @return the marcaService + */ + public MarcaService getMarcaService() { + return marcaService; + } + + /** + * @param marcaService + * the marcaService to set + */ + public void setMarcaService(MarcaService marcaService) { + this.marcaService = marcaService; + } + + /** + * @return the monedaService + */ + public MonedaService getMonedaService() { + return monedaService; + } + + /** + * @param monedaService + * the monedaService to set + */ + public void setMonedaService(MonedaService monedaService) { + this.monedaService = monedaService; + } + + /** + * @return the plwPricingEspecifico + */ + public PagedListWrapper getPlwPricingEspecifico() { + return plwPricingEspecifico; + } + + /** + * @param plwPricingEspecifico + * the plwPricingEspecifico to set + */ + public void setPlwPricingEspecifico(PagedListWrapper plwPricingEspecifico) { + this.plwPricingEspecifico = plwPricingEspecifico; + } + + /** + * @return the lsCategoria + */ + public List getLsCategoria() { + return lsCategoria; + } + + /** + * @param lsCategoria + * the lsCategoria to set + */ + public void setLsCategoria(List lsCategoria) { + this.lsCategoria = lsCategoria; + } + + /** + * @return the lsClaseServicio + */ + public List getLsClaseServicio() { + return lsClaseServicio; + } + + /** + * @param lsClaseServicio + * the lsClaseServicio to set + */ + public void setLsClaseServicio(List lsClaseServicio) { + this.lsClaseServicio = lsClaseServicio; + } + + /** + * @return the categoriaService + */ + public CategoriaService getCategoriaService() { + return categoriaService; + } + + /** + * @param categoriaService + * the categoriaService to set + */ + public void setCategoriaService(CategoriaService categoriaService) { + this.categoriaService = categoriaService; + } + + /** + * @return the claseServicioService + */ + public ClaseServicioService getClaseServicioService() { + return claseServicioService; + } + + /** + * @param claseServicioService + * the claseServicioService to set + */ + public void setClaseServicioService(ClaseServicioService claseServicioService) { + this.claseServicioService = claseServicioService; + } + + /** + * @return the cmbMarca + */ + public Combobox getCmbMarca() { + return cmbMarca; + } + + /** + * @param cmbMarca + * the cmbMarca to set + */ + public void setCmbMarca(Combobox cmbMarca) { + this.cmbMarca = cmbMarca; + } + + /** + * @return the cmbMoneda + */ + public Combobox getCmbMoneda() { + return cmbMoneda; + } + + /** + * @param cmbMoneda + * the cmbMoneda to set + */ + public void setCmbMoneda(Combobox cmbMoneda) { + this.cmbMoneda = cmbMoneda; + } + + /** + * @return the cmbTipoPassageiro + */ + public Combobox getCmbTipoPassageiro() { + return cmbTipoPassageiro; + } + + /** + * @param cmbTipoPassageiro + * the cmbTipoPassageiro to set + */ + public void setCmbTipoPassageiro(Combobox cmbTipoPassageiro) { + this.cmbTipoPassageiro = cmbTipoPassageiro; + } + + /** + * @return the cmbTipoServicio + */ + public Combobox getCmbTipoServicio() { + return cmbTipoServicio; + } + + /** + * @param cmbTipoServicio + * the cmbTipoServicio to set + */ + public void setCmbTipoServicio(Combobox cmbTipoServicio) { + this.cmbTipoServicio = cmbTipoServicio; + } + + /** + * @return the paradaService + */ + public ParadaService getParadaService() { + return paradaService; + } + + /** + * @param paradaService + * the paradaService to set + */ + public void setParadaService(ParadaService paradaService) { + this.paradaService = paradaService; + } + + /** + * @return the lsPtovata + */ + public List getLsPtovata() { + return lsPtovata; + } + + /** + * @param lsPtovata + * the lsPtovata to set + */ + public void setLsPtovata(List lsPtovata) { + this.lsPtovata = lsPtovata; + } + + /** + * @return the puntoVentaService + */ + public TipoPuntoVentaService getPuntoVentaService() { + return puntoVentaService; + } + + /** + * @param puntoVentaService + * the puntoVentaService to set + */ + public void setPuntoVentaService(TipoPuntoVentaService puntoVentaService) { + this.puntoVentaService = puntoVentaService; + } + + /** + * @return the cmbPtovta + */ + public Combobox getCmbPtovta() { + return cmbPtovta; + } + + /** + * @param cmbPtovta + * the cmbPtovta to set + */ + public void setCmbPtovta(Combobox cmbPtovta) { + this.cmbPtovta = cmbPtovta; + } + + /** + * @return the cmbOrigem + */ + public Combobox getCmbOrigem() { + return cmbOrigem; + } + + /** + * @param cmbOrigem + * the cmbOrigem to set + */ + public void setCmbOrigem(Combobox cmbOrigem) { + this.cmbOrigem = cmbOrigem; + } + + /** + * @return the cmbDestino + */ + public Combobox getCmbDestino() { + return cmbDestino; + } + + /** + * @param cmbDestino + * the cmbDestino to set + */ + public void setCmbDestino(Combobox cmbDestino) { + this.cmbDestino = cmbDestino; + } + + /** + * @return the fechaInicio + */ + public Datebox getFechaInicio() { + return fechaInicio; + } + + /** + * @param fechaInicio + * the fechaInicio to set + */ + public void setFechaInicio(Datebox fechaInicio) { + this.fechaInicio = fechaInicio; + } + + /** + * @return the fechaFin + */ + public Datebox getFechaFin() { + return fechaFin; + } + + /** + * @param fechaFin + * the fechaFin to set + */ + public void setFechaFin(Datebox fechaFin) { + this.fechaFin = fechaFin; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/CopiarGP_PricingController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/CopiarGP_PricingController.java new file mode 100644 index 000000000..cfcb53731 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/CopiarGP_PricingController.java @@ -0,0 +1,80 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.service.GP_PricingService; +import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; +import com.rjconsultores.ventaboletos.utilerias.CustomEnum; +import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("copiarGP_PricingController") +@Scope("prototype") +public class CopiarGP_PricingController extends MyGenericForwardComposer { + + private static final String CONTROLLER_WINDOW_TITLE = "copiarPricingController.window.title"; + + private static final long serialVersionUID = 1L; + + @Autowired + private GP_PricingService pricingService; + + private Textbox nombrePricing; + private GP_Pricing pricing; + private MyListbox pricingList; + + @Override + public void doAfterCompose(Component comp) throws Exception { + pricing = (GP_Pricing) Executions.getCurrent().getArg().get("pricing"); + + super.doAfterCompose(comp); + } + + public void onClick$btnSalvarCopia(Event ev) throws InterruptedException { + if (StringUtils.isBlank(nombrePricing.getText())) { + MensagensUtils.showMessageExclamation("copiarPricingController.MSG.sem.nome",CONTROLLER_WINDOW_TITLE); + return; + } + + if (existePricingComMesmoNome()) { + MensagensUtils.showMessageExclamation("copiarPricingController.MSG.Registro.Existe", CONTROLLER_WINDOW_TITLE); + return; + } + + Boolean clonou = pricingService.clonarPricing(pricing.getPricingId(), nombrePricing.getText(), + ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.USA_PADRAO_PRICING_TIPO_PASSAGEM_PET.getDescricao())); + + if (clonou) { + closeWindow(); + MensagensUtils.showMessageInformation("copiarPricingController.MSG.suscribirOK", CONTROLLER_WINDOW_TITLE); + } else { + MensagensUtils.showMessageInformation("copiarPricingController.MSG.ERRO", CONTROLLER_WINDOW_TITLE); + } + + } + + protected boolean existePricingComMesmoNome() { + return pricingService.buscarPorNombre(nombrePricing.getText()).size() > 0; + } + + public void onClose$winCopiarPricing(Event ev) { + closeWindow(); + } + + public MyListbox getPricingList() { + return pricingList; + } + + public void setPricingList(MyListbox pricingList) { + this.pricingList = pricingList; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/CopiarGP_PricingEspecificoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/CopiarGP_PricingEspecificoController.java new file mode 100644 index 000000000..e52806da3 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/CopiarGP_PricingEspecificoController.java @@ -0,0 +1,97 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.List; + +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoCategoria; +import com.rjconsultores.ventaboletos.service.GP_PricingEspecificoService; +import com.rjconsultores.ventaboletos.service.GP_PricingHistoricoService; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("copiarGP_PricingEspecificoController") +@Scope("prototype") +public class CopiarGP_PricingEspecificoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private GP_PricingEspecificoService pricingEspecificoService; + @Autowired + private GP_PricingHistoricoService pricingHistoricoService; + + private Textbox nombrePricing; + private GP_PricingEspecifico pricingEspecifico; + private List pricingCategoriaList; + private MyListbox pricingList; + + @Override + public void doAfterCompose(Component comp) throws Exception { + pricingEspecifico = (GP_PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); + pricingCategoriaList = (List) Executions.getCurrent().getArg().get("pricingCategoriaList"); + super.doAfterCompose(comp); + } + + public void onClick$btnSalvarCopia(Event ev) throws InterruptedException { + if (!nombrePricing.getText().equals("") && nombrePricing.getText() != null) { + + List lsPricing = pricingEspecificoService.buscarPorNome(nombrePricing.getValue()); + + if (lsPricing == null || + lsPricing.isEmpty()) { + + GP_PricingEspecifico clone = pricingEspecificoService.clonarPricing(pricingEspecifico.getPricingespecificoId(), nombrePricing.getText(), pricingCategoriaList); + + if (clone != null) { + + pricingHistoricoService.compararESalvar(null, clone); + + closeWindow(); + Messagebox.show( + Labels.getLabel("copiarPricingController.MSG.suscribirOK"), + Labels.getLabel("copiarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + } else { + Messagebox.show( + Labels.getLabel("copiarPricingController.MSG.ERRO"), + Labels.getLabel("copiarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } + + } else { + Messagebox.show( + Labels.getLabel("copiarPricingController.MSG.Registro.Existe"), + Labels.getLabel("copiarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } else { + Messagebox.show( + Labels.getLabel("copiarPricingController.MSG.sem.nome"), + Labels.getLabel("copiarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClose$winCopiarPricing(Event ev) { + closeWindow(); + } + + public MyListbox getPricingList() { + return pricingList; + } + + public void setPricingList(MyListbox pricingList) { + this.pricingList = pricingList; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingAsientoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingAsientoController.java new file mode 100644 index 000000000..85f075a83 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingAsientoController.java @@ -0,0 +1,157 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Intbox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingAsiento; +import com.rjconsultores.ventaboletos.service.GP_PricingAsientoService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.ConstraintPorcentagem; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal; + +@Controller("editarGP_PricingAsientoController") +@Scope("prototype") +public class EditarGP_PricingAsientoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingAsientoService pricingAsientoService; + private GP_PricingAsiento pricingAsiento; + private MyListbox pricingAsientoList; + private MyTextboxDecimal porcentaje; + private Intbox numeasiento; + private ConstraintPorcentagem ct; + private static Logger log = Logger.getLogger(EditarGP_PricingAsientoController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + + ct = new ConstraintPorcentagem(); + pricingAsiento = (GP_PricingAsiento) Executions.getCurrent().getArg().get("pricingAsiento"); + pricingAsientoList = (MyListbox) Executions.getCurrent().getArg().get("pricingAsientoList"); + + super.doAfterCompose(comp); + } + + public void onClick$btnAdicionarAsiento(Event ev) throws Exception { + numeasiento.getValue(); + porcentaje.getValue(); + + List lsAsientos = pricingAsientoService.obtenerPricingCategoria(pricingAsiento.getPricing(), numeasiento.getValue()); + + try { + boolean exite = true; + + if (lsAsientos.isEmpty()) { + exite = false; + } else { + for (GP_PricingAsiento a : lsAsientos) { + if (a.getPricingasientoId().equals(pricingAsiento.getPricingasientoId())) { + exite = false; + } + } + } + + if (!exite) { + if (pricingAsiento.getPricingasientoId() != null) { + pricingAsientoService.actualizacion(pricingAsiento); + pricingAsientoList.updateItem(pricingAsiento); + } else { + pricingAsientoService.suscribir(pricingAsiento); + pricingAsientoList.addItemNovo(pricingAsiento); + } + closeWindow(); + } else { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowCategoria.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + } + + public void onClick$btnRemoverAsiento(Event ev) { + try { + GP_PricingAsiento pAsiento = (GP_PricingAsiento) pricingAsientoList.getSelected(); + if (pAsiento != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaAsiento"), + Labels.getLabel("editarPricingController.windowAsiento.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingAsiento.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingAsiento.setFecmodif(Calendar.getInstance().getTime()); + pricingAsiento.setActivo(GP_Pricing.INATIVO); + + pricingAsientoList.removeItem(pricingAsiento); + pricingAsientoService.borrar(pricingAsiento); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowAsiento.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + + } + + public GP_PricingAsiento getPricingAsiento() { + return pricingAsiento; + } + + public void setPricingAsiento(GP_PricingAsiento pricingAsiento) { + this.pricingAsiento = pricingAsiento; + } + + public MyListbox getPricingAsientoList() { + return pricingAsientoList; + } + + public void setPricingAsientoList(MyListbox pricingAsientoList) { + this.pricingAsientoList = pricingAsientoList; + } + + public GP_PricingAsientoService getPricingAsientoService() { + return pricingAsientoService; + } + + public void setPricingAsientoService(GP_PricingAsientoService pricingAsientoService) { + this.pricingAsientoService = pricingAsientoService; + } + + /** + * @return the ct + */ + public ConstraintPorcentagem getCt() { + return ct; + } + + /** + * @param ct + * the ct to set + */ + public void setCt(ConstraintPorcentagem ct) { + this.ct = ct; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingCategoriaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingCategoriaController.java new file mode 100644 index 000000000..82afd1e97 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingCategoriaController.java @@ -0,0 +1,156 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.Categoria; +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingCategoria; +import com.rjconsultores.ventaboletos.service.CategoriaService; +import com.rjconsultores.ventaboletos.service.GP_PricingCategoriaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarGP_PricingCategoriaController") +@Scope("prototype") +public class EditarGP_PricingCategoriaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingCategoriaService pricingCategoriaService; + @Autowired + private CategoriaService categoriaService; + private List lsCategoria; + private GP_PricingCategoria pricingCategoria; + private MyListbox pricingCategoriaList; + private Combobox cmbCategoria; + private static Logger log = Logger.getLogger(EditarGP_PricingCategoriaController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + + lsCategoria = categoriaService.obtenerTodos(); + + pricingCategoria = (GP_PricingCategoria) Executions.getCurrent().getArg().get("pricingCategoria"); + pricingCategoriaList = (MyListbox) Executions.getCurrent().getArg().get("pricingCategoriaList"); + + super.doAfterCompose(comp); + + cmbCategoria.focus(); + + } + + public void onClick$btnAdicionarCategoria(Event ev) throws Exception { + cmbCategoria.getValue(); + try { + if (pricingCategoria.getCategoria() == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowCategoria.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + Boolean existe = pricingCategoriaService.obtenerPricingCategoria(pricingCategoria.getPricing(), (Categoria) cmbCategoria.getSelectedItem().getValue()); + + if (existe) { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowCategoria.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if (pricingCategoria.getPricingcategoriaId() != null) { + pricingCategoriaService.actualizacion(pricingCategoria); + pricingCategoriaList.updateItem(pricingCategoria); + } else { + pricingCategoriaService.suscribir(pricingCategoria); + pricingCategoriaList.addItem(pricingCategoria); + } + closeWindow(); + } + } + } catch (Exception ex) { + log.error("Erro ao adicionar categoria: " + ex); + } + } + + public void onClick$btnRemoverCategoria(Event ev) { + try { + GP_PricingCategoria pCategoria = (GP_PricingCategoria) pricingCategoriaList.getSelected(); + if (pCategoria != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaCategoria"), + Labels.getLabel("editarPricingController.windowCategoria.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingCategoria.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingCategoria.setFecmodif(Calendar.getInstance().getTime()); + pricingCategoria.setActivo(GP_Pricing.INATIVO); + + pricingCategoriaList.removeItem(pricingCategoria); + pricingCategoriaService.borrar(pricingCategoria); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowCategoria.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error("Erro ao remover categoria: " + ex); + } + + } + + public GP_PricingCategoria getPricingCategoria() { + return pricingCategoria; + } + + public void setPricingCategoria(GP_PricingCategoria pricingCategoria) { + this.pricingCategoria = pricingCategoria; + } + + public MyListbox getPricingCategoriaList() { + return pricingCategoriaList; + } + + public void setPricingCategoriaList(MyListbox pricingCategoriaList) { + this.pricingCategoriaList = pricingCategoriaList; + } + + public GP_PricingCategoriaService getPricingCategoriaService() { + return pricingCategoriaService; + } + + public void setPricingCategoriaService(GP_PricingCategoriaService pricingCategoriaService) { + this.pricingCategoriaService = pricingCategoriaService; + } + + public List getLsCategoria() { + return lsCategoria; + } + + public void setLsCategoria(List lsCategoria) { + this.lsCategoria = lsCategoria; + } + + public CategoriaService getCategoriaService() { + return categoriaService; + } + + public void setCategoriaService(CategoriaService categoriaService) { + this.categoriaService = categoriaService; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingClaseController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingClaseController.java new file mode 100644 index 000000000..b8a4b6406 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingClaseController.java @@ -0,0 +1,156 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingClase; +import com.rjconsultores.ventaboletos.service.ClaseServicioService; +import com.rjconsultores.ventaboletos.service.GP_PricingClaseService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarGP_PricingClaseController") +@Scope("prototype") +public class EditarGP_PricingClaseController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private GP_PricingClaseService pricingClaseService; + @Autowired + private ClaseServicioService claseServicioService; + private List lsClase; + private GP_PricingClase pricingClase; + private MyListbox pricingClaseList; + private Combobox cmbClase; + private static Logger log = Logger.getLogger(EditarGP_PricingClaseController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + + lsClase = claseServicioService.obtenerTodos(); + + pricingClase = (GP_PricingClase) Executions.getCurrent().getArg().get("pricingClase"); + pricingClaseList = (MyListbox) Executions.getCurrent().getArg().get("pricingClaseList"); + + super.doAfterCompose(comp); + + cmbClase.focus(); + } + + public void onClick$btnAdicionarClase(Event ev) throws Exception { + cmbClase.getValue(); + + if (pricingClase.getClaseServicio() == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowClase.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + + Boolean existe = pricingClaseService.obtenerPricingClase(pricingClase.getPricing(), (ClaseServicio) cmbClase.getSelectedItem().getValue()); + if (existe) { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowClase.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if (pricingClase.getPricingclaseId() != null) { + pricingClaseService.actualizacion(pricingClase); + pricingClaseList.updateItem(pricingClase); + } else { + pricingClaseService.suscribir(pricingClase); + pricingClaseList.addItem(pricingClase); + } + closeWindow(); + } + } + } + + public void onClick$btnRemoverClase(Event ev) throws InterruptedException { + GP_PricingClase pClase = (GP_PricingClase) pricingClaseList.getSelected(); + if (pClase != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaClase"), + Labels.getLabel("editarPricingController.windowClase.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingClase.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingClase.setFecmodif(Calendar.getInstance().getTime()); + pricingClase.setActivo(GP_Pricing.INATIVO); + + pricingClaseList.removeItem(pricingClase); + pricingClaseService.borrar(pricingClase); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowClase.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public GP_PricingClase getPricingClase() { + return pricingClase; + } + + public void setPricingClase(GP_PricingClase pricingClase) { + this.pricingClase = pricingClase; + } + + public MyListbox getPricingClaseList() { + return pricingClaseList; + } + + public void setPricingClaseList(MyListbox pricingClaseList) { + this.pricingClaseList = pricingClaseList; + } + + public GP_PricingClaseService getPricingClaseService() { + return pricingClaseService; + } + + public void setPricingClaseService(GP_PricingClaseService pricingClaseService) { + this.pricingClaseService = pricingClaseService; + } + + public ClaseServicioService getClaseServicioService() { + return claseServicioService; + } + + public void setClaseServicioService(ClaseServicioService claseServicioService) { + this.claseServicioService = claseServicioService; + } + + public static Logger getLog() { + return log; + } + + public static void setLog(Logger log) { + EditarGP_PricingClaseController.log = log; + } + + public List getLsClase() { + return lsClase; + } + + public void setLsClase(List lsClase) { + this.lsClase = lsClase; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingController.java new file mode 100644 index 000000000..1bf57f19f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingController.java @@ -0,0 +1,2845 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.logging.Level; + +import org.apache.commons.lang.BooleanUtils; +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.WrongValueException; +import org.zkoss.zk.ui.event.CheckEvent; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zk.ui.event.ForwardEvent; +import org.zkoss.zul.Button; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Intbox; +import org.zkoss.zul.Radio; +import org.zkoss.zul.Tab; +import org.zkoss.zul.Tabbox; +import org.zkoss.zul.Tabpanel; +import org.zkoss.zul.Textbox; +import org.zkoss.zul.Window; + +import com.rjconsultores.ventaboletos.entidad.Categoria; +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingAsiento; +import com.rjconsultores.ventaboletos.entidad.GP_PricingCategoria; +import com.rjconsultores.ventaboletos.entidad.GP_PricingClase; +import com.rjconsultores.ventaboletos.entidad.GP_PricingCorrida; +import com.rjconsultores.ventaboletos.entidad.GP_PricingDia; +import com.rjconsultores.ventaboletos.entidad.GP_PricingFormapago; +import com.rjconsultores.ventaboletos.entidad.GP_PricingImporte; +import com.rjconsultores.ventaboletos.entidad.GP_PricingMarca; +import com.rjconsultores.ventaboletos.entidad.GP_PricingMercado; +import com.rjconsultores.ventaboletos.entidad.GP_PricingOcupaAntecipa; +import com.rjconsultores.ventaboletos.entidad.GP_PricingPuntoVenta; +import com.rjconsultores.ventaboletos.entidad.GP_PricingRuta; +import com.rjconsultores.ventaboletos.entidad.GP_PricingTipoPtoVta; +import com.rjconsultores.ventaboletos.entidad.GP_PricingTipoServicio; +import com.rjconsultores.ventaboletos.entidad.GP_PricingVigencia; +import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; +import com.rjconsultores.ventaboletos.service.CategoriaService; +import com.rjconsultores.ventaboletos.service.ClaseServicioService; +import com.rjconsultores.ventaboletos.service.GP_PricingAsientoService; +import com.rjconsultores.ventaboletos.service.GP_PricingCategoriaService; +import com.rjconsultores.ventaboletos.service.GP_PricingClaseService; +import com.rjconsultores.ventaboletos.service.GP_PricingCorridaService; +import com.rjconsultores.ventaboletos.service.GP_PricingDiaService; +import com.rjconsultores.ventaboletos.service.GP_PricingFormapagoService; +import com.rjconsultores.ventaboletos.service.GP_PricingHistoricoService; +import com.rjconsultores.ventaboletos.service.GP_PricingImporteService; +import com.rjconsultores.ventaboletos.service.GP_PricingMarcaService; +import com.rjconsultores.ventaboletos.service.GP_PricingMercadoService; +import com.rjconsultores.ventaboletos.service.GP_PricingOcupaAntecipaService; +import com.rjconsultores.ventaboletos.service.GP_PricingPuntoVentaService; +import com.rjconsultores.ventaboletos.service.GP_PricingRevisaoValoresService; +import com.rjconsultores.ventaboletos.service.GP_PricingRutaService; +import com.rjconsultores.ventaboletos.service.GP_PricingService; +import com.rjconsultores.ventaboletos.service.GP_PricingTipoPtoVtaService; +import com.rjconsultores.ventaboletos.service.GP_PricingTipoServicioService; +import com.rjconsultores.ventaboletos.service.GP_PricingVigenciaService; +import com.rjconsultores.ventaboletos.service.MarcaService; +import com.rjconsultores.ventaboletos.service.ParadaService; +import com.rjconsultores.ventaboletos.service.PuntoVentaService; +import com.rjconsultores.ventaboletos.service.RutaService; +import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; +import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; +import com.rjconsultores.ventaboletos.utilerias.CustomEnum; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaLegendaVO; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaPoltronasVO; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaVO; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingRevisaoValoresVO; +import com.rjconsultores.ventaboletos.web.gui.controladores.pricing.PricingController; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingAsiento; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingCategoria; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingClase; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingCorrida; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingDia; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingFormaPago; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingImporte; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingMarca; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingMercado; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingOcupaAntecipaLegenda; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingOcupacao; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingRevisaoValores; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingRuta; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingTipoPtoVta; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingTipoServicio; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingVigencia; + +import ch.stfo.zk.component.Colorbox; + +@Controller("editarGP_PricingController") +@Scope("prototype") +@SuppressWarnings("unused") +public class EditarGP_PricingController extends PricingController { + + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(EditarGP_PricingController.class); + @Autowired + private GP_PricingService pricingService; + @Autowired + private GP_PricingMarcaService pricingMarcaService; + @Autowired + private GP_PricingClaseService pricingClaseService; + @Autowired + private GP_PricingCorridaService pricingCorridaService; + @Autowired + private GP_PricingDiaService pricingDiaService; + @Autowired + private GP_PricingPuntoVentaService pricingPuntoVentaService; + @Autowired + private GP_PricingTipoPtoVtaService pricingTipoPtoVtaService; + @Autowired + private GP_PricingTipoServicioService pricingTipoServicioService; + @Autowired + private GP_PricingVigenciaService pricingVigenciaService; + @Autowired + private GP_PricingRutaService pricingRutaService; + @Autowired + private GP_PricingCategoriaService pricingCategoriaService; + @Autowired + private GP_PricingMercadoService pricingMercadoService; + @Autowired + private GP_PricingImporteService pricingImporteService; + @Autowired + private GP_PricingFormapagoService pricingFormapagoService; + @Autowired + private GP_PricingOcupaAntecipaService pricingOcupaAntecipaService; + @Autowired + private GP_PricingRevisaoValoresService pricingRevisaoValoresService; + @Autowired + private MarcaService marcaService; + @Autowired + private ClaseServicioService claseServicioService; + @Autowired + private PuntoVentaService puntoVentaService; + @Autowired + private TipoPuntoVentaService tipoPuntoVentaService; + @Autowired + private RutaService rutaService; + @Autowired + private CategoriaService categoriaService; + @Autowired + private ParadaService paradaService; + @Autowired + private GP_PricingAsientoService pricingAsientoService; + + @Autowired + private GP_PricingHistoricoService pricingHistoricoService; + + private GP_Pricing pricing; + private GP_Pricing pricingOriginal; + private MyListbox pricingList; + private MyListbox pricingVigenciaList; + private MyListbox pricingImporteList; + private MyListbox pricingMarcaList; + private MyListbox pricingClaseList; + private MyListbox pricingPuntoVentaList; + private MyListbox pricingTipoPtoVtaList; + private MyListbox pricingRutaList; + private MyListbox pricingMercadoList; + private MyListbox pricingCategoriaList; + private MyListbox pricingDiaList; + private MyListbox pricingCorridaList; + private MyListbox pricingAsientoList; + private MyListbox pricingTipoServicioList; + private MyListbox pricingFormapagoList; + private MyListbox pricingRevisaoValores; + private List lsEmpresa; + private List lsPricingVigencia; + private List lsPricingImporte; + private List lsPricingClase; + private List lsPricingTipoPtoVta; + private List lsPricingPuntoVenta; + private List lsPricingMarca; + private List lsPricingMercado; + private List lsPricingDia; + private List lsPricingCorrida; + private List lsPricingCategoria; + private List lsPricingAsiento; + private List lsPricingOcupaAntecipa; + private List lsPricingRuta; + private List lsPricingTipoServicio; + private List lsPricingFormapago; + private Combobox cmbEmpresa; + private Radio rdTransSi; + private Radio rdTransNo; + private Radio rdExibirVendaSi; + private Radio rdExibirVendaNo; + private Radio rdCanceSi; + private Radio rdCanceNo; + private Radio rdReserSi; + private Radio rdReserNo; + private Radio radioImp; + private Radio radioPor; + private MyTextboxDecimal descuentoporcredondo; + private MyTextboxDecimal descuentoporcsen; + private Button btnSalvar; + private Button btnCopiar; + private Button btnNovoImporte; + private Button btnApagarImporte; + private Button btnModificarImporte; + private Button btnApagar; + private Button btnInativar; + private Button btnAtivar; + private Button btnNovoVigencia; + private Button btnApagarVigencia; + private Button btnModificarVigencia; + private Button btnNovoMarca; + private Button btnApagarMarca; + private Button btnModificarMarca; + private Button btnNovoClase; + private Button btnApagarClase; + private Button btnModificarClase; + private Button btnNovoPuntoVenta; + private Button btnApagarPuntoVenta; + private Button btnModificarPuntoVenta; + private Button btnNovoRuta; + private Button btnApagarRuta; + private Button btnModificarRuta; + private Button btnNovoTipoPtoVta; + private Button btnApagarTipoPtoVta; + private Button btnModificarTipoPtoVta; + private Button btnNovoMercado; + private Button btnApagarMercado; + private Button btnModificarMercado; + private Button btnNovoDia; + private Button btnApagarDia; + private Button btnNovoCorrida; + private Button btnApagarCorrida; + private Button btnNovoAsiento; + private Button btnApagarAsiento; + private Button btnModificarAsiento; + private Button btnNovoOcupaAntecipa; + private Button btnApagarOcupaAntecipa; + private Button btnModificarOcupaAntecipa; + private Button btnNovoTipoServicio; + private Button btnApagarTipoServicio; + private Button btnModificarTipoServicio; + private Button btnNovoFormaPago; + private Button btnApagarFormaPago; + private Button btnNovoCategoria; + private Button btnApagarCategoria; + private Button btnModificarCategoria; + private Button btnModificarFormaPago; + private boolean salvo = false; + private Boolean gravarNovo = Boolean.TRUE; + private Textbox nombrePricing; + private Intbox itxCantboleto; + private Intbox cantdiasanticipacion; + private Combobox cmbIndGeneraFeriadoFechaVenta; + private Combobox cmbIndGeneraFeriadoFechaViaje; + private Integer buscarPricingInativosAtivos; + private Colorbox colorChoose; + private MyListbox pricingOcupaAntecipaList; + private MyListbox pricingOcupaAntecipaLegendaList; + private Tabbox tb; + private Tabpanel tabPanelOcupaAntecipa; + private Window winEditarGP_Pricing; + private Tab tabOcupaAntecipa; + private Checkbox chkAgruparDia; + private Checkbox chkAgruparServico; + + private List columns; + private List lsPricingOcupacaoAntecipas; + private List lsPricingOcupaAntecipaLegendas; + private List lsPricingRevisaoValores; + + private Intbox cantdiasEstadiaminima; + private Radio rdEstadiaMinimaSi; + private Radio rdEstadiaMinimaNo; + private Checkbox chkIndLunEstadiaminima; + private Checkbox chkIndMarEstadiaminima; + private Checkbox chkIndMieEstadiaminima; + private Checkbox chkIndJueEstadiaminima; + private Checkbox chkIndVieEstadiaminima; + private Checkbox chkIndSabEstadiaminima; + private Checkbox chkIndDomEstadiaminima; + + private void clearCombobox(Combobox combobox) { + int size = combobox.getItemCount(); + + for (int i = size - 1; i >= 0; i--) { + combobox.removeItemAt(i); + } + } + + private void popularCombobox(Combobox cmb) throws Exception { + clearCombobox(cmb); + for (EsquemaCorrida.GerarFeriado p : EsquemaCorrida.GerarFeriado.values()) { + Comboitem comboItem = new Comboitem(p.descricao()); + comboItem.setValue(p.valor()); + comboItem.setParent(cmb); + } + + cmb.setSelectedIndex(0); + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); + + pricing = (GP_Pricing) Executions.getCurrent().getArg().get("pricing"); + pricingList = (MyListbox) Executions.getCurrent().getArg().get("pricingList"); + buscarPricingInativosAtivos = (Integer) Executions.getCurrent().getArg().get("buscarPricingInativosAtivos"); + gravarNovo = (Boolean) Executions.getCurrent().getArg().get("gravarNovo"); + Boolean isSelecionarTabOcupaAntecipa = (Boolean) Executions.getCurrent().getArg().get("isSelecionarTabOcupaAntecipa"); + + super.doAfterCompose(comp); + + if(BooleanUtils.toBoolean(isSelecionarTabOcupaAntecipa)) { + winEditarGP_Pricing.focus(); + tb.setSelectedPanel(tabPanelOcupaAntecipa); + } + + pricingCategoriaList.setDisabled(Boolean.TRUE); + btnNovoCategoria.setDisabled(Boolean.TRUE); + btnApagarCategoria.setDisabled(Boolean.TRUE); + btnModificarCategoria.setDisabled(Boolean.TRUE); + + popularCombobox(cmbIndGeneraFeriadoFechaVenta); + popularCombobox(cmbIndGeneraFeriadoFechaViaje); + + carregarTabOcupaAntecipa(); + + if (pricing.getIndAgrupadoDia() != null && pricing.getIndAgrupadoDia()) { + chkAgruparDia.setChecked(Boolean.TRUE); + } else { + chkAgruparDia.setChecked(Boolean.FALSE); + } + + if (pricing.getIndAgrupadoServico() != null && pricing.getIndAgrupadoServico()) { + chkAgruparServico.setChecked(Boolean.TRUE); + } else { + chkAgruparServico.setChecked(Boolean.FALSE); + } + + if (pricing.getColor() != null) { + colorChoose.setStyle(" background: #FFFFFF; font-style: oblique;"); + colorChoose.setValue(pricing.getColor()); + } + + + if (pricing.getIndGeneraFeriadoVenta() != null) { + if (pricing.getIndGeneraFeriadoVenta().equals("S")) { + cmbIndGeneraFeriadoFechaVenta.setSelectedIndex(0); + } else if (pricing.getIndGeneraFeriadoVenta().equals("F")) { + cmbIndGeneraFeriadoFechaVenta.setSelectedIndex(1); + } else if (pricing.getIndGeneraFeriadoVenta().equals("N")) { + cmbIndGeneraFeriadoFechaVenta.setSelectedIndex(2); + } + } + + if (pricing.getIndGeneraFeriadoViaje() != null) { + if (pricing.getIndGeneraFeriadoViaje().equals("S")) { + cmbIndGeneraFeriadoFechaViaje.setSelectedIndex(0); + } else if (pricing.getIndGeneraFeriadoViaje().equals("F")) { + cmbIndGeneraFeriadoFechaViaje.setSelectedIndex(1); + } else if (pricing.getIndGeneraFeriadoViaje().equals("N")) { + cmbIndGeneraFeriadoFechaViaje.setSelectedIndex(2); + } + } + + // Vigencia + pricingVigenciaList.setItemRenderer(new RenderPricingVigencia()); + lsPricingVigencia = new ArrayList(); + pricingVigenciaList.setData(lsPricingVigencia); + + // Importe + pricingImporteList.setItemRenderer(new RenderPricingImporte()); + lsPricingImporte = new ArrayList(); + pricingImporteList.setData(lsPricingImporte); + + // Marca + pricingMarcaList.setItemRenderer(new RenderPricingMarca()); + lsPricingMarca = new ArrayList(); + pricingMarcaList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingMarca pMarca = (GP_PricingMarca) pricingMarcaList.getSelected(); + verPricingMarca(pMarca); + } + }); + + // Clase + pricingClaseList.setItemRenderer(new RenderPricingClase()); + lsPricingClase = new ArrayList(); + pricingClaseList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingClase pClase = (GP_PricingClase) pricingClaseList.getSelected(); + verPricingClase(pClase); + } + }); + + // Punto Venta + pricingPuntoVentaList.setItemRenderer(new RenderPricingPuntoVenta()); + lsPricingPuntoVenta = new ArrayList(); + pricingPuntoVentaList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingPuntoVenta pPuntoVenta = (GP_PricingPuntoVenta) pricingPuntoVentaList.getSelected(); + verPricingPuntoVenta(pPuntoVenta); + } + }); + + // Canal Venta + pricingTipoPtoVtaList.setItemRenderer(new RenderPricingTipoPtoVta()); + lsPricingTipoPtoVta = new ArrayList(); + pricingTipoPtoVtaList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingTipoPtoVta pTipoPtoVta = (GP_PricingTipoPtoVta) pricingTipoPtoVtaList.getSelected(); + verPricingTipoPtoVta(pTipoPtoVta); + } + }); + + // Rutas + pricingRutaList.setItemRenderer(new RenderPricingRuta()); + lsPricingRuta = new ArrayList(); + pricingRutaList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingRuta pRuta = (GP_PricingRuta) pricingRutaList.getSelected(); + verPricingRuta(pRuta); + } + }); + + // Categoria + pricingCategoriaList.setItemRenderer(new RenderPricingCategoria()); + lsPricingCategoria = new ArrayList(); + + // Mercado + pricingMercadoList.setItemRenderer(new RenderPricingMercado()); + lsPricingMercado = new ArrayList(); + pricingMercadoList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingMercado pMercado = (GP_PricingMercado) pricingMercadoList.getSelected(); + verPricingMercado(pMercado); + } + }); + + // Dia + pricingDiaList.setItemRenderer(new RenderPricingDia()); + lsPricingDia = new ArrayList(); + pricingDiaList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingDia pDia = (GP_PricingDia) pricingDiaList.getSelected(); + verPricingDia(pDia); + } + }); + + // Corrida + pricingCorridaList.setItemRenderer(new RenderPricingCorrida()); + lsPricingCorrida = new ArrayList(); + + // Asiento + pricingAsientoList.setItemRenderer(new RenderPricingAsiento()); + lsPricingAsiento = new ArrayList(); + pricingAsientoList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingAsiento pAsiento = (GP_PricingAsiento) pricingAsientoList.getSelected(); + verPricingAsiento(pAsiento); + } + }); + + // TipoServicio + pricingTipoServicioList.setItemRenderer(new RenderPricingTipoServicio()); + lsPricingTipoServicio = new ArrayList(); + pricingTipoServicioList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingTipoServicio pTipoServicio = (GP_PricingTipoServicio) pricingTipoServicioList.getSelected(); + verPricingTipoServicio(pTipoServicio); + } + }); + + // FormaPago + pricingFormapagoList.setItemRenderer(new RenderPricingFormaPago()); + lsPricingFormapago = new ArrayList(); + pricingFormapagoList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingFormapago pFormapago = (GP_PricingFormapago) pricingFormapagoList.getSelected(); + verPricingFormapago(pFormapago); + } + }); + + // Tipo Pasajero - Categoria + if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.HABILITAR_PRICING_CATEGORIA.getDescricao())) { + pricingCategoriaList.setDisabled(Boolean.FALSE); + btnNovoCategoria.setDisabled(Boolean.FALSE); + btnApagarCategoria.setDisabled(Boolean.FALSE); + btnModificarCategoria.setDisabled(Boolean.FALSE); + } + + if (pricing.getPricingId() != null) { + pricing = pricingService.obtenerID(pricing.getPricingId()); + + lsPricingVigencia = pricing.getPricingVigenciaList(); + pricingVigenciaList.setData(lsPricingVigencia); + if (lsPricingVigencia.size() > 0) { + pricingVigenciaList.setSelectedIndex(0); + } + + lsPricingImporte = pricing.getPricingImporteList(); + pricingImporteList.setData(lsPricingImporte); + if (lsPricingImporte.size() > 0) { + pricingImporteList.setSelectedIndex(0); + } + + lsPricingMarca = pricing.getPricingMarcaList(); + pricingMarcaList.setData(lsPricingMarca); + if (lsPricingMarca.size() > 0) { + pricingMarcaList.setSelectedIndex(0); + } + + lsPricingClase = pricing.getPricingClaseList(); + pricingClaseList.setData(lsPricingClase); + if (lsPricingClase.size() > 0) { + pricingClaseList.setSelectedIndex(0); + } + + lsPricingTipoServicio = pricing.getPricingTipoServicioList(); + pricingTipoServicioList.setData(lsPricingTipoServicio); + if (lsPricingTipoServicio.size() > 0) { + pricingTipoServicioList.setSelectedIndex(0); + } + + lsPricingFormapago = pricing.getPricingFormapagoList(); + pricingFormapagoList.setData(lsPricingFormapago); + if (lsPricingFormapago.size() > 0) { + pricingFormapagoList.setSelectedIndex(0); + } + + lsPricingPuntoVenta = pricing.getPricingPuntoventaList(); + pricingPuntoVentaList.setData(lsPricingPuntoVenta); + if (lsPricingPuntoVenta.size() > 0) { + pricingPuntoVentaList.setSelectedIndex(0); + } + + lsPricingCategoria = pricing.getPricingCategoriaList(); + pricingCategoriaList.setData(lsPricingCategoria); + if (lsPricingCategoria.size() > 0) { + pricingCategoriaList.setSelectedIndex(0); + } + + lsPricingRuta = pricing.getPricingRutaList(); + pricingRutaList.setData(lsPricingRuta); + if (lsPricingRuta.size() > 0) { + pricingRutaList.setSelectedIndex(0); + } + + lsPricingMercado = pricing.getPricingMercadoList(); + pricingMercadoList.setData(lsPricingMercado); + + lsPricingTipoPtoVta = pricing.getPricingTipoptovtaList(); + pricingTipoPtoVtaList.setData(lsPricingTipoPtoVta); + if (lsPricingTipoPtoVta.size() > 0) { + pricingTipoPtoVtaList.setSelectedIndex(0); + } + + lsPricingCorrida = pricing.getPricingCorridaList(); + pricingCorridaList.setData(lsPricingCorrida); + + lsPricingDia = pricing.getPricingDiaList(); + pricingDiaList.setData(lsPricingDia); + + lsPricingAsiento = pricing.getPricingAsientoList(); + pricingAsientoList.setData(lsPricingAsiento); + + lsPricingTipoServicio = pricing.getPricingTipoServicioList(); + pricingTipoServicioList.setData(lsPricingTipoServicio); + + lsPricingFormapago = pricing.getPricingFormapagoList(); + pricingFormapagoList.setData(lsPricingFormapago); + + if (pricing.getIndtransferible() == Boolean.FALSE) { + rdTransNo.setChecked(true); + } + if (pricing.getIndcancelable() == Boolean.FALSE) { + rdCanceNo.setChecked(true); + } + if (pricing.getIndreservable() == Boolean.FALSE) { + rdReserNo.setChecked(true); + } + if (pricing.getDescuentoporcentaje() != null) { + radioPor.setChecked(true); + } + if (!lsPricingImporte.isEmpty()) { + radioImp.setChecked(true); + onClick$radioImp(null); + } else { + + btnNovoImporte.setVisible(false); + btnApagarImporte.setVisible(false); + btnModificarImporte.setVisible(false); + } + + // BUG-1202 Não permitir alterar a empresa. + cmbEmpresa.setDisabled(true); + + rdEstadiaMinimaSi.setChecked(pricing.getIndestadiaminima() != null ? pricing.getIndestadiaminima() : false); + rdEstadiaMinimaNo.setChecked(!rdEstadiaMinimaSi.isChecked()); + + chkIndLunEstadiaminima.setChecked(pricing.getIndLunEstadiaminima() != null ? pricing.getIndLunEstadiaminima() : false); + chkIndMarEstadiaminima.setChecked(pricing.getIndMarEstadiaminima() != null ? pricing.getIndMarEstadiaminima() : false); + chkIndMieEstadiaminima.setChecked(pricing.getIndMieEstadiaminima() != null ? pricing.getIndMieEstadiaminima() : false); + chkIndJueEstadiaminima.setChecked(pricing.getIndJueEstadiaminima() != null ? pricing.getIndJueEstadiaminima() : false); + chkIndVieEstadiaminima.setChecked(pricing.getIndVieEstadiaminima() != null ? pricing.getIndVieEstadiaminima() : false); + chkIndSabEstadiaminima.setChecked(pricing.getIndSabEstadiaminima() != null ? pricing.getIndSabEstadiaminima() : false); + chkIndDomEstadiaminima.setChecked(pricing.getIndDomEstadiaminima() != null ? pricing.getIndDomEstadiaminima() : false); + + salvo = true; + + ativarDesativarCamposEstadiaMinima(pricing.getDescuentoporcredondo() == null); + + pricingOriginal = pricing.clonar(); + + } else { + + btnNovoImporte.setVisible(false); + btnApagarImporte.setVisible(false); + btnModificarImporte.setVisible(false); + descuentoporcredondo.setDisabled(false); + + pricingService.suscribir(pricing); + // Marca - Preenchendo com o Objeto TODOS caso exista. + Short id = -1; + GP_PricingMarca pm = new GP_PricingMarca(); + Marca m = marcaService.obtenerID(id); + if (m != null) { + pm.setMarca(m); + pm.setPricing(pricing); + pm.setActivo(GP_Pricing.ATIVO); + pm.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pm.setFecmodif(Calendar.getInstance().getTime()); + lsPricingMarca.add(pm); + pricingMarcaList.setData(lsPricingMarca); + pricingMarcaService.suscribir(pm); + } + + // Tipo de Servicio + GP_PricingClase pts = new GP_PricingClase(); + ClaseServicio cs = claseServicioService.obtenerID((int)id); + if (cs != null) { + pts.setClaseServicio(cs); + pts.setPricing(pricing); + pts.setActivo(GP_Pricing.ATIVO); + pts.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pts.setFecmodif(Calendar.getInstance().getTime()); + lsPricingClase.add(pts); + pricingClaseList.setData(lsPricingClase); + pricingClaseService.suscribir(pts); + } + + // Punto de Venta + GP_PricingPuntoVenta ppv = new GP_PricingPuntoVenta(); + PuntoVenta pv = puntoVentaService.obtenerID(-1); + if (pv != null) { + ppv.setPuntoVenta(pv); + ppv.setPricing(pricing); + ppv.setActivo(GP_Pricing.ATIVO); + ppv.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + ppv.setFecmodif(Calendar.getInstance().getTime()); + lsPricingPuntoVenta.add(ppv); + pricingPuntoVentaList.setData(lsPricingPuntoVenta); + pricingPuntoVentaService.suscribir(ppv); + } + // Punto de Venta + GP_PricingTipoPtoVta ptpv = new GP_PricingTipoPtoVta(); + TipoPuntoVenta tpv = tipoPuntoVentaService.obtenerID((short) -1); + if (tpv != null) { + ptpv.setTipoPtovta(tpv); + ptpv.setPricing(pricing); + ptpv.setActivo(GP_Pricing.ATIVO); + ptpv.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + ptpv.setFecmodif(Calendar.getInstance().getTime()); + lsPricingTipoPtoVta.add(ptpv); + pricingTipoPtoVtaList.setData(lsPricingTipoPtoVta); + pricingTipoPtoVtaService.suscribir(ptpv); + } + + // Ruta + GP_PricingRuta pr = new GP_PricingRuta(); + Ruta r = rutaService.obtenerID(-1); + if (r != null) { + pr.setRuta(r); + pr.setPricing(pricing); + pr.setActivo(GP_Pricing.ATIVO); + pr.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pr.setFecmodif(Calendar.getInstance().getTime()); + lsPricingRuta.add(pr); + pricingRutaList.setData(lsPricingRuta); + pricingRutaService.suscribir(pr); + } + + // Mercado + GP_PricingMercado pme = new GP_PricingMercado(); + Parada p1 = paradaService.obtenerID(-1); + if (p1 != null) { + pme.setActivo(GP_Pricing.ATIVO); + pme.setPricing(pricing); + pme.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pme.setFecmodif(Calendar.getInstance().getTime()); + pme.setOrigen(p1); + pme.setDestino(p1); + + lsPricingMercado.add(pme); + pricingMercadoList.setData(lsPricingMercado); + pricingMercadoService.suscribir(pme); + } + + incluirCategoria(categoriaService.obtenerID(1)); + + incluirCategoriasPadroes(); + + btnApagar.setVisible(Boolean.FALSE); + btnInativar.setVisible(Boolean.FALSE); + btnAtivar.setVisible(Boolean.FALSE); + } + } + + private void carregarTabOcupaAntecipa() { + lsPricingOcupaAntecipa = pricingOcupaAntecipaService.carregarPricingOcupaAntecipa(pricing.getPricingId()); + lsPricingOcupacaoAntecipas = pricingOcupaAntecipaService.carregarPricingOcupaAntecipaVO(pricing.getPricingId()); + + pricingOcupaAntecipaList.setItemRenderer(new RenderPricingOcupacao()); + pricingOcupaAntecipaList.setData(lsPricingOcupacaoAntecipas); + pricingOcupaAntecipaList.addEventListener("onDoubleClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + if(event instanceof ForwardEvent) { + ForwardEvent forwardEvent = (ForwardEvent) event; + String vet[] = forwardEvent.getOrigin().getTarget().getId().split("-"); + Integer pricingocupaantecipaId = Integer.valueOf(vet[0]); + verPricingOcupaAntecipa(pricingocupaantecipaId); + } + } + }); + + lsPricingOcupaAntecipaLegendas = pricingOcupaAntecipaService.carregarPricingOcupaAntecipaLegenda(pricing.getPricingId()); + pricingOcupaAntecipaLegendaList.setItemRenderer(new RenderPricingOcupaAntecipaLegenda()); + pricingOcupaAntecipaLegendaList.setData(lsPricingOcupaAntecipaLegendas); + } + + private void incluirCategoria(Categoria categoria) { + if (categoria != null && verificarCategoriaNaoAdicionada(categoria)) { + GP_PricingCategoria pc = new GP_PricingCategoria(); + pc.setCategoria(categoria); + pc.setPricing(pricing); + pc.setActivo(GP_Pricing.ATIVO); + pc.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pc.setFecmodif(Calendar.getInstance().getTime()); + + if(lsPricingCategoria == null) { + lsPricingCategoria = new ArrayList(); + } + lsPricingCategoria.add(pc); + pricingCategoriaList.setData(lsPricingCategoria); + pricingCategoriaService.suscribir(pc); + } + } + + /** Valida se a categoria não foi adicionada */ + private boolean verificarCategoriaNaoAdicionada(Categoria categoria) { + if(lsPricingCategoria == null || lsPricingCategoria.isEmpty()) { + return true; + } + for (GP_PricingCategoria pricingCategoria : lsPricingCategoria) { + if(pricingCategoria.getCategoria() != null && pricingCategoria.getCategoria().equals(categoria)) { + return false; + } + } + return true; + } + + @Override + protected void incluirCategoriaNormal(Categoria categoriaNormal) { + incluirCategoria(categoriaNormal); + } + + @Override + protected void incluirCategoriaPet(Categoria categoriaPET) { + incluirCategoria(categoriaPET); + } + + public void onClick$radioImp(Event ev) { + btnNovoImporte.setVisible(true); + btnApagarImporte.setVisible(true); + btnModificarImporte.setVisible(true); + + descuentoporcsen.setConstraint(""); + descuentoporcsen.setDisabled(true); + descuentoporcsen.setValue(null); + pricing.setDescuentoporcentaje(null); + + descuentoporcredondo.setConstraint(""); + descuentoporcredondo.setValue(null); + descuentoporcredondo.setDisabled(true); + pricing.setDescuentoporcredondo(null); + } + + public void onClick$radioPor(Event ev) { + btnNovoImporte.setVisible(false); + btnApagarImporte.setVisible(false); + btnModificarImporte.setVisible(false); + + descuentoporcsen.setDisabled(false); + descuentoporcredondo.setDisabled(false); + + Object[] listPImporte = pricingImporteList.getData(); + if (listPImporte != null) { + for (Object o : listPImporte) { + GP_PricingImporte pImporte = (GP_PricingImporte) o; + lsPricingImporte.remove(pImporte); + + pImporte.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pImporte.setFecmodif(Calendar.getInstance().getTime()); + pImporte.setActivo(GP_Pricing.INATIVO); + + lsPricingImporte.add(pImporte); + pricingImporteList.removeItem(pImporte); + } + + pricingImporteList.clearSelection(); + pricing.setPricingImporteList(lsPricingImporte); + } + } + + private boolean validarNome() throws InterruptedException { + try { + nombrePricing.getValue(); + } catch (WrongValueException e) { + + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.nomPricingVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + return false; + } + + return true; + } + + private boolean validarObligatorios() throws InterruptedException { + try { + nombrePricing.getValue(); + } catch (WrongValueException e) { + + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.nomPricingVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + return false; + } + + try { + if (pricing.getEmpresa() == null) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.empresaVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + return false; + } + cmbEmpresa.getValue(); + } catch (WrongValueException e) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.empresaVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + return false; + } + + try { + itxCantboleto.getValue(); + } catch (WrongValueException e) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.cantAsientosCorridasVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if (pricingVigenciaList.getModel().getSize() == 0) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.vigenciasVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + try { + cantdiasanticipacion.getValue(); + } catch (WrongValueException e) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.cantDiasAntecipacionVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if (pricingMarcaList.getModel().getSize() == 0) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.marcaVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + if (pricingClaseList.getModel().getSize() == 0) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.claseVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + if (pricingPuntoVentaList.getModel().getSize() == 0) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.puntoVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if (pricingRutaList.getModel().getSize() == 0) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.rutaVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if (verificarContemTodasRuta() && verificarContemTodas()) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.noRutaTodasYTrechosTodos"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + if (pricingTipoPtoVtaList.getModel().getSize() == 0) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.tipoPtoVtaVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if (pricingCategoriaList.getModel().getSize() == 0) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.categoriaVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if (pricingMercadoList.getModel().getSize() == 0 && verificarContemTodasRuta()) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.mercadoVazio"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if(!rdEstadiaMinimaSi.isDisabled() && rdEstadiaMinimaSi.isChecked() && cantdiasEstadiaminima.getValue() == null) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.cantestadiaminima"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + return true; + } + + private boolean verificarContemTodasRuta() { + Integer rutaIdTodas = -1; + for(int i = 0; i < pricingRutaList.getModel().getSize(); i++ ){ + GP_PricingRuta princingRuta = (GP_PricingRuta) pricingRutaList.getModel().getElementAt(i); + if(princingRuta.getRuta().getRutaId() == rutaIdTodas){ + return true; + } + } + return false; + } + + private Boolean verificarContemTodas() { + String TODAS = "TODAS"; + for(int i = 0; i < pricingMercadoList.getModel().getSize(); i++ ){ + GP_PricingMercado princingMercado = (GP_PricingMercado) pricingMercadoList.getModel().getElementAt(i); + if(princingMercado.getOrigen().getDescparada().equals(TODAS) || princingMercado.getDestino().getDescparada().equals(TODAS)){ + return true; + } + } + return false; + } + + @SuppressWarnings("unchecked") + public void onClick$btnSalvar(Event ev) throws InterruptedException { + if (!validarObligatorios()) { + return; + } + + if(!pricingCorridaList.getListData().isEmpty()){ + pricing.setPricingCorridaList((List)pricingCorridaList.getListData()); + } + + BigDecimal vlrdescuentoporcsen = descuentoporcsen.getValueDecimal(); + BigDecimal vlrdescuentoporcredondo = descuentoporcredondo.getValueDecimal(); + + if (cmbIndGeneraFeriadoFechaVenta.getSelectedItem() != null) { + pricing.setIndGeneraFeriadoVenta((String) cmbIndGeneraFeriadoFechaVenta.getSelectedItem().getValue()); + } + + if (cmbIndGeneraFeriadoFechaViaje.getSelectedItem() != null) { + pricing.setIndGeneraFeriadoViaje((String) cmbIndGeneraFeriadoFechaViaje.getSelectedItem().getValue()); + } + + if (chkAgruparDia.isChecked()) { + pricing.setIndAgrupadoDia(Boolean.TRUE); + } else { + pricing.setIndAgrupadoDia(Boolean.FALSE); + } + + if (chkAgruparServico.isChecked()) { + pricing.setIndAgrupadoServico(Boolean.TRUE); + } else { + pricing.setIndAgrupadoServico(Boolean.FALSE); + } + + try { + try { + if (radioPor.isChecked()) { + + if ((vlrdescuentoporcsen != null) && (vlrdescuentoporcsen.intValue() < -100 || vlrdescuentoporcsen.intValue() >= 1000)) { + Messagebox.show( + Labels.getLabel("editarPricingController.msgSencillo.title"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if ((vlrdescuentoporcredondo != null) && (vlrdescuentoporcredondo.intValue() < -100 || vlrdescuentoporcredondo.intValue() >= 1000)) { + Messagebox.show( + Labels.getLabel("editarPricingController.msgRedondo.title"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + + } + } + } catch (Exception ex) { + log.error("PrincigController - descuentoporcsen.getValue() // descuentoporcredondo.getValue() : " + ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + } + + pricing.setEmpresa((Empresa) cmbEmpresa.getSelectedItem().getValue()); + + if (colorChoose.getValue() != null) { + pricing.setColor(colorChoose.getValue()); + } + + if (rdTransSi.isChecked()) { + pricing.setIndtransferible(Boolean.TRUE); + } else { + pricing.setIndtransferible(Boolean.FALSE); + } + if (rdCanceSi.isChecked()) { + pricing.setIndcancelable(Boolean.TRUE); + } else { + pricing.setIndcancelable(Boolean.FALSE); + } + if (rdReserSi.isChecked()) { + pricing.setIndreservable(Boolean.TRUE); + } else { + pricing.setIndreservable(Boolean.FALSE); + } + if (rdExibirVendaSi.isChecked()) { + pricing.setExibeVenda(Boolean.TRUE); + } else { + pricing.setExibeVenda(Boolean.FALSE); + } + + definirCamposEstadiaMinima(); + + if (gravarNovo) { + List lsPricing = + pricingService.buscarPorNombre(pricing.getNombPricing()); + + if (lsPricing.size() == 0) { + pricing = pricingService.actualizacion(pricing); + pricingList.addItemNovo(pricing); + + compararAlteracoesESalvarHistorico(); + + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.suscribirOK"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + salvo = true; + + } else { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } else { + + if(!lsPricingOcupaAntecipa.isEmpty()){ + pricing.setPricingOcupaAntecipaList(lsPricingOcupaAntecipa); + } + + pricing = pricingService.actualizacion(pricing); + pricingList.updateItem(pricing); + + if (buscarPricingInativosAtivos.equals(GP_Pricing.INATIVO)) { + pricingService.inativar(pricing); + } + + compararAlteracoesESalvarHistorico(); + + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.suscribirOK"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + salvo = true; + + } + + // Se for por porcentage eu desativo todos os importes + if (radioPor.isChecked()) { + pricing = pricingService.obtenerID(pricing.getPricingId()); + for (GP_PricingImporte pi : pricing.getPricingImporteList()) { + pricingImporteService.borrar(pi); + } + } + } catch (Exception ex) { + log.error("Error salvar pricing : " + ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + private void compararAlteracoesESalvarHistorico() { + try { + // Busca todas as listas novamente pq nao encontrava novos registros + pricing.setPricingAsientoList(pricingAsientoService.obtenerTodoPorPricing(pricing)); + pricing.setPricingOcupaAntecipaList(pricingOcupaAntecipaService.obtenerTodoPorPricing(pricing)); + pricing.setPricingCategoriaList(pricingCategoriaService.obtenerTodoPorPricing(pricing)); + pricing.setPricingClaseList(pricingClaseService.obtenerTodoPorPricing(pricing)); + pricing.setPricingCorridaList(pricingCorridaService.obtenerTodoPorPricing(pricing)); + pricing.setPricingDiaList(pricingDiaService.obtenerTodoPorPricing(pricing)); + pricing.setPricingFormapagoList(pricingFormapagoService.obtenerTodoPorPricing(pricing)); + pricing.setPricingImporteList(pricingImporteService.obtenerTodoPorPricing(pricing)); + pricing.setPricingMarcaList(pricingMarcaService.obtenerTodoPorPricing(pricing)); + pricing.setPricingMercadoList(pricingMercadoService.obtenerTodoPorPricing(pricing)); + pricing.setPricingPuntoventaList(pricingPuntoVentaService.obtenerTodoPorPricing(pricing)); + pricing.setPricingRutaList(pricingRutaService.obtenerTodoPorPricing(pricing)); + pricing.setPricingTipoptovtaList(pricingTipoPtoVtaService.obtenerTodoPorPricing(pricing)); + pricing.setPricingTipoServicioList(pricingTipoServicioService.obtenerTodoPorPricing(pricing)); + pricing.setPricingVigenciaList(pricingVigenciaService.obtenerTodoPorPricing(pricing)); + + pricingHistoricoService.compararESalvar(pricingOriginal, pricing); + pricingOriginal = new GP_Pricing(); + pricingOriginal = pricing.clonar(); + } catch (Exception e) { + log.error("Erro ao salvar historico do Pricing Rapido: ", e); + } + } + + private void definirCamposEstadiaMinima() { + chkIndLunEstadiaminima.getValue(); + chkIndMarEstadiaminima.getValue(); + chkIndMieEstadiaminima.getValue(); + chkIndJueEstadiaminima.getValue(); + chkIndVieEstadiaminima.getValue(); + chkIndSabEstadiaminima.getValue(); + chkIndDomEstadiaminima.getValue(); + cantdiasEstadiaminima.getValue(); + + /* + * Caso não exista percentual de desconto informado, limpar as configurações de estadia mínima + * Mantis #14990 + */ + if(pricing.getDescuentoporcredondo() != null && rdEstadiaMinimaSi.isChecked()) { + pricing.setIndestadiaminima(Boolean.TRUE); + pricing.setCantdiasEstadiaminima(cantdiasEstadiaminima.getValue()); + pricing.setIndLunEstadiaminima(chkIndLunEstadiaminima.isChecked()); + pricing.setIndMarEstadiaminima(chkIndMarEstadiaminima.isChecked()); + pricing.setIndMieEstadiaminima(chkIndMieEstadiaminima.isChecked()); + pricing.setIndJueEstadiaminima(chkIndJueEstadiaminima.isChecked()); + pricing.setIndVieEstadiaminima(chkIndVieEstadiaminima.isChecked()); + pricing.setIndSabEstadiaminima(chkIndSabEstadiaminima.isChecked()); + pricing.setIndDomEstadiaminima(chkIndDomEstadiaminima.isChecked()); + } else { + cantdiasEstadiaminima.setValue(null); + rdEstadiaMinimaSi.setChecked(false); + rdEstadiaMinimaNo.setChecked(true); + chkIndLunEstadiaminima.setChecked(false); + chkIndMarEstadiaminima.setChecked(false); + chkIndMieEstadiaminima.setChecked(false); + chkIndJueEstadiaminima.setChecked(false); + chkIndVieEstadiaminima.setChecked(false); + chkIndSabEstadiaminima.setChecked(false); + chkIndDomEstadiaminima.setChecked(false); + } + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void onClick$btnCopiar(Event ev) throws InterruptedException { + + Map args = new HashMap(); + args.put("pricing", pricing); + + openWindow("/gui/gestao_pricing/copiarGP_Pricing.zul", + Labels.getLabel("copiarPricingController.window.title"), args, MODAL); + + } + + + @SuppressWarnings({ "unchecked" }) + public void onCheck$chkAgruparDia(CheckEvent ev) throws InterruptedException { + + if (ev.isChecked()) { + List list = pricingDiaList.getListData(); + Checkbox chk = (Checkbox) ev.getTarget(); + + if (list.isEmpty()) { + Messagebox.show( + "Adicione os registros para habilitar agrupação. ", + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + chk.setChecked(false); + ev.stopPropagation(); + } + + for (GP_PricingDia gp_PricingDia : list) { + + if (gp_PricingDia.getIndfecviaje() != null && !gp_PricingDia.getIndfecviaje()) { + + Messagebox.show( + "Para agrupar é necessário escolher somente Data da Viagem. ", + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + chk.setChecked(false); + ev.stopPropagation(); + } + } + } + } + + // O tratamento para deletar o Pricing (made by Monteiro) quando sair sem + // salvar foi mudado para o evento onClose da janela. + public void onClick$btnFechar(Event ev) { + onClose$winEditarPricing(null); + } + + public void onClose$winEditarPricing(Event ev) { + if (!salvo) { + if (pricing.getPricingId() != null) { + pricingService.borrarFisico(pricing); + } + } + + closeWindow(); + } + + public void onClick$btnApagar(Event ev) throws InterruptedException { + try { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPergunta"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingService.borrar(pricing); + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarOK"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + pricingList.removeItem(pricing); + + closeWindow(); + } + } catch (Exception ex) { + log.error("Erro apagar pricing : " + ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnModificarVigencia(Event ev) { + GP_PricingVigencia pVigencia = (GP_PricingVigencia) pricingVigenciaList.getSelected(); + + if (pVigencia != null) { + verPricingVigencia(pVigencia); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.windowVigencia.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarVigencia(Event ev) throws Exception { + List listPVigencia = pricingVigenciaList.getSelectedsItens(); + if (listPVigencia != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaVigencia"), + Labels.getLabel("editarPricingController.windowVigencia.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + for (Object o : listPVigencia) { + + pricing = pricingService.obtenerID(pricing.getPricingId()); + lsPricingVigencia = pricing.getPricingVigenciaList(); + + GP_PricingVigencia pVigencia = (GP_PricingVigencia) o; + lsPricingVigencia.remove(pVigencia); + + pVigencia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pVigencia.setFecmodif(Calendar.getInstance().getTime()); + pVigencia.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingVigencia.add(pVigencia); + pricingVigenciaList.removeItem(pVigencia); + + pricing.setPricingVigenciaList(lsPricingVigencia); + + pricingService.actualizacion(pricing); + lsPricingVigencia.clear(); + } + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoVigencia(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + GP_PricingVigencia pVigencia = new GP_PricingVigencia(); + pVigencia.setPricing(pricing); + + verPricingVigencia(pVigencia); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingVigencia(GP_PricingVigencia pVigencia) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingVigencia", pVigencia); + args.put("pricing", pricing); + args.put("pricingVigenciaList", pricingVigenciaList); + + openWindow("/gui/gestao_pricing/editarGP_PricingVigencia.zul", + Labels.getLabel("editarPricingController.vigencia.value"), args, MODAL); + } + + public void onClick$btnApagarImporte(Event ev) throws Exception { + List listPImporte = pricingImporteList.getSelectedsItens(); + if (listPImporte != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaImporte"), + Labels.getLabel("editarPricingController.windowImporte.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + for (Object o : listPImporte) { + GP_PricingImporte pImporte = (GP_PricingImporte) o; + lsPricingImporte.remove(pImporte); + + pImporte.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pImporte.setFecmodif(Calendar.getInstance().getTime()); + pImporte.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingImporte.add(pImporte); + pricingImporteList.removeItem(pImporte); + } + + pricingImporteList.clearSelection(); + pricing.setPricingImporteList(lsPricingImporte); + pricingService.actualizacion(pricing); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.windowImporte.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoImporte(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingImporte pImporte = new GP_PricingImporte(); + pImporte.setPricing(pricing); + verPricingImporte(pImporte); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingImporte(GP_PricingImporte pImporte) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingImporte", pImporte); + args.put("pricingImporteList", pricingImporteList); + + openWindow("/gui/gestao_pricing/editarGP_PricingImporte.zul", + Labels.getLabel("editarPricingController.windowImporte.title"), args, MODAL); + } + + public void onClick$btnModificarImporte(Event ev) throws InterruptedException { + GP_PricingImporte pImporte = (GP_PricingImporte) pricingImporteList.getSelected(); + + if (pImporte != null) { + verPricingImporte(pImporte); + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.windowImporte.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnApagarMarca(Event ev) throws Exception { + List listPMarca = pricingMarcaList.getSelectedsItens(); + if (listPMarca != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaMarca"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + for (Object o : listPMarca) { + GP_PricingMarca pMarca = (GP_PricingMarca) o; + + lsPricingMarca.remove(pMarca); + + pMarca.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pMarca.setFecmodif(Calendar.getInstance().getTime()); + pMarca.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingMarca.add(pMarca); + pricingMarcaList.removeItem(pMarca); + pricingMarcaList.clearSelection(); + + pricing.setPricingMarcaList(lsPricingMarca); + pricingService.actualizacion(pricing); + } + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoMarca(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingMarca pMarca = new GP_PricingMarca(); + pMarca.setPricing(pricing); + verPricingMarca(pMarca); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingMarca(GP_PricingMarca pMarca) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingMarca", pMarca); + args.put("pricingMarcaList", pricingMarcaList); + + openWindow("/gui/gestao_pricing/editarGP_PricingMarca.zul", + Labels.getLabel("editarPricingController.windowMarca.title"), args, MODAL); + } + + public void onClick$btnModificarMarca(Event ev) { + GP_PricingMarca pMarca = (GP_PricingMarca) pricingMarcaList.getSelected(); + + if (pMarca != null) { + verPricingMarca(pMarca); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarClase(Event ev) throws Exception { + List listPClase = pricingClaseList.getSelectedsItens(); + + if (listPClase != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaClase"), + Labels.getLabel("editarPricingController.windowClase.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + for (Object o : listPClase) { + + GP_PricingClase pClase = (GP_PricingClase) o; + + lsPricingClase.remove(pClase); + + pClase.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pClase.setFecmodif(Calendar.getInstance().getTime()); + pClase.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingClase.add(pClase); + pricingClaseList.removeItem(pClase); + pricingClaseList.clearSelection(); + + pricing.setPricingClaseList(lsPricingClase); + pricingService.actualizacion(pricing); + } + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoClase(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingClase pClase = new GP_PricingClase(); + pClase.setPricing(pricing); + verPricingClase(pClase); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingClase(GP_PricingClase pClase) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingClase", pClase); + args.put("pricingClaseList", pricingClaseList); + + openWindow("/gui/gestao_pricing/editarGP_PricingClase.zul", + Labels.getLabel("editarPricingController.windowTipoServicio.title"), args, MODAL); + } + + public void onClick$btnModificarClase(Event ev) { + GP_PricingClase pClase = (GP_PricingClase) pricingClaseList.getSelected(); + + if (pClase != null) { + verPricingClase(pClase); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarPuntoVenta(Event ev) throws Exception { + List listPuntoVenta = pricingPuntoVentaList.getSelectedsItens(); + if (listPuntoVenta != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaPuntoVenta"), + Labels.getLabel("editarPricingController.windowPuntoVenta.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + + for (Object o : listPuntoVenta) { + + GP_PricingPuntoVenta pPuntoVenta = (GP_PricingPuntoVenta) o; + lsPricingPuntoVenta.remove(pPuntoVenta); + + pPuntoVenta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pPuntoVenta.setFecmodif(Calendar.getInstance().getTime()); + pPuntoVenta.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingPuntoVenta.add(pPuntoVenta); + pricingPuntoVentaList.removeItem(pPuntoVenta); + pricingPuntoVentaList.clearSelection(); + + pricing.setPricingPuntoventaList(lsPricingPuntoVenta); + pricingService.actualizacion(pricing); + } + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoPuntoVenta(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingPuntoVenta pPuntoVenta = new GP_PricingPuntoVenta(); + pPuntoVenta.setPricing(pricing); + verPricingPuntoVenta(pPuntoVenta); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingPuntoVenta(GP_PricingPuntoVenta pPuntoVenta) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingPuntoVenta", pPuntoVenta); + args.put("pricingPuntoVentaList", pricingPuntoVentaList); + + openWindow("/gui/gestao_pricing/editarGP_PricingPuntoVenta.zul", + Labels.getLabel("editarPricingController.windowPuntoVenta.title"), args, MODAL); + } + + public void onClick$btnModificarPuntoVenta(Event ev) { + GP_PricingPuntoVenta pPuntoVenta = (GP_PricingPuntoVenta) pricingPuntoVentaList.getSelected(); + + if (pPuntoVenta != null) { + verPricingPuntoVenta(pPuntoVenta); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarTipoPtoVta(Event ev) throws Exception { + List listTipoPtoVta = pricingTipoPtoVtaList.getSelectedsItens(); + if (listTipoPtoVta != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaTipoPtoVta"), + Labels.getLabel("editarPricingController.windowTipoPtoVta.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + for (Object r : listTipoPtoVta) { + GP_PricingTipoPtoVta pTipoPtoVta = (GP_PricingTipoPtoVta) r; + + lsPricingTipoPtoVta.remove(pTipoPtoVta); + pTipoPtoVta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pTipoPtoVta.setFecmodif(Calendar.getInstance().getTime()); + pTipoPtoVta.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingTipoPtoVta.add(pTipoPtoVta); + pricingTipoPtoVtaList.removeItem(pTipoPtoVta); + pricingTipoPtoVtaList.clearSelection(); + + pricing.setPricingTipoptovtaList(lsPricingTipoPtoVta); + pricingService.actualizacion(pricing); + } + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoTipoPtoVta(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingTipoPtoVta pTipoPtoVta = new GP_PricingTipoPtoVta(); + pTipoPtoVta.setPricing(pricing); + verPricingTipoPtoVta(pTipoPtoVta); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingTipoPtoVta(GP_PricingTipoPtoVta pTipoPtoVta) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingTipoPtoVta", pTipoPtoVta); + args.put("pricingTipoPtoVtaList", pricingTipoPtoVtaList); + + openWindow("/gui/gestao_pricing/editarGP_PricingTipoPtoVta.zul", + Labels.getLabel("editarPricingController.windowTipoPtoVta.title"), args, MODAL); + } + + public void onClick$btnModificarTipoPtoVta(Event ev) { + GP_PricingTipoPtoVta pTipoPtoVta = (GP_PricingTipoPtoVta) pricingTipoPtoVtaList.getSelected(); + + if (pTipoPtoVta != null) { + verPricingTipoPtoVta(pTipoPtoVta); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarCategoria(Event ev) throws Exception { + List listPCategoria = pricingCategoriaList.getSelectedsItens(); + if (listPCategoria != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaCategoria"), + Labels.getLabel("editarPricingController.windowCategoria.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + for (Object o : listPCategoria) { + GP_PricingCategoria pCategoria = (GP_PricingCategoria) o; + lsPricingCategoria.remove(pCategoria); + + pCategoria.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pCategoria.setFecmodif(Calendar.getInstance().getTime()); + pCategoria.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingCategoria.add(pCategoria); + pricingCategoriaList.removeItem(pCategoria); + pricingCategoriaList.clearSelection(); + + pricing.setPricingCategoriaList(lsPricingCategoria); + pricingService.actualizacion(pricing); + } + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoCategoria(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingCategoria pCategoria = new GP_PricingCategoria(); + pCategoria.setPricing(pricing); + verPricingCategoria(pCategoria); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingCategoria(GP_PricingCategoria pCategoria) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingCategoria", pCategoria); + args.put("pricingCategoriaList", pricingCategoriaList); + + openWindow("/gui/gestao_pricing/editarGP_PricingCategoria.zul", + Labels.getLabel("editarPricingController.windowCategoria.title"), args, MODAL); + } + + public void onClick$btnModificarCategoria(Event ev) { + GP_PricingCategoria pCategoria = (GP_PricingCategoria) pricingCategoriaList.getSelected(); + + if (pCategoria != null) { + verPricingCategoria(pCategoria); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarRuta(Event ev) throws Exception { + List listRuta = pricingRutaList.getSelectedsItens(); + if (listRuta != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaRuta"), + Labels.getLabel("editarPricingController.windowRuta.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + for (Object r : listRuta) { + GP_PricingRuta pRuta = (GP_PricingRuta) r; + + lsPricingRuta.remove(pRuta); + + pRuta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pRuta.setFecmodif(Calendar.getInstance().getTime()); + pRuta.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingRuta.add(pRuta); + pricingRutaList.removeItem(pRuta); + + } + pricingRutaList.clearSelection(); + pricing.setPricingRutaList(lsPricingRuta); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + + public void onChange$colorChoose(Event ev) throws InterruptedException { + colorChoose.setStyle(" background: #FFFFFF; font-style: oblique;"); + } + + public void onClick$btnNovoRuta(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingRuta pRuta = new GP_PricingRuta(); + pRuta.setPricing(pricing); + verPricingRuta(pRuta); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingRuta(GP_PricingRuta pRuta) throws InterruptedException { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + if(pricing.getEmpresa() != null){ + Map args = new HashMap(); + args.put("pricingRuta", pRuta); + args.put("pricingRutaList", pricingRutaList); + + openWindow("/gui/gestao_pricing/editarGP_PricingRuta.zul", + Labels.getLabel("editarPricingController.windowRuta.title"), args, MODAL); + + }else{ + Messagebox.show( + Labels.getLabel("editarPuntoVentaController.MSG.empresa"), + Labels.getLabel("editarPricingController.windowRuta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnModificarRuta(Event ev) throws InterruptedException { + GP_PricingRuta pRuta = (GP_PricingRuta) pricingRutaList.getSelected(); + + if (pRuta != null) { + verPricingRuta(pRuta); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarMercado(Event ev) throws Exception { + GP_PricingMercado pMercado = (GP_PricingMercado) pricingMercadoList.getSelected(); + if (pMercado != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaMercado"), + Labels.getLabel("editarPricingController.windowMercado.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + lsPricingMercado.remove(pMercado); + + pMercado.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pMercado.setFecmodif(Calendar.getInstance().getTime()); + pMercado.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingMercado.add(pMercado); + pricingMercadoList.removeItem(pMercado); + pricingMercadoList.clearSelection(); + + pricing.setPricingMercadoList(lsPricingMercado); + pricingService.actualizacion(pricing); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoMercado(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingMercado pMercado = new GP_PricingMercado(); + pMercado.setPricing(pricing); + + verPricingMercado(pMercado); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingMercado(GP_PricingMercado pMercado) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingMercado", pMercado); + args.put("pricingMercadoList", pricingMercadoList); + + openWindowPosi("/gui/gestao_pricing/editarGP_PricingMercado.zul", + Labels.getLabel("editarPricingController.windowMercado.title"), args, MODAL, "center,top"); + } + + public void onClick$btnModificarMercado(Event ev) { + GP_PricingMercado pMercado = (GP_PricingMercado) pricingMercadoList.getSelected(); + + if (pMercado != null) { + verPricingMercado(pMercado); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarCorrida(Event ev) throws Exception { + GP_PricingCorrida pCorrida = (GP_PricingCorrida) pricingCorridaList.getSelected(); + if (pCorrida != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaCorrida"), + Labels.getLabel("editarPricingController.windowCorrida.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pCorrida.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pCorrida.setFecmodif(Calendar.getInstance().getTime()); + pCorrida.setActivo(GP_Pricing.EXCLUIDO); + + pricing.setPricingCorridaList(lsPricingCorrida); + pricingService.actualizacion(pricing); + + lsPricingCorrida.remove(pCorrida); + pricingCorridaList.removeItem(pCorrida); + pricingCorridaList.clearSelection(); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoCorrida(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + verPricingCorrida(); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingCorrida() { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + List lsCorridas = (List) pricingCorridaList.getListData(); + + Map args = new HashMap(); + args.put("pricing", pricing); + args.put("lsCorridas", lsCorridas); + args.put("pricingCorridaList", pricingCorridaList); + + openWindow("/gui/gestao_pricing/editarGP_PricingCorrida.zul", + Labels.getLabel("editarPricingController.windowCorrida.title"), args, MODAL); + } + + public void onClick$btnModificarCorrida(Event ev) { + GP_PricingCorrida pCorrida = (GP_PricingCorrida) pricingCorridaList.getSelected(); + + if (pCorrida != null) { + verPricingCorrida(); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarDia(Event ev) throws Exception { + GP_PricingDia pDia = (GP_PricingDia) pricingDiaList.getSelected(); + if (pDia != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaDia"), + Labels.getLabel("editarPricingController.windowDia.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + lsPricingDia.remove(pDia); + + pDia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pDia.setFecmodif(Calendar.getInstance().getTime()); + pDia.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingDia.add(pDia); + pricingDiaList.removeItem(pDia); + pricingDiaList.clearSelection(); + + pricing.setPricingDiaList(lsPricingDia); + pricingService.actualizacion(pricing); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoDia(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingDia pDia = new GP_PricingDia(); + pDia.setPricing(pricing); + verPricingDia(pDia); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingDia(GP_PricingDia pDia) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingDia", pDia); + args.put("pricingDiaList", pricingDiaList); + + openWindow("/gui/gestao_pricing/editarGP_PricingDia.zul", + Labels.getLabel("editarPricingController.windowDia.title"), args, MODAL); + } + + public void onClick$btnModificarDia(Event ev) { + GP_PricingDia pDia = (GP_PricingDia) pricingDiaList.getSelected(); + + if (pDia != null) { + verPricingDia(pDia); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarOcupaAntecipa(Event ev) throws Exception { + GP_PricingOcupaAntecipaVO pOcupaAntecipaVO = (GP_PricingOcupaAntecipaVO) pricingOcupaAntecipaList.getSelected(); + + GP_PricingOcupaAntecipa pOcupaAntecipa = pricingOcupaAntecipaService.obtenerID(pOcupaAntecipaVO.getPricingocupaantecipaId()); + + if (pOcupaAntecipa != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaOcupacion"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + lsPricingOcupaAntecipa.remove(pOcupaAntecipa); + + pOcupaAntecipa.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pOcupaAntecipa.setFecmodif(Calendar.getInstance().getTime()); + pOcupaAntecipa.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingOcupaAntecipa.add(pOcupaAntecipa); + pricing.setPricingOcupaAntecipaList(lsPricingOcupaAntecipa); + pricingService.actualizacion(pricing); + + lsPricingOcupacaoAntecipas = pricingOcupaAntecipaService.carregarPricingOcupaAntecipaVO(pricing.getPricingId()); + pricingOcupaAntecipaList.setData(lsPricingOcupacaoAntecipas); + + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoOcupaAntecipa(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + verPricingOcupaAntecipa(null); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingOcupaAntecipa(Integer pricingocupaantecipaId) { + Map args = new HashMap(); + try { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + GP_PricingOcupaAntecipa pOcupaAntecipa = null; + if(pricingocupaantecipaId != null) { + pOcupaAntecipa = pricingOcupaAntecipaService.obtenerID(pricingocupaantecipaId); + } else { + pOcupaAntecipa = new GP_PricingOcupaAntecipa(); + pOcupaAntecipa.setPricing(pricing); + } + + args.put("pricingOcupaAntecipa", pOcupaAntecipa); + args.put("pricingOcupaAntecipaListVO", pricingOcupaAntecipaList); + args.put("pricingOcupaAntecipaLegendaList", pricingOcupaAntecipaLegendaList); + args.put("lsPricingOcupaAntecipa", lsPricingOcupaAntecipa); + args.put("parentWindow", this); + args.put("argParentWindow", arg); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + + openWindow("/gui/gestao_pricing/editarGP_PricingOcupaAntecipa.zul", + Labels.getLabel("editarPricingController.windowOcupacion.title"), args, MODAL); + + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingOcupaAntecipaAutomatico() { + + Map args = new HashMap(); + args.put("pricing", pricing); + args.put("clasePricingOcupaAntecipaList", lsPricingOcupaAntecipa); + args.put("pricingOcupaAntecipaList", pricingOcupaAntecipaList); + args.put("clasePricingOcupaAntecipaLegendasList", lsPricingOcupaAntecipaLegendas); + args.put("pricingOcupaAntecipaLegendasList", pricingOcupaAntecipaLegendaList); + + openWindow("/gui/gestao_pricing/editarGP_PricingOcupaAntecipaAutomatico.zul", + Labels.getLabel("editarPricingAutomaticoController.windowOcupacion.title"), args, MODAL); + + + } + + public void onClick$btnModificarOcupaAntecipa(Event ev) { + GP_PricingOcupaAntecipaVO pOcupaAntecipa = (GP_PricingOcupaAntecipaVO) pricingOcupaAntecipaList.getSelected(); + + if (pOcupaAntecipa != null) { + verPricingOcupaAntecipa(pOcupaAntecipa.getPricingocupaantecipaId()); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnOcupaAntecipaAutomatico(Event ev) { + verPricingOcupaAntecipaAutomatico(); + } + + public void onClick$btnApagarAsiento(Event ev) throws Exception { + GP_PricingAsiento pAsiento = (GP_PricingAsiento) pricingAsientoList.getSelected(); + + if (pAsiento != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaAsiento"), + Labels.getLabel("editarPricingController.windowAsiento.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + lsPricingAsiento.remove(pAsiento); + + pAsiento.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pAsiento.setFecmodif(Calendar.getInstance().getTime()); + pAsiento.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingAsiento.add(pAsiento); + pricingAsientoList.removeItem(pAsiento); + pricingAsientoList.clearSelection(); + + pricing.setPricingAsientoList(lsPricingAsiento); + pricingService.actualizacion(pricing); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoAsiento(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingAsiento pAsiento = new GP_PricingAsiento(); + pAsiento.setPricing(pricing); + verPricingAsiento(pAsiento); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingAsiento(GP_PricingAsiento pAsiento) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingAsiento", pAsiento); + args.put("pricingAsientoList", pricingAsientoList); + + openWindow("/gui/gestao_pricing/editarGP_PricingAsiento.zul", + Labels.getLabel("editarPricingController.windowAsiento.title"), args, MODAL); + } + + public void onClick$btnModificarAsiento(Event ev) { + GP_PricingAsiento pAsiento = (GP_PricingAsiento) pricingAsientoList.getSelected(); + + if (pAsiento != null) { + verPricingAsiento(pAsiento); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + public void onClick$btnApagarTipoServicio(Event ev) throws Exception { + GP_PricingTipoServicio pTipoServicio = (GP_PricingTipoServicio) pricingTipoServicioList.getSelected(); + + if (pTipoServicio != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaTipoServicio"), + Labels.getLabel("editarPricingController.windowTipoServicio.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + lsPricingTipoServicio.remove(pTipoServicio); + + pTipoServicio.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pTipoServicio.setFecmodif(Calendar.getInstance().getTime()); + pTipoServicio.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingTipoServicio.add(pTipoServicio); + pricingTipoServicioList.removeItem(pTipoServicio); + pricingTipoServicioList.clearSelection(); + + pricing.setPricingTipoServicioList(lsPricingTipoServicio); + pricingService.actualizacion(pricing); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoTipoServicio(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingTipoServicio pTipoServicio = new GP_PricingTipoServicio(); + pTipoServicio.setPricing(pricing); + verPricingTipoServicio(pTipoServicio); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingTipoServicio(GP_PricingTipoServicio pTipoServicio) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingTipoServicio", pTipoServicio); + args.put("pricingTipoServicioList", pricingTipoServicioList); + + openWindow("/gui/gestao_pricing/editarGP_PricingTipoServicio.zul", + Labels.getLabel("editarPricingController.windowTipoServicio.title"), args, MODAL); + } + + public void onClick$btnModificarTipoServicio(Event ev) { + GP_PricingTipoServicio pTipoServicio = (GP_PricingTipoServicio) pricingTipoServicioList.getSelected(); + + if (pTipoServicio != null) { + verPricingTipoServicio(pTipoServicio); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + log.error(ex.getMessage()); + } + } + } + + public void onClick$btnApagarFormaPago(Event ev) throws Exception { + GP_PricingFormapago pFormapago = (GP_PricingFormapago) pricingFormapagoList.getSelected(); + + if (pFormapago != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaFormaPago"), + Labels.getLabel("editarPricingController.windowFormaPago.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + lsPricingFormapago.remove(pFormapago); + + pFormapago.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pFormapago.setFecmodif(Calendar.getInstance().getTime()); + pFormapago.setActivo(GP_Pricing.EXCLUIDO); + + lsPricingFormapago.add(pFormapago); + pricingFormapagoList.removeItem(pFormapago); + + pricingFormapagoList.clearSelection(); + + pricing.setPricingFormapagoList(lsPricingFormapago); + pricingService.actualizacion(pricing); + + lsPricingFormapago = pricing.getPricingFormapagoList(); + pricingFormapagoList.setData(lsPricingFormapago); + + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnNovoFormaPago(Event ev) throws InterruptedException { + if (!validarNome()) { + return; + } + + GP_PricingFormapago pFormapago = new GP_PricingFormapago(); + pFormapago.setPricing(pricing); + verPricingFormapago(pFormapago); + } + + public void onClick$btnModificarFormaPago(Event ev) { + GP_PricingFormapago pFormapago = (GP_PricingFormapago) pricingFormapagoList.getSelected(); + + if (pFormapago != null) { + verPricingFormapago(pFormapago); + + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + java.util.logging.Logger.getLogger(EditarGP_PricingController.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verPricingFormapago(GP_PricingFormapago pFormapago) { + if (pricing.getPricingId() == null) { + pricingService.suscribir(pricing); + } + + Map args = new HashMap(); + args.put("pricingFormapago", pFormapago); + args.put("pricingFormapagoList", pricingFormapagoList); + + openWindow("/gui/gestao_pricing/editarGP_PricingFormapago.zul", + Labels.getLabel("editarPricingController.windowFormaPago.title"), args, MODAL); + } + + public void onClick$btnInativar(Event ev) throws InterruptedException { + try { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.inativarPergunta"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingService.inativar(pricing); + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.inativarOK"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + pricingList.removeItem(pricing); + + closeWindow(); + } + } catch (Exception ex) { + log.error("Erro inativar pricing : " + ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnAtivar(Event ev) throws InterruptedException { + try { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.ativarPergunta"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingService.ativar(pricing); + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.ativarOK"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + ativarInativarComponentes(Boolean.FALSE); + + pricingList.removeItem(pricing); + closeWindow(); + } + } catch (Exception ex) { + log.error("Erro ativar pricing : ", ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + private void ativarInativarComponentes(Boolean desativar) { + pricingVigenciaList.setDisabled(desativar); + pricingImporteList.setDisabled(desativar); + pricingMarcaList.setDisabled(desativar); + pricingClaseList.setDisabled(desativar); + pricingPuntoVentaList.setDisabled(desativar); + pricingTipoPtoVtaList.setDisabled(desativar); + pricingRutaList.setDisabled(desativar); + pricingMercadoList.setDisabled(desativar); + pricingDiaList.setDisabled(desativar); + pricingCorridaList.setDisabled(desativar); + pricingAsientoList.setDisabled(desativar); + pricingOcupaAntecipaList.setDisabled(desativar); + pricingTipoServicioList.setDisabled(desativar); + pricingFormapagoList.setDisabled(desativar); + btnNovoVigencia.setDisabled(desativar); + btnApagarVigencia.setDisabled(desativar); + btnModificarVigencia.setDisabled(desativar); + btnNovoImporte.setDisabled(desativar); + btnApagarImporte.setDisabled(desativar); + btnModificarImporte.setDisabled(desativar); + btnNovoMarca.setDisabled(desativar); + btnApagarMarca.setDisabled(desativar); + btnModificarMarca.setDisabled(desativar); + btnNovoClase.setDisabled(desativar); + btnApagarClase.setDisabled(desativar); + btnModificarClase.setDisabled(desativar); + btnNovoPuntoVenta.setDisabled(desativar); + btnApagarPuntoVenta.setDisabled(desativar); + btnModificarPuntoVenta.setDisabled(desativar); + btnNovoRuta.setDisabled(desativar); + btnApagarRuta.setDisabled(desativar); + btnModificarRuta.setDisabled(desativar); + btnNovoTipoPtoVta.setDisabled(desativar); + btnApagarTipoPtoVta.setDisabled(desativar); + btnModificarTipoPtoVta.setDisabled(desativar); + btnNovoMercado.setDisabled(desativar); + btnApagarMercado.setDisabled(desativar); + btnModificarMercado.setDisabled(desativar); + btnNovoDia.setDisabled(desativar); + btnApagarDia.setDisabled(desativar); + btnNovoCorrida.setDisabled(desativar); + btnApagarCorrida.setDisabled(desativar); + btnNovoAsiento.setDisabled(desativar); + btnApagarAsiento.setDisabled(desativar); + btnModificarAsiento.setDisabled(desativar); + btnNovoTipoServicio.setDisabled(desativar); + btnApagarTipoServicio.setDisabled(desativar); + btnModificarTipoServicio.setDisabled(desativar); + btnNovoFormaPago.setDisabled(desativar); + btnApagarFormaPago.setDisabled(desativar); + btnModificarFormaPago.setDisabled(desativar); + + btnCopiar.setDisabled(desativar); + btnSalvar.setDisabled(desativar); + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public GP_Pricing getPricing() { + return pricing; + } + + public void setPricing(GP_Pricing pricing) { + this.pricing = pricing; + } + + public MyListbox getPricingList() { + return pricingList; + } + + public void setPricingList(MyListbox pricingList) { + this.pricingList = pricingList; + } + + public GP_PricingService getPricingService() { + return pricingService; + } + + public void setPricingService(GP_PricingService pricingService) { + this.pricingService = pricingService; + } + + public List getLsPricingVigencia() { + return lsPricingVigencia; + } + + public void setLsPricingVigencia(List lsPricingVigencia) { + this.lsPricingVigencia = lsPricingVigencia; + } + + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public List getLsPricingAsiento() { + return lsPricingAsiento; + } + + public void setLsPricingAsiento(List lsPricingAsiento) { + this.lsPricingAsiento = lsPricingAsiento; + } + + public List getLsPricingCategoria() { + return lsPricingCategoria; + } + + public void setLsPricingCategoria(List lsPricingCategoria) { + this.lsPricingCategoria = lsPricingCategoria; + } + + public List getLsPricingClase() { + return lsPricingClase; + } + + public void setLsPricingClase(List lsPricingClase) { + this.lsPricingClase = lsPricingClase; + } + + public List getLsPricingDia() { + return lsPricingDia; + } + + public void setLsPricingDia(List lsPricingDia) { + this.lsPricingDia = lsPricingDia; + } + + public List getLsPricingImporte() { + return lsPricingImporte; + } + + public void setLsPricingImporte(List lsPricingImporte) { + this.lsPricingImporte = lsPricingImporte; + } + + public List getLsPricingMarca() { + return lsPricingMarca; + } + + public void setLsPricingMarca(List lsPricingMarca) { + this.lsPricingMarca = lsPricingMarca; + } + + public List getLsPricingMercado() { + return lsPricingMercado; + } + + public void setLsPricingMercado(List lsPricingMercado) { + this.lsPricingMercado = lsPricingMercado; + } + + public List getLsPricingRuta() { + return lsPricingRuta; + } + + public void setLsPricingRuta(List lsPricingRuta) { + this.lsPricingRuta = lsPricingRuta; + } + + public MyListbox getPricingImporteList() { + return pricingImporteList; + } + + public void setPricingImporteList(MyListbox pricingImporteList) { + this.pricingImporteList = pricingImporteList; + } + + public MyListbox getPricingVigenciaList() { + return pricingVigenciaList; + } + + public void setPricingVigenciaList(MyListbox pricingVigenciaList) { + this.pricingVigenciaList = pricingVigenciaList; + } + + public Radio getRdCanceNo() { + return rdCanceNo; + } + + public void setRdCanceNo(Radio rdCanceNo) { + this.rdCanceNo = rdCanceNo; + } + + public Radio getRdCanceSi() { + return rdCanceSi; + } + + public void setRdCanceSi(Radio rdCanceSi) { + this.rdCanceSi = rdCanceSi; + } + + public Radio getRdReserNo() { + return rdReserNo; + } + + public void setRdReserNo(Radio rdReserNo) { + this.rdReserNo = rdReserNo; + } + + public Radio getRdReserSi() { + return rdReserSi; + } + + public void setRdReserSi(Radio rdReserSi) { + this.rdReserSi = rdReserSi; + } + + public Radio getRdTransNo() { + return rdTransNo; + } + + public void setRdTransNo(Radio rdTransNo) { + this.rdTransNo = rdTransNo; + } + + public Radio getRdTransSi() { + return rdTransSi; + } + + public void setRdTransSi(Radio rdTransSi) { + this.rdTransSi = rdTransSi; + } + + public Button getBtnApagar() { + return btnApagar; + } + + public void setBtnApagar(Button btnApagar) { + this.btnApagar = btnApagar; + } + + public Button getBtnApagarImporte() { + return btnApagarImporte; + } + + public void setBtnApagarImporte(Button btnApagarImporte) { + this.btnApagarImporte = btnApagarImporte; + } + + public Button getBtnModificarImporte() { + return btnModificarImporte; + } + + public void setBtnModificarImporte(Button btnModificarImporte) { + this.btnModificarImporte = btnModificarImporte; + } + + public Button getBtnNovoImporte() { + return btnNovoImporte; + } + + public void setBtnNovoImporte(Button btnNovoImporte) { + this.btnNovoImporte = btnNovoImporte; + } + + public Radio getRadioImp() { + return radioImp; + } + + public void setRadioImp(Radio radioImp) { + this.radioImp = radioImp; + } + + public Radio getRadioPor() { + return radioPor; + } + + public void setRadioPor(Radio radioPor) { + this.radioPor = radioPor; + } + + public Radio getRdExibirVendaSi() { + return rdExibirVendaSi; + } + + public void setRdExibirVendaSi(Radio rdExibirVendaSi) { + this.rdExibirVendaSi = rdExibirVendaSi; + } + + public Radio getRdExibirVendaNo() { + return rdExibirVendaNo; + } + + public void setRdExibirVendaNo(Radio rdExibirVendaNo) { + this.rdExibirVendaNo = rdExibirVendaNo; + } + + public boolean isFormaPagoPricingInativo(){ + return ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_FORMAPAGO_PRICING_INATIVO.getDescricao(), "1"); + } + + public Checkbox getChkAgruparDia() { + return chkAgruparDia; + } + + public void setChkAgruparDia(Checkbox chkAgruparDia) { + this.chkAgruparDia = chkAgruparDia; + } + + public Checkbox getChkAgruparServico() { + return chkAgruparServico; + } + + public void setChkAgruparServico(Checkbox chkAgruparServico) { + this.chkAgruparServico = chkAgruparServico; + } + + public List getColumns() { + if (columns == null) { + carregarColunas(); + } + return columns; + } + + private void carregarColunas() { + columns = new ArrayList(); + for (int i = 1; i <= GP_PricingOcupaAntecipaPoltronasVO.MAXPOLTRONAS; i++) { + columns.add(i+""); + } + } + + public void onClick$tabOcupaAntecipa(Event ev) { + carregarTabOcupaAntecipa(); + } + + public void onClick$tabRevisaoValor(Event ev) { + carregarListaRevisaoValoresPricing(); + + } + + @SuppressWarnings("unchecked") + private void carregarListaRevisaoValoresPricing() { + List lsPricingCorrida = new ArrayList(); + if(pricingCorridaList.getListData()!= null && !pricingCorridaList.getListData().isEmpty()) { + lsPricingCorrida = (List)pricingCorridaList.getListData(); + } + lsPricingRevisaoValores = pricingRevisaoValoresService.buscarPricingRevisaoValoresVO(lsPricingVigencia,lsPricingClase, + lsPricingMarca,lsPricingMercado, lsPricingOcupaAntecipa,lsPricingCorrida, lsPricingRuta); + + pricingRevisaoValores.setItemRenderer(new RenderPricingRevisaoValores()); + pricingRevisaoValores.setData(lsPricingRevisaoValores); + + } + + public void onBlur$descuentoporcredondo(Event ev) { + descuentoporcredondo.getValue(); + ativarDesativarCamposEstadiaMinima(descuentoporcredondo.getValueDecimal() == null); + } + + private void ativarDesativarCamposEstadiaMinima(Boolean desativar) { + rdEstadiaMinimaSi.setDisabled(desativar); + rdEstadiaMinimaNo.setDisabled(desativar); + cantdiasEstadiaminima.setDisabled(desativar); + chkIndLunEstadiaminima.setDisabled(desativar); + chkIndMarEstadiaminima.setDisabled(desativar); + chkIndMieEstadiaminima.setDisabled(desativar); + chkIndJueEstadiaminima.setDisabled(desativar); + chkIndVieEstadiaminima.setDisabled(desativar); + chkIndSabEstadiaminima.setDisabled(desativar); + chkIndDomEstadiaminima.setDisabled(desativar); + } + + public void onClick$rdEstadiaMinimaNo(Event ev) { + cantdiasEstadiaminima.setValue(null); + chkIndLunEstadiaminima.setChecked(false); + chkIndMarEstadiaminima.setChecked(false); + chkIndMieEstadiaminima.setChecked(false); + chkIndJueEstadiaminima.setChecked(false); + chkIndVieEstadiaminima.setChecked(false); + chkIndSabEstadiaminima.setChecked(false); + chkIndDomEstadiaminima.setChecked(false); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingCorridaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingCorridaController.java new file mode 100644 index 000000000..68bbb9388 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingCorridaController.java @@ -0,0 +1,253 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Intbox; +import org.zkoss.zul.Timebox; + +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.Corrida; +import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingCorrida; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.service.ClaseServicioService; +import com.rjconsultores.ventaboletos.service.CorridaCtrlService; +import com.rjconsultores.ventaboletos.service.CorridaService; +import com.rjconsultores.ventaboletos.service.GP_PricingCorridaService; +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.render.RenderEditarPricingCorrida; + +@Controller("editarGP_PricingCorridaController") +@Scope("prototype") +public class EditarGP_PricingCorridaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingCorridaService pricingCorridaService; + @Autowired + private CorridaCtrlService corridaCtrlService; + @Autowired + private CorridaService corridaService; + @Autowired + private ClaseServicioService claseServicioService; + private List lsClaseServicio; + private GP_Pricing pricing; + private MyListbox pricingCorridaList; + private MyListbox corridaList; + private Intbox idCorrida; + private Combobox cmbParadaOrigem; + private Combobox cmbParadaDestino; + private Combobox cmbTipoServicio; + private Timebox timeInicio; + private Timebox timeFin; + private static Logger log = Logger.getLogger(EditarGP_PricingCorridaController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsClaseServicio = claseServicioService.buscarTodosExceto(-1); + + super.doAfterCompose(comp); + + pricing = (GP_Pricing) Executions.getCurrent().getArg().get("pricing"); + pricing.setPricingCorridaList((List) Executions.getCurrent().getArg().get("lsCorridas")); + try{ + pricing.getPricingCorridaList(); + }catch(Exception e){ + pricing.setPricingCorridaList(new ArrayList()); + } + pricingCorridaList = (MyListbox) Executions.getCurrent().getArg().get("pricingCorridaList"); + + corridaList.setItemRenderer(new RenderEditarPricingCorrida()); + } + + private void refreshLista() throws InterruptedException { + + Comboitem cbiOrigem = cmbParadaOrigem.getSelectedItem(); + Parada origem = null; + if (cbiOrigem != null) { + origem = (Parada) cbiOrigem.getValue(); + } + + Comboitem cbiDestino = cmbParadaDestino.getSelectedItem(); + Parada destino = null; + if (cbiDestino != null) { + destino = (Parada) cbiDestino.getValue(); + } + + Comboitem cbiTipoServicio = cmbTipoServicio.getSelectedItem(); + ClaseServicio claseServicio = null; + if (cbiTipoServicio != null) { + claseServicio = (ClaseServicio) cbiTipoServicio.getValue(); + } + + corridaList.setData(corridaService.buscarDistinct(origem, destino, timeInicio.getValue(), timeFin.getValue(), claseServicio, idCorrida.getValue())); + + if (corridaList.getData().length == 0) { + + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), Labels.getLabel("busquedaPricingController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + + } + } + + public void onClick$btnPesquisa(Event ev) throws InterruptedException { + cmbParadaOrigem.clearErrorMessage(); + cmbParadaDestino.clearErrorMessage(); + cmbTipoServicio.clearErrorMessage(); + + if (idCorrida.getValue() == null) { + cmbParadaOrigem.setConstraint("no empty"); + cmbParadaDestino.setConstraint("no empty"); + cmbTipoServicio.setConstraint("no empty"); + + cmbParadaOrigem.getValue(); + cmbParadaDestino.getValue(); + cmbTipoServicio.getValue(); + } + + refreshLista(); + } + + public void onClick$btnAdicionarCorrida(Event ev) throws Exception { + List lsPricingViagem = (pricing.getPricingCorridaList() == null) ? new ArrayList() : pricing.getPricingCorridaList(); + List ls = corridaList.getSelectedsItens(); + if (!ls.isEmpty()) { + for (Object o : ls) { + Boolean achou = Boolean.FALSE; + Corrida corrida = (Corrida) o; + if (corrida.getCorridaCtrl() == null) { + CorridaCtrl cc = corridaCtrlService.obtenerID(corrida.getId().getCorridaId()); + if (cc != null) { + corrida.setCorridaCtrl(cc); + } + } + for (GP_PricingCorrida pc : lsPricingViagem) { + if (pc.getCorridaCtrl().getCorridaId().equals(corrida.getCorridaCtrl().getCorridaId())) { + achou = Boolean.TRUE; + } + } + + if (!achou) { + GP_PricingCorrida p = new GP_PricingCorrida(); + p.setActivo(GP_Pricing.ATIVO); + + p.setCorridaCtrl(corrida.getCorridaCtrl()); + + p.setFecmodif(Calendar.getInstance().getTime()); + p.setPricing(pricing); + p.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + lsPricingViagem.add(p); + } + } + + pricing.setPricingCorridaList(lsPricingViagem); + pricingCorridaList.setData(pricing.getPricingCorridaList()); + + closeWindow(); + } + } + + public MyListbox getPricingCorridaList() { + return pricingCorridaList; + } + + public void setPricingCorridaList(MyListbox pricingCorridaList) { + this.pricingCorridaList = pricingCorridaList; + } + + public GP_PricingCorridaService getPricingCorridaService() { + return pricingCorridaService; + } + + public void setPricingCorridaService(GP_PricingCorridaService pricingCorridaService) { + this.pricingCorridaService = pricingCorridaService; + } + + public CorridaCtrlService getCorridaCtrlService() { + return corridaCtrlService; + } + + public void setCorridaCtrlService(CorridaCtrlService corridaCtrlService) { + this.corridaCtrlService = corridaCtrlService; + } + + public Intbox getIdCorrida() { + return idCorrida; + } + + public void setIdCorrida(Intbox idCorrida) { + this.idCorrida = idCorrida; + } + + public Combobox getCmbParadaDestino() { + return cmbParadaDestino; + } + + public void setCmbParadaDestino(Combobox cmbParadaDestino) { + this.cmbParadaDestino = cmbParadaDestino; + } + + public Combobox getCmbParadaOrigem() { + return cmbParadaOrigem; + } + + public void setCmbParadaOrigem(Combobox cmbParadaOrigem) { + this.cmbParadaOrigem = cmbParadaOrigem; + } + + public MyListbox getCorridaList() { + return corridaList; + } + + public void setCorridaList(MyListbox corridaList) { + this.corridaList = corridaList; + } + + public List getLsClaseServicio() { + return lsClaseServicio; + } + + public void setLsClaseServicio(List lsClaseServicio) { + this.lsClaseServicio = lsClaseServicio; + } + + public Combobox getCmbTipoServicio() { + return cmbTipoServicio; + } + + public void setCmbTipoServicio(Combobox cmbTipoServicio) { + this.cmbTipoServicio = cmbTipoServicio; + } + + public Timebox getTimeFin() { + return timeFin; + } + + public void setTimeFin(Timebox timeFin) { + this.timeFin = timeFin; + } + + public Timebox getTimeInicio() { + return timeInicio; + } + + public void setTimeInicio(Timebox timeInicio) { + this.timeInicio = timeInicio; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingDiaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingDiaController.java new file mode 100644 index 000000000..0b57d9b2a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingDiaController.java @@ -0,0 +1,296 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.util.Clients; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Radio; +import org.zkoss.zul.Timebox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingDia; +import com.rjconsultores.ventaboletos.service.GP_PricingDiaService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarGP_PricingDiaController") +@Scope("prototype") +public class EditarGP_PricingDiaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(EditarGP_PricingDiaController.class); + + @Autowired + private GP_PricingDiaService pricingDiaService; + private GP_PricingDia pricingDia; + private MyListbox pricingDiaList; + + private Checkbox rdLun; + private Checkbox rdMar; + private Checkbox rdMie; + private Checkbox rdJue; + private Checkbox rdVie; + private Checkbox rdSab; + private Checkbox rdDom; + private Timebox horarioinicio; + private Timebox horariofin; + + private Radio rdFecViaje; + private Radio rdFecVenta; + + @Override + public void doAfterCompose(Component comp) throws Exception { + + pricingDia = (GP_PricingDia) Executions.getCurrent().getArg().get("pricingDia"); + pricingDiaList = (MyListbox) Executions.getCurrent().getArg().get("pricingDiaList"); + + super.doAfterCompose(comp); + + if (pricingDia.getPricingdiaId() != null) { + if (pricingDia.getIndlunes() == Boolean.TRUE) { + rdLun.setChecked(true); + } + if (pricingDia.getIndmartes() == Boolean.TRUE) { + rdMar.setChecked(true); + } + if (pricingDia.getIndmiercoles() == Boolean.TRUE) { + rdMie.setChecked(true); + } + if (pricingDia.getIndjueves() == Boolean.TRUE) { + rdJue.setChecked(true); + } + if (pricingDia.getIndviernes() == Boolean.TRUE) { + rdVie.setChecked(true); + } + if (pricingDia.getIndsabado() == Boolean.TRUE) { + rdSab.setChecked(true); + } + if (pricingDia.getInddomingo() == Boolean.TRUE) { + rdDom.setChecked(true); + } + if (pricingDia.getIndfecventa() == Boolean.TRUE) { + rdFecVenta.setChecked(true); + } + if (pricingDia.getIndfecviaje() == Boolean.TRUE) { + rdFecViaje.setChecked(true); + } + } + } + + public boolean noTraslapa() { + List lsVT1 = pricingDiaService.buscarTraslapa(pricingDia); + + // Nao Traslapen + Boolean podeSalvar = false; + Boolean[] podeTodos = new Boolean[lsVT1.isEmpty() ? 1 : lsVT1.size()]; + boolean podeMesmo = true; + + // Se a lista for nula / Salva + if (lsVT1.isEmpty()) { + podeMesmo = true; + podeTodos[0] = true; + // Se a lista não for nula e for algo novo... não pode salvar + } else { + int i = 0; + for (GP_PricingDia p : lsVT1) { + if (p.getPricingdiaId().equals(pricingDia.getPricingdiaId())) { + podeTodos[i] = true; + continue; + } + podeSalvar = true; + if (pricingDia.getIndlunes()) { + if (p.getIndlunes() == pricingDia.getIndlunes()) { + podeSalvar = false; + } + } + if (pricingDia.getIndmartes()) { + if (p.getIndmartes() == pricingDia.getIndmartes()) { + podeSalvar = false; + } + } + if (pricingDia.getIndmiercoles()) { + if (p.getIndmiercoles() == pricingDia.getIndmiercoles()) { + podeSalvar = false; + } + } + if (pricingDia.getIndjueves()) { + if (p.getIndjueves() == pricingDia.getIndjueves()) { + podeSalvar = false; + } + } + if (pricingDia.getIndviernes()) { + if (p.getIndviernes() == pricingDia.getIndviernes()) { + podeSalvar = false; + } + } + if (pricingDia.getIndsabado()) { + if (p.getIndsabado() == pricingDia.getIndsabado()) { + podeSalvar = false; + } + } + if (pricingDia.getInddomingo()) { + if (p.getInddomingo() == pricingDia.getInddomingo()) { + podeSalvar = false; + } + } + if (pricingDia.getIndfecventa()) { + if (p.getIndfecventa() == pricingDia.getIndfecventa()) { + podeSalvar = false; + } + } + if (pricingDia.getIndfecviaje()) { + if (p.getIndfecviaje() == pricingDia.getIndfecviaje()) { + podeSalvar = false; + } + } + podeTodos[i] = podeSalvar; + i++; + } + } + + for (int i = 0; i < podeTodos.length; i++) { + if (podeTodos[i] != null) { + if (!podeTodos[i]) { + podeMesmo = false; + } + } + } + return podeMesmo; + } + + public void onClick$btnAdicionarDia(Event ev) throws Exception { + + horarioinicio.getValue(); + horariofin.getValue(); + + horarioinicio.setValue(DateUtil.getFecInicio(horarioinicio.getValue()).getTime()); + horariofin.setValue(DateUtil.getFecInicio(horariofin.getValue()).getTime()); + + if (horarioinicio.getValue().after(horariofin.getValue())) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.datas"), Labels.getLabel("editarPricingController.windowDia.title"), Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + + if (!rdFecViaje.isChecked() && !rdFecVenta.isChecked()) { + Clients.alert(Labels.getLabel("EditarPricingDiaController.MSG.obligatorioData"), + Labels.getLabel("editarPricingController.windowDia.title"), + Messagebox.EXCLAMATION); + return; + } + + if (!rdLun.isChecked() && !rdMar.isChecked() && !rdMie.isChecked() && !rdJue.isChecked() && !rdVie.isChecked() && !rdSab.isChecked() && !rdDom.isChecked()) { + Clients.alert(Labels.getLabel("EditarPricingDiaController.MSG.obligatorioDia"), Labels.getLabel("editarPricingController.windowDia.title"), Messagebox.EXCLAMATION); + return; + } + try { + pricingDia.setIndlunes(rdLun.isChecked() ? Boolean.TRUE : Boolean.FALSE); + pricingDia.setIndmartes(rdMar.isChecked() ? Boolean.TRUE : Boolean.FALSE); + pricingDia.setIndmiercoles(rdMie.isChecked() ? Boolean.TRUE : Boolean.FALSE); + pricingDia.setIndjueves(rdJue.isChecked() ? Boolean.TRUE : Boolean.FALSE); + pricingDia.setIndviernes(rdVie.isChecked() ? Boolean.TRUE : Boolean.FALSE); + pricingDia.setIndsabado(rdSab.isChecked() ? Boolean.TRUE : Boolean.FALSE); + pricingDia.setInddomingo(rdDom.isChecked() ? Boolean.TRUE : Boolean.FALSE); + + pricingDia.setIndfecventa(rdFecVenta == null ? Boolean.FALSE : + rdFecVenta.isChecked() ? Boolean.TRUE : Boolean.FALSE); + pricingDia.setIndfecviaje(rdFecViaje == null ? Boolean.FALSE : + rdFecViaje.isChecked() ? Boolean.TRUE : Boolean.FALSE); + + pricingDia.setHorarioinicio(DateUtil.getFecInicio(horarioinicio.getValue()).getTime()); + pricingDia.setHorariofin(DateUtil.getFecInicio(horariofin.getValue()).getTime()); + + if (noTraslapa()) { + if (pricingDia.getPricingdiaId() != null) { + pricingDiaService.actualizacion(pricingDia); + pricingDiaList.updateItem(pricingDia); + } else { + pricingDiaService.suscribir(pricingDia); + pricingDiaList.addItem(pricingDia); + } + closeWindow(); + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.traslapa"), + Labels.getLabel("editarPricingController.windowDia.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error("",ex); + Clients.alert(Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.windowDia.title"), Messagebox.ERROR); + } + + } + + public void onClick$btnRemoverDia(Event ev) throws InterruptedException { + GP_PricingDia pDia = (GP_PricingDia) pricingDiaList.getSelected(); + if (pDia != null) { + int resp = Messagebox.show(Labels.getLabel("editarPricingController.MSG.borrarPerguntaDia"), Labels.getLabel("editarPricingController.windowDia.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingDia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingDia.setFecmodif(Calendar.getInstance().getTime()); + pricingDia.setActivo(GP_Pricing.INATIVO); + + pricingDiaList.removeItem(pricingDia); + pricingDiaService.borrar(pricingDia); + closeWindow(); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.windowDia.title"), Messagebox.OK, + Messagebox.EXCLAMATION); + } + } + + public GP_PricingDia getPricingDia() { + return pricingDia; + } + + public void setPricingDia(GP_PricingDia pricingDia) { + this.pricingDia = pricingDia; + } + + public MyListbox getPricingDiaList() { + return pricingDiaList; + } + + public void setPricingDiaList(MyListbox pricingDiaList) { + this.pricingDiaList = pricingDiaList; + } + + public GP_PricingDiaService getPricingDiaService() { + return pricingDiaService; + } + + public void setPricingDiaService(GP_PricingDiaService pricingDiaService) { + this.pricingDiaService = pricingDiaService; + } + + public Timebox getHorariofin() { + return horariofin; + } + + public void setHorariofin(Timebox horariofin) { + this.horariofin = horariofin; + } + + public Timebox getHorarioinicio() { + return horarioinicio; + } + + public void setHorarioinicio(Timebox horarioinicio) { + this.horarioinicio = horarioinicio; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingEspecificoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingEspecificoController.java new file mode 100644 index 000000000..73f694854 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingEspecificoController.java @@ -0,0 +1,1262 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Radio; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Categoria; +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoAgencia; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoCanalVendas; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoCategoria; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoOcupacion; +import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.entidad.Moneda; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; +import com.rjconsultores.ventaboletos.service.ClaseServicioService; +import com.rjconsultores.ventaboletos.service.CorridaCtrlService; +import com.rjconsultores.ventaboletos.service.GP_PricingEspecificoAgenciaService; +import com.rjconsultores.ventaboletos.service.GP_PricingEspecificoCanalVendasService; +import com.rjconsultores.ventaboletos.service.GP_PricingEspecificoCategoriaService; +import com.rjconsultores.ventaboletos.service.GP_PricingEspecificoOcupacionService; +import com.rjconsultores.ventaboletos.service.GP_PricingEspecificoService; +import com.rjconsultores.ventaboletos.service.GP_PricingHistoricoService; +import com.rjconsultores.ventaboletos.service.MarcaService; +import com.rjconsultores.ventaboletos.service.MonedaService; +import com.rjconsultores.ventaboletos.service.ParadaService; +import com.rjconsultores.ventaboletos.service.PuntoVentaService; +import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; +import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; +import com.rjconsultores.ventaboletos.utilerias.CustomEnum; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.gui.controladores.pricing.PricingController; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingAgencia; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingCanal; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingEspecificoCategoria; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingEspecificoOcupacion; + +import ch.stfo.zk.component.Colorbox; + +@Controller("editarGP_PricingEspecificoController") +@Scope("prototype") +@SuppressWarnings({ "unchecked", "rawtypes", "unused" }) +public class EditarGP_PricingEspecificoController extends PricingController { + + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(EditarGP_PricingEspecificoController.class); + + @Autowired + private GP_PricingEspecificoService pricingEspecificoService; + @Autowired + private TipoPuntoVentaService puntoVentaService; + @Autowired + private ClaseServicioService claseServicioService; + @Autowired + private MarcaService marcaService; + @Autowired + private ParadaService paradaService; + @Autowired + private MonedaService monedaService; + @Autowired + private CorridaCtrlService corridaCtrlService; + @Autowired + private GP_PricingEspecificoOcupacionService pricingEspecificoOcupacionService; + @Autowired + private GP_PricingEspecificoCategoriaService pricingEspecificoCategoriaService; + @Autowired + private PuntoVentaService puntoVenService; + @Autowired + private GP_PricingEspecificoAgenciaService pricingEspecificoAgenciaService; + @Autowired + private GP_PricingEspecificoCanalVendasService pricingEspecificoCanalVendasService; + @Autowired + private GP_PricingHistoricoService pricingHistoricoService; + + private GP_PricingEspecifico pricingEspecifico; + private GP_PricingEspecifico pricingEspecificoOriginal; + private MyListbox pricingList; + private Combobox cmbPtovta; + private Combobox cmbCategoria; + private Combobox cmbServicio; + private Combobox cmbMarca; + private Combobox cmbOrigem; + private Combobox cmbMoneda; + private Combobox cmbDestino; + private List lsPtovata; + private List lsCategoria; + private List lsclaseServicio; + private List lsMarca; + private List lsMoneda; + private Button btnApagar; + private Datebox fechaInicio; + private Datebox fechaFin; + private Textbox nombrePricing; + private Textbox tarifaAbierto; + private Button btnCopiar; + private Radio rdExibirVendaSi; + private Radio rdExibirVendaNo; + private Radio rdSobreposicaoSim; + private Radio rdSobreposicaoNao; + private Colorbox colorChoose; + + private MyListbox pricingListEspOcupacion; + private MyListbox pricingListEspAgencia; + private MyListbox pricingListEspCategoria; + private MyListbox pricingListEspCanal; + private MyComboboxPuntoVenta cmbPuntoVenta; + private List pricingEspecificoADesativar; + private List pricingEspecificoADesativarAgencia; + private List pricingEspecificoADesativarCategoria; + + private List pricingEspecificoADesativarCanal; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsCategoria = getCategoriaService().obtenerTodos(); + lsMarca = marcaService.buscarMarcaPorEmpresa(UsuarioLogado.getUsuarioLogado().getEmpresa()); + lsMoneda = monedaService.obtenerTodos(); + lsPtovata = puntoVentaService.obtenerTodos(); + lsclaseServicio = claseServicioService.obtenerTodos(); + pricingEspecifico = (GP_PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); + pricingList = (MyListbox) Executions.getCurrent().getArg().get("pricingList"); + pricingEspecificoADesativar = new ArrayList(); + pricingEspecificoADesativarAgencia = new ArrayList(); + pricingEspecificoADesativarCanal = new ArrayList(); + pricingEspecificoADesativarCategoria = new ArrayList(); + super.doAfterCompose(comp); + + pricingListEspOcupacion.setItemRenderer(new RenderPricingEspecificoOcupacion()); + pricingListEspAgencia.setItemRenderer(new RenderPricingAgencia()); + pricingListEspCanal.setItemRenderer(new RenderPricingCanal()); + pricingListEspCategoria.setItemRenderer(new RenderPricingEspecificoCategoria()); + + if (pricingEspecifico != null && pricingEspecifico.getIndSobreposicao() != null && pricingEspecifico.getIndSobreposicao()) { + rdExibirVendaSi.setSelected(Boolean.TRUE); + } else { + rdExibirVendaSi.setSelected(Boolean.FALSE); + } + + if (pricingEspecifico.getPricingespecificoId() == null) { + btnApagar.setVisible(Boolean.FALSE); + incluirCategoriasPadroes(); + } else { + + if (pricingEspecifico.getColor() != null) { + colorChoose.setStyle(" background: #FFFFFF; font-style: oblique;"); + colorChoose.setValue(pricingEspecifico.getColor()); + } + + Parada origem = pricingEspecifico.getParada(); + if (origem != null) { + cmbOrigem.setText(origem.getDescparada()); + } + + Parada destino = pricingEspecifico.getParada1(); + if (destino != null) { + cmbDestino.setText(destino.getDescparada()); + } + + pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId()); + + pricingListEspOcupacion.setData(pricingEspecifico.getPricingEspecificoOcupacionsListActivos()); + pricingListEspOcupacion.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + GP_PricingEspecificoOcupacion especificoOcupacion = (GP_PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected(); + verPricingEspecificoOcupacion(especificoOcupacion, true); + } + }); + pricingListEspAgencia.setData(pricingEspecifico.getPricingEspecificoAgenciaListActivos()); + + + pricingListEspCanal.setData(pricingEspecifico.getPricingEspecificoCanalListActivos()); + pricingListEspCategoria.setData(pricingEspecifico.getPricingEspecificoCategoriaList()); + +// pricingEspecificoOriginal = pricingEspecifico.clonar(); + } + + fechaInicio.focus(); + } + + public void verPricingEspecificoOcupacion(GP_PricingEspecificoOcupacion especificoOcupacion, Boolean isEdicao) { + + Map args = new HashMap(); + args.put("pricingEspecifico", pricingEspecifico); + args.put("pricingEspecificoOcupacion", especificoOcupacion); + args.put("isEdicao", isEdicao); + args.put("pricingListEspOcupacion", pricingListEspOcupacion); + + openWindow("/gui/gestao_pricing/editarGP_PricingEspecificoOcupacion.zul", + Labels.getLabel("editarPricingController.window.title"), args, MODAL); + } + + public void onClick$btnNovoPricingEspOcup(Event ev) throws InterruptedException { + verPricingEspecificoOcupacion(new GP_PricingEspecificoOcupacion(), false); + } + + public void onClick$btnNovoPricingCategoria(Event ev) throws InterruptedException { + if (cmbCategoria.getSelectedItem() == null) { + return; + } + GP_PricingEspecificoCategoria pricingCategoria = new GP_PricingEspecificoCategoria((Categoria) cmbCategoria.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + if (pricingEspecifico.getPricingEspecificoCategoriaList().contains(pricingCategoria)) { + Messagebox.show( + Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoCategoriaJaCadastrado"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + pricingListEspCategoria.addItemNovo(pricingCategoria); + pricingEspecifico.getPricingEspecificoCategoriaList().add(pricingCategoria); + } + + cmbCategoria.setValue(""); + } + + public void onClick$btnNovoPricingAgencia(Event ev) throws InterruptedException { + if(cmbPuntoVenta.getSelectedItem() == null){ + return; + } + GP_PricingEspecificoAgencia pricingAgencia = new GP_PricingEspecificoAgencia((PuntoVenta)cmbPuntoVenta.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + if (pricingEspecifico.getPricingEspecificoAgenciasList().contains(pricingAgencia)) { + Messagebox.show( + Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoAgenciaJaCadastrado"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + pricingListEspAgencia.addItemNovo(pricingAgencia); + pricingEspecifico.getPricingEspecificoAgenciasList().add(pricingAgencia); + + + //se n�o estiver adicionando TODOS + if(pricingAgencia.getPuntoVenta().getPuntoventaId() != -1){ + + //busca o todos na lista + for (GP_PricingEspecificoAgencia pea : pricingEspecifico.getPricingEspecificoAgenciasList() ) { + if(pea.getPuntoVenta().getPuntoventaId().equals(new Integer("-1"))) { + pricingListEspAgencia.removeItem(pea); + pricingEspecificoADesativarAgencia.add(pea); + break; + } + } + + }else { + //se adicionou TODOS remove os outros + for (GP_PricingEspecificoAgencia p : pricingEspecifico.getPricingEspecificoAgenciasList() ) { + if(!p.getPuntoVenta().getPuntoventaId().equals(new Integer("-1"))) { + pricingListEspAgencia.removeItem(p); + pricingEspecificoADesativarAgencia.add(p); + } + } + } + } + + cmbPuntoVenta.setValue(""); + } + + public void onClick$btnNovoPricingCanal(Event ev) throws InterruptedException { + + if(cmbPtovta.getSelectedItem() == null){ + return; + } + GP_PricingEspecificoCanalVendas pricingCanal = new GP_PricingEspecificoCanalVendas((TipoPuntoVenta)cmbPtovta.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + if (pricingEspecifico.getPricingEspecificoCanalVendasList().contains(pricingCanal)) { + Messagebox.show( + Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoCanalJaCadastrado"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + pricingListEspCanal.addItemNovo(pricingCanal); + pricingEspecifico.getPricingEspecificoCanalVendasList().add(pricingCanal); + + + //se n�o estiver adicionando TODOS + if(pricingCanal.getTipoPtovta().getTipoptovtaId() != -1){ + + //busca o todos na lista + for (GP_PricingEspecificoCanalVendas pecv : pricingEspecifico.getPricingEspecificoCanalVendasList() ) { + if(pecv.getTipoPtovta().getTipoptovtaId().equals(new Short("-1"))) { + pricingListEspCanal.removeItem(pecv); + pricingEspecificoADesativarCanal.add(pecv); + break; + } + } + + }else { + //se adicionou TODOS remove os outros + for (GP_PricingEspecificoCanalVendas p : pricingEspecifico.getPricingEspecificoCanalVendasList() ) { + if(!p.getTipoPtovta().getTipoptovtaId().equals(new Short("-1"))) { + pricingListEspCanal.removeItem(p); + pricingEspecificoADesativarCanal.add(p); + } + } + } + } + + cmbPtovta.setValue(""); + } + + public void onClick$btnApagarPricingEspOcup(Event ev) throws InterruptedException { + if (pricingListEspOcupacion.getSelected() == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + int resp = Messagebox.show(Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.borrarPergunta"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + GP_PricingEspecificoOcupacion especificoOcupacion = (GP_PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected(); + + if (especificoOcupacion.getPricingEspecificoOcupacionId() != null) { + especificoOcupacion.setActivo(false); + pricingListEspOcupacion.removeItem(especificoOcupacion); + pricingEspecificoADesativar.add(especificoOcupacion); + } else { + pricingListEspOcupacion.removeSelectedItem(); + removerPricingOcupacion(especificoOcupacion); + } + } + } + } + + public void onClick$btnApagarPricingEspCategoria(Event ev) throws InterruptedException { + if (pricingListEspCategoria.getSelected() == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + int resp = Messagebox.show(Labels.getLabel("editarPricingEspecificoCategoriaController.MSG.borrarPergunta"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + GP_PricingEspecificoCategoria pricingCategoria = (GP_PricingEspecificoCategoria) pricingListEspCategoria.getSelected(); + pricingListEspCategoria.removeItem(pricingCategoria); + + if(pricingCategoria.getPricingEspecificoCategoriaId() != null){ + pricingCategoria.setActivo(false); + pricingEspecificoADesativarCategoria.add(pricingCategoria); + }else{ + removerPricingCategoria(pricingCategoria); + } + } + } + } + + public void onClick$btnApagarPricingEspAgencia(Event ev) throws InterruptedException { + if (pricingListEspAgencia.getSelected() == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + int resp = Messagebox.show(Labels.getLabel("editarPricingEspecificoAgenciaController.MSG.borrarPergunta"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + GP_PricingEspecificoAgencia pricingEspecificoAgencia = (GP_PricingEspecificoAgencia) pricingListEspAgencia.getSelected(); + + if (pricingEspecificoAgencia.getPricingEspecificoAgenciaId() != null) { + pricingEspecificoAgencia.setActivo(false); + pricingListEspAgencia.removeItem(pricingEspecificoAgencia); + pricingEspecificoADesativarAgencia.add(pricingEspecificoAgencia); + } else { + pricingListEspAgencia.removeSelectedItem(); + removerPricingAgencia(pricingEspecificoAgencia); + } + } + } + } + + public void onClick$btnApagarPricingEspCanal(Event ev) throws InterruptedException { + if (pricingListEspCanal.getSelected() == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + int resp = Messagebox.show(Labels.getLabel("editarPricingEspecificoCanalVendaController.MSG.borrarPergunta"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + GP_PricingEspecificoCanalVendas pricingEspecificoCanal = (GP_PricingEspecificoCanalVendas) pricingListEspCanal.getSelected(); + if(pricingEspecifico.getPricingEspecificoCanalVendasList().indexOf(pricingEspecificoCanal)>-1){ + pricingEspecifico.getPricingEspecificoCanalVendasList().get(pricingEspecifico.getPricingEspecificoCanalVendasList().indexOf(pricingEspecificoCanal)).setActivo(Boolean.FALSE); + } + + if (pricingEspecificoCanal.getPricingEspecificoCanalId() != null) { + pricingEspecificoCanal.setActivo(false); + pricingListEspCanal.removeItem(pricingEspecificoCanal); + pricingEspecificoADesativarCanal.add(pricingEspecificoCanal); + } else { + pricingListEspCanal.removeSelectedItem(); + removerPricingCanalVendas(pricingEspecificoCanal); + } + + } + } + } + + private void removerPricingOcupacion(GP_PricingEspecificoOcupacion especificoOcupacion) { + if (especificoOcupacion.getPricingEspecificoOcupacionId() != null) { + pricingEspecifico.getPricingEspecificoOcupacionsList().remove(especificoOcupacion); + } else { + int index = 1; + for (GP_PricingEspecificoOcupacion pricingEspecificoOcupacion : pricingEspecifico.getPricingEspecificoOcupacionsList()) { + if(especificoOcupacion.getTarifa() != null){ + if (pricingEspecificoOcupacion.getOcupacionfinal().equals(especificoOcupacion.getOcupacionfinal()) && + pricingEspecificoOcupacion.getOcupacioninicial().equals(especificoOcupacion.getOcupacioninicial()) && + pricingEspecificoOcupacion.getTarifa().equals(especificoOcupacion.getTarifa())) { + break; + } + } + if(especificoOcupacion.getDescuento() != null){ + if (pricingEspecificoOcupacion.getOcupacionfinal().equals(especificoOcupacion.getOcupacionfinal()) && + pricingEspecificoOcupacion.getOcupacioninicial().equals(especificoOcupacion.getOcupacioninicial()) && + pricingEspecificoOcupacion.getDescuento().equals(especificoOcupacion.getDescuento())) { + break; + } + } + + index++; + } + pricingEspecifico.getPricingEspecificoOcupacionsList().remove(index - 1); + } + } + private void removerPricingCategoria(GP_PricingEspecificoCategoria especificoCategoria){ + if(especificoCategoria.getPricingEspecificoCategoriaId() != null){ + pricingEspecifico.getPricingEspecificoCategoriaList().remove(especificoCategoria); + } + } + + private void removerPricingAgencia(GP_PricingEspecificoAgencia especificoAgencia) { + if (especificoAgencia.getPricingEspecificoAgenciaId() != null) { + pricingEspecifico.getPricingEspecificoAgenciasList().remove(especificoAgencia); + } + } + + private void removerPricingCanalVendas(GP_PricingEspecificoCanalVendas especificoCanalVendas) { + if (especificoCanalVendas.getPricingEspecificoCanalId() != null) { + pricingEspecifico.getPricingEspecificoCanalVendasList().remove(especificoCanalVendas); + } + } + + public void onClick$btnModificarPricingEspOcup(Event ev) { + GP_PricingEspecificoOcupacion especificoOcupacion = (GP_PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected(); + + if (especificoOcupacion != null) { + verPricingEspecificoOcupacion(especificoOcupacion, true); + } else { + try { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowVigencia.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } catch (InterruptedException ex) { + log.error("", ex); + } + } + } + + public void onClick$btnApagar(Event e) { + // Esclusão Logica + try { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPergunta"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingEspecificoService.borrar(pricingEspecifico); + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarOK"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + pricingList.removeItem(pricingEspecifico); + + closeWindow(); + } + } catch (Exception ex) { + log.error(ex); + } + } + + public void onClick$btnSalvar(Event ev) throws InterruptedException { + nombrePricing.getValue(); + fechaInicio.getValue(); + fechaFin.getValue(); + tarifaAbierto.getValue(); + + List pricingEspecificoOcupacionList = new ArrayList(); + for (Object o : pricingListEspOcupacion.getData()) { + GP_PricingEspecificoOcupacion p = (GP_PricingEspecificoOcupacion) o; + pricingEspecificoOcupacionList.add(p); + } + pricingEspecifico.setPricingEspecificoOcupacionsList(pricingEspecificoOcupacionList); + + List pec = (List) pricingListEspCategoria.getModel(); + for(GP_PricingEspecificoCategoria pricingEspecificoCategoria : pec){ + if(!pricingEspecificoCategoria.getActivo()){ + pec.remove(pricingEspecificoCategoria); + } + } + + List pecv = (List) pricingListEspCanal.getModel(); + for (GP_PricingEspecificoCanalVendas pricingEspecificoCanalVendas : pecv) { + if(pricingEspecificoCanalVendas.getActivo().equals(Boolean.FALSE)){ + pecv.remove(pricingEspecificoCanalVendas); + } + } + + List pea = (List) pricingListEspAgencia.getModel(); + for (GP_PricingEspecificoAgencia pricingEspecificoAgencia : pea) { + if(pricingEspecificoAgencia.getActivo().equals(Boolean.FALSE)){ + pea.remove(pricingEspecificoAgencia); + } + } + pricingEspecifico.setPricingEspecificoCategoriaList(pec); + pricingEspecifico.setPricingEspecificoAgenciasList(pea); + pricingEspecifico.setPricingEspecificoCanalVendasList(pecv); + + + if(pricingEspecifico.getPricingEspecificoCategoriaList().isEmpty()){ + Messagebox.show(Labels.getLabel("editarPricingController.MSG.categoria"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + + if (pricingEspecifico.getClaseServicio() == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.claseServicio"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + if (pricingEspecifico.getMarca() == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.marca"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + if (pricingEspecifico.getParada() == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.origen"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + if (pricingEspecifico.getParada1() == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.destino"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + if (pricingEspecifico.getMoneda() == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.moneda"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + if (pricingEspecifico.getFechorinicio().after(pricingEspecifico.getFechorfin())) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.datasFecha"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + if (rdExibirVendaSi.isChecked()) { + pricingEspecifico.setExibeVenda(Boolean.TRUE); + } else { + pricingEspecifico.setExibeVenda(Boolean.FALSE); + } + + if (rdSobreposicaoSim.isChecked()) { + pricingEspecifico.setIndSobreposicao(Boolean.TRUE); + } else { + pricingEspecifico.setIndSobreposicao(Boolean.FALSE); + } + + if (colorChoose.getValue() != null) { + pricingEspecifico.setColor(colorChoose.getValue()); + } + + if (pricingEspecifico.getCorridaId() != null) { + CorridaCtrl corridaCtrlId = corridaCtrlService.obtenerID(pricingEspecifico.getCorridaId()); + if (corridaCtrlId == null) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.corridaId", new Object[] { pricingEspecifico.getCorridaId() }), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } else { + CorridaCtrl corridaCtrlFinal = corridaCtrlService.buscar( + pricingEspecifico.getCorridaId(), + pricingEspecifico.getParada(), + pricingEspecifico.getParada1(), + pricingEspecifico.getClaseServicio(), + pricingEspecifico.getMarca()); + + if (corridaCtrlFinal == null) { + Integer opcao = Messagebox.show(Labels.getLabel("editarPricingController.MSG.corridaIdFinalNaoExiste", new Object[] { pricingEspecifico.getCorridaId() }), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (opcao.equals(Messagebox.NO)) { + return; + } + } + } + } + + if (!validarPricingEspecificoOcupacion()) { + return; + } + + List lsPricing = pricingEspecificoService.buscarPorNome(pricingEspecifico); + boolean podeSalvar = false; + if (lsPricing.isEmpty()) { + podeSalvar = true; + } else { + for (GP_PricingEspecifico p : lsPricing) { + if (p.getPricingespecificoId().equals(pricingEspecifico.getPricingespecificoId())) { + podeSalvar = true; + } + } + } + + if (podeSalvar) { + if(pricingEspecifico.getPricingEspecificoAgenciasList() == null ){ + pricingEspecifico.setPricingEspecificoAgenciasList(new ArrayList()); + } + if (pricingEspecifico.getPricingEspecificoAgenciasList().isEmpty()){ + + int resp = Messagebox.show( + Labels.getLabel("editarPricingEspecificoAgenciaController.MSG.perguntaAdicionarTodosAgencia"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if(resp == Messagebox.YES){ + + GP_PricingEspecificoAgencia pea1 = new GP_PricingEspecificoAgencia(); + pea1.setPricingEspecifico(pricingEspecifico); + PuntoVenta pv = puntoVenService.obtenerID(-1); + pea1.setPuntoVenta(pv); + pea1.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pea1.setFecmodif(new Date()); + pea1.setActivo(Boolean.TRUE); + pricingEspecifico.setPricingEspecificoAgenciasList(new ArrayList()); + pricingEspecifico.getPricingEspecificoAgenciasList().add(pea1); + + if(pricingEspecifico.getPricingEspecificoAgenciasList().contains(pea1) && pricingEspecifico.getPricingEspecificoAgenciasList().size()>1){ + pricingEspecifico.getPricingEspecificoAgenciasList().get(pricingEspecifico.getPricingEspecificoAgenciasList().indexOf(pea1)).setActivo(Boolean.FALSE); + } + }else{ + Messagebox.show(Labels.getLabel("editarPricingEspecificoAgenciaController.MSG.agenciaVazio"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + } + + if(pricingEspecifico.getPricingEspecificoCanalVendasList() == null ){ + pricingEspecifico.setPricingEspecificoCanalVendasList(new ArrayList()); + } + + if (pricingEspecifico.getPricingEspecificoCanalVendasList().isEmpty()){ + + int resp = Messagebox.show( + Labels.getLabel("editarPricingEspecificoCanalVendaController.MSG.perguntaAdicionarTodosCanalVendas"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if(resp == Messagebox.YES){ + TipoPuntoVenta tpv = puntoVentaService.obtenerID(new Short("-1")); + GP_PricingEspecificoCanalVendas canalTODOS = new GP_PricingEspecificoCanalVendas(); + canalTODOS.setTipoPtovta(tpv); + canalTODOS.setActivo(Boolean.TRUE); + canalTODOS.setPricingEspecifico(pricingEspecifico); + pricingEspecifico.getPricingEspecificoCanalVendasList().add(canalTODOS); + if(pricingEspecifico.getPricingEspecificoCanalVendasList().contains(canalTODOS) && pricingEspecifico.getPricingEspecificoCanalVendasList().size()>1){ + pricingEspecifico.getPricingEspecificoCanalVendasList().get(pricingEspecifico.getPricingEspecificoCanalVendasList().indexOf(canalTODOS)).setActivo(Boolean.FALSE); + } + }else{ + Messagebox.show(Labels.getLabel("editarPricingEspecificoCanalVendaController.MSG.canalVendasVazio"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + } + + if (pricingEspecifico.getPricingespecificoId() == null) { + pricingEspecificoService.suscribir(pricingEspecifico); + pricingList.addItemNovo(pricingEspecifico); + } else { + pricingEspecificoService.actualizacion(pricingEspecifico); + pricingList.updateItem(pricingEspecifico); + } + + desativarPricingEspecificoCategoria(); + desativarPricingEspecificoOcupacionDesativados(); + desativarPricingEspecificoAgenciaDesativados(); + desativarPricingEspecificoCanalDesativados(); + + compararAlteracoesESalvarHistorico(); + + Messagebox.show(Labels.getLabel("editarPricingController.MSG.suscribirOK"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + + + closeWindow(); + } else { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + + } + + private void compararAlteracoesESalvarHistorico() { + try { + pricingHistoricoService.compararESalvar(pricingEspecificoOriginal, pricingEspecifico); + } catch (Exception e) { + log.error("Erro ao salvar historico do Pricing Rapido: ", e); + } + } + + private void desativarPricingEspecificoCategoria(){ + for(GP_PricingEspecificoCategoria p : pricingEspecificoADesativarCategoria){ + p.setActivo(Boolean.FALSE); + pricingEspecificoCategoriaService.actualizacion(p); + } + } + + private void desativarPricingEspecificoOcupacionDesativados() { + for (GP_PricingEspecificoOcupacion p : pricingEspecificoADesativar) { + p.setActivo(Boolean.FALSE); + pricingEspecificoOcupacionService.actualizacion(p); + } + } + + private void desativarPricingEspecificoAgenciaDesativados() { + for (GP_PricingEspecificoAgencia p : pricingEspecificoADesativarAgencia) { + p.setActivo(Boolean.FALSE); + pricingEspecificoAgenciaService.actualizacion(p); + } + } + + private void desativarPricingEspecificoCanalDesativados() { + for (GP_PricingEspecificoCanalVendas p : pricingEspecificoADesativarCanal) { + p.setActivo(Boolean.FALSE); + pricingEspecificoCanalVendasService.actualizacion(p); + } + } + + /** + * Valida se a lista de ocupa��es s�o subsequentes e se a primeira ocupa��o possui ocupa��o inicial igual a 1. + * + * @return + * @throws InterruptedException + */ + private boolean validarPricingEspecificoOcupacion() throws InterruptedException { + if (pricingEspecifico.getPricingEspecificoOcupacionsListActivos() == null || pricingEspecifico.getPricingEspecificoOcupacionsListActivos().isEmpty()) { + Messagebox.show( + Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoOcupacion"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + List sOcupacionInicial = new ArrayList(pricingEspecifico.getPricingEspecificoOcupacionsListActivos()); + Collections.sort(sOcupacionInicial, new Comparator() { + + @Override + public int compare(GP_PricingEspecificoOcupacion o1, GP_PricingEspecificoOcupacion o2) { + return o1.getOcupacioninicial().compareTo(o2.getOcupacioninicial()); + } + }); + + if (sOcupacionInicial.iterator().next().getOcupacioninicial().intValue() != 1) { + Messagebox.show( + Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.pricingEspecificoOcupacionInicial"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + boolean pricingEspecificoOcupacionNoSubsequente = false; + for (int i = 0; i < sOcupacionInicial.size(); i++) { + GP_PricingEspecificoOcupacion pricingEspecificoOcupacion = sOcupacionInicial.get(i); + GP_PricingEspecificoOcupacion pricingEspecificoOcupacionAnterior = null; + + if (i > 0) { + pricingEspecificoOcupacionAnterior = sOcupacionInicial.get(i - 1); + } + + if (pricingEspecificoOcupacionAnterior != null + && pricingEspecificoOcupacionAnterior.getOcupacionfinal().add(new BigDecimal(1)).doubleValue() != pricingEspecificoOcupacion.getOcupacioninicial().doubleValue()) { + pricingEspecificoOcupacionNoSubsequente = true; + break; + } + } + + if (pricingEspecificoOcupacionNoSubsequente) { + Messagebox.show( + Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.pricingEspecificoOcupacionNoSubsequente"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + return true; + } + + /** + * @return the pricingEspecificoService + */ + public GP_PricingEspecificoService getPricingEspecificoService() { + return pricingEspecificoService; + } + + /** + * @param pricingEspecificoService + * the pricingEspecificoService to set + */ + public void setPricingEspecificoService(GP_PricingEspecificoService pricingEspecificoService) { + this.pricingEspecificoService = pricingEspecificoService; + } + + /** + * @return the pricingEspecifico + */ + public GP_PricingEspecifico getPricingEspecifico() { + return pricingEspecifico; + } + + /** + * @param pricingEspecifico + * the pricingEspecifico to set + */ + public void setPricingEspecifico(GP_PricingEspecifico pricingEspecifico) { + this.pricingEspecifico = pricingEspecifico; + } + + /** + * @return the pricingList + */ + public MyListbox getPricingList() { + return pricingList; + } + + /** + * @param pricingList + * the pricingList to set + */ + public void setPricingList(MyListbox pricingList) { + this.pricingList = pricingList; + } + + /** + * @return the cmbPtovta + */ + public Combobox getCmbPtovta() { + return cmbPtovta; + } + + /** + * @param cmbPtovta + * the cmbPtovta to set + */ + public void setCmbPtovta(Combobox cmbPtovta) { + this.cmbPtovta = cmbPtovta; + } + + /** + * @return the cmbCategoria + */ + public Combobox getCmbCategoria() { + return cmbCategoria; + } + + /** + * @param cmbCategoria + * the cmbCategoria to set + */ + public void setCmbCategoria(Combobox cmbCategoria) { + this.cmbCategoria = cmbCategoria; + } + + /** + * @return the cmbServicio + */ + public Combobox getCmbServicio() { + return cmbServicio; + } + + /** + * @param cmbServicio + * the cmbServicio to set + */ + public void setCmbServicio(Combobox cmbServicio) { + this.cmbServicio = cmbServicio; + } + + /** + * @return the cmbMarca + */ + public Combobox getCmbMarca() { + return cmbMarca; + } + + /** + * @param cmbMarca + * the cmbMarca to set + */ + public void setCmbMarca(Combobox cmbMarca) { + this.cmbMarca = cmbMarca; + } + + /** + * @return the cmbOrigem + */ + public Combobox getCmbOrigem() { + return cmbOrigem; + } + + /** + * @param cmbOrigem + * the cmbOrigem to set + */ + public void setCmbOrigem(Combobox cmbOrigem) { + this.cmbOrigem = cmbOrigem; + } + + /** + * @return the cmbMoneda + */ + public Combobox getCmbMoneda() { + return cmbMoneda; + } + + /** + * @param cmbMoneda + * the cmbMoneda to set + */ + public void setCmbMoneda(Combobox cmbMoneda) { + this.cmbMoneda = cmbMoneda; + } + + /** + * @return the cmbDestino + */ + public Combobox getCmbDestino() { + return cmbDestino; + } + + /** + * @param cmbDestino + * the cmbDestino to set + */ + public void setCmbDestino(Combobox cmbDestino) { + this.cmbDestino = cmbDestino; + } + + /** + * @return the lsPtovata + */ + public List getLsPtovata() { + return lsPtovata; + } + + /** + * @param lsPtovata + * the lsPtovata to set + */ + public void setLsPtovata(List lsPtovata) { + this.lsPtovata = lsPtovata; + } + + /** + * @return the lsCategoria + */ + public List getLsCategoria() { + return lsCategoria; + } + + /** + * @param lsCategoria + * the lsCategoria to set + */ + public void setLsCategoria(List lsCategoria) { + this.lsCategoria = lsCategoria; + } + + /** + * @return the lsclaseServicio + */ + public List getLsclaseServicio() { + return lsclaseServicio; + } + + /** + * @param lsclaseServicio + * the lsclaseServicio to set + */ + public void setLsclaseServicio(List lsclaseServicio) { + this.lsclaseServicio = lsclaseServicio; + } + + /** + * @return the lsMarca + */ + public List getLsMarca() { + return lsMarca; + } + + /** + * @param lsMarca + * the lsMarca to set + */ + public void setLsMarca(List lsMarca) { + this.lsMarca = lsMarca; + } + + /** + * @return the lsMoneda + */ + public List getLsMoneda() { + return lsMoneda; + } + + /** + * @param lsMoneda + * the lsMoneda to set + */ + public void setLsMoneda(List lsMoneda) { + this.lsMoneda = lsMoneda; + } + + /** + * @return the puntoVentaService + */ + public TipoPuntoVentaService getPuntoVentaService() { + return puntoVentaService; + } + + /** + * @param puntoVentaService + * the puntoVentaService to set + */ + public void setPuntoVentaService(TipoPuntoVentaService puntoVentaService) { + this.puntoVentaService = puntoVentaService; + } + + /** + * @return the claseServicioService + */ + public ClaseServicioService getClaseServicioService() { + return claseServicioService; + } + + /** + * @param claseServicioService + * the claseServicioService to set + */ + public void setClaseServicioService(ClaseServicioService claseServicioService) { + this.claseServicioService = claseServicioService; + } + + /** + * @return the marcaService + */ + public MarcaService getMarcaService() { + return marcaService; + } + + /** + * @param marcaService + * the marcaService to set + */ + public void setMarcaService(MarcaService marcaService) { + this.marcaService = marcaService; + } + + /** + * @return the paradaService + */ + public ParadaService getParadaService() { + return paradaService; + } + + /** + * @param paradaService + * the paradaService to set + */ + public void setParadaService(ParadaService paradaService) { + this.paradaService = paradaService; + } + + /** + * @return the monedaService + */ + public MonedaService getMonedaService() { + return monedaService; + } + + /** + * @param monedaService + * the monedaService to set + */ + public void setMonedaService(MonedaService monedaService) { + this.monedaService = monedaService; + } + + public MyListbox getPricingListEspOcupacion() { + return pricingListEspOcupacion; + } + + public void setPricingListEspOcupacion(MyListbox pricingListEspOcupacion) { + this.pricingListEspOcupacion = pricingListEspOcupacion; + } + + public Textbox getTarifaAbierto() { + return tarifaAbierto; + } + + public void setTarifaAbierto(Textbox tarifaAbierto) { + this.tarifaAbierto = tarifaAbierto; + } + + public Radio getRdExibirVendaSi() { + return rdExibirVendaSi; + } + + public void setRdExibirVendaSi(Radio rdExibirVendaSi) { + this.rdExibirVendaSi = rdExibirVendaSi; + } + + public Radio getRdExibirVendaNo() { + return rdExibirVendaNo; + } + + public void setRdExibirVendaNo(Radio rdExibirVendaNo) { + this.rdExibirVendaNo = rdExibirVendaNo; + } + + public Radio getRdSobreposicaoSim() { + return rdSobreposicaoSim; + } + + public void setRdSobreposicaoSim(Radio rdSobreposicaoSim) { + this.rdSobreposicaoSim = rdSobreposicaoSim; + } + + public Radio getRdSobreposicaoNao() { + return rdSobreposicaoNao; + } + + public void setRdSobreposicaoNao(Radio rdSobreposicaoNao) { + this.rdSobreposicaoNao = rdSobreposicaoNao; + } + + public Colorbox getColorChoose() { + return colorChoose; + } + + public void setColorChoose(Colorbox colorChoose) { + this.colorChoose = colorChoose; + } + + public void onClick$btnCopiar(Event ev) throws InterruptedException { + incluiCategoriasPadroesAntesCopiar(); + Map args = new HashMap(); + args.put("pricingEspecifico", pricingEspecifico); + args.put("pricingCategoriaList", pricingEspecifico.getPricingEspecificoCategoriaList()); + + openWindow("/gui/gestao_pricing/copiarGP_PricingEspecifico.zul", + Labels.getLabel("copiarPricingEspecificoController.window.title"), args, MODAL); + } + + private void incluiCategoriasPadroesAntesCopiar() { + if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.USA_PADRAO_PRICING_TIPO_PASSAGEM_PET.getDescricao())) { + Categoria categoriaNormal = getCategoriaNormal(); + Categoria categoriaPET = getCategoriaPET(); + Boolean existeNormal = false; + Boolean existePET = false; + + for (GP_PricingEspecificoCategoria c : pricingEspecifico.getPricingEspecificoCategoriaList()) { + if (c.getCategoria().equals(categoriaNormal)) { + existeNormal = true; + } + if (c.getCategoria().equals(categoriaPET)) { + existePET = true; + } + } + + if (!existeNormal) { + incluirCategoriaNormal(categoriaNormal); + } + if (!existePET) { + incluirCategoriaPet(categoriaPET); + } + } + } + + @Override + protected void incluirCategoriaNormal(Categoria categoriaNormal) { + GP_PricingEspecificoCategoria pcNormal = new GP_PricingEspecificoCategoria(categoriaNormal, pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingListEspCategoria.addItemNovo(pcNormal); + pricingEspecifico.getPricingEspecificoCategoriaList().add(pcNormal); + } + + @Override + protected void incluirCategoriaPet(Categoria categoriaPET) { + GP_PricingEspecificoCategoria pcPET = new GP_PricingEspecificoCategoria(categoriaPET, pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingListEspCategoria.addItemNovo(pcPET); + pricingEspecifico.getPricingEspecificoCategoriaList().add(pcPET); + } + + public void onChange$colorChoose(Event ev) throws InterruptedException { + colorChoose.setStyle(" background: #FFFFFF; font-style: oblique;"); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingEspecificoOcupacionController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingEspecificoOcupacionController.java new file mode 100644 index 000000000..4a22663dc --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingEspecificoOcupacionController.java @@ -0,0 +1,165 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import java.util.Locale; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.hibernate.Hibernate; +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.Executions; +import org.zkoss.zk.ui.event.Event; + +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoOcupacion; +import com.rjconsultores.ventaboletos.service.GP_PricingEspecificoService; +import com.rjconsultores.ventaboletos.utilerias.BigDecimalUtil; +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.MyTextboxDecimal; + +@Controller("editarGP_PricingEspecificoOcupacionController") +@Scope("prototype") +public class EditarGP_PricingEspecificoOcupacionController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(EditarGP_PricingEspecificoOcupacionController.class); + + private GP_PricingEspecifico pricingEspecifico; + private GP_PricingEspecificoOcupacion pricingEspecificoOcupacion; + private MyListbox pricingListEspOcupacion; + + private MyTextboxDecimal tarifa; + private MyTextboxDecimal desconto; + private MyTextboxDecimal ocupacioninicial; + private MyTextboxDecimal ocupacionfinal; + + private Boolean isEdicao; + + @Autowired + private GP_PricingEspecificoService pricingEspecificoService; + + @Override + public void doAfterCompose(Component comp) throws Exception { + pricingEspecifico = (GP_PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); + pricingEspecificoOcupacion = (GP_PricingEspecificoOcupacion) Executions.getCurrent().getArg().get("pricingEspecificoOcupacion"); + pricingListEspOcupacion = (MyListbox) Executions.getCurrent().getArg().get("pricingListEspOcupacion"); + isEdicao = (Boolean) Executions.getCurrent().getArg().get("isEdicao"); + + super.doAfterCompose(comp); + Locale locale = new Locale("pt", "BR"); + + if (pricingEspecificoOcupacion.getTarifa() != null || pricingEspecificoOcupacion.getDescuento() != null) { + tarifa.setValue(pricingEspecificoOcupacion.getTarifa() == null ? StringUtils.EMPTY : BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(pricingEspecificoOcupacion.getTarifa(), locale)); + ocupacioninicial.setValue(pricingEspecificoOcupacion.getOcupacioninicial() == null ? StringUtils.EMPTY : BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(pricingEspecificoOcupacion.getOcupacioninicial(), locale)); + ocupacionfinal.setValue(pricingEspecificoOcupacion.getOcupacionfinal() == null ? StringUtils.EMPTY : BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(pricingEspecificoOcupacion.getOcupacionfinal(), locale)); + desconto.setValue(pricingEspecificoOcupacion.getDescuento() == null ? StringUtils.EMPTY : BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(pricingEspecificoOcupacion.getDescuento(), locale)); + } + } + + public void onClick$btnAdicionarPricingEspOcup(Event ev) throws Exception { + tarifa.getValue(); + ocupacioninicial.getValue(); + ocupacionfinal.getValue(); + desconto.getValue(); + if(desconto.getValue().equals("") && tarifa.getValue().equals("") ){ + Messagebox.show( + "Não é possivel salvar pricing.\n O campo desconto ou Tarifa deve ser preenchido!", + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.ERROR); + }else if(!desconto.getValue().equals("") && !tarifa.getValue().equals("") ){ + Messagebox.show( + "Não é possivel salvar pricing.\n Os campos Desconto e Tarifa não devem ser preenchido ao mesmo tempo!", + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.ERROR); + }else{ + + try { + if (pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() == null) { + pricingEspecificoOcupacion = new GP_PricingEspecificoOcupacion(); + } + + pricingEspecificoOcupacion.setTarifa(tarifa.getValueDecimal()); + pricingEspecificoOcupacion.setOcupacioninicial(ocupacioninicial.getValueDecimal()); + pricingEspecificoOcupacion.setOcupacionfinal(ocupacionfinal.getValueDecimal()); + pricingEspecificoOcupacion.setPricingEspecifico(pricingEspecifico); + pricingEspecificoOcupacion.setDescuento(desconto.getValueDecimal()); + + pricingEspecificoOcupacion.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingEspecificoOcupacion.setFecmodif(Calendar.getInstance().getTime()); + pricingEspecificoOcupacion.setActivo(true); + + if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) { + pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue()); + } + Hibernate.initialize(pricingEspecifico); + Hibernate.initialize(pricingEspecificoOcupacion); + + List peoList = null; + if (pricingEspecifico.getPricingEspecificoOcupacionsList() == null || pricingEspecifico.getPricingEspecificoOcupacionsList().isEmpty()) { + peoList = new ArrayList(); + } else { + peoList = pricingEspecifico.getPricingEspecificoOcupacionsList(); + } + + if (pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() != null && peoList.contains(pricingEspecificoOcupacion)) { + int index = peoList.indexOf(pricingEspecificoOcupacion); + if(index >= 0) { + peoList.set(index, pricingEspecificoOcupacion); + } + } else { + if(!peoList.contains(pricingEspecificoOcupacion)){ + peoList.add(pricingEspecificoOcupacion); + } + + } + + pricingEspecifico.setPricingEspecificoOcupacionsList(peoList); + + if(isEdicao){ + pricingListEspOcupacion.updateItem(pricingEspecificoOcupacion); + } else { + pricingListEspOcupacion.addItemNovo(pricingEspecificoOcupacion); + } + + closeWindow(); + + } catch (Exception ex) { + log.error("Erro ao adicionar pricing Pricing Especifico Ocupacion: ", ex); + } + } + } + + public MyTextboxDecimal getTarifa() { + return tarifa; + } + + public void setTarifa(MyTextboxDecimal tarifa) { + this.tarifa = tarifa; + } + + public MyTextboxDecimal getOcupacioninicial() { + return ocupacioninicial; + } + + public void setOcupacioninicial(MyTextboxDecimal ocupacioninicial) { + this.ocupacioninicial = ocupacioninicial; + } + + public MyTextboxDecimal getOcupacionfinal() { + return ocupacionfinal; + } + + public void setOcupacionfinal(MyTextboxDecimal ocupacionfinal) { + this.ocupacionfinal = ocupacionfinal; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingFormapagoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingFormapagoController.java new file mode 100644 index 000000000..aa837290b --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingFormapagoController.java @@ -0,0 +1,120 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Radio; + +import com.rjconsultores.ventaboletos.entidad.FormaPago; +import com.rjconsultores.ventaboletos.entidad.GP_PricingFormapago; +import com.rjconsultores.ventaboletos.service.FormaPagoService; +import com.rjconsultores.ventaboletos.service.GP_PricingFormapagoService; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarGP_PricingFormapagoController") +@Scope("prototype") +public class EditarGP_PricingFormapagoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(EditarGP_PricingFormapagoController.class); + + @Autowired + private FormaPagoService formaPagoService; + + @Autowired + private GP_PricingFormapagoService pricingFormapagoService; + + private List lsFormaPago; + private GP_PricingFormapago pricingFormapago; + private MyListbox pricingFormapagoList; + + private Radio si; + private Radio no; + + @Override + public void doAfterCompose(Component comp) throws Exception { + + this.setPricingFormapago((GP_PricingFormapago) Executions.getCurrent().getArg().get("pricingFormapago")); + this.setPricingFormapagoList((MyListbox) Executions.getCurrent().getArg().get("pricingFormapagoList")); + this.setLsFormaPago(formaPagoService.obtenerTodos()); + + super.doAfterCompose(comp); + + if (pricingFormapago.getPricingformapagoId() != null) { + if (pricingFormapago.getIndexcepcion()) { + si.setChecked(true); + } else { + no.setChecked(true); + } + } else { + no.setChecked(true); + } + } + + public void onClick$btnAdicionarFormaPago(Event ev) throws InterruptedException { + try { + if (pricingFormapago.getFormaPago() == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowFormaPago.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + + if (no.isChecked()) { + pricingFormapago.setIndexcepcion(Boolean.FALSE); + } else if (si.isChecked()) { + pricingFormapago.setIndexcepcion(Boolean.TRUE); + } + + if (pricingFormapago.getPricingformapagoId() != null) { + pricingFormapagoService.actualizacion(pricingFormapago); + pricingFormapagoList.updateItem(pricingFormapago); + + pricingFormapagoList.setData(pricingFormapago.getPricing().getPricingFormapagoList()); + + } else { + pricingFormapagoService.suscribir(pricingFormapago); + pricingFormapagoList.addItem(pricingFormapago); + } + closeWindow(); + + } + } catch (Exception ex) { + log.error(ex); + } + } + + public List getLsFormaPago() { + return lsFormaPago; + } + + public void setLsFormaPago(List lsFormaPago) { + this.lsFormaPago = lsFormaPago; + } + + public GP_PricingFormapago getPricingFormapago() { + return pricingFormapago; + } + + public void setPricingFormapago(GP_PricingFormapago pricingFormapago) { + this.pricingFormapago = pricingFormapago; + } + + public MyListbox getPricingFormapagoList() { + return pricingFormapagoList; + } + + public void setPricingFormapagoList(MyListbox pricingFormapagoList) { + this.pricingFormapagoList = pricingFormapagoList; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingImporteController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingImporteController.java new file mode 100644 index 000000000..4f18e7be7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingImporteController.java @@ -0,0 +1,180 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.util.Clients; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingImporte; +import com.rjconsultores.ventaboletos.entidad.Moneda; +import com.rjconsultores.ventaboletos.service.GP_PricingImporteService; +import com.rjconsultores.ventaboletos.service.MonedaService; +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.MyTextboxDecimal; + +@Controller("editarGP_PricingImporteController") +@Scope("prototype") +public class EditarGP_PricingImporteController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private GP_PricingImporteService pricingImporteService; + @Autowired + private MonedaService monedaService; + private List lsMoneda; + private GP_PricingImporte pricingImporte; + private MyListbox pricingImporteList; + private Combobox cmbMoneda; + private MyTextboxDecimal importe; + private static Logger log = Logger.getLogger(EditarGP_PricingImporteController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + + lsMoneda = monedaService.obtenerTodos(); + + pricingImporte = (GP_PricingImporte) Executions.getCurrent().getArg().get("pricingImporte"); + pricingImporteList = (MyListbox) Executions.getCurrent().getArg().get("pricingImporteList"); + + super.doAfterCompose(comp); + } + + public void onClick$btnAdicionarImporte(Event ev) throws Exception { + importe.getValue(); + cmbMoneda.getValue(); + + try { + if (pricingImporte.getMoneda() == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowImporte.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + List lsPi = pricingImporteService.buscarMoneda(pricingImporte, pricingImporte.getMoneda()); + + if (lsPi.isEmpty()) { + if (pricingImporte.getPricingimporteId() != null) { + pricingImporteService.actualizacion(pricingImporte); + pricingImporteList.updateItem(pricingImporte); + } else { + pricingImporteService.suscribir(pricingImporte); + pricingImporteList.addItemNovo(pricingImporte); + } + + closeWindow(); + } else if (lsPi.size() == 1) { + if (lsPi.get(0).getPricingimporteId().equals(pricingImporte.getPricingimporteId())) { + pricingImporteService.actualizacion(pricingImporte); + pricingImporteList.updateItem(pricingImporte); + + closeWindow(); + } else { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowImporte.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } else { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowImporte.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + } catch (Exception ex) { + log.error("",ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.windowImporte.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnRemoverImporte(Event ev) { + try { + GP_PricingImporte pImporte = (GP_PricingImporte) pricingImporteList.getSelected(); + if (pImporte != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaImporte"), + Labels.getLabel("editarPricingController.windowImporte.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingImporte.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingImporte.setFecmodif(Calendar.getInstance().getTime()); + pricingImporte.setActivo(GP_Pricing.INATIVO); + + pricingImporteList.removeItem(pricingImporte); + pricingImporteService.borrar(pricingImporte); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowImporte.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + Clients.alert( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.windowImporte.title"), + Messagebox.EXCLAMATION); + } + + } + + public GP_PricingImporte getPricingImporte() { + return pricingImporte; + } + + public void setPricingImporte(GP_PricingImporte pricingImporte) { + this.pricingImporte = pricingImporte; + } + + public MyListbox getPricingImporteList() { + return pricingImporteList; + } + + public void setPricingImporteList(MyListbox pricingImporteList) { + this.pricingImporteList = pricingImporteList; + } + + public GP_PricingImporteService getPricingImporteService() { + return pricingImporteService; + } + + public void setPricingImporteService(GP_PricingImporteService pricingImporteService) { + this.pricingImporteService = pricingImporteService; + } + + public List getLsMoneda() { + return lsMoneda; + } + + public void setLsMoneda(List lsMoneda) { + this.lsMoneda = lsMoneda; + } + + public MonedaService getMonedaService() { + return monedaService; + } + + public void setMonedaService(MonedaService monedaService) { + this.monedaService = monedaService; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingMarcaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingMarcaController.java new file mode 100644 index 000000000..e56d84135 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingMarcaController.java @@ -0,0 +1,148 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingMarca; +import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.service.GP_PricingMarcaService; +import com.rjconsultores.ventaboletos.service.MarcaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarGP_PricingMarcaController") +@Scope("prototype") +public class EditarGP_PricingMarcaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingMarcaService pricingMarcaService; + @Autowired + private MarcaService marcaService; + private List lsMarca; + private GP_PricingMarca pricingMarca; + private MyListbox pricingMarcaList; + private Combobox cmbMarca; + private static Logger log = Logger.getLogger(EditarGP_PricingMarcaController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsMarca = marcaService.buscarMarcaPorEmpresa(UsuarioLogado.getUsuarioLogado().getEmpresa()); + + GP_PricingMarca pm = (GP_PricingMarca) Executions.getCurrent().getArg().get("pricingMarca"); + pricingMarca = (pm.getUsuarioId() == null) ? pm : pricingMarcaService.obtenerID(pm.getUsuarioId()); + pricingMarcaList = (MyListbox) Executions.getCurrent().getArg().get("pricingMarcaList"); + + super.doAfterCompose(comp); + + cmbMarca.focus(); + } + + public void onClick$btnAdicionarMarca(Event ev) throws Exception { + cmbMarca.getValue(); + + try { + if (pricingMarca.getMarca() == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + Boolean existe = pricingMarcaService.obtenerPricingMarca(pricingMarca.getPricing(), (Marca) cmbMarca.getSelectedItem().getValue()); + if (existe) { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if (pricingMarca.getPricingmarcaId() != null) { + pricingMarcaService.actualizacion(pricingMarca); + pricingMarcaList.updateItem(pricingMarca); + } else { + pricingMarcaService.suscribir(pricingMarca); + pricingMarcaList.addItemNovo(pricingMarca); + } + closeWindow(); + } + } + } catch (Exception ex) { + log.error(ex); + } + } + + public void onClick$btnRemoverMarca(Event ev) { + try { + + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaMarca"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingMarca.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingMarca.setFecmodif(Calendar.getInstance().getTime()); + pricingMarca.setActivo(GP_Pricing.INATIVO); + + pricingMarcaList.removeItem(pricingMarca); + pricingMarcaService.borrar(pricingMarca); + closeWindow(); + } + } catch (Exception ex) { + log.error(ex); + } + + } + + public GP_PricingMarca getPricingMarca() { + return pricingMarca; + } + + public void setPricingMarca(GP_PricingMarca pricingMarca) { + this.pricingMarca = pricingMarca; + } + + public MyListbox getPricingMarcaList() { + return pricingMarcaList; + } + + public void setPricingMarcaList(MyListbox pricingMarcaList) { + this.pricingMarcaList = pricingMarcaList; + } + + public GP_PricingMarcaService getPricingMarcaService() { + return pricingMarcaService; + } + + public void setPricingMarcaService(GP_PricingMarcaService pricingMarcaService) { + this.pricingMarcaService = pricingMarcaService; + } + + public List getLsMarca() { + return lsMarca; + } + + public void setLsMarca(List lsMarca) { + this.lsMarca = lsMarca; + } + + public MarcaService getMarcaService() { + return marcaService; + } + + public void setMarcaService(MarcaService marcaService) { + this.marcaService = marcaService; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingMercadoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingMercadoController.java new file mode 100644 index 000000000..dcbeeddfe --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingMercadoController.java @@ -0,0 +1,227 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingMercado; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.service.GP_PricingMercadoService; +import com.rjconsultores.ventaboletos.service.ParadaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarGP_PricingMercadoController") +@Scope("prototype") +public class EditarGP_PricingMercadoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingMercadoService pricingMercadoService; + @Autowired + private ParadaService paradaService; + private GP_PricingMercado pricingMercado; + private MyListbox pricingMercadoList; + private Combobox cmbOrigen; + private Combobox cmbDestino; + private static Logger log = Logger.getLogger(EditarGP_PricingMercadoController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + + pricingMercado = (GP_PricingMercado) Executions.getCurrent().getArg().get("pricingMercado"); + pricingMercadoList = (MyListbox) Executions.getCurrent().getArg().get("pricingMercadoList"); + + super.doAfterCompose(comp); + + if (pricingMercado.getPricingparadaId() != null) { + Parada origem = pricingMercado.getOrigen(); + if (origem != null) { + cmbOrigen.setText(origem.getDescparada()); + } + + Parada destino = pricingMercado.getDestino(); + if (destino != null) { + cmbDestino.setText(destino.getDescparada()); + } + } + } + + public void onClick$btnAdicionarMercado(Event ev) throws Exception { + cmbOrigen.getValue(); + cmbDestino.getValue(); + + try { + 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(); + } + + try { + if (origen == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox.origen"), + Labels.getLabel("editarPricingController.windowMercado.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else if (destino == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox.destino"), + Labels.getLabel("editarPricingController.windowMercado.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + Boolean existe = + pricingMercadoService.obtenerPricingMercado(pricingMercado.getPricing(), + origen, destino); + + pricingMercado.setOrigen(origen); + pricingMercado.setDestino(destino); + + // id -1 identifica que é todas origens ou todos os destinos: + if (origen.getParadaId().equals(-1) && destino.getParadaId().equals(-1)) { + if (existe) { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowMercado.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + + if (pricingMercado.getPricingparadaId() != null) { + pricingMercadoService.actualizacion(pricingMercado); + pricingMercadoList.updateItem(pricingMercado); + } else { + pricingMercadoService.suscribir(pricingMercado); + pricingMercadoList.addItemNovo(pricingMercado); + } + + closeWindow(); + } + } else { + if (origen.equals(destino)) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.mercadoIguais"), + Labels.getLabel("editarPricingController.windowMercado.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if (existe) { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.mercadoExiste"), + Labels.getLabel("editarPricingController.windowMercado.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if (pricingMercado.getPricingparadaId() != null) { + pricingMercadoService.actualizacion(pricingMercado); + pricingMercadoList.updateItem(pricingMercado); + } else { + pricingMercadoService.suscribir(pricingMercado); + pricingMercadoList.addItemNovo(pricingMercado); + } + + closeWindow(); + } + } + } + } + } catch (Exception ex) { + log.error("editarPricingController mercado:" + ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.windowCategoria.title"), + Messagebox.OK, Messagebox.ERROR); + } + } catch (Exception ex) { + log.error("Combobox PARADA " + ex); + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowMercado.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnRemoverMercado(Event ev) { + try { + GP_PricingMercado pMercado = (GP_PricingMercado) pricingMercadoList.getSelected(); + if (pMercado != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaMercado"), + Labels.getLabel("editarPricingController.windowMercado.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingMercado.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingMercado.setFecmodif(Calendar.getInstance().getTime()); + pricingMercado.setActivo(GP_Pricing.INATIVO); + + pricingMercadoList.removeItem(pricingMercado); + pricingMercadoService.borrar(pricingMercado); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowMercado.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + + } + + public GP_PricingMercado getPricingMercado() { + return pricingMercado; + } + + public void setPricingMercado(GP_PricingMercado pricingMercado) { + this.pricingMercado = pricingMercado; + } + + public MyListbox getPricingMercadoList() { + return pricingMercadoList; + } + + public void setPricingMercadoList(MyListbox pricingMercadoList) { + this.pricingMercadoList = pricingMercadoList; + } + + public GP_PricingMercadoService getPricingMercadoService() { + return pricingMercadoService; + } + + public void setPricingMercadoService(GP_PricingMercadoService pricingMercadoService) { + this.pricingMercadoService = pricingMercadoService; + } + + public ParadaService getParadaService() { + return paradaService; + } + + public void setParadaService(ParadaService paradaService) { + this.paradaService = paradaService; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingOcupaAntecipaAutomaticoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingOcupaAntecipaAutomaticoController.java new file mode 100644 index 000000000..ee5b471d1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingOcupaAntecipaAutomaticoController.java @@ -0,0 +1,402 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Intbox; +import org.zkoss.zul.Radio; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingOcupaAntecipa; +import com.rjconsultores.ventaboletos.exception.BusinessException; +import com.rjconsultores.ventaboletos.service.GP_PricingOcupaAntecipaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaLegendaVO; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaPoltronasVO; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaVO; +import com.rjconsultores.ventaboletos.web.utilerias.ConstraintPorcentagem; +import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingOcupaAntecipaLegenda; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingOcupacao; + +import ch.stfo.zk.component.Colorbox; + +@Controller("editarGP_PricingOcupaAntecipaAutomaticoController") +@Scope("prototype") +public class EditarGP_PricingOcupaAntecipaAutomaticoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + private final int CANTDIASMAXDEFAULT = 365; + + @Autowired + private GP_PricingOcupaAntecipaService pricingOcupaAntecipaService; + private GP_PricingOcupaAntecipa pricingOcupaAntecipa; + private MyListbox pricingOcupaAntecipaList; + private MyListbox parentPricingOcupaAntecipaList; + private MyListbox parentPricingOcupaAntecipaLegendaList; + + private Colorbox colorChoose; + private MyListbox pricingOcupaAntecipaLegendaList; + + private Intbox ocupacioninicial; + private Intbox ocupacionfinal; + private Intbox cantdiasmin; + + private MyTextboxDecimal porcentaje; + + private List lsPricingOcupaAntecipa; + + private Radio rdOcupacao; + private Boolean hasNoElements; + + private List argList; + private GP_Pricing pricing; + + private ConstraintPorcentagem ct; + private static Logger log = Logger.getLogger(EditarGP_PricingOcupaAntecipaAutomaticoController.class); + + private List columns; + private List lsPricingOcupacaoAntecipaVO; + private List lsPricingOcupaAntecipaLegendas; + + @SuppressWarnings("unchecked") + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + /* + * Transformar a tabela (valores de exemplo) : + * + * Qtd. Dias Qtd. Dias Ocup. Min. Ocup. Máx. Porcentagem + * Minimo Máximo + * + * 12 * 0% 20% -30% + * 12 * 21% 80% -15% + * 12 * 81% 90% -10% + * 8 11 0% 80% -15% + * 8 11 81% 90% -10% + * 4 7 0% 90% -10% + * + * Na forma: + * + * 12 dias ----> 30% (ocupação de 0% -> 20%) + * 08 dias ----> 15% (ocupação de 21% -> 80%) + * 04 dias ----> 10% (ocupação de 81% -> 90%) + * + */ + + argList = (List) Executions.getCurrent().getArg().get("clasePricingOcupaAntecipaList"); + parentPricingOcupaAntecipaList = (MyListbox) Executions.getCurrent().getArg().get("pricingOcupaAntecipaList"); + parentPricingOcupaAntecipaLegendaList = (MyListbox) Executions.getCurrent().getArg().get("pricingOcupaAntecipaLegendasList"); + pricing = (GP_Pricing) Executions.getCurrent().getArg().get("pricing"); + + lsPricingOcupaAntecipa = new ArrayList(); + lsPricingOcupaAntecipaLegendas = new ArrayList(); + lsPricingOcupacaoAntecipaVO = new ArrayList(); + + pricingOcupaAntecipaList.setItemRenderer(new RenderPricingOcupacao()); + pricingOcupaAntecipaLegendaList.setItemRenderer(new RenderPricingOcupaAntecipaLegenda()); + + try { + Collections.sort(argList, new PricingOcupaAntecipaComparator()); + } catch (Exception e) { + Messagebox.show(Labels.getLabel("editarPricingOcupaAntecipaAutomaticoController.MSG.FormatoDados"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + int diaMin = -1; + for (GP_PricingOcupaAntecipa p : argList) { + if (p.getCantdiasmin() != null || diaMin != p.getCantdiasmin()) { + lsPricingOcupaAntecipa.add(p); + diaMin = p.getCantdiasmin(); + } + } + + // se TabelaMaior.size mod TabelaMenor.size = 0, então há possibilidade de transformar a maior na menor. + if ((lsPricingOcupaAntecipa.size() > 0) && (argList.size() % lsPricingOcupaAntecipa.size() == 0)) { + + for (int j = 0; j < lsPricingOcupaAntecipa.size(); j++) { + lsPricingOcupaAntecipa.get(j).setOcupacionfinal(argList.get(j).getOcupacionfinal()); + lsPricingOcupaAntecipa.get(j).setOcupacioninicial(argList.get(j).getOcupacioninicial()); + lsPricingOcupaAntecipa.get(j).setCantasientosmax(argList.get(j).getCantasientosmax()); + lsPricingOcupaAntecipa.get(j).setCantasientosmin(argList.get(j).getCantasientosmin()); + } + + carregarPricingOcupaAntecipaVO(lsPricingOcupaAntecipa); + } else if (lsPricingOcupaAntecipa.size() > 0) { + Messagebox.show(Labels.getLabel("editarPricingOcupaAntecipaAutomaticoController.MSG.FormatoDados"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + } + + private void apagarRegistros() throws BusinessException { + for (GP_PricingOcupaAntecipa poa : argList) { + if ((poa.getOcupacioninicial() != null && poa.getOcupacioninicial().doubleValue() > 0) || (poa.getCantasientosmin() != null && poa.getCantasientosmin().intValue() > 0)) { + pricingOcupaAntecipaService.borrar(poa); + } + } + } + + public void onClick$btnAdicionarOcupaAntecipa(Event ev) throws Exception { + List parentList = new ArrayList(); + Collections.sort(lsPricingOcupaAntecipa, new PricingOcupaAntecipaComparator()); + Integer cantDiasMin = lsPricingOcupaAntecipa.isEmpty() || lsPricingOcupaAntecipa.get(0).getCantdiasmin() == null ? 0 : lsPricingOcupaAntecipa.get(0).getCantdiasmin(); + if(cantDiasMin > 0){ + calculaCantDiasMax(); + } + try { + apagarRegistros(); + for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++) { + GP_PricingOcupaAntecipa pricingOcupaAntecipa = lsPricingOcupaAntecipa.get(i); + if(!cantDiasMin.equals(pricingOcupaAntecipa.getCantdiasmin())){ + if(rdOcupacao.isChecked()){ + pricingOcupaAntecipa.setCantasientosmin(0); + }else{ + pricingOcupaAntecipa.setOcupacioninicial(BigDecimal.ZERO); + } + + } + if(pricingOcupaAntecipa.getOcupacioninicial() == null){ + pricingOcupaAntecipa.setOcupacioninicial(BigDecimal.ZERO); + } + if (pricingOcupaAntecipa.getPricingocupaantecipaId() == null) { + pricingOcupaAntecipaService.suscribir(pricingOcupaAntecipa); + } else { + pricingOcupaAntecipaService.actualizacion(pricingOcupaAntecipa); + } + + parentList.add(pricingOcupaAntecipa); + + cantDiasMin = pricingOcupaAntecipa.getCantdiasmin(); + if(validaPricingOcupa(i)){ + continue; + } + for (int j = i + 1; j < lsPricingOcupaAntecipa.size(); j++) { + GP_PricingOcupaAntecipa p = new GP_PricingOcupaAntecipa(); + p.setPricingocupaantecipaId(lsPricingOcupaAntecipa.get(j).getPricingocupaantecipaId()); + p.setCantasientosmax(lsPricingOcupaAntecipa.get(j).getCantasientosmax()); + p.setCantasientosmin(lsPricingOcupaAntecipa.get(j).getCantasientosmin()); + p.setCantdiasmax(pricingOcupaAntecipa.getCantdiasmax()); + p.setCantdiasmin(pricingOcupaAntecipa.getCantdiasmin()); + p.setOcupacionfinal(lsPricingOcupaAntecipa.get(j).getOcupacionfinal()); + p.setOcupacioninicial(lsPricingOcupaAntecipa.get(j).getOcupacioninicial()); + p.setPorcentaje(lsPricingOcupaAntecipa.get(j).getPorcentaje()); + p.setPricing(pricing); + p.setCor(lsPricingOcupaAntecipa.get(j).getCor()); + pricingOcupaAntecipaService.suscribir(p); + parentList.add(p); + } + } + + //parentPricingOcupaAntecipaList.setData(parentList); + carregarPricingOcupaAntecipaVO(parentList); + parentPricingOcupaAntecipaList.setData(lsPricingOcupacaoAntecipaVO); + parentPricingOcupaAntecipaLegendaList.setData(lsPricingOcupaAntecipaLegendas); + closeWindow(); + } catch (Exception e) { + log.error("", e); + Messagebox.show(e.getLocalizedMessage(), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + private boolean validaPricingOcupa(int i) { + return (i+1) < lsPricingOcupaAntecipa.size() && lsPricingOcupaAntecipa.get(i).getCantdiasmin().equals(lsPricingOcupaAntecipa.get(i + 1).getCantdiasmin()); + } + + private class PricingOcupaAntecipaComparator implements Comparator { + public int compare(GP_PricingOcupaAntecipa pricing, GP_PricingOcupaAntecipa outroPricing) { + Integer cantDiasMinComp = outroPricing.getCantdiasmin() != null ? outroPricing.getCantdiasmin().compareTo(pricing.getCantdiasmin()) : 0; + Integer ocupaMinComp = outroPricing.getCantasientosmin() != null ? pricing.getCantasientosmin().compareTo(outroPricing.getCantasientosmin()) : 0; + if (cantDiasMinComp != 0) { + return cantDiasMinComp; + } + if(ocupaMinComp != 0){ + return pricing.getCantasientosmin().compareTo(outroPricing.getCantasientosmin()); + }else{ + return ocupaMinComp; + } + } + } + + private void calculaCantDiasMax() { + GP_PricingOcupaAntecipa poa; + int cantDiasMinAnterior; + if (lsPricingOcupaAntecipa.get(0).getCantdiasmin() == null){ + cantDiasMinAnterior = 0; + }else{ + cantDiasMinAnterior = lsPricingOcupaAntecipa.get(0).getCantdiasmin(); + int cantDiasMaxAnterior = CANTDIASMAXDEFAULT; + for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++) { + poa = lsPricingOcupaAntecipa.get(i); + if (i == 0) { + poa.setCantdiasmax(CANTDIASMAXDEFAULT); + } else { + if(poa.getCantdiasmin().intValue() == cantDiasMinAnterior){ + poa.setCantdiasmax(cantDiasMaxAnterior); + }else{ + poa.setCantdiasmax(cantDiasMinAnterior - 1); + cantDiasMinAnterior = poa.getCantdiasmin(); + cantDiasMaxAnterior = poa.getCantdiasmax(); + } + } + } + } + } + + public void onClick$btnlancar(Event ev) throws Exception { + try{ + colorChoose.getValue(); + + GP_PricingOcupaAntecipa poa = new GP_PricingOcupaAntecipa(); + poa.setPricing(pricing); + poa.setCantdiasmin(cantdiasmin.getValue()); + poa.setCor(colorChoose.getValue()); + if(!porcentaje.getValue().isEmpty()){ + poa.setPorcentaje(porcentaje.getValueDecimal()); + if( cantdiasmin.getValue() == null || (cantdiasmin.getValue() <= 365 && cantdiasmin.getValue() >= 0)){ + if ((ocupacionfinal.getValue() >= ocupacioninicial.getValue()) && ocupacionfinal.getValue() > 0 && ocupacioninicial.getValue() >= 0){ + if (rdOcupacao.isChecked()) { + poa.setOcupacioninicial(new BigDecimal(ocupacioninicial.getValue())); + poa.setOcupacionfinal(new BigDecimal(ocupacionfinal.getValue())); + }else{ + poa.setCantasientosmin(ocupacioninicial.getValue()); + poa.setCantasientosmax(ocupacionfinal.getValue()); + } + lsPricingOcupaAntecipa.add(poa); + + carregarPricingOcupaAntecipaVO(lsPricingOcupaAntecipa); + }else if(ocupacionfinal.getValue() == 0){ + MensagensUtils.showMessageExclamation("editarPricingEspecificoOcupacionController.MSG.opucMaxAut","editarPricingController.windowOcupacion.title"); + ocupacionfinal.focus(); + }else if(ocupacioninicial.getValue() == null || ocupacionfinal.getValue() == null){ + MensagensUtils.showMessageExclamation("editarPricingEspecificoOcupacionController.MSG.ocupMinOpucMaxVazio","editarPricingController.windowOcupacion.title"); + ocupacioninicial.focus(); + } + if(ocupacionfinal.getValue() < ocupacioninicial.getValue()) { + MensagensUtils.showMessageExclamation("editarPricingEspecificoOcupacionController.MSG.ocupMinOpucMax","editarPricingController.windowOcupacion.title"); + ocupacioninicial.focus(); + } + }else{ + MensagensUtils.showMessageExclamation("editarPricingEspecificoOcupacionController.MSG.quantDiasOcup","editarPricingController.windowOcupacion.title"); + } + }else{ + MensagensUtils.showMessageExclamation("editarPricingEspecificoOcupacionController.MSG.porcOcupaAutVazio", "editarPricingController.windowOcupacion.title"); + porcentaje.focus(); + } + }catch(Exception ex) { + log.error("Ocupação mínimo ou máxima = null",ex); + } + } + + private void carregarPricingOcupaAntecipaVO(List lsPricingOcupaAntecipa) { + lsPricingOcupacaoAntecipaVO = pricingOcupaAntecipaService.carregarPricingOcupaAntecipaVO(lsPricingOcupaAntecipa); + lsPricingOcupaAntecipaLegendas = pricingOcupaAntecipaService.carregarPricingOcupaAntecipaLegenda(lsPricingOcupaAntecipa); + + pricingOcupaAntecipaList.setData(lsPricingOcupacaoAntecipaVO); + pricingOcupaAntecipaLegendaList.setData(lsPricingOcupaAntecipaLegendas); + } + + public void onClick$btnRemoverOcupaAntecipa(Event ev) { + + try { + GP_PricingOcupaAntecipa pOcupacion = (GP_PricingOcupaAntecipa) pricingOcupaAntecipaList.getSelected(); + if (pOcupacion != null) { + int resp = Messagebox.show(Labels.getLabel("editarPricingController.MSG.borrarPerguntaOcupacion"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.YES | Messagebox.NO, + Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingOcupaAntecipa.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingOcupaAntecipa.setFecmodif(Calendar.getInstance().getTime()); + pricingOcupaAntecipa.setActivo(GP_Pricing.INATIVO); + + pricingOcupaAntecipaList.removeItem(pricingOcupaAntecipa); + pricingOcupaAntecipaService.borrar(pricingOcupaAntecipa); + closeWindow(); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + + } + + public GP_PricingOcupaAntecipa getPricingOcupaAntecipa() { + return pricingOcupaAntecipa; + } + + public void setPricingOcupacion(GP_PricingOcupaAntecipa pricingOcupaAntecipa) { + this.pricingOcupaAntecipa = pricingOcupaAntecipa; + } + + public MyListbox getPricingOcupacionList() { + return pricingOcupaAntecipaList; + } + + public void setPricingOcupacionList(MyListbox pricingOcupacionList) { + this.pricingOcupaAntecipaList = pricingOcupacionList; + } + + public ConstraintPorcentagem getCt() { + return ct; + } + + public void setCt(ConstraintPorcentagem ct) { + this.ct = ct; + } + + public Boolean getHasNoElements() { + return hasNoElements; + } + + public void setHasNoElements(Boolean hasNoElements) { + this.hasNoElements = hasNoElements; + } + + public List getColumns() { + if (columns == null) { + carregarColunas(); + } + return columns; + } + + private void carregarColunas() { + columns = new ArrayList(); + for (int i = 1; i <= GP_PricingOcupaAntecipaPoltronasVO.MAXPOLTRONAS; i++) { + columns.add(i+""); + } + } + + public void onChange$colorChoose(Event ev) throws InterruptedException { + colorChoose.setStyle(" background: #FFFFFF; font-style: oblique;"); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingOcupaAntecipaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingOcupaAntecipaController.java new file mode 100644 index 000000000..067d4e64c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingOcupaAntecipaController.java @@ -0,0 +1,307 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.List; +import java.util.Map; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Intbox; +import org.zkoss.zul.api.Comboitem; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingClasseTarifaria; +import com.rjconsultores.ventaboletos.entidad.GP_PricingOcupaAntecipa; +import com.rjconsultores.ventaboletos.exception.BusinessException; +import com.rjconsultores.ventaboletos.service.GP_PricingClasseTarifariaService; +import com.rjconsultores.ventaboletos.service.GP_PricingHistoricoService; +import com.rjconsultores.ventaboletos.service.GP_PricingOcupaAntecipaService; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaLegendaVO; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaVO; +import com.rjconsultores.ventaboletos.web.utilerias.ConstraintPorcentagem; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal; + +import ch.stfo.zk.component.Colorbox; + +@Controller("editarGP_PricingOcupaAntecipaController") +@Scope("prototype") +public class EditarGP_PricingOcupaAntecipaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(EditarGP_PricingOcupaAntecipaController.class); + @Autowired + private GP_PricingOcupaAntecipaService pricingOcupaAntecipaService; + + private GP_PricingOcupaAntecipa pricingOcupaAntecipa; + private MyListbox pricingOcupaAntecipaList; + private MyListbox pricingOcupaAntecipaLegendaList; + private Intbox ocupacioninicial; + private Intbox ocupacionfinal; + private Intbox cantdiasmin; + private Intbox cantdiasmax; + private Intbox cantasientosmin; + private Intbox cantasientosmax; + private MyTextboxDecimal porcentaje; + private MyTextboxDecimal importe; + private List lsPricingOcupaAntecipa; + private List lsPricingOcupaAntecipaVO; + private List lsPricingOcupaAntecipaLegenda; + private ConstraintPorcentagem ct; + private Colorbox colorChoose; + + @Autowired + private GP_PricingClasseTarifariaService pricingClasseTarifariaService; + private List lsClasseTarifarias; + private Combobox cmbPricingClasseTarifaria; + private MyGenericForwardComposer parentWindow; + private Map argParentWindow; + + @Autowired + private GP_PricingHistoricoService pricingHistoricoService; + + private GP_Pricing pricing; + private GP_Pricing pricingOriginal; + + @Override + public void doAfterCompose(Component comp) throws Exception { + ct = new ConstraintPorcentagem(); + + updateEntidad(); + + super.doAfterCompose(comp); + + parentWindow = (MyGenericForwardComposer) Executions.getCurrent().getArg().get("parentWindow"); + argParentWindow = (Map) Executions.getCurrent().getArg().get("argParentWindow"); + + lsClasseTarifarias = pricingClasseTarifariaService.obtenerTodos(); + + if (pricingOcupaAntecipa.getPricingClasseTarifaria() != null) { + org.zkoss.zul.Comboitem ci = new org.zkoss.zul.Comboitem(pricingOcupaAntecipa.getPricingClasseTarifaria().toString()); + ci.setAttribute("value", pricingOcupaAntecipa.getPricingClasseTarifaria()); + ci.setValue(pricingOcupaAntecipa.getPricingClasseTarifaria()); + ci.setParent(cmbPricingClasseTarifaria); + cmbPricingClasseTarifaria.setSelectedItem(ci); + } + + if(pricingOcupaAntecipa != null) { + pricing = pricingOcupaAntecipa.getPricing(); + pricingOriginal = pricing.clonar(); + } + + if (pricingOcupaAntecipa.getCor() != null) { + colorChoose.setStyle(" background: #FFFFFF; font-style: oblique;"); + colorChoose.setValue(pricingOcupaAntecipa.getCor()); + } + + } + + @SuppressWarnings("unchecked") + private void updateEntidad() { + + if (pricingOcupaAntecipa == null) { + pricingOcupaAntecipa = (GP_PricingOcupaAntecipa) Executions.getCurrent().getArg().get("pricingOcupaAntecipa"); + pricingOcupaAntecipaList = (MyListbox) Executions.getCurrent().getArg().get("pricingOcupaAntecipaListVO"); + pricingOcupaAntecipaLegendaList = (MyListbox) Executions.getCurrent().getArg().get("pricingOcupaAntecipaLegendaList"); + } + + lsPricingOcupaAntecipa = (List) Executions.getCurrent().getArg().get("lsPricingOcupaAntecipa"); + + if (lsPricingOcupaAntecipa != null && lsPricingOcupaAntecipa.contains(pricingOcupaAntecipa)) { + pricingOcupaAntecipa = lsPricingOcupaAntecipa.get(lsPricingOcupaAntecipa.indexOf(pricingOcupaAntecipa)); + } + + carregarDadosGraficoPricing(lsPricingOcupaAntecipa); + } + + public void onClose$winEditarPricingOcupaAntecipa(Event e) { + updateEntidad(); + closeWindow(); + } + + public void onClick$btnCerrar(Event ev) throws Exception { + updateEntidad(); + closeWindow(); + } + + public void onClick$btnAdicionarOcupaAntecipa(Event ev) throws Exception { + + if ((cantasientosmin.getValue() != null || cantasientosmax.getValue() != null) + && (ocupacioninicial.getValue() != null || ocupacionfinal.getValue() != null)) { + Messagebox.show(Labels.getLabel("editarPricingController.ocupacionErrada.centoPorCant"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + if ((cantasientosmin.getValue() == null && cantasientosmax.getValue() == null) + && (cantasientosmin.getValue() == null && cantasientosmax.getValue() == null) + && (ocupacioninicial.getValue() == null && ocupacionfinal.getValue() == null) + && (ocupacioninicial.getValue() == null && ocupacionfinal.getValue() == null) + && (cantdiasmin.getValue() == null && cantdiasmax.getValue() == null) + && (cantdiasmin.getValue() == null && cantdiasmax.getValue() == null)) { + Messagebox.show(Labels.getLabel("editarPricingController.ocupacionErrada.ocAnt"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + if ((cantasientosmin.getValue() == null && cantasientosmax.getValue() != null) + || (cantasientosmin.getValue() != null && cantasientosmax.getValue() == null) + || (ocupacioninicial.getValue() == null && ocupacionfinal.getValue() != null) + || (ocupacioninicial.getValue() != null && ocupacionfinal.getValue() == null) + || (cantdiasmin.getValue() == null && cantdiasmax.getValue() != null) + || (cantdiasmin.getValue() != null && cantdiasmax.getValue() == null)) { + Messagebox.show(Labels.getLabel("editarPricingController.ocupacionErrada.MinMax"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + Comboitem cbiClasseTarifaria = cmbPricingClasseTarifaria.getSelectedItem(); + if (cbiClasseTarifaria != null) { + GP_PricingClasseTarifaria pct = (GP_PricingClasseTarifaria) cbiClasseTarifaria.getValue(); + pricingOcupaAntecipa.setPricingClasseTarifaria(pct); + } + + if (porcentaje.getValueDecimal() != null && importe.getValueDecimal() != null) { + + Messagebox.show(Labels.getLabel("editarPricingController.ocupacionErrada.centoDin"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if (porcentaje.getValueDecimal() == null && importe.getValueDecimal() == null) { + + Messagebox.show(Labels.getLabel("editarPricingController.ocupacionErrada.centoDin"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + try { + colorChoose.getValue(); + if (colorChoose.getValue() != null) { + pricingOcupaAntecipa.setCor(colorChoose.getValue()); + ajustarCorMesmoPercentual(pricingOcupaAntecipa); + } + + if (pricingOcupaAntecipa.getPricingocupaantecipaId() != null) { + pricingOcupaAntecipaService.actualizacion(pricingOcupaAntecipa); + lsPricingOcupaAntecipa.set(lsPricingOcupaAntecipa.indexOf(pricingOcupaAntecipa), pricingOcupaAntecipa); + } else { + pricingOcupaAntecipaService.suscribir(pricingOcupaAntecipa); + lsPricingOcupaAntecipa.add(pricingOcupaAntecipa); + } + + carregarDadosGraficoPricing(lsPricingOcupaAntecipa); + + compararAlteracoesESalvarHistorico(); + + closeWindow(); + } catch (Exception e) { + log.error(e.getMessage(), e); + Messagebox.show(e.getLocalizedMessage(), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + } + } + + private void compararAlteracoesESalvarHistorico() { + try { + // Busca todas as listas novamente pq nao encontrava novos registros + pricing.setPricingOcupaAntecipaList(pricingOcupaAntecipaService.obtenerTodoPorPricing(pricing)); + pricingHistoricoService.compararESalvar(pricingOriginal, pricing); + } catch (Exception e) { + log.error("Erro ao salvar historico do Pricing Rapido: ", e); + } + } + + private void ajustarCorMesmoPercentual(GP_PricingOcupaAntecipa pricingOcupaAntecipa) throws BusinessException { + for (GP_PricingOcupaAntecipa prOA2 : lsPricingOcupaAntecipa) { + if(!prOA2.getPricingocupaantecipaId().equals(pricingOcupaAntecipa.getPricingocupaantecipaId()) && + MoneyHelper.isIgual(prOA2.getPorcentaje(), pricingOcupaAntecipa.getPorcentaje())) { + prOA2.setCor(pricingOcupaAntecipa.getCor()); + pricingOcupaAntecipaService.actualizacion(prOA2); + } + } + } + + private void carregarDadosGraficoPricing(List lsPricingOcupaAntecipa) { + if(lsPricingOcupaAntecipa != null) { + lsPricingOcupaAntecipaVO = pricingOcupaAntecipaService.carregarPricingOcupaAntecipaVO(lsPricingOcupaAntecipa); + lsPricingOcupaAntecipaLegenda = pricingOcupaAntecipaService.carregarPricingOcupaAntecipaLegenda(lsPricingOcupaAntecipa); + pricingOcupaAntecipaList.setData(lsPricingOcupaAntecipaVO); + pricingOcupaAntecipaLegendaList.setData(lsPricingOcupaAntecipaLegenda); + } + } + + public GP_PricingOcupaAntecipa getPricingOcupaAntecipa() { + return pricingOcupaAntecipa; + } + + public void setPricingOcupacion(GP_PricingOcupaAntecipa pricingOcupaAntecipa) { + this.pricingOcupaAntecipa = pricingOcupaAntecipa; + } + + public MyListbox getPricingOcupacionList() { + return pricingOcupaAntecipaList; + } + + public void setPricingOcupacionList(MyListbox pricingOcupacionList) { + this.pricingOcupaAntecipaList = pricingOcupacionList; + } + + public ConstraintPorcentagem getCt() { + return ct; + } + + public void setCt(ConstraintPorcentagem ct) { + this.ct = ct; + } + + public List getLsClasseTarifarias() { + return lsClasseTarifarias; + } + + @Override + public void closeWindow() { + argParentWindow.put("gravarNovo", pricingOcupaAntecipa.getPricing() == null || pricingOcupaAntecipa.getPricing().getPricingId() == null); + argParentWindow.put("isSelecionarTabOcupaAntecipa", true); + parentWindow.closeWindow(); + parentWindow.openWindow("/gui/gestao_pricing/editarGP_Pricing.zul", Labels.getLabel("editarPricingController.windowOcupacion.title"), argParentWindow); + super.closeWindow(); + } + + public void onClick$btnApagarOcupaAntecipa(Event ev) throws Exception { + if (pricingOcupaAntecipa != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaOcupacion"), + Labels.getLabel("editarPricingController.windowOcupacion.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + if (resp == Messagebox.YES) { + lsPricingOcupaAntecipa.remove(pricingOcupaAntecipa); + pricingOcupaAntecipaService.borrar(pricingOcupaAntecipa); + carregarDadosGraficoPricing(lsPricingOcupaAntecipa); + + compararAlteracoesESalvarHistorico(); + + closeWindow(); + } + } else { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); + } + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingPuntoVentaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingPuntoVentaController.java new file mode 100644 index 000000000..06dfb83f1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingPuntoVentaController.java @@ -0,0 +1,153 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingPuntoVenta; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.service.GP_PricingPuntoVentaService; +import com.rjconsultores.ventaboletos.service.PuntoVentaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarGP_PricingPuntoVentaController") +@Scope("prototype") +public class EditarGP_PricingPuntoVentaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingPuntoVentaService pricingPuntoVentaService; + @Autowired + private PuntoVentaService puntoVentaService; + private GP_PricingPuntoVenta pricingPuntoVenta; + private MyListbox pricingPuntoVentaList; + private Combobox cmbPuntoVenta; + private static Logger log = Logger.getLogger(EditarGP_PricingPuntoVentaController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + pricingPuntoVenta = (GP_PricingPuntoVenta) Executions.getCurrent().getArg().get("pricingPuntoVenta"); + pricingPuntoVentaList = (MyListbox) Executions.getCurrent().getArg().get("pricingPuntoVentaList"); + + super.doAfterCompose(comp); + + if (pricingPuntoVenta.getPuntoVenta() != null) { + cmbPuntoVenta.setText(pricingPuntoVenta.getPuntoVenta().getNombpuntoventa()); + } + + cmbPuntoVenta.focus(); + } + + public void onClick$btnAdicionarPuntoVenta(Event ev) throws Exception { + cmbPuntoVenta.getValue(); + + try { + PuntoVenta pv = (PuntoVenta) cmbPuntoVenta.getSelectedItem().getValue(); + try { + Boolean existe = pricingPuntoVentaService.obtenerPricingPuntoVenta(pricingPuntoVenta.getPricing(), pv); + if (existe) { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowPuntoVenta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + pricingPuntoVenta.setPuntoVenta(pv); + if (pricingPuntoVenta.getPricingptovtaId() != null) { + pricingPuntoVentaService.actualizacion(pricingPuntoVenta); + pricingPuntoVentaList.updateItem(pricingPuntoVenta); + } else { + pricingPuntoVentaService.suscribir(pricingPuntoVenta); + pricingPuntoVentaList.addItemNovo(pricingPuntoVenta); + } + closeWindow(); + } + } catch (Exception ex) { + log.error("editarPricingController PuntoVenta: " + ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("editarPricingController.windowPuntoVenta.title"), + Messagebox.OK, Messagebox.ERROR); + } + } catch (Exception ex) { + log.error("Combobox PuntoVenta" + ex); + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowPuntoVenta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + + public void onClick$btnRemoverPuntoVenta(Event ev) { + try { + GP_PricingPuntoVenta pPuntoVenta = (GP_PricingPuntoVenta) pricingPuntoVentaList.getSelected(); + if (pPuntoVenta != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaPuntoVenta"), + Labels.getLabel("editarPricingController.windowPuntoVenta.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingPuntoVenta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingPuntoVenta.setFecmodif(Calendar.getInstance().getTime()); + pricingPuntoVenta.setActivo(GP_Pricing.INATIVO); + + pricingPuntoVentaList.removeItem(pricingPuntoVenta); + pricingPuntoVentaService.borrar(pricingPuntoVenta); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowPuntoVenta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + + } + + public GP_PricingPuntoVenta getPricingPuntoVenta() { + return pricingPuntoVenta; + } + + public void setPricingPuntoVenta(GP_PricingPuntoVenta pricingPuntoVenta) { + this.pricingPuntoVenta = pricingPuntoVenta; + } + + public MyListbox getPricingPuntoVentaList() { + return pricingPuntoVentaList; + } + + public void setPricingPuntoVentaList(MyListbox pricingPuntoVentaList) { + this.pricingPuntoVentaList = pricingPuntoVentaList; + } + + public GP_PricingPuntoVentaService getPricingPuntoVentaService() { + return pricingPuntoVentaService; + } + + public void setPricingPuntoVentaService(GP_PricingPuntoVentaService pricingPuntoVentaService) { + this.pricingPuntoVentaService = pricingPuntoVentaService; + } + + public PuntoVentaService getPuntoVentaService() { + return puntoVentaService; + } + + public void setPuntoVentaService(PuntoVentaService puntoVentaService) { + this.puntoVentaService = puntoVentaService; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingRutaController.java new file mode 100644 index 000000000..da955d819 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingRutaController.java @@ -0,0 +1,170 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingRuta; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.service.GP_PricingRutaService; +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; + + +@Controller("editarGP_PricingRutaController") +@Scope("prototype") +public class EditarGP_PricingRutaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingRutaService pricingRutaService; + @Autowired + private RutaService rutaService; + private List lsRuta; + private GP_PricingRuta pricingRuta; + private MyListbox pricingRutaList; + private Combobox cmbRuta; + private static Logger log = Logger.getLogger(EditarGP_PricingRutaController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + + pricingRuta = (GP_PricingRuta) Executions.getCurrent().getArg().get("pricingRuta"); + pricingRutaList = (MyListbox) Executions.getCurrent().getArg().get("pricingRutaList"); + + lsRuta = new ArrayList(); + lsRuta.add(rutaService.obtenerID(-1)); + lsRuta.addAll(rutaService.obtenerPorEmpresa(pricingRuta.getPricing().getEmpresa())) ; + + super.doAfterCompose(comp); + + cmbRuta.focus(); + + } + + public void onClick$btnAdicionarRuta(Event ev) throws Exception { + cmbRuta.getValue(); + + try { + + if (pricingRuta.getRuta() == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowRuta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + Boolean existe = pricingRutaService.obtenerPricingRuta(pricingRuta.getPricing(), (Ruta) cmbRuta.getSelectedItem().getValue()); + + if (existe) { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowRuta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if (pricingRuta.getPricingrutaId() != null) { + pricingRutaService.actualizacion(pricingRuta); + pricingRutaList.updateItem(pricingRuta); + } else { + pricingRutaService.suscribir(pricingRuta); + pricingRutaList.addItemNovo(pricingRuta); + } + closeWindow(); + } + } + } catch (Exception ex) { + log.error(ex); + } + } + + public void onClick$btnRemoverRuta(Event ev) { + try { + GP_PricingRuta pRuta = (GP_PricingRuta) pricingRutaList.getSelected(); + if (pRuta != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaRuta"), + Labels.getLabel("editarPricingController.windowRuta.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingRuta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingRuta.setFecmodif(Calendar.getInstance().getTime()); + pricingRuta.setActivo(GP_Pricing.INATIVO); + + pricingRutaList.removeItem(pricingRuta); + pricingRutaService.borrar(pricingRuta); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowRuta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + + } + + public GP_PricingRuta getPricingRuta() { + return pricingRuta; + } + + public void setPricingRuta(GP_PricingRuta pricingRuta) { + this.pricingRuta = pricingRuta; + } + + public MyListbox getPricingRutaList() { + return pricingRutaList; + } + + public void setPricingRutaList(MyListbox pricingRutaList) { + this.pricingRutaList = pricingRutaList; + } + + public GP_PricingRutaService getPricingRutaService() { + return pricingRutaService; + } + + public void setPricingRutaService(GP_PricingRutaService pricingRutaService) { + this.pricingRutaService = pricingRutaService; + } + + public List getLsRuta() { + return lsRuta; + } + + public void setLsRuta(List lsRuta) { + this.lsRuta = lsRuta; + } + + public RutaService getRutaService() { + return rutaService; + } + + public void setRutaService(RutaService rutaService) { + this.rutaService = rutaService; + } + + public Combobox getCmbRuta() { + return cmbRuta; + } + + public void setCmbRuta(Combobox cmbRuta) { + this.cmbRuta = cmbRuta; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingTipoPtoVtaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingTipoPtoVtaController.java new file mode 100644 index 000000000..5eea81328 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingTipoPtoVtaController.java @@ -0,0 +1,157 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingTipoPtoVta; +import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; +import com.rjconsultores.ventaboletos.service.GP_PricingTipoPtoVtaService; +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; + +@Controller("editarGP_PricingTipoPtoVtaController") +@Scope("prototype") +public class EditarGP_PricingTipoPtoVtaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingTipoPtoVtaService pricingTipoPtoVtaService; + @Autowired + private TipoPuntoVentaService tipoPtoVtaService; + private List lsTipoPtoVta; + private GP_PricingTipoPtoVta pricingTipoPtoVta; + private MyListbox pricingTipoPtoVtaList; + private Combobox cmbTipoPtoVta; + private static Logger log = Logger.getLogger(EditarGP_PricingTipoPtoVtaController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + + lsTipoPtoVta = tipoPtoVtaService.obtenerTodos(); + + pricingTipoPtoVta = (GP_PricingTipoPtoVta) Executions.getCurrent().getArg().get("pricingTipoPtoVta"); + pricingTipoPtoVtaList = (MyListbox) Executions.getCurrent().getArg().get("pricingTipoPtoVtaList"); + + super.doAfterCompose(comp); + + cmbTipoPtoVta.focus(); + + } + + public void onClick$btnAdicionarTipoPtoVta(Event ev) throws Exception { + cmbTipoPtoVta.getValue(); + + try { + if (pricingTipoPtoVta.getTipoPtovta() == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowTipoPtoVta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + Boolean existe = pricingTipoPtoVtaService.obtenerPricingTipoPuntoVenta(pricingTipoPtoVta.getPricing(), (TipoPuntoVenta) cmbTipoPtoVta.getSelectedItem().getValue()); + + if (existe) { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowTipoPtoVta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if (pricingTipoPtoVta.getPricingtipoptovtaId() != null) { + pricingTipoPtoVtaService.actualizacion(pricingTipoPtoVta); + pricingTipoPtoVtaList.updateItem(pricingTipoPtoVta); + } else { + pricingTipoPtoVtaService.suscribir(pricingTipoPtoVta); + pricingTipoPtoVtaList.addItemNovo(pricingTipoPtoVta); + } + closeWindow(); + } + } + } catch (Exception ex) { + log.error(ex); + } + } + + public void onClick$btnRemoverTipoPtoVta(Event ev) { + try { + GP_PricingTipoPtoVta pTipoPtoVta = (GP_PricingTipoPtoVta) pricingTipoPtoVtaList.getSelected(); + if (pTipoPtoVta != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaTipoPtoVta"), + Labels.getLabel("editarPricingController.windowTipoPtoVta.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingTipoPtoVta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingTipoPtoVta.setFecmodif(Calendar.getInstance().getTime()); + pricingTipoPtoVta.setActivo(GP_Pricing.INATIVO); + + pricingTipoPtoVtaList.removeItem(pricingTipoPtoVta); + pricingTipoPtoVtaService.borrar(pricingTipoPtoVta); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowTipoPtoVta.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + + } + + public GP_PricingTipoPtoVta getPricingTipoPtoVta() { + return pricingTipoPtoVta; + } + + public void setPricingTipoPtoVta(GP_PricingTipoPtoVta pricingTipoPtoVta) { + this.pricingTipoPtoVta = pricingTipoPtoVta; + } + + public MyListbox getPricingTipoPtoVtaList() { + return pricingTipoPtoVtaList; + } + + public void setPricingTipoPtoVtaList(MyListbox pricingTipoPtoVtaList) { + this.pricingTipoPtoVtaList = pricingTipoPtoVtaList; + } + + public GP_PricingTipoPtoVtaService getPricingTipoPtoVtaService() { + return pricingTipoPtoVtaService; + } + + public void setPricingTipoPtoVtaService(GP_PricingTipoPtoVtaService pricingTipoPtoVtaService) { + this.pricingTipoPtoVtaService = pricingTipoPtoVtaService; + } + + public List getLsTipoPtoVta() { + return lsTipoPtoVta; + } + + public void setLsTipoPtoVta(List lsTipoPtoVta) { + this.lsTipoPtoVta = lsTipoPtoVta; + } + + public TipoPuntoVentaService getTipoPtoVtaService() { + return tipoPtoVtaService; + } + + public void setTipoPtoVtaService(TipoPuntoVentaService tipoPtoVtaService) { + this.tipoPtoVtaService = tipoPtoVtaService; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingTipoServicioController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingTipoServicioController.java new file mode 100644 index 000000000..b237b0605 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingTipoServicioController.java @@ -0,0 +1,166 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.List; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingTipoServicio; +import com.rjconsultores.ventaboletos.entidad.TipoServicio; +import com.rjconsultores.ventaboletos.service.GP_PricingTipoServicioService; +import com.rjconsultores.ventaboletos.service.TipoServicioService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarGP_PricingTipoServicioController") +@Scope("prototype") +public class EditarGP_PricingTipoServicioController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private GP_PricingTipoServicioService pricingTipoServicioService; + @Autowired + private TipoServicioService tipoServicioService; + private List lsTipoServicio; + private GP_PricingTipoServicio pricingTipoServicio; + private MyListbox pricingTipoServicioList; + private Combobox cmbTipoServicio; + private static Logger log = Logger.getLogger(EditarGP_PricingTipoServicioController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + + lsTipoServicio = tipoServicioService.obtenerTodos(); + + pricingTipoServicio = (GP_PricingTipoServicio) Executions.getCurrent().getArg().get("pricingTipoServicio"); + pricingTipoServicioList = (MyListbox) Executions.getCurrent().getArg().get("pricingTipoServicioList"); + + super.doAfterCompose(comp); + + cmbTipoServicio.focus(); + } + + public void onClick$btnAdicionarTipoServicio(Event ev) throws Exception { + cmbTipoServicio.getValue(); + + try { + + if (pricingTipoServicio.getTipoServicio() == null) { + Messagebox.show( + Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarPricingController.windowTipoServicio.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + + Boolean existe = pricingTipoServicioService.obtenerPricingTipoServicio(pricingTipoServicio.getPricing(), (TipoServicio) cmbTipoServicio.getSelectedItem().getValue()); + if (existe) { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowTipoServicio.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if (pricingTipoServicio.getPricingtiposervicioId() != null) { + pricingTipoServicioService.actualizacion(pricingTipoServicio); + pricingTipoServicioList.updateItem(pricingTipoServicio); + } else { + pricingTipoServicioService.suscribir(pricingTipoServicio); + pricingTipoServicioList.addItem(pricingTipoServicio); + } + closeWindow(); + } + } + } catch (Exception ex) { + log.error(ex); + } + } + + public void onClick$btnRemoverTipoServicio(Event ev) { + try { + GP_PricingTipoServicio pTipoServicio = (GP_PricingTipoServicio) pricingTipoServicioList.getSelected(); + if (pTipoServicio != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaTipoServicio"), + Labels.getLabel("editarPricingController.windowTipoServicio.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingTipoServicio.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingTipoServicio.setFecmodif(Calendar.getInstance().getTime()); + pricingTipoServicio.setActivo(GP_Pricing.EXCLUIDO); + + pricingTipoServicioList.removeItem(pricingTipoServicio); + pricingTipoServicioService.borrar(pricingTipoServicio); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowTipoServicio.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + + } + + public GP_PricingTipoServicio getPricingTipoServicio() { + return pricingTipoServicio; + } + + public void setPricingTipoServicio(GP_PricingTipoServicio pricingTipoServicio) { + this.pricingTipoServicio = pricingTipoServicio; + } + + public MyListbox getPricingTipoServicioList() { + return pricingTipoServicioList; + } + + public void setPricingTipoServicioList(MyListbox pricingTipoServicioList) { + this.pricingTipoServicioList = pricingTipoServicioList; + } + + public GP_PricingTipoServicioService getPricingTipoServicioService() { + return pricingTipoServicioService; + } + + public void setPricingTipoServicioService(GP_PricingTipoServicioService pricingTipoServicioService) { + this.pricingTipoServicioService = pricingTipoServicioService; + } + + public TipoServicioService getTipoServicioService() { + return tipoServicioService; + } + + public void setTipoServicioService(TipoServicioService tipoServicioService) { + this.tipoServicioService = tipoServicioService; + } + + public static Logger getLog() { + return log; + } + + public static void setLog(Logger log) { + EditarGP_PricingTipoServicioController.log = log; + } + + public List getLsTipoServicio() { + return lsTipoServicio; + } + + public void setLsTipoServicio(List lsTipoServicio) { + this.lsTipoServicio = lsTipoServicio; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingVigenciaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingVigenciaController.java new file mode 100644 index 000000000..336de6731 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/EditarGP_PricingVigenciaController.java @@ -0,0 +1,207 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.util.Calendar; +import java.util.Date; + +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Datebox; + +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingVigencia; +import com.rjconsultores.ventaboletos.service.GP_PricingVigenciaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarGP_PricingVigenciaController") +@Scope("prototype") +public class EditarGP_PricingVigenciaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingVigenciaService pricingVigenciaService; + private GP_PricingVigencia pricingVigencia; + private MyListbox pricingVigenciaList; + private static Logger log = Logger.getLogger(EditarGP_PricingVigenciaController.class); + private Datebox fecinicioviaje; + private Datebox fecfinviaje; + private Datebox fecinicioventa; + private Datebox fecfinventa; + + private GP_Pricing pricing; + + @Override + public void doAfterCompose(Component comp) throws Exception { + pricingVigencia = (GP_PricingVigencia) Executions.getCurrent().getArg().get("pricingVigencia"); + pricing = (GP_Pricing) Executions.getCurrent().getArg().get("pricing"); + pricingVigenciaList = (MyListbox) Executions.getCurrent().getArg().get("pricingVigenciaList"); + + super.doAfterCompose(comp); + + if (pricingVigencia.getPricingvigenciaId() != null) { + fecinicioviaje.setValue(pricingVigencia.getFecinicioviaje()); + fecfinviaje.setValue(pricingVigencia.getFecfinviaje()); + fecinicioventa.setValue(pricingVigencia.getFecinicioventa()); + fecfinventa.setValue(pricingVigencia.getFecfinventa()); + } + } + + public void onChange$fecfinviaje(Event ev) throws Exception { + fecfinventa.setValue(fecfinviaje.getValue()); + } + + public void onClick$btnAdicionarVigencia(Event ev) throws Exception { + fecinicioviaje.getValue(); + fecfinviaje.getValue(); + fecinicioventa.getValue(); + fecfinventa.getValue(); + + if (fecinicioviaje.getValue().after(fecfinviaje.getValue())) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.fechaViaje"), + Labels.getLabel("editarPricingController.windowVigencia.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else if (fecinicioventa.getValue().after(fecfinventa.getValue())) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.fechaVenta"), + Labels.getLabel("editarPricingController.windowVigencia.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else if (fecfinventa.getValue().after(fecfinviaje.getValue())) { + Messagebox.show(Labels.getLabel("editarPricingController.MSG.datas2"), + Labels.getLabel("editarPricingController.windowVigencia.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + try { + pricingVigencia.setFecinicioviaje(fecinicioviaje.getValue()); + pricingVigencia.setFecfinviaje(fecfinviaje.getValue()); + pricingVigencia.setFecinicioventa(fecinicioventa.getValue()); + pricingVigencia.setFecfinventa(fecfinventa.getValue()); + + pricingVigencia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingVigencia.setFecmodif(Calendar.getInstance().getTime()); + pricingVigencia.setActivo(GP_Pricing.ATIVO); + + Date inicio = pricingVigencia.getFecinicioviaje(); + Date fim = pricingVigencia.getFecfinviaje(); + + Boolean podeSalvar = pricingVigenciaService.podeSalvar(pricing, pricingVigencia, inicio, fim); + if (pricingVigencia.getPricingvigenciaId() != null) { + if (podeSalvar) { + pricingVigenciaService.actualizacion(pricingVigencia); + pricingVigenciaList.updateItem(pricingVigencia); + closeWindow(); + } else { + Messagebox.show( + Labels.getLabel("MSG.Registro.Existe"), + Labels.getLabel("editarPricingController.windowCategoria.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } else { + if (podeSalvar) { + pricingVigenciaService.suscribir(pricingVigencia); + pricingVigenciaList.addItemNovo(pricingVigencia); + closeWindow(); + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.vigenciaExiste"), + Labels.getLabel("editarPricingController.windowCategoria.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + } catch (Exception ex) { + log.error("Erro ao adicionar pricing vigencia: " + ex); + } + } + } + + public void onClick$btnRemoverVigencia(Event ev) { + try { + GP_PricingVigencia pVigencia = (GP_PricingVigencia) pricingVigenciaList.getSelected(); + if (pVigencia != null) { + int resp = Messagebox.show( + Labels.getLabel("editarPricingController.MSG.borrarPerguntaVigencia"), + Labels.getLabel("editarPricingController.windowVigencia.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + pricingVigencia.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pricingVigencia.setFecmodif(Calendar.getInstance().getTime()); + pricingVigencia.setActivo(GP_Pricing.INATIVO); + + pricingVigenciaList.removeItem(pricingVigencia); + pricingVigenciaService.borrar(pricingVigencia); + closeWindow(); + } + } else { + Messagebox.show( + Labels.getLabel("editarPricingController.MSG.selectItem"), + Labels.getLabel("editarPricingController.windowVigencia.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + } + + public Datebox getFecfinventa() { + return fecfinventa; + } + + public void setFecfinventa(Datebox fecfinventa) { + this.fecfinventa = fecfinventa; + } + + public Datebox getFecfinviaje() { + return fecfinviaje; + } + + public void setFecfinviaje(Datebox fecfinviaje) { + this.fecfinviaje = fecfinviaje; + } + + public Datebox getFecinicioventa() { + return fecinicioventa; + } + + public void setFecinicioventa(Datebox fecinicioventa) { + this.fecinicioventa = fecinicioventa; + } + + public Datebox getFecinicioviaje() { + return fecinicioviaje; + } + + public void setFecinicioviaje(Datebox fecinicioviaje) { + this.fecinicioviaje = fecinicioviaje; + } + + public GP_PricingVigencia getPricingVigencia() { + return pricingVigencia; + } + + public void setPricingVigencia(GP_PricingVigencia pricingVigencia) { + this.pricingVigencia = pricingVigencia; + } + + public MyListbox getPricingVigenciaList() { + return pricingVigenciaList; + } + + public void setPricingVigenciaList(MyListbox pricingVigenciaList) { + this.pricingVigenciaList = pricingVigenciaList; + } + + public GP_PricingVigenciaService getPricingVigenciaService() { + return pricingVigenciaService; + } + + public void setPricingVigenciaService(GP_PricingVigenciaService pricingVigenciaService) { + this.pricingVigenciaService = pricingVigenciaService; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/GestaoPricingController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/GestaoPricingController.java new file mode 100644 index 000000000..610f72e81 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/gestaopricing/GestaoPricingController.java @@ -0,0 +1,781 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.gestaopricing; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.lang.reflect.Type; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +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.zkplus.databind.BindingListModelList; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Intbox; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Window; + +import com.google.gson.Gson; +import com.google.gson.JsonParser; +import com.google.gson.reflect.TypeToken; +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.Constante; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingGestao; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.PricingColorVO; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.PricingGestaoAlteradoVO; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.PricingGestaoVO; +import com.rjconsultores.ventaboletos.service.ClaseServicioService; +import com.rjconsultores.ventaboletos.service.ConstanteService; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.GP_PricingGestaoService; +import com.rjconsultores.ventaboletos.service.GP_PricingService; +import com.rjconsultores.ventaboletos.service.ParadaService; +import com.rjconsultores.ventaboletos.service.RutaService; +import com.rjconsultores.ventaboletos.service.impl.GP_GestaoPricingService; +import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; +import com.rjconsultores.ventaboletos.utilerias.CustomEnum; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; + +@Controller("gestaoPricingController") +@Scope("prototype") +public class GestaoPricingController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private GP_PricingService pricingService; + @Autowired + private GP_PricingGestaoService pricingGestaoService; + @Autowired + private EmpresaService empresaService; + @Autowired + private RutaService rutaService; + + private Paging pagingPricing; + private List lsPricing; + private List lsEmpresa; + private List lsRuta; + private Combobox cmbEmpresa; + private Datebox fechaInicio; + private Datebox fechaFin; + private Datebox fechaSemana; + private Intbox numeroSemana; + private Combobox cmbRuta; + private Combobox cmbOrigen; + private Combobox cmbDestino; + private Combobox cmbTipoServicio; + private List lsClaseServicio; + @Autowired + private ParadaService paradaService; + @Autowired + private ClaseServicioService claseServicioService; + @Autowired + private GP_GestaoPricingService gestaoService; + @Autowired + private ConstanteService constanteService; + + private Parada origem; + private Parada destino; + private Empresa empresa; + private ClaseServicio classe; + private Ruta ruta; + + private static Logger log = Logger.getLogger(GestaoPricingController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + + lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); + lsClaseServicio = claseServicioService.obtenerTodos(); + + super.doAfterCompose(comp); + + if (arg.get("color") == null) { + arg.put("color", "{}"); + } + + if (arg.get("origem") != null) { + Comboitem co = (Comboitem) arg.get("origem"); + cmbOrigen.appendChild(co); + cmbOrigen.setSelectedItem(co); + cmbOrigen.setSelectedIndex(0); + } + if (arg.get("cmbDestino") != null) { + Comboitem co = (Comboitem) arg.get("cmbDestino"); + cmbDestino.appendChild(co); + cmbDestino.setSelectedItem(co); + cmbDestino.setSelectedIndex(0); + } + if (arg.get("cmbEmpresa") != null) { + Comboitem co = (Comboitem) arg.get("cmbEmpresa"); + cmbEmpresa.appendChild(co); + cmbEmpresa.setSelectedItem(co); + cmbEmpresa.setSelectedIndex(0); + } + if (arg.get("cmbTipoServicio") != null) { + Comboitem co = (Comboitem) arg.get("cmbTipoServicio"); + cmbTipoServicio.appendChild(co); + cmbTipoServicio.setSelectedItem(co); + cmbTipoServicio.setSelectedIndex(0); + } + if (arg.get("cmbRuta") != null) { + Comboitem co = (Comboitem) arg.get("cmbRuta"); + cmbRuta.appendChild(co); + cmbRuta.setSelectedItem(co); + cmbRuta.setSelectedIndex(0); + } + if (arg.get("numeroSemana") != null) { + numeroSemana.setValue((Integer) arg.get("numeroSemana")); + onChange$numeroSemana(null); + } + + lsPricing = new ArrayList(); + + } + + public void onChange$fechaSemana(Event ev) throws InterruptedException { + if (fechaSemana.getValue() != null) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(fechaSemana.getValue()); + + numeroSemana.setValue(calendar.get(Calendar.WEEK_OF_YEAR)); + onChange$numeroSemana(ev); + onClick$btnReturn(null); + } + } + + public void onChange$cmbRuta(Event ev) throws InterruptedException { + Ruta ruta = (Ruta) (cmbRuta.getSelectedItem() != null ? cmbRuta.getSelectedItem().getValue() : null); + if (ruta != null) { + ClaseServicio cs = claseServicioService.obtenerID(ruta.getClaseServicio().getClaseservicioId()); + lsClaseServicio.clear(); + lsClaseServicio.add(cs); + BindingListModelList l = new BindingListModelList(lsClaseServicio, true); + cmbTipoServicio.setModel(l); + cmbTipoServicio.setSelectedIndex(0); + } + + } + + public void onChange$numeroSemana(Event ev) throws InterruptedException { + if (numeroSemana.getValue() != null) { + Calendar calendar = Calendar.getInstance(); + + calendar.setFirstDayOfWeek(Calendar.SUNDAY); + calendar.set(Calendar.WEEK_OF_YEAR, numeroSemana.getValue()); + calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); + + fechaInicio.setValue(calendar.getTime()); + fechaSemana.setValue(calendar.getTime()); + + calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); + + fechaFin.setValue(calendar.getTime()); + + } + } + + 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(); + arg.put("tmpJs", arg.get("json")); + } + + public void onClick$btnReturn(Event ev) { + + this.closeWindow(); + + + arg.put("origem", cmbOrigen.getSelectedItem()); + arg.put("cmbDestino", cmbDestino.getSelectedItem()); + arg.put("cmbEmpresa", cmbEmpresa.getSelectedItem()); + arg.put("cmbTipoServicio", cmbTipoServicio.getSelectedItem()); + arg.put("cmbRuta", cmbRuta.getSelectedItem()); + arg.put("numeroSemana", numeroSemana.getValue()); + + if (ev != null) { + if (arg.get("tmpJs") != null) { + arg.put("json", arg.get("tmpJs")); + } + + if (arg.get("color") != null) { + arg.put("color", arg.get("color")); + } + } + + PantallaUtileria.openWindow("/gui/gestao_pricing/gestaoPricing.zul", + Labels.getLabel("indexController.mniGestaoPricing.label"), arg, desktop); + + } + + 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(); + } + + if (origen == null || destino == null) { + try { + Messagebox.show("É necessário preencher origem e destino.", Labels + .getLabel("busquedaPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } catch (InterruptedException ex) { + } + } + + ClaseServicio claseServicio = (ClaseServicio) (cmbTipoServicio.getSelectedItem() != null ? cmbTipoServicio.getSelectedItem().getValue() : null); + + Calendar dataInicio = Calendar.getInstance(); + Calendar dataFinal = Calendar.getInstance(); + if ((fechaInicio.getValue() != null) && (fechaFin.getValue() != null)) { + dataInicio.setTime(fechaInicio.getValue()); + dataInicio.set(Calendar.HOUR_OF_DAY, 0); + dataInicio.set(Calendar.MINUTE, 0); + dataInicio.set(Calendar.SECOND, 0); + dataInicio.set(Calendar.MILLISECOND, 0); + + dataFinal.setTime(fechaFin.getValue()); + dataFinal.set(Calendar.HOUR_OF_DAY, 23); + dataFinal.set(Calendar.MINUTE, 59); + dataFinal.set(Calendar.SECOND, 59); + dataFinal.set(Calendar.MILLISECOND, 999); + } else { + try { + Messagebox.show(Labels.getLabel("gestaoPricing.SelecionarDatas.msg"), Labels + .getLabel("busquedaPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } catch (InterruptedException ex) { + } + } + + List empresas = new ArrayList(); + for (Empresa emp : UsuarioLogado.getUsuarioLogado().getEmpresa()) { + empresas.add(emp.getEmpresaId().toString()); + } + + Map params = new LinkedHashMap(); + params.put("listEmpresaId", empresas.toString().replace(" ","").replace("[","").replace("]","") +","); + params.put("unaFecCorrida", DateUtil.getStringDate(dataInicio.getTime())); + params.put("embarcada", false); + params.put("funcion", false); + params.put("verificaBPe", false); + params.put("esViajeRedondo", false); + params.put("unPuntoVenta_id", UsuarioLogado.getUsuarioLogado().getUsuarioUbicacionActivoList().iterator().next().getPuntoVenta().getPuntoventaId()); + params.put("usuarioId", UsuarioLogado.getUsuarioLogado().getUsuarioId()); + params.put("unTipoVenta_id", "1"); + params.put("unaHoraCorrida", "00:01"); + params.put("origemId", origen.getParadaId()); + params.put("unOrigen_id", origen.getParadaId()); + params.put("destinoId", destino.getParadaId()); + params.put("unDestino_id", destino.getParadaId()); + + if (empresa != null) { + params.put("listEmpresaId", empresa.getEmpresaId()); + } + + if (claseServicio != null) { + params.put("unaClaseServicio_id", claseServicio.getClaseservicioId()); + } + if (ruta != null) { + params.put("rutaId", ruta.getRutaId()); + } + if (claseServicio != null) { + params.put("classeId", claseServicio.getClaseservicioId()); + } + + params.put("dtInicio", dataInicio.getTimeInMillis()); + params.put("dtFim", dataFinal.getTimeInMillis()); + + Constante constante = constanteService.buscarPorNomeConstante("URL_TOTALBUS_SERVIDOR"); + + if(constante == null){ + try { + Messagebox.show("É necessário configurar a URL do servidor.", Labels + .getLabel("busquedaPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } catch (InterruptedException ex) { + } + + } + + String json = retornaJs(constante.getValorconstante() + "/VentaBoletosServidor/Boleto/VerificarPricing.do?", params); + + log.info(json); + + try { + JsonParser parser = new JsonParser(); + parser.parse(json); + + } catch (Exception e) { + log.error("", e); + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), Labels + .getLabel("busquedaPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException e1) { + + } + return; + } + + Gson gson = new Gson(); + List listPricingGestaoVO = new ArrayList(); + List listPricingColorVO = new ArrayList(); + + List pricings = pricingService.obtenerTodos(); + + for (GP_Pricing gp_Pricing : pricings) { + if (gp_Pricing.getIndSobreposicao() != null && !gp_Pricing.getIndSobreposicao() && StringUtils.isNotBlank(gp_Pricing.getNombPricing())) { + PricingColorVO vo = new PricingColorVO(); + vo.setId(gp_Pricing.getNombPricing()); + vo.setIdBanco(gp_Pricing.getPricingId().toString()); + vo.setColor("white"); + vo.setBackgroundColor(gp_Pricing.getColor()); + listPricingColorVO.add(vo); + } + + } + + do { + PricingColorVO vo = new PricingColorVO(); + vo.setId("Vazio"); + vo.setColor("white"); + vo.setBackgroundColor("white"); + listPricingColorVO.add(vo); + } while (listPricingColorVO.size() < 15); + + if (json.equals("[]")) { + do { + PricingGestaoVO servico = new PricingGestaoVO(); + servico.setServico(""); + servico.setDomingo(""); + servico.setSegunda(""); + servico.setTerca(""); + servico.setQuarta(""); + servico.setQuinta(""); + servico.setSexta(""); + servico.setSabado(""); + listPricingGestaoVO.add(servico); + } while (listPricingGestaoVO.size() < 15); + + json = gson.toJson(listPricingGestaoVO); + } + + String color = gson.toJson(listPricingColorVO); + + arg.put("origem", cmbOrigen.getSelectedItem()); + arg.put("cmbDestino", cmbDestino.getSelectedItem()); + arg.put("cmbEmpresa", cmbEmpresa.getSelectedItem()); + arg.put("cmbTipoServicio", cmbTipoServicio.getSelectedItem()); + arg.put("cmbRuta", cmbRuta.getSelectedItem()); + arg.put("numeroSemana", numeroSemana.getValue()); + + this.closeWindow(); + + arg.put("json", json); + arg.put("color", color); + + PantallaUtileria.openWindow("/gui/gestao_pricing/gestaoPricing.zul", + Labels.getLabel("indexController.mniGestaoPricing.label"), arg, desktop); + + } + + + public void onCreateWindow(Event evt) { + + Window window = (Window) evt.getTarget(); + + if (window.getId().equals("winGestaoPricing")) { + window.addEventListener("onNotifyServer", this); + window.addEventListener("onLoad", this); + } + } + + @Override + public void onEvent(Event evt) throws Exception { + super.onEvent(evt); + if (evt.getName().equals("onNotifyServer")) { + serverNotified(evt); + } + } + + private void serverNotified(Event evt) { + + try { + int resp = Messagebox.show( + "Salvar os cenários inseridos ?", + Labels.getLabel("editarPricingController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + + Gson gson = new Gson(); + Type typePricingGestaoVO = new TypeToken>() { + }.getType(); + Type typePricingColorVO = new TypeToken>() { + }.getType(); + + String json = (String) arg.get("json"); + String cores = (String) arg.get("color"); + List pricingGestaoVOOld = gson.fromJson(json, typePricingGestaoVO); + List pricingCores = gson.fromJson(cores, typePricingColorVO); + Object[] data = (Object[]) evt.getData(); + List listPricingGestaoVO = new ArrayList(); + Date inicio = DateUtil.normalizar(fechaInicio.getValue()); + for (int i = 1; i < data.length; i++) { + PricingGestaoVO pricingOld = pricingGestaoVOOld.get(i); + PricingGestaoVO pricingGestaoVO = gson.fromJson(data[i].toString(), PricingGestaoVO.class); + + if (!pricingOld.getDomingo().equals(pricingGestaoVO.getDomingo())) { + PricingGestaoAlteradoVO alterado = new PricingGestaoAlteradoVO(); + alterado.setPricing(pricingGestaoVO.getDomingo()); + alterado.setServico(pricingGestaoVO.getServico()); + alterado.setData(inicio); + listPricingGestaoVO.add(alterado); + } + if (!pricingOld.getSegunda().equals(pricingGestaoVO.getSegunda())) { + PricingGestaoAlteradoVO alterado = new PricingGestaoAlteradoVO(); + alterado.setPricing(pricingGestaoVO.getSegunda()); + alterado.setServico(pricingGestaoVO.getServico()); + alterado.setData(DateUtil.somarDias(inicio, 1)); + listPricingGestaoVO.add(alterado); + } + if (!pricingOld.getTerca().equals(pricingGestaoVO.getTerca())) { + PricingGestaoAlteradoVO alterado = new PricingGestaoAlteradoVO(); + alterado.setPricing(pricingGestaoVO.getTerca()); + alterado.setServico(pricingGestaoVO.getServico()); + alterado.setData(DateUtil.somarDias(inicio, 2)); + listPricingGestaoVO.add(alterado); + } + if (!pricingOld.getQuarta().equals(pricingGestaoVO.getQuarta())) { + PricingGestaoAlteradoVO alterado = new PricingGestaoAlteradoVO(); + alterado.setPricing(pricingGestaoVO.getQuarta()); + alterado.setServico(pricingGestaoVO.getServico()); + alterado.setData(DateUtil.somarDias(inicio, 3)); + listPricingGestaoVO.add(alterado); + } + if (!pricingOld.getQuinta().equals(pricingGestaoVO.getQuinta())) { + PricingGestaoAlteradoVO alterado = new PricingGestaoAlteradoVO(); + alterado.setPricing(pricingGestaoVO.getQuinta()); + alterado.setServico(pricingGestaoVO.getServico()); + alterado.setData(DateUtil.somarDias(inicio, 4)); + listPricingGestaoVO.add(alterado); + } + if (!pricingOld.getSexta().equals(pricingGestaoVO.getSexta())) { + PricingGestaoAlteradoVO alterado = new PricingGestaoAlteradoVO(); + alterado.setPricing(pricingGestaoVO.getSexta()); + alterado.setServico(pricingGestaoVO.getServico()); + alterado.setData(DateUtil.somarDias(inicio, 5)); + listPricingGestaoVO.add(alterado); + } + if (!pricingOld.getSabado().equals(pricingGestaoVO.getSabado())) { + PricingGestaoAlteradoVO alterado = new PricingGestaoAlteradoVO(); + alterado.setPricing(pricingGestaoVO.getSabado()); + alterado.setServico(pricingGestaoVO.getServico()); + alterado.setData(DateUtil.somarDias(inicio, 6)); + listPricingGestaoVO.add(alterado); + } + + } + + for (PricingGestaoAlteradoVO pricingGestaoAlteradoVO : listPricingGestaoVO) { + + for (PricingColorVO cor : pricingCores) { + if (cor != null && cor.getId() != null && cor.getId().equals(pricingGestaoAlteradoVO.getPricing())) { + pricingGestaoAlteradoVO.setId(cor.getIdBanco()); + } + } + } + + for (PricingGestaoAlteradoVO pricingGestaoAlteradoVO : listPricingGestaoVO) { + + boolean isPricingAtivo = true; + + GP_Pricing pricingOld = pricingService.obtenerID(Integer.valueOf(pricingGestaoAlteradoVO.getId())); + GP_Pricing pricingNew = pricingService.clonarGP_Pricing(Integer.valueOf(pricingGestaoAlteradoVO.getId()), pricingOld.getNombPricing() , ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.USA_PADRAO_PRICING_TIPO_PASSAGEM_PET.getDescricao()), isPricingAtivo); + pricingNew.setColor(pricingOld.getColor()); + pricingNew.setIndGestao(true); + + GP_PricingGestao gestao = new GP_PricingGestao(); + gestao.setCorridaId(Integer.valueOf(pricingGestaoAlteradoVO.getServico())); + gestao.setFeccorrida(DateUtil.normalizarToFecha(pricingGestaoAlteradoVO.getData())); + gestao.setFecmodif(Calendar.getInstance().getTime()); + gestao.setPricing(pricingNew); + gestao.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + pricingGestaoService.suscribir(gestao); + + pricingService.actualizacion(pricingNew); + } + + Messagebox.show( + "Os cenários foram adicionados com sucesso.", + Labels.getLabel("editarPricingController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + arg.put("tmpJs", null); + + } + } catch (Exception e) { + log.error("", e); + } + + } + + + public String retornaJs(String URL, Map params) { + try { + + StringBuilder postData = new StringBuilder(); + for (Map.Entry param : params.entrySet()) { + if (postData.length() != 0) + postData.append('&'); + postData.append(URLEncoder.encode(param.getKey(), "UTF-8")); + postData.append('='); + postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8")); + } + + URL url = new URL(URL + postData.toString()); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("GET"); + conn.setRequestProperty("Accept", "application/json"); + + if (conn.getResponseCode() != 200) { + throw new RuntimeException("Failed : HTTP error code : " + + conn.getResponseCode()); + } + + BufferedReader br = new BufferedReader(new InputStreamReader( + (conn.getInputStream()))); + + String output; + StringBuilder retorno = new StringBuilder(); + while ((output = br.readLine()) != null) { + retorno.append(output); + log.info(output); + } + + conn.disconnect(); + + return retorno.toString(); + + } catch (MalformedURLException e) { + + log.error("", e); + + } catch (IOException e) { + + log.error("", e); + + } + return "{}"; + } + + public List getLsClaseServicio() { + return lsClaseServicio; + } + + public void setLsClaseServicio(List lsClaseServicio) { + this.lsClaseServicio = lsClaseServicio; + } + + public ClaseServicioService getClaseServicioService() { + return claseServicioService; + } + + public void setClaseServicioService(ClaseServicioService claseServicioService) { + this.claseServicioService = claseServicioService; + } + + public List getLsPricing() { + return lsPricing; + } + + public void setLsPricing(List lsPricing) { + this.lsPricing = lsPricing; + } + + public Paging getPagingPricing() { + return pagingPricing; + } + + public void setPagingPricing(Paging pagingPricing) { + this.pagingPricing = pagingPricing; + } + + public GP_PricingService getPricingService() { + return pricingService; + } + + public void setPricingService(GP_PricingService pricingService) { + this.pricingService = pricingService; + } + + public EmpresaService getEmpresaService() { + return empresaService; + } + + public void setEmpresaService(EmpresaService empresaService) { + this.empresaService = empresaService; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public Datebox getFechaInicio() { + return fechaInicio; + } + + public void setFechaInicio(Datebox fechaInicio) { + this.fechaInicio = fechaInicio; + } + + public Datebox getFechaFin() { + return fechaFin; + } + + public void setFechaFin(Datebox fechaFin) { + 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; + } + + public Datebox getFechaSemana() { + return fechaSemana; + } + + public void setFechaSemana(Datebox fechaSemana) { + this.fechaSemana = fechaSemana; + } + + public Intbox getNumeroSemana() { + return numeroSemana; + } + + public void setNumeroSemana(Intbox numeroSemana) { + this.numeroSemana = numeroSemana; + } + + public Parada getOrigem() { + return origem; + } + + public void setOrigem(Parada origem) { + this.origem = origem; + } + + public Parada getDestino() { + return destino; + } + + public void setDestino(Parada destino) { + this.destino = destino; + } + + public Empresa getEmpresa() { + return empresa; + } + + public void setEmpresa(Empresa empresa) { + this.empresa = empresa; + } + + public ClaseServicio getClasse() { + return classe; + } + + public void setClasse(ClaseServicio classe) { + this.classe = classe; + } + + public Ruta getRuta() { + return ruta; + } + + public void setRuta(Ruta ruta) { + this.ruta = ruta; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricing2.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricing2.java new file mode 100644 index 000000000..ce0f112ff --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricing2.java @@ -0,0 +1,27 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.gestaoDePricing; + +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 ItemMenuPricing2 extends DefaultItemMenuSistema { + + public ItemMenuPricing2() { + super("indexController.mniPricing2.label"); + } + + @Override + public String getClaveMenu() { + return ConstantesFuncionSistema.CLAVE_GESTAO_PRICING; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/gestao_pricing/busquedaGP_Pricing.zul", + Labels.getLabel("busquedaGPPricingController.window.title"), getArgs(), desktop); + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricingEspecifico2.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricingEspecifico2.java new file mode 100644 index 000000000..566c7198c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricingEspecifico2.java @@ -0,0 +1,27 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.gestaoDePricing; + +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 ItemMenuPricingEspecifico2 extends DefaultItemMenuSistema { + + public ItemMenuPricingEspecifico2() { + super("indexController.mniPricingEspecifico2.label"); + } + + @Override + public String getClaveMenu() { + return ConstantesFuncionSistema.CLAVE_GESTAO_PRICING_ESPECIFICO; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/gestao_pricing/busquedaGP_PricingEspecifico.zul", + Labels.getLabel("busqueDaGPPricingEspecifico.window.title"), getArgs(), desktop); + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricingGestao.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricingGestao.java new file mode 100644 index 000000000..a6eb5de11 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/ItemMenuPricingGestao.java @@ -0,0 +1,61 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.gestaoDePricing; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.UiException; + +import com.google.gson.Gson; +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.PricingGestaoVO; +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuPricingGestao extends DefaultItemMenuSistema { + + public ItemMenuPricingGestao() { + super("indexController.mniGestaoPricing.label"); + } + + @Override + public String getClaveMenu() { + return ConstantesFuncionSistema.CLAVE_TELA_GESTAO_PRICING; + } + + @Override + public void ejecutar() { + + try { + Map map = getArgs(); + + List tmpGestao = new ArrayList(); + PricingGestaoVO servico1 = new PricingGestaoVO(); + servico1.setServico(""); + servico1.setDomingo(""); + servico1.setSegunda(""); + servico1.setTerca(""); + servico1.setQuarta(""); + servico1.setQuinta(""); + servico1.setSexta(""); + servico1.setSabado(""); + tmpGestao.add(servico1); + + Gson gson = new Gson(); + + String dados = gson.toJson(tmpGestao); + + map.put("json", dados); + map.put("color", "{}"); + + PantallaUtileria.openWindow("/gui/gestao_pricing/gestaoPricing.zul", + Labels.getLabel("indexController.mniGestaoPricing.label"), map, desktop); + + } catch (Exception e) { + throw UiException.Aide.wrap(e); + } + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/MenuGestaoDePricing.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/MenuGestaoDePricing.java new file mode 100644 index 000000000..6b92f260a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/gestaoDePricing/MenuGestaoDePricing.java @@ -0,0 +1,17 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.gestaoDePricing; + +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class MenuGestaoDePricing extends DefaultItemMenuSistema { + + public MenuGestaoDePricing() { + super("indexController.mnGestaoDePricing.label"); + } + + @Override + public String getClaveMenu() { + return ConstantesFuncionSistema.CLAVE_MENU_GESTAO_PRICING; + } + +} 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 e34122da6..923be32a4 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 @@ -143,6 +143,10 @@ pricing.especifico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricin 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 +pricing.gestaoDePricing=com.rjconsultores.ventaboletos.web.utilerias.menu.item.gestaoDePricing.MenuGestaoDePricing +pricing.gestaoDePricing.especifico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.gestaoDePricing.ItemMenuPricingEspecifico2 +pricing.gestaoDePricing.pricing=com.rjconsultores.ventaboletos.web.utilerias.menu.item.gestaoDePricing.ItemMenuPricing2 +pricing.gestaoDePricing.gestaoPricing=com.rjconsultores.ventaboletos.web.utilerias.menu.item.gestaoDePricing.ItemMenuPricingGestao 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/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricing.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricing.java index 40eca1236..2d1f1feab 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricing.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricing.java @@ -11,8 +11,11 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_Pricing; +import com.rjconsultores.ventaboletos.entidad.GP_PricingVigencia; import com.rjconsultores.ventaboletos.entidad.Pricing; import com.rjconsultores.ventaboletos.entidad.PricingVigencia; +import com.rjconsultores.ventaboletos.service.GP_PricingService; import com.rjconsultores.ventaboletos.service.PricingService; /** @@ -22,50 +25,98 @@ import com.rjconsultores.ventaboletos.service.PricingService; public class RenderPricing implements ListitemRenderer { private PricingService pricingService = (PricingService) SpringUtil.getBean("pricingService"); + private GP_PricingService gp_pricingService = (GP_PricingService) SpringUtil.getBean("gp_pricingService"); public void render(Listitem lstm, Object o) throws Exception { - Pricing p = (Pricing) o; - p = pricingService.obtenerID(p.getPricingId()); - - Listcell lc = new Listcell(); - - if (p.getNombPricing() != null) { - - if (p.getPricingId() != null) { - lc = new Listcell(p.getPricingId().toString()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - + if(o instanceof Pricing ) { + Pricing p = (Pricing) o; + p = pricingService.obtenerID(p.getPricingId()); + + Listcell lc = new Listcell(); + if (p.getNombPricing() != null) { - lc = new Listcell(p.getNombPricing()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - if (p.getEmpresa() != null) { - lc = new Listcell(p.getEmpresa().getNombempresa()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - Integer pricingInativoAtivo = p.getActivo(); - SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yyyy HH:mm"); - if (!p.getPricingVigenciaList().isEmpty()) { - String data = ""; - for (PricingVigencia pv : p.getPricingVigenciaList()) { - data = data + dt.format(pv.getFecinicioviaje()) + " a " + dt.format(pv.getFecfinviaje()) + " ou "; + + if (p.getPricingId() != null) { + lc = new Listcell(p.getPricingId().toString()); + } else { + lc = new Listcell("-"); } - data = data.substring(0, data.length() - 3); - lc = new Listcell(data); - } else { - lc = new Listcell("-"); + lc.setParent(lstm); + + if (p.getNombPricing() != null) { + lc = new Listcell(p.getNombPricing()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (p.getEmpresa() != null) { + lc = new Listcell(p.getEmpresa().getNombempresa()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + Integer pricingInativoAtivo = p.getActivo(); + SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yyyy HH:mm"); + if (!p.getPricingVigenciaList().isEmpty()) { + String data = ""; + for (PricingVigencia pv : p.getPricingVigenciaList()) { + data = data + dt.format(pv.getFecinicioviaje()) + " a " + dt.format(pv.getFecfinviaje()) + " ou "; + } + data = data.substring(0, data.length() - 3); + lc = new Listcell(data); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); } - lc.setParent(lstm); + lstm.setAttribute("data", p); + } else { + GP_Pricing p = (GP_Pricing) o; + p = gp_pricingService.obtenerID(p.getPricingId()); + + Listcell lc = new Listcell(); + + if (p.getNombPricing() != null) { + + if (p.getPricingId() != null) { + lc = new Listcell(p.getPricingId().toString()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (p.getNombPricing() != null) { + lc = new Listcell(p.getNombPricing()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (p.getEmpresa() != null) { + lc = new Listcell(p.getEmpresa().getNombempresa()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + Integer pricingInativoAtivo = p.getActivo(); + SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yyyy HH:mm"); + if (!p.getPricingVigenciaList().isEmpty()) { + String data = ""; + for (GP_PricingVigencia pv : p.getPricingVigenciaList()) { + data = data + dt.format(pv.getFecinicioviaje()) + " a " + dt.format(pv.getFecfinviaje()) + " ou "; + } + data = data.substring(0, data.length() - 3); + lc = new Listcell(data); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + } + lstm.setAttribute("data", p); } - lstm.setAttribute("data", p); } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAgencia.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAgencia.java index d02ddb0f3..223d639f0 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAgencia.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAgencia.java @@ -4,25 +4,39 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoAgencia; import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia; public class RenderPricingAgencia implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingEspecificoAgencia pea = (PricingEspecificoAgencia) o; - - if (!pea.getActivo()) { - return; + if(o instanceof PricingEspecificoAgencia) { + PricingEspecificoAgencia pea = (PricingEspecificoAgencia) o; + + if (!pea.getActivo()) { + return; + } + + Listcell lc = new Listcell(pea.getPuntoVenta().getPuntoventaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pea.getPuntoVenta().getNombpuntoventa().toString()); + lc.setParent(lstm); + + } else { + GP_PricingEspecificoAgencia pea = (GP_PricingEspecificoAgencia) o; + + if (!pea.getActivo()) { + return; + } + + Listcell lc = new Listcell(pea.getPuntoVenta().getPuntoventaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pea.getPuntoVenta().getNombpuntoventa().toString()); + lc.setParent(lstm); } - Listcell lc = new Listcell(pea.getPuntoVenta().getPuntoventaId().toString()); - lc.setParent(lstm); - - lc = new Listcell(pea.getPuntoVenta().getNombpuntoventa().toString()); - lc.setParent(lstm); - - - } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAsiento.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAsiento.java index 59abd69a1..8d822d62c 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAsiento.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAsiento.java @@ -4,11 +4,13 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingAsiento; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingAsiento; +import com.rjconsultores.ventaboletos.entidad.PricingAsiento; + /** * * @author Rafius @@ -16,16 +18,30 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingAsiento implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingAsiento pa = (PricingAsiento) o; - - Listcell lc = new Listcell(); - - lc = new Listcell(pa.getNumeasiento()); - lc.setParent(lstm); - - lc = new Listcell(pa.getPorcentaje().toString()); - lc.setParent(lstm); - - lstm.setAttribute("data", pa); + if(o instanceof PricingAsiento) { + PricingAsiento pa = (PricingAsiento) o; + + Listcell lc = new Listcell(); + + lc = new Listcell(pa.getNumeasiento()); + lc.setParent(lstm); + + lc = new Listcell(pa.getPorcentaje().toString()); + lc.setParent(lstm); + + lstm.setAttribute("data", pa); + } else { + GP_PricingAsiento pa = (GP_PricingAsiento) o; + + Listcell lc = new Listcell(); + + lc = new Listcell(pa.getNumeasiento()); + lc.setParent(lstm); + + lc = new Listcell(pa.getPorcentaje().toString()); + lc.setParent(lstm); + + lstm.setAttribute("data", pa); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCanal.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCanal.java index 9e5b03dd3..27800e2de 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCanal.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCanal.java @@ -4,23 +4,37 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoCanalVendas; import com.rjconsultores.ventaboletos.entidad.PricingEspecificoCanalVendas; public class RenderPricingCanal implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingEspecificoCanalVendas pea = (PricingEspecificoCanalVendas) o; - - if (!pea.getActivo()) { - return; + if(o instanceof PricingEspecificoCanalVendas) { + PricingEspecificoCanalVendas pea = (PricingEspecificoCanalVendas) o; + + if (!pea.getActivo()) { + return; + } + + Listcell lc = new Listcell(pea.getTipoPtovta().getTipoptovtaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pea.getTipoPtovta().getDesctipo().toString()); + lc.setParent(lstm); + } else { + GP_PricingEspecificoCanalVendas pea = (GP_PricingEspecificoCanalVendas) o; + + if (!pea.getActivo()) { + return; + } + + Listcell lc = new Listcell(pea.getTipoPtovta().getTipoptovtaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pea.getTipoPtovta().getDesctipo().toString()); + lc.setParent(lstm); } - - Listcell lc = new Listcell(pea.getTipoPtovta().getTipoptovtaId().toString()); - lc.setParent(lstm); - - lc = new Listcell(pea.getTipoPtovta().getDesctipo().toString()); - lc.setParent(lstm); - } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCategoria.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCategoria.java index 2ed6a7dbf..15a5a5257 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCategoria.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCategoria.java @@ -4,11 +4,13 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingCategoria; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingCategoria; +import com.rjconsultores.ventaboletos.entidad.PricingCategoria; + /** * * @author Rafius @@ -16,17 +18,32 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingCategoria implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingCategoria pc = (PricingCategoria) o; - - Listcell lc = new Listcell(); - - if (pc.getCategoria() != null) { - lc = new Listcell(pc.getCategoria().getDesccategoria()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", pc); + if(o instanceof PricingCategoria) { + PricingCategoria pc = (PricingCategoria) o; + + Listcell lc = new Listcell(); + + if (pc.getCategoria() != null) { + lc = new Listcell(pc.getCategoria().getDesccategoria()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pc); + } else { + GP_PricingCategoria pc = (GP_PricingCategoria) o; + + Listcell lc = new Listcell(); + + if (pc.getCategoria() != null) { + lc = new Listcell(pc.getCategoria().getDesccategoria()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pc); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingClase.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingClase.java index e92ab6dc7..0d5141ca7 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingClase.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingClase.java @@ -4,11 +4,13 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingClase; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingClase; +import com.rjconsultores.ventaboletos.entidad.PricingClase; + /** * * @author Rafius @@ -16,17 +18,32 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingClase implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingClase pc = (PricingClase) o; - - Listcell lc = new Listcell(); - - if (pc.getClaseServicio() != null) { - lc = new Listcell(pc.getClaseServicio().getDescclase()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", pc); + if( o instanceof PricingClase) { + PricingClase pc = (PricingClase) o; + + Listcell lc = new Listcell(); + + if (pc.getClaseServicio() != null) { + lc = new Listcell(pc.getClaseServicio().getDescclase()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pc); + } else { + GP_PricingClase pc = (GP_PricingClase) o; + + Listcell lc = new Listcell(); + + if (pc.getClaseServicio() != null) { + lc = new Listcell(pc.getClaseServicio().getDescclase()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pc); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingClasseTarifaria.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingClasseTarifaria.java index 8484b40dd..e5aa4f9aa 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingClasseTarifaria.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingClasseTarifaria.java @@ -4,23 +4,39 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingClasseTarifaria; import com.rjconsultores.ventaboletos.entidad.PricingClasseTarifaria; public class RenderPricingClasseTarifaria implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingClasseTarifaria pct = (PricingClasseTarifaria) o; - - Listcell lc = new Listcell(pct.getPricingClasseTarifariaId() == null ? "" : pct.getPricingClasseTarifariaId().toString()); - lc.setParent(lstm); - - lc = new Listcell(pct.getDescClasseTarifaria() == null ? "" : pct.getDescClasseTarifaria()); - lc.setParent(lstm); - - lc = new Listcell(pct.getSigla() == null ? "" : pct.getSigla()); - lc.setParent(lstm); - - lstm.setAttribute("data", pct); + if( o instanceof PricingClasseTarifaria) { + PricingClasseTarifaria pct = (PricingClasseTarifaria) o; + + Listcell lc = new Listcell(pct.getPricingClasseTarifariaId() == null ? "" : pct.getPricingClasseTarifariaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pct.getDescClasseTarifaria() == null ? "" : pct.getDescClasseTarifaria()); + lc.setParent(lstm); + + lc = new Listcell(pct.getSigla() == null ? "" : pct.getSigla()); + lc.setParent(lstm); + + lstm.setAttribute("data", pct); + } else { + GP_PricingClasseTarifaria pct = (GP_PricingClasseTarifaria) o; + + Listcell lc = new Listcell(pct.getPricingClasseTarifariaId() == null ? "" : pct.getPricingClasseTarifariaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pct.getDescClasseTarifaria() == null ? "" : pct.getDescClasseTarifaria()); + lc.setParent(lstm); + + lc = new Listcell(pct.getSigla() == null ? "" : pct.getSigla()); + lc.setParent(lstm); + + lstm.setAttribute("data", pct); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCorrida.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCorrida.java index 159aea6f7..4ad978501 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCorrida.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingCorrida.java @@ -12,6 +12,7 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingCorrida; import com.rjconsultores.ventaboletos.entidad.PricingCorrida; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.RutaSecuencia; @@ -25,46 +26,90 @@ import com.rjconsultores.ventaboletos.service.RutaSecuenciaService; public class RenderPricingCorrida implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingCorrida pc = (PricingCorrida) o; - - Listcell lc = new Listcell(); - - if (pc.getCorridaCtrl() != null) { - lc = new Listcell(pc.getCorridaCtrl().getCorridaId().toString()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - SimpleDateFormat sf = new SimpleDateFormat("HH:mm"); - if (pc.getCorridaCtrl() != null) { - lc = new Listcell((pc.getCorridaCtrl().getHorario() == null) ? "-" : sf.format(pc.getCorridaCtrl().getHorario())); - - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - Ruta r = pc.getCorridaCtrl().getRuta(); - - RutaSecuenciaService rutaSecuenciaService = (RutaSecuenciaService) SpringUtil.getBean("rutaSecuenciaService"); - List rs = rutaSecuenciaService.buscarSecuenciaOrdenado(r); - if (rs.size() > 0) { - Tramo origem = rs.get(0).getTramo(); - Tramo destino = rs.get(rs.size() - 1).getTramo(); - - lc = new Listcell(origem.getOrigem().getDescparada()); - lc.setParent(lstm); - lc = new Listcell(destino.getDestino().getDescparada()); - lc.setParent(lstm); - } else { - lc = new Listcell(""); - lc.setParent(lstm); - lc = new Listcell(""); - lc.setParent(lstm); - } - - - lstm.setAttribute("data", pc); + if(o instanceof PricingCorrida) { + PricingCorrida pc = (PricingCorrida) o; + + Listcell lc = new Listcell(); + + if (pc.getCorridaCtrl() != null) { + lc = new Listcell(pc.getCorridaCtrl().getCorridaId().toString()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + SimpleDateFormat sf = new SimpleDateFormat("HH:mm"); + if (pc.getCorridaCtrl() != null) { + lc = new Listcell((pc.getCorridaCtrl().getHorario() == null) ? "-" : sf.format(pc.getCorridaCtrl().getHorario())); + + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + Ruta r = pc.getCorridaCtrl().getRuta(); + + RutaSecuenciaService rutaSecuenciaService = (RutaSecuenciaService) SpringUtil.getBean("rutaSecuenciaService"); + List rs = rutaSecuenciaService.buscarSecuenciaOrdenado(r); + if (rs.size() > 0) { + Tramo origem = rs.get(0).getTramo(); + Tramo destino = rs.get(rs.size() - 1).getTramo(); + + lc = new Listcell(origem.getOrigem().getDescparada()); + lc.setParent(lstm); + lc = new Listcell(destino.getDestino().getDescparada()); + lc.setParent(lstm); + } else { + lc = new Listcell(""); + lc.setParent(lstm); + lc = new Listcell(""); + lc.setParent(lstm); + } + + + lstm.setAttribute("data", pc); + } else { + GP_PricingCorrida pc = (GP_PricingCorrida) o; + + Listcell lc = new Listcell(); + + if (pc.getCorridaCtrl() != null) { + lc = new Listcell(pc.getCorridaCtrl().getCorridaId().toString()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + SimpleDateFormat sf = new SimpleDateFormat("HH:mm"); + if (pc.getCorridaCtrl() != null) { + lc = new Listcell((pc.getCorridaCtrl().getHorario() == null) ? "-" : sf.format(pc.getCorridaCtrl().getHorario())); + + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + Ruta r = pc.getCorridaCtrl().getRuta(); + + RutaSecuenciaService rutaSecuenciaService = (RutaSecuenciaService) SpringUtil.getBean("rutaSecuenciaService"); + List rs = rutaSecuenciaService.buscarSecuenciaOrdenado(r); + if (rs.size() > 0) { + Tramo origem = rs.get(0).getTramo(); + Tramo destino = rs.get(rs.size() - 1).getTramo(); + + lc = new Listcell(origem.getOrigem().getDescparada()); + lc.setParent(lstm); + lc = new Listcell(destino.getDestino().getDescparada()); + lc.setParent(lstm); + } else { + lc = new Listcell(""); + lc.setParent(lstm); + lc = new Listcell(""); + lc.setParent(lstm); + } + + + lstm.setAttribute("data", pc); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingDia.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingDia.java index 1bc7c5c66..282062084 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingDia.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingDia.java @@ -4,13 +4,16 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingDia; import java.text.SimpleDateFormat; + import org.zkoss.zul.Checkbox; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingDia; +import com.rjconsultores.ventaboletos.entidad.PricingDia; + /** * * @author Rafius @@ -18,125 +21,248 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingDia implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingDia pc = (PricingDia) o; - - Listcell lc = new Listcell(); - - SimpleDateFormat sf = new SimpleDateFormat("HH:mm"); - if (pc.getPricingdiaId() != null) { - lc = new Listcell(sf.format(pc.getHorarioinicio())); + if(o instanceof PricingDia) { + PricingDia pc = (PricingDia) o; + + Listcell lc = new Listcell(); + + SimpleDateFormat sf = new SimpleDateFormat("HH:mm"); + if (pc.getPricingdiaId() != null) { + lc = new Listcell(sf.format(pc.getHorarioinicio())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pc.getPricingdiaId() != null) { + lc = new Listcell(sf.format(pc.getHorariofin())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + // Lunes + Checkbox ckbLun = new Checkbox(); + if (pc.getIndlunes() == Boolean.TRUE) { + ckbLun.setChecked(true); + } else { + ckbLun.setChecked(false); + } + ckbLun.setDisabled(true); + lc = new Listcell(); + ckbLun.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbMar = new Checkbox(); + if (pc.getIndmartes() == Boolean.TRUE) { + ckbMar.setChecked(true); + } else { + ckbMar.setChecked(false); + } + ckbMar.setDisabled(true); + lc = new Listcell(); + ckbMar.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbMie = new Checkbox(); + if (pc.getIndmiercoles() == Boolean.TRUE) { + ckbMie.setChecked(true); + } else { + ckbMie.setChecked(false); + } + ckbMie.setDisabled(true); + lc = new Listcell(); + ckbMie.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbJue = new Checkbox(); + if (pc.getIndjueves() == Boolean.TRUE) { + ckbJue.setChecked(true); + } else { + ckbJue.setChecked(false); + } + ckbJue.setDisabled(true); + lc = new Listcell(); + ckbJue.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbVie = new Checkbox(); + if (pc.getIndviernes() == Boolean.TRUE) { + ckbVie.setChecked(true); + } else { + ckbVie.setChecked(false); + } + ckbVie.setDisabled(true); + lc = new Listcell(); + ckbVie.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbSab = new Checkbox(); + if (pc.getIndsabado() == Boolean.TRUE) { + ckbSab.setChecked(true); + } else { + ckbSab.setChecked(false); + } + ckbSab.setDisabled(true); + lc = new Listcell(); + ckbSab.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbDom = new Checkbox(); + if (pc.getInddomingo() == Boolean.TRUE) { + ckbDom.setChecked(true); + } else { + ckbDom.setChecked(false); + } + ckbDom.setDisabled(true); + lc = new Listcell(); + ckbDom.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbFecventa = new Checkbox(); + if (pc.getIndfecventa() == Boolean.TRUE) { + ckbFecventa.setChecked(true); + } else { + ckbFecventa.setChecked(false); + } + ckbFecventa.setDisabled(true); + lc = new Listcell(); + ckbFecventa.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbFecviaje = new Checkbox(); + if (pc.getIndfecviaje() == Boolean.TRUE) { + ckbFecviaje.setChecked(true); + } else { + ckbFecviaje.setChecked(false); + } + ckbFecviaje.setDisabled(true); + lc = new Listcell(); + ckbFecviaje.setParent(lc); + lc.setParent(lstm); + + lstm.setAttribute("data", pc); } else { - lc = new Listcell("-"); + GP_PricingDia pc = (GP_PricingDia) o; + + Listcell lc = new Listcell(); + + SimpleDateFormat sf = new SimpleDateFormat("HH:mm"); + if (pc.getPricingdiaId() != null) { + lc = new Listcell(sf.format(pc.getHorarioinicio())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pc.getPricingdiaId() != null) { + lc = new Listcell(sf.format(pc.getHorariofin())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + // Lunes + Checkbox ckbLun = new Checkbox(); + if (pc.getIndlunes() == Boolean.TRUE) { + ckbLun.setChecked(true); + } else { + ckbLun.setChecked(false); + } + ckbLun.setDisabled(true); + lc = new Listcell(); + ckbLun.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbMar = new Checkbox(); + if (pc.getIndmartes() == Boolean.TRUE) { + ckbMar.setChecked(true); + } else { + ckbMar.setChecked(false); + } + ckbMar.setDisabled(true); + lc = new Listcell(); + ckbMar.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbMie = new Checkbox(); + if (pc.getIndmiercoles() == Boolean.TRUE) { + ckbMie.setChecked(true); + } else { + ckbMie.setChecked(false); + } + ckbMie.setDisabled(true); + lc = new Listcell(); + ckbMie.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbJue = new Checkbox(); + if (pc.getIndjueves() == Boolean.TRUE) { + ckbJue.setChecked(true); + } else { + ckbJue.setChecked(false); + } + ckbJue.setDisabled(true); + lc = new Listcell(); + ckbJue.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbVie = new Checkbox(); + if (pc.getIndviernes() == Boolean.TRUE) { + ckbVie.setChecked(true); + } else { + ckbVie.setChecked(false); + } + ckbVie.setDisabled(true); + lc = new Listcell(); + ckbVie.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbSab = new Checkbox(); + if (pc.getIndsabado() == Boolean.TRUE) { + ckbSab.setChecked(true); + } else { + ckbSab.setChecked(false); + } + ckbSab.setDisabled(true); + lc = new Listcell(); + ckbSab.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbDom = new Checkbox(); + if (pc.getInddomingo() == Boolean.TRUE) { + ckbDom.setChecked(true); + } else { + ckbDom.setChecked(false); + } + ckbDom.setDisabled(true); + lc = new Listcell(); + ckbDom.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbFecventa = new Checkbox(); + if (pc.getIndfecventa() == Boolean.TRUE) { + ckbFecventa.setChecked(true); + } else { + ckbFecventa.setChecked(false); + } + ckbFecventa.setDisabled(true); + lc = new Listcell(); + ckbFecventa.setParent(lc); + lc.setParent(lstm); + + Checkbox ckbFecviaje = new Checkbox(); + if (pc.getIndfecviaje() == Boolean.TRUE) { + ckbFecviaje.setChecked(true); + } else { + ckbFecviaje.setChecked(false); + } + ckbFecviaje.setDisabled(true); + lc = new Listcell(); + ckbFecviaje.setParent(lc); + lc.setParent(lstm); + + lstm.setAttribute("data", pc); } - lc.setParent(lstm); - - if (pc.getPricingdiaId() != null) { - lc = new Listcell(sf.format(pc.getHorariofin())); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - // Lunes - Checkbox ckbLun = new Checkbox(); - if (pc.getIndlunes() == Boolean.TRUE) { - ckbLun.setChecked(true); - } else { - ckbLun.setChecked(false); - } - ckbLun.setDisabled(true); - lc = new Listcell(); - ckbLun.setParent(lc); - lc.setParent(lstm); - - Checkbox ckbMar = new Checkbox(); - if (pc.getIndmartes() == Boolean.TRUE) { - ckbMar.setChecked(true); - } else { - ckbMar.setChecked(false); - } - ckbMar.setDisabled(true); - lc = new Listcell(); - ckbMar.setParent(lc); - lc.setParent(lstm); - - Checkbox ckbMie = new Checkbox(); - if (pc.getIndmiercoles() == Boolean.TRUE) { - ckbMie.setChecked(true); - } else { - ckbMie.setChecked(false); - } - ckbMie.setDisabled(true); - lc = new Listcell(); - ckbMie.setParent(lc); - lc.setParent(lstm); - - Checkbox ckbJue = new Checkbox(); - if (pc.getIndjueves() == Boolean.TRUE) { - ckbJue.setChecked(true); - } else { - ckbJue.setChecked(false); - } - ckbJue.setDisabled(true); - lc = new Listcell(); - ckbJue.setParent(lc); - lc.setParent(lstm); - - Checkbox ckbVie = new Checkbox(); - if (pc.getIndviernes() == Boolean.TRUE) { - ckbVie.setChecked(true); - } else { - ckbVie.setChecked(false); - } - ckbVie.setDisabled(true); - lc = new Listcell(); - ckbVie.setParent(lc); - lc.setParent(lstm); - - Checkbox ckbSab = new Checkbox(); - if (pc.getIndsabado() == Boolean.TRUE) { - ckbSab.setChecked(true); - } else { - ckbSab.setChecked(false); - } - ckbSab.setDisabled(true); - lc = new Listcell(); - ckbSab.setParent(lc); - lc.setParent(lstm); - - Checkbox ckbDom = new Checkbox(); - if (pc.getInddomingo() == Boolean.TRUE) { - ckbDom.setChecked(true); - } else { - ckbDom.setChecked(false); - } - ckbDom.setDisabled(true); - lc = new Listcell(); - ckbDom.setParent(lc); - lc.setParent(lstm); - - Checkbox ckbFecventa = new Checkbox(); - if (pc.getIndfecventa() == Boolean.TRUE) { - ckbFecventa.setChecked(true); - } else { - ckbFecventa.setChecked(false); - } - ckbFecventa.setDisabled(true); - lc = new Listcell(); - ckbFecventa.setParent(lc); - lc.setParent(lstm); - - Checkbox ckbFecviaje = new Checkbox(); - if (pc.getIndfecviaje() == Boolean.TRUE) { - ckbFecviaje.setChecked(true); - } else { - ckbFecviaje.setChecked(false); - } - ckbFecviaje.setDisabled(true); - lc = new Listcell(); - ckbFecviaje.setParent(lc); - lc.setParent(lstm); - - lstm.setAttribute("data", pc); } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecifico.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecifico.java index fb6146c2b..2a12769aa 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecifico.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecifico.java @@ -4,16 +4,17 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingEspecifico; -import com.rjconsultores.ventaboletos.entidad.PricingEspecificoCategoria; -import com.rjconsultores.ventaboletos.utilerias.DateUtil; - -import org.zkoss.zul.Listitem; -import org.zkoss.zul.ListitemRenderer; - import java.util.List; import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoCategoria; +import com.rjconsultores.ventaboletos.entidad.PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.PricingEspecificoCategoria; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; /** * @@ -22,41 +23,79 @@ import org.zkoss.zul.Listcell; public class RenderPricingEspecifico implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingEspecifico pe = (PricingEspecifico) o; - - Listcell lc = new Listcell(pe.getPricingespecificoId().toString()); - lc.setParent(lstm); - - lc = new Listcell(pe.getNombPricing() == null ? "" : pe.getNombPricing()); - lc.setParent(lstm); - - lc = new Listcell(pe.getMarca().getDescmarca()); - lc.setParent(lstm); - - lc = new Listcell(pe.getMoneda().getDescmoneda()); - lc.setParent(lstm); - - lc = new Listcell(categoriasToString(pe.getPricingEspecificoCategoriaList())); - lc.setParent(lstm); - - lc = new Listcell(pe.getClaseServicio().getDescclase()); - lc.setParent(lstm); - - lc = new Listcell(DateUtil.getStringDate(pe.getFechorinicio(), "dd/MM/yyyy HH:mm")); - lc.setParent(lstm); - - lc = new Listcell(DateUtil.getStringDate(pe.getFechorfin(), "dd/MM/yyyy HH:mm")); - lc.setParent(lstm); - - Integer corridaId = pe.getCorridaId(); - if (corridaId != null) { - lc = new Listcell(corridaId.toString()); + if(o instanceof PricingEspecifico ) { + PricingEspecifico pe = (PricingEspecifico) o; + + Listcell lc = new Listcell(pe.getPricingespecificoId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pe.getNombPricing() == null ? "" : pe.getNombPricing()); + lc.setParent(lstm); + + lc = new Listcell(pe.getMarca().getDescmarca()); + lc.setParent(lstm); + + lc = new Listcell(pe.getMoneda().getDescmoneda()); + lc.setParent(lstm); + + lc = new Listcell(categoriasToString(pe.getPricingEspecificoCategoriaList())); + lc.setParent(lstm); + + lc = new Listcell(pe.getClaseServicio().getDescclase()); + lc.setParent(lstm); + + lc = new Listcell(DateUtil.getStringDate(pe.getFechorinicio(), "dd/MM/yyyy HH:mm")); + lc.setParent(lstm); + + lc = new Listcell(DateUtil.getStringDate(pe.getFechorfin(), "dd/MM/yyyy HH:mm")); + lc.setParent(lstm); + + Integer corridaId = pe.getCorridaId(); + if (corridaId != null) { + lc = new Listcell(corridaId.toString()); + } else { + lc = new Listcell(""); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pe); } else { - lc = new Listcell(""); + GP_PricingEspecifico pe = (GP_PricingEspecifico) o; + + Listcell lc = new Listcell(pe.getPricingespecificoId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pe.getNombPricing() == null ? "" : pe.getNombPricing()); + lc.setParent(lstm); + + lc = new Listcell(pe.getMarca().getDescmarca()); + lc.setParent(lstm); + + lc = new Listcell(pe.getMoneda().getDescmoneda()); + lc.setParent(lstm); + + lc = new Listcell(categoriasToStringGP(pe.getPricingEspecificoCategoriaList())); + lc.setParent(lstm); + + lc = new Listcell(pe.getClaseServicio().getDescclase()); + lc.setParent(lstm); + + lc = new Listcell(DateUtil.getStringDate(pe.getFechorinicio(), "dd/MM/yyyy HH:mm")); + lc.setParent(lstm); + + lc = new Listcell(DateUtil.getStringDate(pe.getFechorfin(), "dd/MM/yyyy HH:mm")); + lc.setParent(lstm); + + Integer corridaId = pe.getCorridaId(); + if (corridaId != null) { + lc = new Listcell(corridaId.toString()); + } else { + lc = new Listcell(""); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pe); } - lc.setParent(lstm); - - lstm.setAttribute("data", pe); } private String categoriasToString(List pricingEspecificoCategoriaList) { @@ -67,4 +106,13 @@ public class RenderPricingEspecifico implements ListitemRenderer { } return result.isEmpty() ? "" : result.substring(0, result.length() - 1); } + + private String categoriasToStringGP(List pricingEspecificoCategoriaList) { + String result = ""; + + for (GP_PricingEspecificoCategoria p : pricingEspecificoCategoriaList) { + result += p.getCategoria().getDesccategoria() + "-"; + } + return result.isEmpty() ? "" : result.substring(0, result.length() - 1); + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoCategoria.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoCategoria.java index fe68dfb17..8d62a2f51 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoCategoria.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoCategoria.java @@ -4,23 +4,38 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoCategoria; import com.rjconsultores.ventaboletos.entidad.PricingEspecificoCategoria; public class RenderPricingEspecificoCategoria implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingEspecificoCategoria pec = (PricingEspecificoCategoria) o; - - if (!pec.getActivo()) { - return; + if(o instanceof PricingEspecificoCategoria) { + PricingEspecificoCategoria pec = (PricingEspecificoCategoria) o; + + if (!pec.getActivo()) { + return; + } + + Listcell lc = new Listcell(pec.getCategoria().getCategoriaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pec.getCategoria().getDesccategoria()); + lc.setParent(lstm); + } else { + GP_PricingEspecificoCategoria pec = (GP_PricingEspecificoCategoria) o; + + if (!pec.getActivo()) { + return; + } + + Listcell lc = new Listcell(pec.getCategoria().getCategoriaId().toString()); + lc.setParent(lstm); + + lc = new Listcell(pec.getCategoria().getDesccategoria()); + lc.setParent(lstm); } - Listcell lc = new Listcell(pec.getCategoria().getCategoriaId().toString()); - lc.setParent(lstm); - - lc = new Listcell(pec.getCategoria().getDesccategoria()); - lc.setParent(lstm); - } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoOcupacion.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoOcupacion.java index 255659e79..4349fff20 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoOcupacion.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoOcupacion.java @@ -4,29 +4,50 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoOcupacion; import com.rjconsultores.ventaboletos.entidad.PricingEspecificoOcupacion; public class RenderPricingEspecificoOcupacion implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingEspecificoOcupacion peo = (PricingEspecificoOcupacion) o; - - if (!peo.getActivo()) { - return; + if(o instanceof PricingEspecificoOcupacion) { + PricingEspecificoOcupacion peo = (PricingEspecificoOcupacion) o; + + if (!peo.getActivo()) { + return; + } + + Listcell lc = new Listcell(peo.getTarifa() == null ? "" : peo.getTarifa().toString()); + lc.setParent(lstm); + + lc = new Listcell(peo.getOcupacioninicial().toString()); + lc.setParent(lstm); + + lc = new Listcell(peo.getOcupacionfinal().toString()); + lc.setParent(lstm); + + lc = new Listcell(peo.getDescuento() == null ?"":peo.getDescuento().toString()); + lc.setParent(lstm); + } else { + GP_PricingEspecificoOcupacion peo = (GP_PricingEspecificoOcupacion) o; + + if (!peo.getActivo()) { + return; + } + + Listcell lc = new Listcell(peo.getTarifa() == null ? "" : peo.getTarifa().toString()); + lc.setParent(lstm); + + lc = new Listcell(peo.getOcupacioninicial().toString()); + lc.setParent(lstm); + + lc = new Listcell(peo.getOcupacionfinal().toString()); + lc.setParent(lstm); + + lc = new Listcell(peo.getDescuento() == null ?"":peo.getDescuento().toString()); + lc.setParent(lstm); } - Listcell lc = new Listcell(peo.getTarifa() == null ? "" : peo.getTarifa().toString()); - lc.setParent(lstm); - - lc = new Listcell(peo.getOcupacioninicial().toString()); - lc.setParent(lstm); - - lc = new Listcell(peo.getOcupacionfinal().toString()); - lc.setParent(lstm); - - lc = new Listcell(peo.getDescuento() == null ?"":peo.getDescuento().toString()); - lc.setParent(lstm); - } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingFormaPago.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingFormaPago.java index a8c8aedf4..f5d0b5696 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingFormaPago.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingFormaPago.java @@ -5,30 +5,52 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingFormapago; import com.rjconsultores.ventaboletos.entidad.PricingFormapago; public class RenderPricingFormaPago implements ListitemRenderer { @Override public void render(Listitem lstm, Object o) throws Exception { - PricingFormapago ppg = (PricingFormapago) o; - - Listcell lc = new Listcell(); - lc = new Listcell(ppg.getFormaPago().getDescpago()); - lc.setParent(lstm); - - Checkbox ckbIndexcepcion = new Checkbox(); - if (ppg.getIndexcepcion()) { - ckbIndexcepcion.setChecked(true); + if(o instanceof PricingFormapago) { + PricingFormapago ppg = (PricingFormapago) o; + + Listcell lc = new Listcell(); + lc = new Listcell(ppg.getFormaPago().getDescpago()); + lc.setParent(lstm); + + Checkbox ckbIndexcepcion = new Checkbox(); + if (ppg.getIndexcepcion()) { + ckbIndexcepcion.setChecked(true); + } else { + ckbIndexcepcion.setChecked(false); + } + ckbIndexcepcion.setDisabled(true); + lc = new Listcell(); + ckbIndexcepcion.setParent(lc); + lc.setParent(lstm); + + lstm.setAttribute("data", ppg); } else { - ckbIndexcepcion.setChecked(false); + GP_PricingFormapago ppg = (GP_PricingFormapago) o; + + Listcell lc = new Listcell(); + lc = new Listcell(ppg.getFormaPago().getDescpago()); + lc.setParent(lstm); + + Checkbox ckbIndexcepcion = new Checkbox(); + if (ppg.getIndexcepcion()) { + ckbIndexcepcion.setChecked(true); + } else { + ckbIndexcepcion.setChecked(false); + } + ckbIndexcepcion.setDisabled(true); + lc = new Listcell(); + ckbIndexcepcion.setParent(lc); + lc.setParent(lstm); + + lstm.setAttribute("data", ppg); } - ckbIndexcepcion.setDisabled(true); - lc = new Listcell(); - ckbIndexcepcion.setParent(lc); - lc.setParent(lstm); - - lstm.setAttribute("data", ppg); } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingImporte.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingImporte.java index 358d930a9..91c154a30 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingImporte.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingImporte.java @@ -4,12 +4,15 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingImporte; import java.math.RoundingMode; + import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingImporte; +import com.rjconsultores.ventaboletos.entidad.PricingImporte; + /** * * @author Rafius @@ -17,24 +20,46 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingImporte implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingImporte pi = (PricingImporte) o; - - Listcell lc = new Listcell(); - - if (pi.getImporte() != null) { - lc = new Listcell(pi.getImporte().setScale(2, RoundingMode.HALF_UP).toString()); + if(o instanceof PricingImporte ) { + PricingImporte pi = (PricingImporte) o; + + Listcell lc = new Listcell(); + + if (pi.getImporte() != null) { + lc = new Listcell(pi.getImporte().setScale(2, RoundingMode.HALF_UP).toString()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pi.getMoneda() != null) { + lc = new Listcell(pi.getMoneda().getDescmoneda()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pi); } else { - lc = new Listcell("-"); + GP_PricingImporte pi = (GP_PricingImporte) o; + + Listcell lc = new Listcell(); + + if (pi.getImporte() != null) { + lc = new Listcell(pi.getImporte().setScale(2, RoundingMode.HALF_UP).toString()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pi.getMoneda() != null) { + lc = new Listcell(pi.getMoneda().getDescmoneda()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pi); } - lc.setParent(lstm); - - if (pi.getMoneda() != null) { - lc = new Listcell(pi.getMoneda().getDescmoneda()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", pi); } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingMarca.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingMarca.java index 17fb0873c..29aa1870f 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingMarca.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingMarca.java @@ -4,11 +4,13 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingMarca; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingMarca; +import com.rjconsultores.ventaboletos.entidad.PricingMarca; + /** * * @author Rafius @@ -16,17 +18,32 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingMarca implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingMarca pm = (PricingMarca) o; - - Listcell lc = new Listcell(); - - if (pm.getMarca() != null) { - lc = new Listcell(pm.getMarca().getDescmarca()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", pm); + if(o instanceof PricingMarca) { + PricingMarca pm = (PricingMarca) o; + + Listcell lc = new Listcell(); + + if (pm.getMarca() != null) { + lc = new Listcell(pm.getMarca().getDescmarca()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pm); + } else { + GP_PricingMarca pm = (GP_PricingMarca) o; + + Listcell lc = new Listcell(); + + if (pm.getMarca() != null) { + lc = new Listcell(pm.getMarca().getDescmarca()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pm); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingMercado.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingMercado.java index c96b85623..3298af1a2 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingMercado.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingMercado.java @@ -4,11 +4,13 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingMercado; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingMercado; +import com.rjconsultores.ventaboletos.entidad.PricingMercado; + /** * * @author Rafius @@ -16,38 +18,74 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingMercado implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingMercado pm = (PricingMercado) o; - - Listcell lc = new Listcell(); - - if (pm.getOrigen() != null) { - lc = new Listcell(pm.getOrigen().getCveparada()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - if (pm.getOrigen() != null) { - lc = new Listcell(pm.getOrigen().getDescparada()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - if (pm.getDestino() != null) { - lc = new Listcell(pm.getDestino().getCveparada()); - } else { - lc = new Listcell("-"); - } - - lc.setParent(lstm); - if (pm.getDestino() != null) { - lc = new Listcell(pm.getDestino().getDescparada()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", pm); + if(o instanceof PricingMercado) { + PricingMercado pm = (PricingMercado) o; + + Listcell lc = new Listcell(); + + if (pm.getOrigen() != null) { + lc = new Listcell(pm.getOrigen().getCveparada()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pm.getOrigen() != null) { + lc = new Listcell(pm.getOrigen().getDescparada()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pm.getDestino() != null) { + lc = new Listcell(pm.getDestino().getCveparada()); + } else { + lc = new Listcell("-"); + } + + lc.setParent(lstm); + if (pm.getDestino() != null) { + lc = new Listcell(pm.getDestino().getDescparada()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pm); + } else { + GP_PricingMercado pm = (GP_PricingMercado) o; + + Listcell lc = new Listcell(); + + if (pm.getOrigen() != null) { + lc = new Listcell(pm.getOrigen().getCveparada()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pm.getOrigen() != null) { + lc = new Listcell(pm.getOrigen().getDescparada()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pm.getDestino() != null) { + lc = new Listcell(pm.getDestino().getCveparada()); + } else { + lc = new Listcell("-"); + } + + lc.setParent(lstm); + if (pm.getDestino() != null) { + lc = new Listcell(pm.getDestino().getDescparada()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pm); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupaAntecipa.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupaAntecipa.java index 2dd9df785..f10c04dd6 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupaAntecipa.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupaAntecipa.java @@ -4,42 +4,78 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingOcupaAntecipa; import com.rjconsultores.ventaboletos.entidad.PricingOcupaAntecipa; public class RenderPricingOcupaAntecipa implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingOcupaAntecipa pm = (PricingOcupaAntecipa) o; - - Listcell lc = new Listcell(); - - lc = new Listcell(pm.getOcupacioninicial() == null ? "" : pm.getOcupacioninicial().toString()); - lc.setParent(lstm); - - lc = new Listcell(pm.getOcupacionfinal() == null ? "" : pm.getOcupacionfinal().toString()); - lc.setParent(lstm); - - lc = new Listcell(pm.getCantasientosmin() == null ? "" : pm.getCantasientosmin().toString()); - lc.setParent(lstm); - - lc = new Listcell(pm.getCantasientosmax() == null ? "" : pm.getCantasientosmax().toString()); - lc.setParent(lstm); - - lc = new Listcell(pm.getCantdiasmin() == null ? "" : pm.getCantdiasmin().toString()); - lc.setParent(lstm); - - lc = new Listcell(pm.getCantdiasmax() == null ? "" : pm.getCantdiasmax().toString()); - lc.setParent(lstm); - - lc = new Listcell(pm.getPorcentaje() == null ? "" : pm.getPorcentaje().toString()); - lc.setParent(lstm); - - lc = new Listcell(pm.getImporte() == null ? "" : pm.getImporte().toString()); - lc.setParent(lstm); - - lc = new Listcell(pm.getPricingClasseTarifaria() == null ? "" : pm.getPricingClasseTarifaria().getSigla()); - lc.setParent(lstm); - - lstm.setAttribute("data", pm); + if(o instanceof PricingOcupaAntecipa) { + PricingOcupaAntecipa pm = (PricingOcupaAntecipa) o; + + Listcell lc = new Listcell(); + + lc = new Listcell(pm.getOcupacioninicial() == null ? "" : pm.getOcupacioninicial().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getOcupacionfinal() == null ? "" : pm.getOcupacionfinal().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getCantasientosmin() == null ? "" : pm.getCantasientosmin().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getCantasientosmax() == null ? "" : pm.getCantasientosmax().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getCantdiasmin() == null ? "" : pm.getCantdiasmin().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getCantdiasmax() == null ? "" : pm.getCantdiasmax().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getPorcentaje() == null ? "" : pm.getPorcentaje().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getImporte() == null ? "" : pm.getImporte().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getPricingClasseTarifaria() == null ? "" : pm.getPricingClasseTarifaria().getSigla()); + lc.setParent(lstm); + + lstm.setAttribute("data", pm); + } else { + GP_PricingOcupaAntecipa pm = (GP_PricingOcupaAntecipa) o; + + Listcell lc = new Listcell(); + + lc = new Listcell(pm.getOcupacioninicial() == null ? "" : pm.getOcupacioninicial().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getOcupacionfinal() == null ? "" : pm.getOcupacionfinal().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getCantasientosmin() == null ? "" : pm.getCantasientosmin().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getCantasientosmax() == null ? "" : pm.getCantasientosmax().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getCantdiasmin() == null ? "" : pm.getCantdiasmin().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getCantdiasmax() == null ? "" : pm.getCantdiasmax().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getPorcentaje() == null ? "" : pm.getPorcentaje().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getImporte() == null ? "" : pm.getImporte().toString()); + lc.setParent(lstm); + + lc = new Listcell(pm.getPricingClasseTarifaria() == null ? "" : pm.getPricingClasseTarifaria().getSigla()); + lc.setParent(lstm); + + lstm.setAttribute("data", pm); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupaAntecipaLegenda.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupaAntecipaLegenda.java new file mode 100644 index 000000000..1ae1faca1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupaAntecipaLegenda.java @@ -0,0 +1,29 @@ +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.vo.pricing.GP_PricingOcupaAntecipaLegendaVO; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaLegendaVO.GP_PricingOcupaAtencipaLegendaItemVO; + +public class RenderPricingOcupaAntecipaLegenda implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object o) throws Exception { + GP_PricingOcupaAntecipaLegendaVO legenda = (GP_PricingOcupaAntecipaLegendaVO) o; + + Listcell lc = new Listcell(legenda.getLegenda()); + lc.setParent(lstm); + + for (GP_PricingOcupaAtencipaLegendaItemVO poltrona: legenda.getItens()) { + lc = new Listcell(poltrona.getDescricao()); + String style = "text-align:center; font-weight:bold; background-color:" + poltrona.getCor(); + lc.setStyle(style); + lc.setParent(lstm); + } + + lstm.setAttribute("data", legenda); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupacao.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupacao.java new file mode 100644 index 000000000..277f15b4f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingOcupacao.java @@ -0,0 +1,45 @@ +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.vo.pricing.GP_PricingOcupaAntecipaPoltronasVO; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingOcupaAntecipaVO; + +public class RenderPricingOcupacao implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object o) throws Exception { + + GP_PricingOcupaAntecipaVO ocupacao = (GP_PricingOcupaAntecipaVO) o; + + boolean isFirstLine = ocupacao.getDiaMin().equals(ocupacao.getAntecipacao()); + + Listcell lc = new Listcell(isFirstLine ? ocupacao.getDias() : ""); + lc.setParent(lstm); + lc.setSpan(3); + + lc = new Listcell(ocupacao.getAuxDesc()); + lc.setParent(lstm); + lc.setSpan(4); + + for (GP_PricingOcupaAntecipaPoltronasVO poltrona: ocupacao.getPoltronas()) { + lc = new Listcell(""); + + String style = "background-color: " + poltrona.getCor(); + lc.setStyle(style); + + if(poltrona.isAdicionar()) { + lc.setId(poltrona.getPricingocupaantecipaId() + "-" + ocupacao.getAntecipacao() + "-" + poltrona.getPoltrona()); + lc.addForward("onDoubleClick", lstm.getParent(), "onDoubleClick"); + } + + lc.setParent(lstm); + } + + lstm.setAttribute("data", ocupacao); + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingPuntoVenta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingPuntoVenta.java index 9336ce9ef..3664503ec 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingPuntoVenta.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingPuntoVenta.java @@ -5,11 +5,13 @@ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingPuntoVenta; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingPuntoVenta; +import com.rjconsultores.ventaboletos.entidad.PricingPuntoVenta; + /** * * @author Rafius @@ -17,17 +19,32 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingPuntoVenta implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingPuntoVenta ppv = (PricingPuntoVenta) o; - - Listcell lc = new Listcell(); - - if (ppv.getPuntoVenta() != null) { - lc = new Listcell(ppv.getPuntoVenta().getNombpuntoventa()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", ppv); + if(o instanceof PricingPuntoVenta) { + PricingPuntoVenta ppv = (PricingPuntoVenta) o; + + Listcell lc = new Listcell(); + + if (ppv.getPuntoVenta() != null) { + lc = new Listcell(ppv.getPuntoVenta().getNombpuntoventa()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", ppv); + } else { + GP_PricingPuntoVenta ppv = (GP_PricingPuntoVenta) o; + + Listcell lc = new Listcell(); + + if (ppv.getPuntoVenta() != null) { + lc = new Listcell(ppv.getPuntoVenta().getNombpuntoventa()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", ppv); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRevisaoValores.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRevisaoValores.java new file mode 100644 index 000000000..61e8e8dc6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRevisaoValores.java @@ -0,0 +1,54 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.math.BigDecimal; + +import org.apache.commons.lang.StringUtils; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.vo.pricing.GP_PricingRevisaoValoresVO; + +public class RenderPricingRevisaoValores implements ListitemRenderer { + + @Override + public void render(Listitem item, Object data) throws Exception { + GP_PricingRevisaoValoresVO pricingRevisaoValores = (GP_PricingRevisaoValoresVO) data; + + setListCellString(item, pricingRevisaoValores.getOrigem()); + setListCellString(item, pricingRevisaoValores.getDestino()); + setListCellString(item, pricingRevisaoValores.getClasseServico()); + setListCellBigDecimal(item, pricingRevisaoValores.getPrecioAtual()); + setListCellBigDecimal(item, pricingRevisaoValores.getTarifaAtual()); + setListCellBigDecimal(item, pricingRevisaoValores.getTaxaEmbarque()); + setListCellBigDecimal(item, pricingRevisaoValores.getPedagio()); + setListCellString(item, pricingRevisaoValores.getOcupacao()); + setListCellString(item, pricingRevisaoValores.getAntecipacao()); + setListCellString(item, pricingRevisaoValores.getDesconto()); + setListCellBigDecimal(item, pricingRevisaoValores.getPrecoComPricing()); + setListCellBigDecimal(item, pricingRevisaoValores.getTarifaComPricing()); + + item.setAttribute("data", pricingRevisaoValores); + + } + + /** + * @param item + * @param number + */ + private void setListCellBigDecimal(Listitem item, BigDecimal number) { + Listcell lc = new Listcell(number != null ? MoneyHelper.getValor(number) : " - "); + lc.setParent(item); + } + + /** + * @param item + * @param string + */ + private void setListCellString(Listitem item, String string) { + Listcell lc = new Listcell(StringUtils.isNotBlank(string) ? string : " - "); + lc.setParent(item); + } + +} 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 0c30b4e94..ab8cd67fe 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRuta.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingRuta.java @@ -8,6 +8,7 @@ import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingRuta; import com.rjconsultores.ventaboletos.entidad.PricingRuta; /** @@ -18,26 +19,50 @@ public class RenderPricingRuta implements ListitemRenderer { @Override public void render(Listitem lstm, Object o) throws Exception { - PricingRuta pc = (PricingRuta) o; - - Listcell lc = new Listcell(); - - if (pc.getRuta() != null && pc.getRuta().getRutaId() != null) { - String descLinha = ""; - if (pc.getRuta().getRutaId() != -1) { - String sentido = pc.getRuta().getIndSentidoIda() == null || Boolean.TRUE.equals(pc.getRuta().getIndSentidoIda()) ? "IDA" : "VOLTA"; - String descClasse = pc.getRuta().getClaseServicio() != null ? pc.getRuta().getClaseServicio().getDescclase() : "null"; - descLinha = pc.getRuta().getNumRuta() + " - " + pc.getRuta().getDescruta() + " - " - + pc.getRuta().getRutaId().toString() + " - " + descClasse + " - " + sentido; - } else { - descLinha = pc.getRuta().getDescruta(); - } - lc = new Listcell(descLinha); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", pc); + if(o instanceof PricingRuta) { + PricingRuta pc = (PricingRuta) o; + + Listcell lc = new Listcell(); + + if (pc.getRuta() != null && pc.getRuta().getRutaId() != null) { + String descLinha = ""; + if (pc.getRuta().getRutaId() != -1) { + String sentido = pc.getRuta().getIndSentidoIda() == null || Boolean.TRUE.equals(pc.getRuta().getIndSentidoIda()) ? "IDA" : "VOLTA"; + String descClasse = pc.getRuta().getClaseServicio() != null ? pc.getRuta().getClaseServicio().getDescclase() : "null"; + descLinha = pc.getRuta().getNumRuta() + " - " + pc.getRuta().getDescruta() + " - " + + pc.getRuta().getRutaId().toString() + " - " + descClasse + " - " + sentido; + } else { + descLinha = pc.getRuta().getDescruta(); + } + lc = new Listcell(descLinha); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pc); + } else { + GP_PricingRuta pc = (GP_PricingRuta) o; + + Listcell lc = new Listcell(); + + if (pc.getRuta() != null && pc.getRuta().getRutaId() != null) { + String descLinha = ""; + if (pc.getRuta().getRutaId() != -1) { + String sentido = pc.getRuta().getIndSentidoIda() == null || Boolean.TRUE.equals(pc.getRuta().getIndSentidoIda()) ? "IDA" : "VOLTA"; + String descClasse = pc.getRuta().getClaseServicio() != null ? pc.getRuta().getClaseServicio().getDescclase() : "null"; + descLinha = pc.getRuta().getNumRuta() + " - " + pc.getRuta().getDescruta() + " - " + + pc.getRuta().getRutaId().toString() + " - " + descClasse + " - " + sentido; + } else { + descLinha = pc.getRuta().getDescruta(); + } + lc = new Listcell(descLinha); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pc); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingTipoPtoVta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingTipoPtoVta.java index 8c556ed21..a6ef244ed 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingTipoPtoVta.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingTipoPtoVta.java @@ -5,11 +5,13 @@ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingTipoPtoVta; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingTipoPtoVta; +import com.rjconsultores.ventaboletos.entidad.PricingTipoPtoVta; + /** * * @author Rafius @@ -17,17 +19,33 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingTipoPtoVta implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingTipoPtoVta pc = (PricingTipoPtoVta) o; - - Listcell lc = new Listcell(); - - if (pc.getTipoPtovta() != null) { - lc = new Listcell(pc.getTipoPtovta().getDesctipo()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", pc); + if(o instanceof PricingTipoPtoVta) { + PricingTipoPtoVta pc = (PricingTipoPtoVta) o; + + Listcell lc = new Listcell(); + + if (pc.getTipoPtovta() != null) { + lc = new Listcell(pc.getTipoPtovta().getDesctipo()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pc); + } else { + GP_PricingTipoPtoVta pc = (GP_PricingTipoPtoVta) o; + + Listcell lc = new Listcell(); + + if (pc.getTipoPtovta() != null) { + lc = new Listcell(pc.getTipoPtovta().getDesctipo()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pc); + + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingTipoServicio.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingTipoServicio.java index 7a52f5a76..5dce9780b 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingTipoServicio.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingTipoServicio.java @@ -4,11 +4,13 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingTipoServicio; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingTipoServicio; +import com.rjconsultores.ventaboletos.entidad.PricingTipoServicio; + /** * * @author Desenvolvimento @@ -16,17 +18,32 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingTipoServicio implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingTipoServicio pm = (PricingTipoServicio) o; - - Listcell lc = new Listcell(); - - if (pm.getTipoServicio() != null) { - lc = new Listcell(pm.getTipoServicio().getDescservicio()); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", pm); + if(o instanceof PricingTipoServicio) { + PricingTipoServicio pm = (PricingTipoServicio) o; + + Listcell lc = new Listcell(); + + if (pm.getTipoServicio() != null) { + lc = new Listcell(pm.getTipoServicio().getDescservicio()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pm); + } else { + GP_PricingTipoServicio pm = (GP_PricingTipoServicio) o; + + Listcell lc = new Listcell(); + + if (pm.getTipoServicio() != null) { + lc = new Listcell(pm.getTipoServicio().getDescservicio()); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pm); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingVigencia.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingVigencia.java index c8c9c43fe..1ed112eb7 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingVigencia.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingVigencia.java @@ -4,12 +4,15 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.PricingVigencia; import java.text.SimpleDateFormat; + import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.GP_PricingVigencia; +import com.rjconsultores.ventaboletos.entidad.PricingVigencia; + /** * * @author Rafius @@ -17,39 +20,76 @@ import org.zkoss.zul.ListitemRenderer; public class RenderPricingVigencia implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { - PricingVigencia pv = (PricingVigencia) o; - - SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy HH:mm"); - Listcell lc = new Listcell(); - - if (pv.getFecinicioviaje() != null) { - lc = new Listcell(sf.format(pv.getFecinicioviaje())); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - if (pv.getFecfinviaje() != null) { - lc = new Listcell(sf.format(pv.getFecfinviaje())); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - if (pv.getFecinicioventa() != null) { - lc = new Listcell(sf.format(pv.getFecinicioventa())); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - if (pv.getFecfinventa() != null) { - lc = new Listcell(sf.format(pv.getFecfinventa())); - } else { - lc = new Listcell("-"); - } - lc.setParent(lstm); - - lstm.setAttribute("data", pv); + if(o instanceof PricingVigencia) { + PricingVigencia pv = (PricingVigencia) o; + + SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy HH:mm"); + Listcell lc = new Listcell(); + + if (pv.getFecinicioviaje() != null) { + lc = new Listcell(sf.format(pv.getFecinicioviaje())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pv.getFecfinviaje() != null) { + lc = new Listcell(sf.format(pv.getFecfinviaje())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pv.getFecinicioventa() != null) { + lc = new Listcell(sf.format(pv.getFecinicioventa())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pv.getFecfinventa() != null) { + lc = new Listcell(sf.format(pv.getFecfinventa())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pv); + } else { + GP_PricingVigencia pv = (GP_PricingVigencia) o; + + SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy HH:mm"); + Listcell lc = new Listcell(); + + if (pv.getFecinicioviaje() != null) { + lc = new Listcell(sf.format(pv.getFecinicioviaje())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pv.getFecfinviaje() != null) { + lc = new Listcell(sf.format(pv.getFecfinviaje())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pv.getFecinicioventa() != null) { + lc = new Listcell(sf.format(pv.getFecinicioventa())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + if (pv.getFecfinventa() != null) { + lc = new Listcell(sf.format(pv.getFecfinventa())); + } else { + lc = new Listcell("-"); + } + lc.setParent(lstm); + + lstm.setAttribute("data", pv); + } } } diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index a28cb4b60..15539f6e8 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -421,7 +421,32 @@ com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta com.rjconsultores.ventaboletos.entidad.EmpresaAdyenConfig com.rjconsultores.ventaboletos.entidad.EmpresaCieloLinkConfig - com.rjconsultores.ventaboletos.entidad.EmpresaMercadoPagoConfig + com.rjconsultores.ventaboletos.entidad.EmpresaMercadoPagoConfig + + com.rjconsultores.ventaboletos.entidad.GP_PricingEspecifico + com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoOcupacion + com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoAgencia + com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoCanalVendas + com.rjconsultores.ventaboletos.entidad.GP_PricingEspecificoCategoria + com.rjconsultores.ventaboletos.entidad.GP_Pricing + com.rjconsultores.ventaboletos.entidad.GP_PricingAsiento + com.rjconsultores.ventaboletos.entidad.GP_PricingCategoria + com.rjconsultores.ventaboletos.entidad.GP_PricingClase + com.rjconsultores.ventaboletos.entidad.GP_PricingClasseTarifaria + com.rjconsultores.ventaboletos.entidad.GP_PricingCorrida + com.rjconsultores.ventaboletos.entidad.GP_PricingDia + com.rjconsultores.ventaboletos.entidad.GP_PricingFormapago + com.rjconsultores.ventaboletos.entidad.GP_PricingImporte + com.rjconsultores.ventaboletos.entidad.GP_PricingMarca + com.rjconsultores.ventaboletos.entidad.GP_PricingMercado + com.rjconsultores.ventaboletos.entidad.GP_PricingOcupaAntecipa + com.rjconsultores.ventaboletos.entidad.GP_PricingPuntoVenta + com.rjconsultores.ventaboletos.entidad.GP_PricingRuta + com.rjconsultores.ventaboletos.entidad.GP_PricingTipoPtoVta + com.rjconsultores.ventaboletos.entidad.GP_PricingTipoServicio + com.rjconsultores.ventaboletos.entidad.GP_PricingVigencia + com.rjconsultores.ventaboletos.entidad.GP_PricingGestao + com.rjconsultores.ventaboletos.entidad.GP_PricingHistorico diff --git a/web/gui/gestao_pricing/busquedaGP_Pricing.zul b/web/gui/gestao_pricing/busquedaGP_Pricing.zul new file mode 100644 index 000000000..3550deedb --- /dev/null +++ b/web/gui/gestao_pricing/busquedaGP_Pricing.zul @@ -0,0 +1,115 @@ + + + + + + + + + +