fixes bug#8657
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@66953 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
4e4cc81826
commit
e81103a0d6
|
@ -91,7 +91,7 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
|
|||
lsPricingOcupaAntecipa = new ArrayList<PricingOcupaAntecipa>();
|
||||
|
||||
try {
|
||||
Collections.sort(argList, Collections.reverseOrder(new PricingOcupaAntecipaComparator()));
|
||||
Collections.sort(argList, new PricingOcupaAntecipaComparator());
|
||||
} catch (Exception e) {
|
||||
Messagebox.show(Labels.getLabel("editarPricingOcupaAntecipaAutomaticoController.MSG.FormatoDados"),
|
||||
Labels.getLabel("editarPricingController.windowOcupacion.title"),
|
||||
|
@ -138,31 +138,33 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
|
|||
|
||||
public void onClick$btnAdicionarOcupaAntecipa(Event ev) throws Exception {
|
||||
List<PricingOcupaAntecipa> parentList = new ArrayList<PricingOcupaAntecipa>();
|
||||
Collections.sort(lsPricingOcupaAntecipa, new PricingOcupaAntecipaComparator());
|
||||
calculaCantDiasMax();
|
||||
Integer cantDiasMin = 0;
|
||||
try {
|
||||
apagarRegistros();
|
||||
for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++) {
|
||||
if(!cantDiasMin.equals(lsPricingOcupaAntecipa.get(i).getCantdiasmin())){
|
||||
PricingOcupaAntecipa pricingOcupaAntecipa = lsPricingOcupaAntecipa.get(i);
|
||||
if(!cantDiasMin.equals(pricingOcupaAntecipa.getCantdiasmin())){
|
||||
if(rdOcupacao.isChecked()){
|
||||
lsPricingOcupaAntecipa.get(i).setOcupacioninicial(BigDecimal.ZERO);
|
||||
pricingOcupaAntecipa.setOcupacioninicial(BigDecimal.ZERO);
|
||||
}else{
|
||||
lsPricingOcupaAntecipa.get(i).setCantasientosmin(0);
|
||||
pricingOcupaAntecipa.setCantasientosmin(0);
|
||||
}
|
||||
|
||||
}
|
||||
if(lsPricingOcupaAntecipa.get(i).getOcupacioninicial() == null){
|
||||
lsPricingOcupaAntecipa.get(i).setOcupacioninicial(BigDecimal.ZERO);
|
||||
if(pricingOcupaAntecipa.getOcupacioninicial() == null){
|
||||
pricingOcupaAntecipa.setOcupacioninicial(BigDecimal.ZERO);
|
||||
}
|
||||
if (lsPricingOcupaAntecipa.get(i).getPricingocupaantecipaId() == null) {
|
||||
pricingOcupaAntecipaService.suscribir(lsPricingOcupaAntecipa.get(i));
|
||||
if (pricingOcupaAntecipa.getPricingocupaantecipaId() == null) {
|
||||
pricingOcupaAntecipaService.suscribir(pricingOcupaAntecipa);
|
||||
} else {
|
||||
pricingOcupaAntecipaService.actualizacion(lsPricingOcupaAntecipa.get(i));
|
||||
pricingOcupaAntecipaService.actualizacion(pricingOcupaAntecipa);
|
||||
}
|
||||
|
||||
parentList.add(lsPricingOcupaAntecipa.get(i));
|
||||
parentList.add(pricingOcupaAntecipa);
|
||||
|
||||
cantDiasMin = lsPricingOcupaAntecipa.get(i).getCantdiasmin();
|
||||
cantDiasMin = pricingOcupaAntecipa.getCantdiasmin();
|
||||
if(validaPricingOcupa(i)){
|
||||
continue;
|
||||
}
|
||||
|
@ -171,8 +173,8 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
|
|||
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.setCantdiasmax(pricingOcupaAntecipa.getCantdiasmax());
|
||||
p.setCantdiasmin(pricingOcupaAntecipa.getCantdiasmin());
|
||||
p.setOcupacionfinal(lsPricingOcupaAntecipa.get(j).getOcupacionfinal());
|
||||
p.setOcupacioninicial(lsPricingOcupaAntecipa.get(j).getOcupacioninicial());
|
||||
p.setPorcentaje(lsPricingOcupaAntecipa.get(j).getPorcentaje());
|
||||
|
@ -199,17 +201,15 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
|
|||
|
||||
private class PricingOcupaAntecipaComparator implements Comparator<PricingOcupaAntecipa> {
|
||||
public int compare(PricingOcupaAntecipa pricing, PricingOcupaAntecipa outroPricing) {
|
||||
if(pricing.getCantdiasmin().compareTo(outroPricing.getCantdiasmin()) == 0){
|
||||
//Compara o valor absoluto do numero para ordenar mesmo se a porcentagem for negativa.
|
||||
return pricing.getPorcentaje().abs().compareTo(outroPricing.getPorcentaje().abs());
|
||||
Integer cantDiasMinComp = outroPricing.getCantdiasmin().compareTo(pricing.getCantdiasmin());
|
||||
if (cantDiasMinComp != 0) {
|
||||
return cantDiasMinComp;
|
||||
}
|
||||
return pricing.getCantdiasmin().
|
||||
compareTo(outroPricing.getCantdiasmin());
|
||||
return pricing.getCantasientosmin().compareTo(outroPricing.getCantasientosmin());
|
||||
}
|
||||
}
|
||||
|
||||
private void calculaCantDiasMax() {
|
||||
Collections.sort(lsPricingOcupaAntecipa, Collections.reverseOrder(new PricingOcupaAntecipaComparator()));
|
||||
PricingOcupaAntecipa poa;
|
||||
int cantDiasMinAnterior = lsPricingOcupaAntecipa.get(0).getCantdiasmin();
|
||||
int cantDiasMaxAnterior = CANTDIASMAXDEFAULT;
|
||||
|
|
Loading…
Reference in New Issue