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