fixed bug #7142 - correções tela de pricing específico

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@53678 d1611594-4594-4d17-8e1d-87c2c4800839
master
frederico 2016-03-08 14:05:46 +00:00
parent 7cb2f0857e
commit cb839a1426
2 changed files with 63 additions and 41 deletions

View File

@ -6,7 +6,6 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.pricing;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
@ -43,6 +42,7 @@ import com.rjconsultores.ventaboletos.service.CorridaCtrlService;
import com.rjconsultores.ventaboletos.service.MarcaService; import com.rjconsultores.ventaboletos.service.MarcaService;
import com.rjconsultores.ventaboletos.service.MonedaService; import com.rjconsultores.ventaboletos.service.MonedaService;
import com.rjconsultores.ventaboletos.service.ParadaService; import com.rjconsultores.ventaboletos.service.ParadaService;
import com.rjconsultores.ventaboletos.service.PricingEspecificoOcupacionService;
import com.rjconsultores.ventaboletos.service.PricingEspecificoService; import com.rjconsultores.ventaboletos.service.PricingEspecificoService;
import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -77,6 +77,9 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
private MonedaService monedaService; private MonedaService monedaService;
@Autowired @Autowired
private CorridaCtrlService corridaCtrlService; private CorridaCtrlService corridaCtrlService;
@Autowired
private PricingEspecificoOcupacionService pricingEspecificoOcupacionService;
private PricingEspecifico pricingEspecifico; private PricingEspecifico pricingEspecifico;
private MyListbox pricingList; private MyListbox pricingList;
private Combobox cmbPtovta; private Combobox cmbPtovta;
@ -98,6 +101,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
private Textbox tarifaAbierto; private Textbox tarifaAbierto;
private MyListbox pricingListEspOcupacion; private MyListbox pricingListEspOcupacion;
private List<PricingEspecificoOcupacion> pricingEspecificoADesativar;
@Override @Override
public void doAfterCompose(Component comp) throws Exception { public void doAfterCompose(Component comp) throws Exception {
@ -108,6 +112,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
lsclaseServicio = claseServicioService.obtenerTodos(); lsclaseServicio = claseServicioService.obtenerTodos();
pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico");
pricingList = (MyListbox) Executions.getCurrent().getArg().get("pricingList"); pricingList = (MyListbox) Executions.getCurrent().getArg().get("pricingList");
pricingEspecificoADesativar = new ArrayList<PricingEspecificoOcupacion>();
super.doAfterCompose(comp); super.doAfterCompose(comp);
@ -134,7 +139,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
@Override @Override
public void onEvent(Event event) throws Exception { public void onEvent(Event event) throws Exception {
PricingEspecificoOcupacion especificoOcupacion = (PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected(); PricingEspecificoOcupacion especificoOcupacion = (PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected();
verPricingEspecificoOcupacion(especificoOcupacion); verPricingEspecificoOcupacion(especificoOcupacion, true);
} }
}); });
} }
@ -143,11 +148,12 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
} }
@SuppressWarnings({ "unchecked", "rawtypes" }) @SuppressWarnings({ "unchecked", "rawtypes" })
public void verPricingEspecificoOcupacion(PricingEspecificoOcupacion especificoOcupacion) { public void verPricingEspecificoOcupacion(PricingEspecificoOcupacion especificoOcupacion, Boolean isEdicao) {
Map args = new HashMap(); Map args = new HashMap();
args.put("pricingEspecifico", pricingEspecifico); args.put("pricingEspecifico", pricingEspecifico);
args.put("pricingEspecificoOcupacion", especificoOcupacion); args.put("pricingEspecificoOcupacion", especificoOcupacion);
args.put("isEdicao", isEdicao);
args.put("pricingListEspOcupacion", pricingListEspOcupacion); args.put("pricingListEspOcupacion", pricingListEspOcupacion);
openWindow("/gui/pricing/editarPricingEspecificoOcupacion.zul", openWindow("/gui/pricing/editarPricingEspecificoOcupacion.zul",
@ -155,7 +161,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
} }
public void onClick$btnNovoPricingEspOcup(Event ev) throws InterruptedException { public void onClick$btnNovoPricingEspOcup(Event ev) throws InterruptedException {
verPricingEspecificoOcupacion(new PricingEspecificoOcupacion()); verPricingEspecificoOcupacion(new PricingEspecificoOcupacion(), false);
} }
public void onClick$btnApagarPricingEspOcup(Event ev) throws InterruptedException { public void onClick$btnApagarPricingEspOcup(Event ev) throws InterruptedException {
@ -171,16 +177,13 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
PricingEspecificoOcupacion especificoOcupacion = (PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected(); PricingEspecificoOcupacion especificoOcupacion = (PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected();
if (especificoOcupacion.getPricingEspecificoOcupacionId() != null) { if (especificoOcupacion.getPricingEspecificoOcupacionId() != null) {
especificoOcupacion.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
especificoOcupacion.setFecmodif(Calendar.getInstance().getTime());
especificoOcupacion.setActivo(false); especificoOcupacion.setActivo(false);
pricingListEspOcupacion.removeItem(especificoOcupacion);
pricingListEspOcupacion.updateItem(especificoOcupacion); pricingEspecificoADesativar.add(especificoOcupacion);
} else { } else {
pricingListEspOcupacion.removeSelectedItem(); pricingListEspOcupacion.removeSelectedItem();
removerPricingOcupacion(especificoOcupacion); removerPricingOcupacion(especificoOcupacion);
} }
} }
} }
} }
@ -198,7 +201,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
} }
index++; index++;
} }
pricingEspecifico.getPricingEspecificoOcupacionsList().remove(index); pricingEspecifico.getPricingEspecificoOcupacionsList().remove(index - 1);
} }
} }
@ -206,7 +209,7 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
PricingEspecificoOcupacion especificoOcupacion = (PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected(); PricingEspecificoOcupacion especificoOcupacion = (PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected();
if (especificoOcupacion != null) { if (especificoOcupacion != null) {
verPricingEspecificoOcupacion(especificoOcupacion); verPricingEspecificoOcupacion(especificoOcupacion, true);
} else { } else {
try { try {
Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"), Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"),
@ -248,11 +251,16 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
fechaFin.getValue(); fechaFin.getValue();
tarifaAbierto.getValue(); tarifaAbierto.getValue();
pricingEspecifico.getPricingEspecificoOcupacionsList().clear();
for (Object o : pricingListEspOcupacion.getData()) {
PricingEspecificoOcupacion p = (PricingEspecificoOcupacion) o;
pricingEspecifico.getPricingEspecificoOcupacionsList().add(p);
}
if (pricingEspecifico.getTipoPtovta() == null) { if (pricingEspecifico.getTipoPtovta() == null) {
Messagebox.show(Labels.getLabel("editarPricingController.MSG.tipoPtoVta"), Messagebox.show(Labels.getLabel("editarPricingController.MSG.tipoPtoVta"),
Labels.getLabel("busquedaPricingEspecificoController.window.title"), Labels.getLabel("busquedaPricingEspecificoController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION); Messagebox.OK, Messagebox.EXCLAMATION);
return; return;
} }
@ -365,6 +373,8 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
pricingList.updateItem(pricingEspecifico); pricingList.updateItem(pricingEspecifico);
} }
desativarPricingEspecificoOcupacionDesativados();
Messagebox.show(Labels.getLabel("editarPricingController.MSG.suscribirOK"), Messagebox.show(Labels.getLabel("editarPricingController.MSG.suscribirOK"),
Labels.getLabel("busquedaPricingEspecificoController.window.title"), Labels.getLabel("busquedaPricingEspecificoController.window.title"),
Messagebox.OK, Messagebox.INFORMATION); Messagebox.OK, Messagebox.INFORMATION);
@ -379,8 +389,15 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
} }
private void desativarPricingEspecificoOcupacionDesativados() {
for (PricingEspecificoOcupacion p : pricingEspecificoADesativar) {
pricingEspecificoOcupacionService.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. * Valida se a lista de ocupações são subsequentes e se a primeira ocupação possui ocupação inicial igual a 1.
*
* @return * @return
* @throws InterruptedException * @throws InterruptedException
*/ */
@ -419,7 +436,8 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
pricingEspecificoOcupacionAnterior = sOcupacionInicial.get(i - 1); pricingEspecificoOcupacionAnterior = sOcupacionInicial.get(i - 1);
} }
if(pricingEspecificoOcupacionAnterior != null && pricingEspecificoOcupacionAnterior.getOcupacionfinal().add(new BigDecimal(1)).doubleValue() != pricingEspecificoOcupacion.getOcupacioninicial().doubleValue()) { if (pricingEspecificoOcupacionAnterior != null
&& pricingEspecificoOcupacionAnterior.getOcupacionfinal().add(new BigDecimal(1)).doubleValue() != pricingEspecificoOcupacion.getOcupacioninicial().doubleValue()) {
pricingEspecificoOcupacionNoSubsequente = true; pricingEspecificoOcupacionNoSubsequente = true;
break; break;
} }

View File

@ -1,6 +1,7 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.pricing; package com.rjconsultores.ventaboletos.web.gui.controladores.pricing;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@ -39,6 +40,8 @@ public class EditarPricingEspecificoOcupacionController extends MyGenericForward
private MyTextboxDecimal ocupacioninicial; private MyTextboxDecimal ocupacioninicial;
private MyTextboxDecimal ocupacionfinal; private MyTextboxDecimal ocupacionfinal;
private Boolean isEdicao;
@Autowired @Autowired
private PricingEspecificoService pricingEspecificoService; private PricingEspecificoService pricingEspecificoService;
@ -47,11 +50,12 @@ public class EditarPricingEspecificoOcupacionController extends MyGenericForward
pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico"); pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico");
pricingEspecificoOcupacion = (PricingEspecificoOcupacion) Executions.getCurrent().getArg().get("pricingEspecificoOcupacion"); pricingEspecificoOcupacion = (PricingEspecificoOcupacion) Executions.getCurrent().getArg().get("pricingEspecificoOcupacion");
pricingListEspOcupacion = (MyListbox) Executions.getCurrent().getArg().get("pricingListEspOcupacion"); pricingListEspOcupacion = (MyListbox) Executions.getCurrent().getArg().get("pricingListEspOcupacion");
isEdicao = (Boolean) Executions.getCurrent().getArg().get("isEdicao");
super.doAfterCompose(comp); super.doAfterCompose(comp);
if (pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() != null) {
Locale locale = new Locale("pt", "BR"); Locale locale = new Locale("pt", "BR");
if (pricingEspecificoOcupacion.getTarifa() != null) {
tarifa.setValue(pricingEspecificoOcupacion.getTarifa() == null ? StringUtils.EMPTY : BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(pricingEspecificoOcupacion.getTarifa(), locale)); tarifa.setValue(pricingEspecificoOcupacion.getTarifa() == null ? StringUtils.EMPTY : BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(pricingEspecificoOcupacion.getTarifa(), locale));
ocupacioninicial.setValue(pricingEspecificoOcupacion.getOcupacioninicial() == null ? StringUtils.EMPTY : BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(pricingEspecificoOcupacion.getOcupacioninicial(), 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)); ocupacionfinal.setValue(pricingEspecificoOcupacion.getOcupacionfinal() == null ? StringUtils.EMPTY : BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(pricingEspecificoOcupacion.getOcupacionfinal(), locale));
@ -101,7 +105,7 @@ public class EditarPricingEspecificoOcupacionController extends MyGenericForward
pricingEspecifico.setPricingEspecificoOcupacionsList(peoList); pricingEspecifico.setPricingEspecificoOcupacionsList(peoList);
if(pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() != null) { if(isEdicao){
pricingListEspOcupacion.updateItem(pricingEspecificoOcupacion); pricingListEspOcupacion.updateItem(pricingEspecificoOcupacion);
} else { } else {
pricingListEspOcupacion.addItemNovo(pricingEspecificoOcupacion); pricingListEspOcupacion.addItemNovo(pricingEspecificoOcupacion);