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

Tempo: 03 horas

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@43707 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2015-05-05 19:10:27 +00:00
parent 4880a1cfff
commit 9dc27f02a0
1 changed files with 225 additions and 233 deletions

View File

@ -16,7 +16,6 @@ import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Button;
import org.zkoss.zul.Intbox; import org.zkoss.zul.Intbox;
import org.zkoss.zul.Radio; import org.zkoss.zul.Radio;
@ -47,16 +46,10 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
private Intbox ocupacioninicial; private Intbox ocupacioninicial;
private Intbox ocupacionfinal; private Intbox ocupacionfinal;
private Intbox cantdiasmin; private Intbox cantdiasmin;
private Intbox cantdiasmax;
private Intbox cantasientosmin;
private Intbox cantasientosmax;
private MyTextboxDecimal porcentaje; private MyTextboxDecimal porcentaje;
private MyTextboxDecimal importe;
private List<PricingOcupaAntecipa> lsPricingOcupaAntecipa; private List<PricingOcupaAntecipa> lsPricingOcupaAntecipa;
private Radio rdPoltronas;
private Radio rdOcupacao; private Radio rdOcupacao;
private Boolean hasNoElements; private Boolean hasNoElements;
private Button btnAdicionarOcupaAntecipa;
private List<PricingOcupaAntecipa> argList; private List<PricingOcupaAntecipa> argList;
private Pricing pricing; private Pricing pricing;
@ -64,29 +57,19 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
private ConstraintPorcentagem ct; private ConstraintPorcentagem ct;
private static Logger log = Logger.getLogger(EditarPricingOcupaAntecipaController.class); private static Logger log = Logger.getLogger(EditarPricingOcupaAntecipaController.class);
@Override @Override
public void doAfterCompose(Component comp) throws Exception { public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp); super.doAfterCompose(comp);
/* /*
* Transformar a tabela (valores de exemplo) : * Transformar a tabela (valores de exemplo) :
* *
* Qtd. Dias Qtd. Dias Ocup. Min. Ocup. Máx. Porcentagem * Qtd. Dias Qtd. Dias Ocup. Min. Ocup. Máx. Porcentagem Minimo Máximo
* Minimo Máximo
* *
* 12 * 0% 20% -30% * 12 * 0% 20% -30% 12 * 21% 80% -15% 12 * 81% 90% -10% 8 11 0% 80% -15% 8 11 81% 90% -10% 4 7 0% 90% -10%
* 12 * 21% 80% -15%
* 12 * 81% 90% -10%
* 8 11 0% 80% -15%
* 8 11 81% 90% -10%
* 4 7 0% 90% -10%
* *
* Na forma: * Na forma:
* *
* 12 dias ----> 30% (ocupação de 0% -> 20%) * 12 dias ----> 30% (ocupação de 0% -> 20%) 08 dias ----> 15% (ocupação de 21% -> 80%) 04 dias ----> 10% (ocupação de 81% -> 90%)
* 08 dias ----> 15% (ocupação de 21% -> 80%)
* 04 dias ----> 10% (ocupação de 81% -> 90%)
*
*/ */
argList = (List<PricingOcupaAntecipa>) Executions.getCurrent().getArg().get("clasePricingOcupaAntecipaList"); argList = (List<PricingOcupaAntecipa>) Executions.getCurrent().getArg().get("clasePricingOcupaAntecipaList");
@ -98,6 +81,7 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
try { try {
Collections.sort(argList, Collections.reverseOrder(new PricingOcupaAntecipaComparator())); Collections.sort(argList, Collections.reverseOrder(new PricingOcupaAntecipaComparator()));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
Messagebox.show(Labels.getLabel("editarPricingOcupaAntecipaAutomaticoController.MSG.FormatoDados"), Messagebox.show(Labels.getLabel("editarPricingOcupaAntecipaAutomaticoController.MSG.FormatoDados"),
Labels.getLabel("editarPricingController.windowOcupacion.title"), Labels.getLabel("editarPricingController.windowOcupacion.title"),
Messagebox.OK, Messagebox.EXCLAMATION); Messagebox.OK, Messagebox.EXCLAMATION);
@ -108,10 +92,14 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
int diaMin = -1; int diaMin = -1;
for (PricingOcupaAntecipa p : argList) { for (PricingOcupaAntecipa p : argList) {
if (p.getCantdiasmin() != null) {
if (diaMin != p.getCantdiasmin()) { if (diaMin != p.getCantdiasmin()) {
lsPricingOcupaAntecipa.add(p); lsPricingOcupaAntecipa.add(p);
diaMin = p.getCantdiasmin(); diaMin = p.getCantdiasmin();
} }
} else {
lsPricingOcupaAntecipa.add(p);
}
} }
// se TabelaMaior.size mod TabelaMenor.size = 0, então há possibilidade de transformar a maior na menor. // se TabelaMaior.size mod TabelaMenor.size = 0, então há possibilidade de transformar a maior na menor.
@ -183,8 +171,12 @@ 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) {
return pricing.getCantdiasmin(). if (pricing.getCantdiasmin() != null && outroPricing.getCantdiasmin() != null) {
compareTo(outroPricing.getCantdiasmin()); return pricing.getCantdiasmin().compareTo(outroPricing.getCantdiasmin());
} else if (pricing.getOcupacioninicial() != null && outroPricing.getOcupacioninicial() != null) {
return pricing.getOcupacioninicial().compareTo(outroPricing.getOcupacioninicial());
}
return -1;
} }
} }