fix Bug # 9072 - foi alterada a logica de inserção e remoção do canal de venda

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@73221 d1611594-4594-4d17-8e1d-87c2c4800839
master
bruno.neves 2017-08-28 22:52:44 +00:00
parent f7a5cc9a31
commit 9dee1d7f74
4 changed files with 46 additions and 27 deletions

View File

@ -36,7 +36,7 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa
private MyListbox pricingListEspCanalVenda; private MyListbox pricingListEspCanalVenda;
private List<PricingEspecificoCanalVendas> lspricingCanal; private List<PricingEspecificoCanalVendas> lspricingCanal;
private List<TipoPuntoVenta> lsPtovata; private List<TipoPuntoVenta> lsPtovata;
private List<PricingEspecificoCanalVendas> pricingEspecificoADesativarCanal;
public List<TipoPuntoVenta> getLsPtovata() { public List<TipoPuntoVenta> getLsPtovata() {
return lsPtovata; return lsPtovata;
} }
@ -60,6 +60,7 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa
public void doAfterCompose(Component comp) throws Exception { public void doAfterCompose(Component comp) throws Exception {
lsPtovata = puntoVentaService.obtenerTodos(); lsPtovata = puntoVentaService.obtenerTodos();
pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico");
if(pricingEspecifico.getPricingespecificoId() != null){ if(pricingEspecifico.getPricingespecificoId() != null){
pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId()); pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId());
lspricingCanal = pricingEspecifico.getPricingEspecificoCanalVendasList(); lspricingCanal = pricingEspecifico.getPricingEspecificoCanalVendasList();
@ -67,6 +68,7 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa
} }
pricingEspecificoCanal = (PricingEspecificoCanalVendas) Executions.getCurrent().getArg().get("pricingEspecificoCanal"); pricingEspecificoCanal = (PricingEspecificoCanalVendas) Executions.getCurrent().getArg().get("pricingEspecificoCanal");
pricingEspecificoADesativarCanal = (List<PricingEspecificoCanalVendas>) Executions.getCurrent().getArg().get("pricingEspecificoADesativarCanal");
pricingListEspCanalVenda = (MyListbox) Executions.getCurrent().getArg().get("pricingListEspCanal"); pricingListEspCanalVenda = (MyListbox) Executions.getCurrent().getArg().get("pricingListEspCanal");
isEdicao = (Boolean) Executions.getCurrent().getArg().get("isEdicao"); isEdicao = (Boolean) Executions.getCurrent().getArg().get("isEdicao");
@ -76,7 +78,6 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa
} }
public void onClick$btnAdicionarPricingEspCanal(Event ev) throws Exception { public void onClick$btnAdicionarPricingEspCanal(Event ev) throws Exception {
PricingEspecificoCanalVendas pricingCanal = new PricingEspecificoCanalVendas((TipoPuntoVenta)cmbPtovta.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId()); PricingEspecificoCanalVendas pricingCanal = new PricingEspecificoCanalVendas((TipoPuntoVenta)cmbPtovta.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId());
@ -89,14 +90,14 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa
Hibernate.initialize(pricingEspecifico); Hibernate.initialize(pricingEspecifico);
Hibernate.initialize(pricingEspecificoCanal); Hibernate.initialize(pricingEspecificoCanal);
if (pricingEspecificoCanal.getPricingEspecificoCanalId() != null && peoList.contains(pricingCanal)) { if (peoList.contains(pricingCanal)) {
int index = peoList.indexOf(pricingCanal); int index = peoList.indexOf(pricingCanal);
if(index >= 0) { if(index >= 0) {
peoList.set(index, pricingCanal); peoList.set(index, pricingCanal);
} }
} else { } else {
peoList.add(pricingCanal); peoList.add(pricingCanal);
}
if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) { if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) {
pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue()); pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue());
} }
@ -104,15 +105,24 @@ public class EditarPricingEspecificoCanalVendasController extends MyGenericForwa
pricingEspecificoCanal.setActivo(Boolean.TRUE); pricingEspecificoCanal.setActivo(Boolean.TRUE);
pricingEspecifico.setPricingEspecificoCanalVendasList(peoList); pricingEspecifico.setPricingEspecificoCanalVendasList(peoList);
pricingListEspCanalVenda.addItemNovo(pricingCanal); pricingListEspCanalVenda.addItemNovo(pricingCanal);
if(pricingListEspCanalVenda.getSize()>1){ if(pricingListEspCanalVenda.getSize()>1 && pricingCanal.getTipoPtovta().getTipoptovtaId() != -1){
TipoPuntoVenta tpv = puntoVentaService.obtenerID(new Short("-1")); TipoPuntoVenta tpv = puntoVentaService.obtenerID(new Short("-1"));
PricingEspecificoCanalVendas pecv = new PricingEspecificoCanalVendas(); PricingEspecificoCanalVendas pecv = new PricingEspecificoCanalVendas();
pecv.setTipoPtovta(tpv); pecv.setTipoPtovta(tpv);
pecv.setActivo(Boolean.TRUE); pecv.setActivo(Boolean.TRUE);
pecv.setPricingEspecifico(pricingEspecifico); pecv.setPricingEspecifico(pricingEspecifico);
pricingListEspCanalVenda.removeItem(pecv); 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(); closeWindow();
} }
public void onClick$btnApagarPricingEspCanal(Event ev) throws Exception { public void onClick$btnApagarPricingEspCanal(Event ev) throws Exception {

View File

@ -182,14 +182,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
pricingListEspCanal.setData(pricingEspecifico.getPricingEspecificoCanalListActivos()); 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(); fechaInicio.focus();
@ -227,6 +220,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
args.put("pricingEspecificoCanal", especificoCanalVendas); args.put("pricingEspecificoCanal", especificoCanalVendas);
args.put("isEdicao", isEdicao); args.put("isEdicao", isEdicao);
args.put("pricingListEspCanal", pricingListEspCanal); args.put("pricingListEspCanal", pricingListEspCanal);
args.put("pricingEspecificoADesativarCanal",pricingEspecificoADesativarCanal);
openWindow("/gui/pricing/editarPricingEspecificoCanalVendas.zul", openWindow("/gui/pricing/editarPricingEspecificoCanalVendas.zul",
Labels.getLabel("editarPricingController.window.title"), args, MODAL); Labels.getLabel("editarPricingController.window.title"), args, MODAL);
@ -295,7 +289,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
Labels.getLabel("editarPricingController.window.title"), Labels.getLabel("editarPricingController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION); Messagebox.OK, Messagebox.EXCLAMATION);
} else { } else {
int resp = Messagebox.show(Labels.getLabel("editarPricingEspecificoAgenciaController.MSG.borrarPergunta"), int resp = Messagebox.show(Labels.getLabel("editarPricingEspecificoCanalVendaController.MSG.borrarPergunta"),
Labels.getLabel("busquedaPricingEspecificoController.window.title"), Labels.getLabel("busquedaPricingEspecificoController.window.title"),
Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (resp == Messagebox.YES) { if (resp == Messagebox.YES) {
@ -407,9 +401,23 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
} }
List<PricingEspecificoCanalVendas> pecv = (List<PricingEspecificoCanalVendas>) pricingListEspCanal.getModel(); List<PricingEspecificoCanalVendas> pecv = (List<PricingEspecificoCanalVendas>) pricingListEspCanal.getModel();
List<PricingEspecificoAgencia> pea = (List<PricingEspecificoAgencia>) pricingListEspAgencia.getModel(); List<PricingEspecificoAgencia> pea = (List<PricingEspecificoAgencia>) pricingListEspAgencia.getModel();
pricingEspecifico.setPricingEspecificoAgenciasList(pea); pricingEspecifico.setPricingEspecificoAgenciasList(pea);
pricingEspecifico.setPricingEspecificoCanalVendasList(pecv); 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) { if (pricingEspecifico.getCategoria() == null) {
Messagebox.show(Labels.getLabel("editarPricingController.MSG.categoria"), Messagebox.show(Labels.getLabel("editarPricingController.MSG.categoria"),

View File

@ -3275,6 +3275,7 @@ editarPricingEspecificoOcupacionController.ocupacionInicial.label=Ocupação Ini
editarPricingEspecificoOcupacionController.ocupacionFinal.label=Ocupação Final editarPricingEspecificoOcupacionController.ocupacionFinal.label=Ocupação Final
editarPricingEspecificoOcupacionController.MSG.borrarPergunta = Deseja Eliminar Ocupação? editarPricingEspecificoOcupacionController.MSG.borrarPergunta = Deseja Eliminar Ocupação?
editarPricingEspecificoAgenciaController.MSG.borrarPergunta = Deseja Eliminar Agência? editarPricingEspecificoAgenciaController.MSG.borrarPergunta = Deseja Eliminar Agência?
editarPricingEspecificoCanalVendaController.MSG.borrarPergunta = Deseja Eliminar Canal Venda?
editarPricingEspecificoOcupacionController.ocupacao.label = Ocupação editarPricingEspecificoOcupacionController.ocupacao.label = Ocupação
editarPricingEspecificoOcupacionController.agencia.label = Agência editarPricingEspecificoOcupacionController.agencia.label = Agência
editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoOcupacion = Ocupação não informado. editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoOcupacion = Ocupação não informado.

View File

@ -267,7 +267,7 @@
tooltiptext="${c:l('editarPricingController.btnApagarAgencia.tooltiptext')}" /> tooltiptext="${c:l('editarPricingController.btnApagarAgencia.tooltiptext')}" />
</hbox> </hbox>
</toolbar> </toolbar>
<listbox id="pricingListEspCanal" <listbox id="pricingListEspCanal" height="500px"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false"> multiple="false">
<listhead sizable="true"> <listhead sizable="true">