PRICING - Ocupação | Antecipação (fixes bug #5836)

Tempo: 04 horas

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@44144 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2015-05-19 17:55:00 +00:00
parent a4f2f7bdeb
commit b5864f75c6
1 changed files with 66 additions and 46 deletions

View File

@ -48,6 +48,7 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
private Intbox cantdiasmin;
private MyTextboxDecimal porcentaje;
private List<PricingOcupaAntecipa> lsPricingOcupaAntecipa;
private List<PricingOcupaAntecipa> novaListaPricingOcupaAntecipa;
private Radio rdOcupacao;
private Boolean hasNoElements;
@ -77,6 +78,7 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
pricing = (Pricing) Executions.getCurrent().getArg().get("pricing");
pricingOcupaAntecipaList.setItemRenderer(new RenderPricingOcupaAntecipa());
lsPricingOcupaAntecipa = new ArrayList<PricingOcupaAntecipa>();
novaListaPricingOcupaAntecipa = new ArrayList<PricingOcupaAntecipa>();
try {
Collections.sort(argList, Collections.reverseOrder(new PricingOcupaAntecipaComparator()));
@ -121,46 +123,59 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
}
}
private void apagarRegistros() throws BusinessException {
for (PricingOcupaAntecipa poa : argList) {
if ((poa.getOcupacioninicial() != null && poa.getOcupacioninicial().doubleValue() > 0) || (poa.getCantasientosmin() != null && poa.getCantasientosmin().intValue() > 0)) {
pricingOcupaAntecipaService.borrar(poa);
}
}
}
// private void apagarRegistros() throws BusinessException {
// for (PricingOcupaAntecipa poa : argList) {
// if ((poa.getOcupacioninicial() != null && poa.getOcupacioninicial().doubleValue() > 0) || (poa.getCantasientosmin() != null && poa.getCantasientosmin().intValue() > 0)) {
// pricingOcupaAntecipaService.borrar(poa);
// }
// }
// }
public void onClick$btnAdicionarOcupaAntecipa(Event ev) throws Exception {
List<PricingOcupaAntecipa> parentList = new ArrayList<PricingOcupaAntecipa>();
calculaCantDiasMax();
// List<PricingOcupaAntecipa> parentList = new ArrayList<PricingOcupaAntecipa>();
try {
apagarRegistros();
for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++) {
lsPricingOcupaAntecipa.get(i).setOcupacioninicial(new BigDecimal(0));
if (lsPricingOcupaAntecipa.get(i).getPricingocupaantecipaId() == null) {
pricingOcupaAntecipaService.suscribir(lsPricingOcupaAntecipa.get(i));
// calculaCantDiasMax();
// apagarRegistros();
for (PricingOcupaAntecipa poa : novaListaPricingOcupaAntecipa) {
if (poa.getPricingocupaantecipaId() == null) {
pricingOcupaAntecipaService.suscribir(poa);
} else {
pricingOcupaAntecipaService.actualizacion(lsPricingOcupaAntecipa.get(i));
pricingOcupaAntecipaService.actualizacion(poa);
}
parentList.add(lsPricingOcupaAntecipa.get(i));
for (int j = i + 1; j < lsPricingOcupaAntecipa.size(); j++) {
PricingOcupaAntecipa p = new PricingOcupaAntecipa();
p.setPricingocupaantecipaId(lsPricingOcupaAntecipa.get(j).getPricingocupaantecipaId());
p.setCantasientosmax(lsPricingOcupaAntecipa.get(j).getCantasientosmax());
p.setCantasientosmin(lsPricingOcupaAntecipa.get(j).getCantasientosmin());
p.setCantdiasmax(lsPricingOcupaAntecipa.get(i).getCantdiasmax());
p.setCantdiasmin(lsPricingOcupaAntecipa.get(i).getCantdiasmin());
p.setOcupacionfinal(lsPricingOcupaAntecipa.get(j).getOcupacionfinal());
p.setOcupacioninicial(lsPricingOcupaAntecipa.get(j).getOcupacioninicial());
p.setPorcentaje(lsPricingOcupaAntecipa.get(j).getPorcentaje());
p.setPricing(pricing);
pricingOcupaAntecipaService.suscribir(p);
parentList.add(p);
}
// lsPricingOcupaAntecipa.add(poa);
}
parentPricingOcupaAntecipaList.setData(parentList);
// for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++) {
// // lsPricingOcupaAntecipa.get(i).setOcupacioninicial(new BigDecimal(0));
// if (lsPricingOcupaAntecipa.get(i).getPricingocupaantecipaId() == null) {
// pricingOcupaAntecipaService.suscribir(lsPricingOcupaAntecipa.get(i));
// } else {
// pricingOcupaAntecipaService.actualizacion(lsPricingOcupaAntecipa.get(i));
// }
//
// // parentList.add(lsPricingOcupaAntecipa.get(i));
//
// for (int j = i + 1; j < lsPricingOcupaAntecipa.size(); j++) {
// PricingOcupaAntecipa p = new PricingOcupaAntecipa();
// p.setPricingocupaantecipaId(lsPricingOcupaAntecipa.get(j).getPricingocupaantecipaId());
// p.setCantasientosmax(lsPricingOcupaAntecipa.get(j).getCantasientosmax());
// p.setCantasientosmin(lsPricingOcupaAntecipa.get(j).getCantasientosmin());
// p.setCantdiasmax(lsPricingOcupaAntecipa.get(i).getCantdiasmax());
// p.setCantdiasmin(lsPricingOcupaAntecipa.get(i).getCantdiasmin());
// p.setOcupacionfinal(lsPricingOcupaAntecipa.get(j).getOcupacionfinal());
// p.setOcupacioninicial(lsPricingOcupaAntecipa.get(j).getOcupacioninicial());
// p.setPorcentaje(lsPricingOcupaAntecipa.get(j).getPorcentaje());
// p.setPricing(pricing);
// pricingOcupaAntecipaService.suscribir(p);
// parentList.add(p);
// }
// }
parentPricingOcupaAntecipaList.setData(lsPricingOcupaAntecipa);
closeWindow();
} catch (Exception e) {
Messagebox.show(e.getLocalizedMessage(),
@ -180,26 +195,29 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
}
}
private void calculaCantDiasMax() {
Collections.sort(lsPricingOcupaAntecipa, Collections.reverseOrder(new PricingOcupaAntecipaComparator()));
PricingOcupaAntecipa poa;
int cantDiasMinAnterior = lsPricingOcupaAntecipa.get(0).getCantdiasmin();
for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++) {
poa = lsPricingOcupaAntecipa.get(i);
if (i == 0) {
poa.setCantdiasmax(CANTDIASMAXDEFAULT);
} else {
poa.setCantdiasmax(cantDiasMinAnterior - 1);
cantDiasMinAnterior = poa.getCantdiasmin();
}
}
}
// private void calculaCantDiasMax() {
// Collections.sort(lsPricingOcupaAntecipa, Collections.reverseOrder(new PricingOcupaAntecipaComparator()));
// PricingOcupaAntecipa poa;
// int cantDiasMinAnterior = lsPricingOcupaAntecipa.get(0).getCantdiasmin();
// for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++) {
// poa = lsPricingOcupaAntecipa.get(i);
// if (i == 0) {
// poa.setCantdiasmax(CANTDIASMAXDEFAULT);
// } else {
// poa.setCantdiasmax(cantDiasMinAnterior - 1);
// cantDiasMinAnterior = poa.getCantdiasmin();
// }
// }
// }
public void onClick$btnlancar(Event ev) throws Exception {
PricingOcupaAntecipa poa = new PricingOcupaAntecipa();
poa.setPricing(pricing);
poa.setCantdiasmin(cantdiasmin.getValue());
poa.setPorcentaje(porcentaje.getValueDecimal());
poa.setCantdiasmax(CANTDIASMAXDEFAULT);
if (rdOcupacao.isChecked()) {
poa.setOcupacioninicial(new BigDecimal(ocupacioninicial.getValue()));
poa.setOcupacionfinal(new BigDecimal(ocupacionfinal.getValue()));
@ -208,6 +226,8 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
poa.setCantasientosmax(ocupacionfinal.getValue());
}
novaListaPricingOcupaAntecipa.add(poa);
lsPricingOcupaAntecipa.add(poa);
pricingOcupaAntecipaList.setData(lsPricingOcupaAntecipa);
}