From c2c4b1d086e6f3da58ed61ca862268ad2b95a8c0 Mon Sep 17 00:00:00 2001 From: "bruno.neves" Date: Tue, 4 Jul 2017 20:39:32 +0000 Subject: [PATCH] bug #0009087 bug #0009077 - corrigido os erros, commit na trunk git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@70996 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../pricing/EditarPricingController.java | 26 +++- ...tarPricingEspecificoAgenciaController.java | 127 +++++++++++++++ .../EditarPricingEspecificoController.java | 144 ++++++++++++++++-- ...rPricingEspecificoOcupacionController.java | 109 +++++++------ .../render/RenderPricingAgencia.java | 28 ++++ .../RenderPricingEspecificoOcupacion.java | 2 +- src/java/spring-config.xml | 3 + web/WEB-INF/i3-label_es_MX.label | 24 +++ web/WEB-INF/i3-label_pt_BR.label | 36 ++++- web/gui/pricing/editarPricing.zul | 13 +- web/gui/pricing/editarPricingEspecifico.zul | 64 +++++++- .../editarPricingEspecificoAgencia.zul | 39 +++++ .../editarPricingEspecificoOcupacion.zul | 2 +- 13 files changed, 553 insertions(+), 64 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoAgenciaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAgencia.java create mode 100644 web/gui/pricing/editarPricingEspecificoAgencia.zul diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingController.java index 86a45e6e1..4d13fbd3d 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingController.java @@ -175,6 +175,8 @@ public class EditarPricingController extends MyGenericForwardComposer { private Combobox cmbEmpresa; private Radio rdTransSi; private Radio rdTransNo; + private Radio rdExibirVendaSi; + private Radio rdExibirVendaNo; private Radio rdCanceSi; private Radio rdCanceNo; private Radio rdReserSi; @@ -990,7 +992,12 @@ public class EditarPricingController extends MyGenericForwardComposer { } else { pricing.setIndreservable(Boolean.FALSE); } - + if (rdExibirVendaSi.isChecked()) { + pricing.setExibeVenda(Boolean.TRUE); + } else { + pricing.setExibeVenda(Boolean.FALSE); + } + if (gravarNovo) { // eu guardo antes para gantir que os dados que eu tenho na tela estao no banco pricingService.actualizacion(pricing); @@ -2489,4 +2496,21 @@ public class EditarPricingController extends MyGenericForwardComposer { 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; + } + + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoAgenciaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoAgenciaController.java new file mode 100644 index 000000000..c592694ff --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoAgenciaController.java @@ -0,0 +1,127 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.pricing; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +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.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.Event; + +import com.rjconsultores.ventaboletos.entidad.PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.service.PricingEspecificoAgenciaService; +import com.rjconsultores.ventaboletos.service.PricingEspecificoService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarPricingEspecificoAgenciaController") +@Scope("prototype") +public class EditarPricingEspecificoAgenciaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(EditarPricingEspecificoAgenciaController.class); + + private PricingEspecifico pricingEspecifico; + private PricingEspecificoAgencia pricingEspecificoAgencia; + private MyListbox pricingListEspAgencia; + private List lspricingAgencia; + @Autowired + private PricingEspecificoService pricingEspecificoService; + + private MyComboboxPuntoVenta cmbPuntoVenta; + @Autowired + private PricingEspecificoAgenciaService pricingEspecificoAgenciaService; + + private Boolean isEdicao; + + @Override + public void doAfterCompose(Component comp) throws Exception { + pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); + if(pricingEspecifico.getPricingespecificoId() != null){ + pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId()); + lspricingAgencia = pricingEspecifico.getPricingEspecificoAgenciasList(); + + } + + pricingEspecificoAgencia = (PricingEspecificoAgencia) Executions.getCurrent().getArg().get("pricingEspecificoAgencia"); + pricingListEspAgencia = (MyListbox) Executions.getCurrent().getArg().get("pricingListEspAgencia"); + isEdicao = (Boolean) Executions.getCurrent().getArg().get("isEdicao"); + + + super.doAfterCompose(comp); + Locale locale = new Locale("pt", "BR"); + + + } + + public void onClick$btnAdicionarPricingEspAgencia(Event ev) throws Exception { + PricingEspecificoAgencia pricingAgencia = new PricingEspecificoAgencia((PuntoVenta)cmbPuntoVenta.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + List peoList = null; + if (lspricingAgencia == null || lspricingAgencia.isEmpty()) { + peoList = new ArrayList(); + } else { + peoList = pricingEspecifico.getPricingEspecificoAgenciasList(); + } + Hibernate.initialize(pricingEspecifico); + Hibernate.initialize(pricingEspecificoAgencia); + + if (pricingEspecificoAgencia.getPricingEspecificoAgenciaId() != null && peoList.contains(pricingAgencia)) { + int index = peoList.indexOf(pricingAgencia); + if(index >= 0) { + peoList.set(index, pricingAgencia); + } + } else { + peoList.add(pricingAgencia); + } + if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) { + pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue()); + } + + pricingEspecificoAgencia.setActivo(Boolean.TRUE); + pricingEspecifico.setPricingEspecificoAgenciasList(peoList); + pricingListEspAgencia.addItemNovo(pricingAgencia); + closeWindow(); + } + public void onClick$btnApagarPricingEspAgencia(Event ev) throws Exception { + PricingEspecificoAgencia pricingAgencia = new PricingEspecificoAgencia((PuntoVenta)cmbPuntoVenta.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + List peoList = null; + if (lspricingAgencia == null || lspricingAgencia.isEmpty()) { + peoList = new ArrayList(); + } else { + peoList = pricingEspecifico.getPricingEspecificoAgenciasList(); + } + Hibernate.initialize(pricingEspecifico); + Hibernate.initialize(pricingEspecificoAgencia); + + if (pricingEspecificoAgencia.getPricingEspecificoAgenciaId() != null && peoList.contains(pricingAgencia)) { + int index = peoList.indexOf(pricingAgencia); + if(index >= 0) { + peoList.set(index, pricingAgencia); + } + } else { + peoList.add(pricingAgencia); + } + if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) { + pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue()); + } + + pricingEspecificoAgencia.setActivo(Boolean.TRUE); + pricingEspecifico.setPricingEspecificoAgenciasList(peoList); + pricingListEspAgencia.addItemNovo(pricingAgencia); + closeWindow(); + } + + + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoController.java index d2b6bf44c..60f62d165 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoController.java @@ -8,6 +8,7 @@ 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; @@ -25,6 +26,7 @@ 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; @@ -34,7 +36,9 @@ import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Moneda; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.PricingEspecifico; +import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia; import com.rjconsultores.ventaboletos.entidad.PricingEspecificoOcupacion; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; import com.rjconsultores.ventaboletos.service.CategoriaService; import com.rjconsultores.ventaboletos.service.ClaseServicioService; @@ -42,12 +46,15 @@ import com.rjconsultores.ventaboletos.service.CorridaCtrlService; import com.rjconsultores.ventaboletos.service.MarcaService; import com.rjconsultores.ventaboletos.service.MonedaService; import com.rjconsultores.ventaboletos.service.ParadaService; +import com.rjconsultores.ventaboletos.service.PricingEspecificoAgenciaService; import com.rjconsultores.ventaboletos.service.PricingEspecificoOcupacionService; import com.rjconsultores.ventaboletos.service.PricingEspecificoService; +import com.rjconsultores.ventaboletos.service.PuntoVentaService; 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.render.RenderPricingAgencia; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingEspecificoOcupacion; /** @@ -79,6 +86,10 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer private CorridaCtrlService corridaCtrlService; @Autowired private PricingEspecificoOcupacionService pricingEspecificoOcupacionService; + @Autowired + private PuntoVentaService puntoVenService; + @Autowired + private PricingEspecificoAgenciaService pricingEspecificoAgenciaService; private PricingEspecifico pricingEspecifico; private MyListbox pricingList; @@ -100,9 +111,13 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer private Textbox nombrePricing; private Textbox tarifaAbierto; private Button btnCopiar; + private Radio rdExibirVendaSi; + private Radio rdExibirVendaNo; private MyListbox pricingListEspOcupacion; + private MyListbox pricingListEspAgencia; private List pricingEspecificoADesativar; + private List pricingEspecificoADesativarAgencia; @Override public void doAfterCompose(Component comp) throws Exception { @@ -114,10 +129,12 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); pricingList = (MyListbox) Executions.getCurrent().getArg().get("pricingList"); pricingEspecificoADesativar = new ArrayList(); - + pricingEspecificoADesativarAgencia = new ArrayList(); + super.doAfterCompose(comp); pricingListEspOcupacion.setItemRenderer(new RenderPricingEspecificoOcupacion()); + pricingListEspAgencia.setItemRenderer(new RenderPricingAgencia()); if (pricingEspecifico.getPricingespecificoId() == null) { btnApagar.setVisible(Boolean.FALSE); @@ -143,9 +160,18 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer verPricingEspecificoOcupacion(especificoOcupacion, true); } }); + pricingListEspAgencia.setData(pricingEspecifico.getPricingEspecificoAgenciaListActivos()); + pricingListEspAgencia.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + PricingEspecificoAgencia especificoAgencia = (PricingEspecificoAgencia) pricingListEspAgencia.getSelected(); + verPricingEspecificoAgencia(especificoAgencia, true); + } + }); } - fechaInicio.focus(); + fechaInicio.focus(); } @SuppressWarnings({ "unchecked", "rawtypes" }) @@ -160,10 +186,26 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer openWindow("/gui/pricing/editarPricingEspecificoOcupacion.zul", Labels.getLabel("editarPricingController.window.title"), args, MODAL); } + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void verPricingEspecificoAgencia(PricingEspecificoAgencia especificoAgencia, Boolean isEdicao) { + + Map args = new HashMap(); + args.put("pricingEspecifico", pricingEspecifico); + args.put("pricingEspecificoAgencia", especificoAgencia); + args.put("isEdicao", isEdicao); + args.put("pricingListEspAgencia", pricingListEspAgencia); + + openWindow("/gui/pricing/editarPricingEspecificoAgencia.zul", + Labels.getLabel("editarPricingController.window.title"), args, MODAL); + } public void onClick$btnNovoPricingEspOcup(Event ev) throws InterruptedException { verPricingEspecificoOcupacion(new PricingEspecificoOcupacion(), false); } + + public void onClick$btnNovoPricingAgencia(Event ev) throws InterruptedException { + verPricingEspecificoAgencia(new PricingEspecificoAgencia(), false); + } public void onClick$btnApagarPricingEspOcup(Event ev) throws InterruptedException { if (pricingListEspOcupacion.getSelected() == null) { @@ -188,23 +230,61 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer } } } + 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) { + PricingEspecificoAgencia pricingEspecificoAgencia = (PricingEspecificoAgencia) pricingListEspAgencia.getSelected(); + + if (pricingEspecificoAgencia.getPricingEspecificoAgenciaId() != null) { + pricingEspecificoAgencia.setActivo(false); + pricingListEspAgencia.removeItem(pricingEspecificoAgencia); + pricingEspecificoADesativarAgencia.add(pricingEspecificoAgencia); + } else { + pricingListEspOcupacion.removeSelectedItem(); + removerPricingAgencia(pricingEspecificoAgencia); + } + } + } + } private void removerPricingOcupacion(PricingEspecificoOcupacion especificoOcupacion) { if (especificoOcupacion.getPricingEspecificoOcupacionId() != null) { pricingEspecifico.getPricingEspecificoOcupacionsList().remove(especificoOcupacion); } else { - int index = 0; + int index = 1; for (PricingEspecificoOcupacion pricingEspecificoOcupacion : pricingEspecifico.getPricingEspecificoOcupacionsList()) { - if (pricingEspecificoOcupacion.getOcupacionfinal().equals(especificoOcupacion.getOcupacionfinal()) && - pricingEspecificoOcupacion.getOcupacioninicial().equals(especificoOcupacion.getOcupacioninicial()) && - pricingEspecificoOcupacion.getTarifa().equals(especificoOcupacion.getTarifa())) { - break; + 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 removerPricingAgencia(PricingEspecificoAgencia especificoAgencia) { + if (especificoAgencia.getPricingEspecificoAgenciaId() != null) { + pricingEspecifico.getPricingEspecificoAgenciasList().remove(especificoAgencia); + } + } public void onClick$btnModificarPricingEspOcup(Event ev) { PricingEspecificoOcupacion especificoOcupacion = (PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected(); @@ -252,10 +332,14 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer fechaFin.getValue(); tarifaAbierto.getValue(); - pricingEspecifico.getPricingEspecificoOcupacionsList().clear(); + //pricingEspecifico.getPricingEspecificoOcupacionsList().clear(); for (Object o : pricingListEspOcupacion.getData()) { PricingEspecificoOcupacion p = (PricingEspecificoOcupacion) o; - pricingEspecifico.getPricingEspecificoOcupacionsList().add(p); +// pricingEspecifico.setPricingEspecificoOcupacionsList(new ArrayList()); + if(!pricingEspecifico.getPricingEspecificoOcupacionsList().contains(p)){ + pricingEspecifico.getPricingEspecificoOcupacionsList().add(p); + } + } if (pricingEspecifico.getTipoPtovta() == null) { @@ -320,7 +404,11 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer return; } - + if (rdExibirVendaSi.isChecked()) { + pricingEspecifico.setExibeVenda(Boolean.TRUE); + } else { + pricingEspecifico.setExibeVenda(Boolean.FALSE); + } if (pricingEspecifico.getCorridaId() != null) { CorridaCtrl corridaCtrlId = corridaCtrlService.obtenerID(pricingEspecifico.getCorridaId()); if (corridaCtrlId == null) { @@ -366,6 +454,20 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer } if (podeSalvar) { + if(pricingEspecifico.getPricingEspecificoAgenciasList() == null ){ + pricingEspecifico.setPricingEspecificoAgenciasList(new ArrayList()); + } + if (pricingEspecifico.getPricingEspecificoAgenciasList().isEmpty()){ + PricingEspecificoAgencia pea = new PricingEspecificoAgencia(); + pea.setPricingEspecifico(pricingEspecifico); + PuntoVenta pv = puntoVenService.obtenerID(-1); + pea.setPuntoVenta(pv); + pea.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + pea.setFecmodif(new Date()); + pea.setActivo(Boolean.TRUE); + pricingEspecifico.setPricingEspecificoAgenciasList(new ArrayList()); + pricingEspecifico.getPricingEspecificoAgenciasList().add(pea); + } if (pricingEspecifico.getPricingespecificoId() == null) { pricingEspecificoService.suscribir(pricingEspecifico); pricingList.addItemNovo(pricingEspecifico); @@ -395,6 +497,12 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer pricingEspecificoOcupacionService.actualizacion(p); } } + + private void desativarPricingEspecificoAgenciaDesativados() { + for (PricingEspecificoAgencia p : pricingEspecificoADesativarAgencia) { + pricingEspecificoAgenciaService.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. @@ -786,6 +894,22 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer 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; + } + @SuppressWarnings({ "rawtypes", "unchecked" }) public void onClick$btnCopiar(Event ev) throws InterruptedException { diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoOcupacionController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoOcupacionController.java index 59be78638..80cea1da1 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoOcupacionController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoOcupacionController.java @@ -1,7 +1,6 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.pricing; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.List; import java.util.Locale; @@ -12,6 +11,8 @@ 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; @@ -69,55 +70,71 @@ public class EditarPricingEspecificoOcupacionController extends MyGenericForward ocupacioninicial.getValue(); ocupacionfinal.getValue(); desconto.getValue(); - try { - if (pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() == null) { - pricingEspecificoOcupacion = new 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); + if(desconto.getValue() == "" && tarifa.getValue() == "" ){ + 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() != "" && tarifa.getValue() != "" ){ + 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{ - 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); + try { + if (pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() == null) { + pricingEspecificoOcupacion = new PricingEspecificoOcupacion(); } - } else { - peoList.add(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); - pricingEspecifico.setPricingEspecificoOcupacionsList(peoList); - - if(isEdicao){ - pricingListEspOcupacion.updateItem(pricingEspecificoOcupacion); - } else { - pricingListEspOcupacion.addItemNovo(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); } - - closeWindow(); - - } catch (Exception ex) { - log.error("Erro ao adicionar pricing Pricing Especifico Ocupacion: ", ex); } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAgencia.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAgencia.java new file mode 100644 index 000000000..d02ddb0f3 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingAgencia.java @@ -0,0 +1,28 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia; + +public class RenderPricingAgencia implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + 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); + + + + } + +} 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 c25981d60..255659e79 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoOcupacion.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderPricingEspecificoOcupacion.java @@ -15,7 +15,7 @@ public class RenderPricingEspecificoOcupacion implements ListitemRenderer { return; } - Listcell lc = new Listcell(peo.getTarifa().toString()); + Listcell lc = new Listcell(peo.getTarifa() == null ? "" : peo.getTarifa().toString()); lc.setParent(lstm); lc = new Listcell(peo.getOcupacioninicial().toString()); diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 785913b29..5e17e77fc 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -168,6 +168,7 @@ com.rjconsultores.ventaboletos.entidad.MotivocancelacionEquivalencia + com.rjconsultores.ventaboletos.entidad.MotivoDevolucaoBilhete com.rjconsultores.ventaboletos.entidad.MotivoReimpresion com.rjconsultores.ventaboletos.entidad.MotivoViaje @@ -222,6 +223,7 @@ com.rjconsultores.ventaboletos.entidad.PricingAsiento com.rjconsultores.ventaboletos.entidad.PricingEspecifico com.rjconsultores.ventaboletos.entidad.PricingEspecificoOcupacion + com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia com.rjconsultores.ventaboletos.entidad.PricingClasseTarifaria com.rjconsultores.ventaboletos.entidad.PricingRuta com.rjconsultores.ventaboletos.entidad.ProductoServicio @@ -240,6 +242,7 @@ com.rjconsultores.ventaboletos.entidad.PtovtaAgencia com.rjconsultores.ventaboletos.entidad.PtovtaCatInd + com.rjconsultores.ventaboletos.entidad.PtoVtaCheckin com.rjconsultores.ventaboletos.entidad.PtoVtaSeguro com.rjconsultores.ventaboletos.entidad.PtovtaAntecipacomissao diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index e77df6cef..08ff6859f 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -115,6 +115,7 @@ indexController.mniGeracionCorrida.label = Generación de servicio indexController.mniFormaPago.label = Forma de pago indexController.mniPeriodoVacacional.label = Periodo de vacaciones indexController.mniMotivoCancelacion.label = Motivo de cancelación +indexController.mniMotivoDevolucaoBilhete.label = Motivo Devolução Bilhete indexController.mniMotivoCancelVendaPacote.label = Motivo de cancelación indexController.mniMotivoReimpresion.label = Motivo de la reimpresión indexController.mniCategoria.label = Tipo de pasaje @@ -811,6 +812,29 @@ editarMotivoCancelVendaPacoteController.lbttextoVenda.value = Descripción para editarMotivoCancelVendaPacoteController.MSG.tipo = Necesita informar un tipo motivo editarMotivoCancelVendaPacoteController.lbPorcMulta.value = Porc. Multa. +# Muestra a DEVOLUCÂO da Pesquisa Razón +busquedaMotivoDevolucaoBilheteController.window.title = Motivo Devolução Bilhete +busquedaMotivoDevolucaoBilheteController.btnRefresh.tooltiptext = Atualizar +busquedaMotivoDevolucaoBilheteController.btnNovo.tooltiptext = Incluir +busquedaMotivoDevolucaoBilheteController.btnCerrar.tooltiptext = Fechar +busquedaMotivoDevolucaoBilheteController.btnPesquisa.label = Pesquisa +busquedaMotivoDevolucaoBilheteController.lhId.label = ID +busquedaMotivoDevolucaoBilheteController.lhDesc.label = Descrição +busquedaMotivoDevolucaoBilheteController.txtNombre.label = Motivo Devolução Bilhete + +# Pantalla Editar DEVOLUCÂO Razón +editarMotivoDevolucaoBilheteController.window.title = Motivo Devolução Bilhete +editarMotivoDevolucaoBilheteController.btnApagar.tooltiptext = Eliminar +editarMotivoDevolucaoBilheteController.btnSalvar.tooltiptext = Salvar +editarMotivoDevolucaoBilheteController.btnFechar.tooltiptext = Fechar +editarMotivoDevolucaoBilheteController.lbNome.value = Descrição +editarMotivoDevolucaoBilheteController.MSG.suscribirOK = Motivo Devolução Bilhete Registrado com Sucesso. +editarMotivoDevolucaoBilheteController.MSG.borrarPergunta = Deseja Eliminar Este Motivo Devolução Bilhete? +editarMotivoDevolucaoBilheteController.MSG.borrarOK = Motivo Devolução Bilhete Excluido com Sucesso. +editarMotivoDevolucaoBilheteController.lbtipomotivo.value = Tipo motivo +editarMotivoDevolucaoBilheteController.lbttextoVenda.value = Descrição para relatório de cancelamento. +editarMotivoDevolucaoBilheteController.MSG.tipo = Necessita informar um tipo motivo. + # Muestra a CANCELACION VENDA PACOTE da Búsqueda Razón busquedaMotivoCancelVendaPacoteController.window.title = Motivo de cancelación busquedaMotivoCancelVendaPacoteController.btnRefresh.tooltiptext = Actualizar diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 55fd71a3a..c96aec1ad 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -117,6 +117,7 @@ indexController.mniGeracionCorrida.label = Geração de Serviço indexController.mniFormaPago.label = Forma de Pagamento indexController.mniPeriodoVacacional.label = Período de Férias indexController.mniMotivoCancelacion.label = Motivo do Cancelamento +indexController.mniMotivoDevolucaoBilhete.label = Motivo Devolução Bilhete indexController.mniMotivoCancelVendaPacote.label = Motivo do Cancelamento Venda Pacote indexController.mniMotivoReimpresion.label = Motivo da Reimpressão indexController.mniCategoria.label = Tipo de Passagem @@ -830,6 +831,29 @@ editarMotivoCancelacionController.lbtipomotivo.value = Tipo motivo editarMotivoCancelacionController.lbttextoVenda.value = Descrição para relatório de cancelamento. editarMotivoCancelacionController.MSG.tipo = Necessita informar um tipo motivo. +# Muestra a CANCELACION da Pesquisa Razón +busquedaMotivoDevolucaoBilheteController.window.title = Motivo Devolução Bilhete +busquedaMotivoDevolucaoBilheteController.btnRefresh.tooltiptext = Atualizar +busquedaMotivoDevolucaoBilheteController.btnNovo.tooltiptext = Incluir +busquedaMotivoDevolucaoBilheteController.btnCerrar.tooltiptext = Fechar +busquedaMotivoDevolucaoBilheteController.btnPesquisa.label = Pesquisa +busquedaMotivoDevolucaoBilheteController.lhId.label = ID +busquedaMotivoDevolucaoBilheteController.lhDesc.label = Descrição +busquedaMotivoDevolucaoBilheteController.txtNombre.label = Motivo Devolução Bilhete + +# Pantalla Editar CANCELACION Razón +editarMotivoDevolucaoBilheteController.window.title = Motivo Devolução Bilhete +editarMotivoDevolucaoBilheteController.btnApagar.tooltiptext = Eliminar +editarMotivoDevolucaoBilheteController.btnSalvar.tooltiptext = Salvar +editarMotivoDevolucaoBilheteController.btnFechar.tooltiptext = Fechar +editarMotivoDevolucaoBilheteController.lbNome.value = Descrição +editarMotivoDevolucaoBilheteController.MSG.suscribirOK = Motivo Devolução Bilhete Registrado com Sucesso. +editarMotivoDevolucaoBilheteController.MSG.borrarPergunta = Deseja Eliminar Este Motivo Devolução Bilhete? +editarMotivoDevolucaoBilheteController.MSG.borrarOK = Motivo Devolução Bilhete Excluido com Sucesso. +editarMotivoDevolucaoBilheteController.lbtipomotivo.value = Tipo motivo +editarMotivoDevolucaoBilheteController.lbttextoVenda.value = Descrição para relatório de cancelamento. +editarMotivoDevolucaoBilheteController.MSG.tipo = Necessita informar um tipo motivo. + # Muestra a CANCELACION da Pesquisa Razón busquedaMotivoCancelVendaPacoteController.window.title = Motivo de Cancelamento busquedaMotivoCancelVendaPacoteController.btnRefresh.tooltiptext = Atualizar @@ -2957,12 +2981,13 @@ editarPricingController.btnNovoRuta.tooltiptext = Incluir busquedaPricingController.btnNovo.tooltiptext = Incluir editarPricingController.btnNovoTipoPtoVta.tooltiptext = Incluir editarPricingController.btnNovoCategoria.tooltiptext = Incluir -editarPricingController.btnApagarPricing.tooltiptext = Eliminar +editarPricingController.btnApagarAgencia.tooltiptext = Eliminar editarPricingController.btnNovoDia.tooltiptext = Incluir editarPricingController.btnNovoCorrida.tooltiptext = Incluir editarPricingController.btnNovoAsiento.tooltiptext = Incluir editarPricingController.btnNovoOcupacion.tooltiptext = Incluir editarPricingController.btnNovoVigencia.tooltiptext = Incluir +editarPricingController.btnAgencia.tooltiptext = Incluir editarPricingController.btnApagarVigencia.tooltiptext = Eliminar editarPricingController.MSG.suscribirOK = Configuração de pricing Registrada com Sucesso. copiarPricingController.MSG.suscribirOK = Copia de pricing realizada com Sucesso. @@ -3096,16 +3121,23 @@ editarPricingAutomaticoController.msg.cantDias.erro = Já existe no sistema est # Editar Pricing Especifico Ocupacion editarPricingEspecificoOcupacionController.tarifa.label=Tarifa +editarPricingEspecificoOcupacionController.agencia.label=Agência +editarPricingEspecificoOcupacionController.agenciaId.label=Id editarPricingEspecificoOcupacionController.desconto.label=Desconto editarPricingEspecificoOcupacionController.tarifaAberto.label=Tarifa em Aberto editarPricingEspecificoOcupacionController.ocupacionInicial.label=Ocupação Inicial editarPricingEspecificoOcupacionController.ocupacionFinal.label=Ocupação Final editarPricingEspecificoOcupacionController.MSG.borrarPergunta = Deseja Eliminar Ocupação? +editarPricingEspecificoAgenciaController.MSG.borrarPergunta = Deseja Eliminar Agência? editarPricingEspecificoOcupacionController.ocupacao.label = Ocupação +editarPricingEspecificoOcupacionController.agencia.label = Agência editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoOcupacion = Ocupação não informado. +editarPricingEspecificoAgenciaController.MSG.noPricingEspecificoAgencia = Agência não informada. editarPricingEspecificoOcupacionController.MSG.pricingEspecificoOcupacionInicial = A primeira ocupação deverá ter valor de ocupação inicial igual a 1. -editarPricingEspecificoOcupacionController.MSG.pricingEspecificoOcupacionNoSubsequente = A lista de ocupações deverão ser subsequentes. +editarPricingEspecificoOcupacionController.MSG.pricingEspecificoOcupacionNoSubsequente = Já existe ocupação cadastrada que contempla o intervalo de ocupação. editarPricingEspecificoOcupacionController.exibirVenda.label=Exibir na Venda? +editarPricingEspecificoController.tabGen.label = Geral +editarPricingEspecificoController.tabAge.label = Agência # Editar Pricing Classe Tarifaria editarPricingClasseTarifariaController.window.title = Pricing Classes Tarifarias diff --git a/web/gui/pricing/editarPricing.zul b/web/gui/pricing/editarPricing.zul index e5ebc2f51..30e5de88a 100644 --- a/web/gui/pricing/editarPricing.zul +++ b/web/gui/pricing/editarPricing.zul @@ -175,13 +175,24 @@ value="@{winEditarPricing$composer.pricing.cantdiasanticipacion}" /> - + diff --git a/web/gui/pricing/editarPricingEspecifico.zul b/web/gui/pricing/editarPricingEspecifico.zul index b0f12dc5a..8ffcee2d7 100644 --- a/web/gui/pricing/editarPricingEspecifico.zul +++ b/web/gui/pricing/editarPricingEspecifico.zul @@ -34,7 +34,17 @@ tooltiptext="${c:l('editarPricingController.btnFechar.tooltiptext')}" /> - + + + + + + + + + @@ -142,7 +152,19 @@ precision="7" scale="2" constraint="no empty" value="@{winEditarPricingEspecifico$composer.pricingEspecifico.tarifaredabierto,converter=com.rjconsultores.ventaboletos.web.utilerias.StringDecimalToDecimalConverter}" /> - + + @@ -187,6 +209,44 @@ + + + + + + + + +