lucas.calixto 2017-03-16 19:13:16 +00:00
parent 4e4cc81826
commit e81103a0d6
1 changed files with 19 additions and 19 deletions

View File

@ -91,7 +91,7 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
lsPricingOcupaAntecipa = new ArrayList<PricingOcupaAntecipa>(); lsPricingOcupaAntecipa = new ArrayList<PricingOcupaAntecipa>();
try { try {
Collections.sort(argList, Collections.reverseOrder(new PricingOcupaAntecipaComparator())); Collections.sort(argList, new PricingOcupaAntecipaComparator());
} catch (Exception e) { } catch (Exception e) {
Messagebox.show(Labels.getLabel("editarPricingOcupaAntecipaAutomaticoController.MSG.FormatoDados"), Messagebox.show(Labels.getLabel("editarPricingOcupaAntecipaAutomaticoController.MSG.FormatoDados"),
Labels.getLabel("editarPricingController.windowOcupacion.title"), Labels.getLabel("editarPricingController.windowOcupacion.title"),
@ -138,31 +138,33 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
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>();
Collections.sort(lsPricingOcupaAntecipa, new PricingOcupaAntecipaComparator());
calculaCantDiasMax(); calculaCantDiasMax();
Integer cantDiasMin = 0; Integer cantDiasMin = 0;
try { try {
apagarRegistros(); apagarRegistros();
for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++) { 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()){ if(rdOcupacao.isChecked()){
lsPricingOcupaAntecipa.get(i).setOcupacioninicial(BigDecimal.ZERO); pricingOcupaAntecipa.setOcupacioninicial(BigDecimal.ZERO);
}else{ }else{
lsPricingOcupaAntecipa.get(i).setCantasientosmin(0); pricingOcupaAntecipa.setCantasientosmin(0);
} }
} }
if(lsPricingOcupaAntecipa.get(i).getOcupacioninicial() == null){ if(pricingOcupaAntecipa.getOcupacioninicial() == null){
lsPricingOcupaAntecipa.get(i).setOcupacioninicial(BigDecimal.ZERO); pricingOcupaAntecipa.setOcupacioninicial(BigDecimal.ZERO);
} }
if (lsPricingOcupaAntecipa.get(i).getPricingocupaantecipaId() == null) { if (pricingOcupaAntecipa.getPricingocupaantecipaId() == null) {
pricingOcupaAntecipaService.suscribir(lsPricingOcupaAntecipa.get(i)); pricingOcupaAntecipaService.suscribir(pricingOcupaAntecipa);
} else { } 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)){ if(validaPricingOcupa(i)){
continue; continue;
} }
@ -171,8 +173,8 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
p.setPricingocupaantecipaId(lsPricingOcupaAntecipa.get(j).getPricingocupaantecipaId()); p.setPricingocupaantecipaId(lsPricingOcupaAntecipa.get(j).getPricingocupaantecipaId());
p.setCantasientosmax(lsPricingOcupaAntecipa.get(j).getCantasientosmax()); p.setCantasientosmax(lsPricingOcupaAntecipa.get(j).getCantasientosmax());
p.setCantasientosmin(lsPricingOcupaAntecipa.get(j).getCantasientosmin()); p.setCantasientosmin(lsPricingOcupaAntecipa.get(j).getCantasientosmin());
p.setCantdiasmax(lsPricingOcupaAntecipa.get(i).getCantdiasmax()); p.setCantdiasmax(pricingOcupaAntecipa.getCantdiasmax());
p.setCantdiasmin(lsPricingOcupaAntecipa.get(i).getCantdiasmin()); p.setCantdiasmin(pricingOcupaAntecipa.getCantdiasmin());
p.setOcupacionfinal(lsPricingOcupaAntecipa.get(j).getOcupacionfinal()); p.setOcupacionfinal(lsPricingOcupaAntecipa.get(j).getOcupacionfinal());
p.setOcupacioninicial(lsPricingOcupaAntecipa.get(j).getOcupacioninicial()); p.setOcupacioninicial(lsPricingOcupaAntecipa.get(j).getOcupacioninicial());
p.setPorcentaje(lsPricingOcupaAntecipa.get(j).getPorcentaje()); p.setPorcentaje(lsPricingOcupaAntecipa.get(j).getPorcentaje());
@ -199,17 +201,15 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
private class PricingOcupaAntecipaComparator implements Comparator<PricingOcupaAntecipa> { private class PricingOcupaAntecipaComparator implements Comparator<PricingOcupaAntecipa> {
public int compare(PricingOcupaAntecipa pricing, PricingOcupaAntecipa outroPricing) { public int compare(PricingOcupaAntecipa pricing, PricingOcupaAntecipa outroPricing) {
if(pricing.getCantdiasmin().compareTo(outroPricing.getCantdiasmin()) == 0){ Integer cantDiasMinComp = outroPricing.getCantdiasmin().compareTo(pricing.getCantdiasmin());
//Compara o valor absoluto do numero para ordenar mesmo se a porcentagem for negativa. if (cantDiasMinComp != 0) {
return pricing.getPorcentaje().abs().compareTo(outroPricing.getPorcentaje().abs()); return cantDiasMinComp;
} }
return pricing.getCantdiasmin(). return pricing.getCantasientosmin().compareTo(outroPricing.getCantasientosmin());
compareTo(outroPricing.getCantdiasmin());
} }
} }
private void calculaCantDiasMax() { private void calculaCantDiasMax() {
Collections.sort(lsPricingOcupaAntecipa, Collections.reverseOrder(new PricingOcupaAntecipaComparator()));
PricingOcupaAntecipa poa; PricingOcupaAntecipa poa;
int cantDiasMinAnterior = lsPricingOcupaAntecipa.get(0).getCantdiasmin(); int cantDiasMinAnterior = lsPricingOcupaAntecipa.get(0).getCantdiasmin();
int cantDiasMaxAnterior = CANTDIASMAXDEFAULT; int cantDiasMaxAnterior = CANTDIASMAXDEFAULT;