From e81103a0d616c47fca00c4b24472926146a06418 Mon Sep 17 00:00:00 2001 From: "lucas.calixto" Date: Thu, 16 Mar 2017 19:13:16 +0000 Subject: [PATCH] fixes bug#8657 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@66953 d1611594-4594-4d17-8e1d-87c2c4800839 --- ...cingOcupaAntecipaAutomaticoController.java | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingOcupaAntecipaAutomaticoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingOcupaAntecipaAutomaticoController.java index 87476d75c..f1b010d78 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingOcupaAntecipaAutomaticoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingOcupaAntecipaAutomaticoController.java @@ -91,7 +91,7 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor lsPricingOcupaAntecipa = new ArrayList(); 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 parentList = new ArrayList(); + 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 { 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;