diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoCanalVendasController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoCanalVendasController.java index dd322cb68..c01401c57 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoCanalVendasController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingEspecificoCanalVendasController.java @@ -36,7 +36,7 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa private MyListbox pricingListEspCanalVenda; private List lspricingCanal; private List lsPtovata; - + private List pricingEspecificoADesativarCanal; public List getLsPtovata() { return lsPtovata; } @@ -60,6 +60,7 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa public void doAfterCompose(Component comp) throws Exception { lsPtovata = puntoVentaService.obtenerTodos(); pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); + if(pricingEspecifico.getPricingespecificoId() != null){ pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId()); lspricingCanal = pricingEspecifico.getPricingEspecificoCanalVendasList(); @@ -67,6 +68,7 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa } pricingEspecificoCanal = (PricingEspecificoCanalVendas) Executions.getCurrent().getArg().get("pricingEspecificoCanal"); + pricingEspecificoADesativarCanal = (List) Executions.getCurrent().getArg().get("pricingEspecificoADesativarCanal"); pricingListEspCanalVenda = (MyListbox) Executions.getCurrent().getArg().get("pricingListEspCanal"); isEdicao = (Boolean) Executions.getCurrent().getArg().get("isEdicao"); @@ -76,7 +78,6 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa } - public void onClick$btnAdicionarPricingEspCanal(Event ev) throws Exception { PricingEspecificoCanalVendas pricingCanal = new PricingEspecificoCanalVendas((TipoPuntoVenta)cmbPtovta.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId()); @@ -89,30 +90,39 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa Hibernate.initialize(pricingEspecifico); Hibernate.initialize(pricingEspecificoCanal); - if (pricingEspecificoCanal.getPricingEspecificoCanalId() != null && peoList.contains(pricingCanal)) { + if (peoList.contains(pricingCanal)) { int index = peoList.indexOf(pricingCanal); if(index >= 0) { peoList.set(index, pricingCanal); } } else { peoList.add(pricingCanal); - } - if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) { - pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue()); - } - pricingEspecificoCanal.setActivo(Boolean.TRUE); - pricingEspecifico.setPricingEspecificoCanalVendasList(peoList); - pricingListEspCanalVenda.addItemNovo(pricingCanal); - if(pricingListEspCanalVenda.getSize()>1){ - TipoPuntoVenta tpv = puntoVentaService.obtenerID(new Short("-1")); - PricingEspecificoCanalVendas pecv = new PricingEspecificoCanalVendas(); - pecv.setTipoPtovta(tpv); - pecv.setActivo(Boolean.TRUE); - pecv.setPricingEspecifico(pricingEspecifico); - pricingListEspCanalVenda.removeItem(pecv); + if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) { + pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue()); + } + + pricingEspecificoCanal.setActivo(Boolean.TRUE); + pricingEspecifico.setPricingEspecificoCanalVendasList(peoList); + pricingListEspCanalVenda.addItemNovo(pricingCanal); + if(pricingListEspCanalVenda.getSize()>1 && pricingCanal.getTipoPtovta().getTipoptovtaId() != -1){ + TipoPuntoVenta tpv = puntoVentaService.obtenerID(new Short("-1")); + PricingEspecificoCanalVendas pecv = new PricingEspecificoCanalVendas(); + pecv.setTipoPtovta(tpv); + pecv.setActivo(Boolean.TRUE); + pecv.setPricingEspecifico(pricingEspecifico); + pricingListEspCanalVenda.removeItem(pecv); + pricingEspecificoADesativarCanal.add(pecv); + pricingEspecifico.getPricingEspecificoCanalVendasList().get(pricingEspecifico.getPricingEspecificoCanalVendasList().indexOf(pecv)).setActivo(Boolean.FALSE); + } else if(pricingListEspCanalVenda.getSize()>1 && pricingCanal.getTipoPtovta().getTipoptovtaId() == -1 ){ + for (PricingEspecificoCanalVendas pricingEspecificoCanalVendas : peoList) { + if(pricingEspecificoCanalVendas.getTipoPtovta().getTipoptovtaId() != -1){ + pricingListEspCanalVenda.removeItem(pricingEspecificoCanalVendas); + } + } + + } } - closeWindow(); } public void onClick$btnApagarPricingEspCanal(Event ev) throws Exception { 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 b7cb02121..bb773456e 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 @@ -182,14 +182,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer pricingListEspCanal.setData(pricingEspecifico.getPricingEspecificoCanalListActivos()); - pricingListEspCanal.addEventListener("onDoubleClick", new EventListener() { - @Override - public void onEvent(Event event) throws Exception { - PricingEspecificoCanalVendas especificoCanalVendas = (PricingEspecificoCanalVendas) pricingListEspCanal.getSelected(); - verPricingEspecificoCanal(especificoCanalVendas, true); - } - }); } fechaInicio.focus(); @@ -227,6 +220,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer args.put("pricingEspecificoCanal", especificoCanalVendas); args.put("isEdicao", isEdicao); args.put("pricingListEspCanal", pricingListEspCanal); + args.put("pricingEspecificoADesativarCanal",pricingEspecificoADesativarCanal); openWindow("/gui/pricing/editarPricingEspecificoCanalVendas.zul", Labels.getLabel("editarPricingController.window.title"), args, MODAL); @@ -295,7 +289,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); } else { - int resp = Messagebox.show(Labels.getLabel("editarPricingEspecificoAgenciaController.MSG.borrarPergunta"), + int resp = Messagebox.show(Labels.getLabel("editarPricingEspecificoCanalVendaController.MSG.borrarPergunta"), Labels.getLabel("busquedaPricingEspecificoController.window.title"), Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); if (resp == Messagebox.YES) { @@ -407,8 +401,22 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer } List pecv = (List) pricingListEspCanal.getModel(); List pea = (List) pricingListEspAgencia.getModel(); + + pricingEspecifico.setPricingEspecificoAgenciasList(pea); pricingEspecifico.setPricingEspecificoCanalVendasList(pecv); + + if(pecv.size()>1){ + TipoPuntoVenta tpv = puntoVentaService.obtenerID(new Short("-1")); + PricingEspecificoCanalVendas canalTODOS = new PricingEspecificoCanalVendas(); + canalTODOS.setTipoPtovta(tpv); + canalTODOS.setActivo(Boolean.TRUE); + canalTODOS.setPricingEspecifico(pricingEspecifico); + if(pricingEspecifico.getPricingEspecificoCanalVendasList().contains(canalTODOS)){ + pricingEspecifico.getPricingEspecificoCanalVendasList().get(pricingEspecifico.getPricingEspecificoCanalVendasList().indexOf(canalTODOS)).setActivo(Boolean.FALSE); + } + } + if (pricingEspecifico.getCategoria() == null) { diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 8e632b19f..eb7c626ec 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -3275,6 +3275,7 @@ editarPricingEspecificoOcupacionController.ocupacionInicial.label=Ocupação Ini editarPricingEspecificoOcupacionController.ocupacionFinal.label=Ocupação Final editarPricingEspecificoOcupacionController.MSG.borrarPergunta = Deseja Eliminar Ocupação? editarPricingEspecificoAgenciaController.MSG.borrarPergunta = Deseja Eliminar Agência? +editarPricingEspecificoCanalVendaController.MSG.borrarPergunta = Deseja Eliminar Canal Venda? editarPricingEspecificoOcupacionController.ocupacao.label = Ocupação editarPricingEspecificoOcupacionController.agencia.label = Agência editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoOcupacion = Ocupação não informado. diff --git a/web/gui/pricing/editarPricingEspecifico.zul b/web/gui/pricing/editarPricingEspecifico.zul index e8f37036e..04277ff71 100644 --- a/web/gui/pricing/editarPricingEspecifico.zul +++ b/web/gui/pricing/editarPricingEspecifico.zul @@ -267,7 +267,7 @@ tooltiptext="${c:l('editarPricingController.btnApagarAgencia.tooltiptext')}" /> -