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 List<PricingEspecificoCanalVendas> lspricingCanal;
private List<TipoPuntoVenta> lsPtovata;
private List<PricingEspecificoCanalVendas> pricingEspecificoADesativarCanal;
public List<TipoPuntoVenta> 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<PricingEspecificoCanalVendas>) 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 {

View File

@ -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<PricingEspecificoCanalVendas> pecv = (List<PricingEspecificoCanalVendas>) pricingListEspCanal.getModel();
List<PricingEspecificoAgencia> pea = (List<PricingEspecificoAgencia>) 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) {

View File

@ -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.

View File

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