0004784: Pricing - Nova tela

Ao cadastrar uma ocupação com a ordem inversa dos dados (4, 8 e 12 dias), ocorre um erro na geração.
Foi feita uma alteração no código para poder cadastrar as ocupações independente da ordem.

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@32936 d1611594-4594-4d17-8e1d-87c2c4800839
master
leonardo 2014-01-06 14:10:57 +00:00
parent 0abfd7585a
commit 6c4a97498b
1 changed files with 20 additions and 19 deletions

View File

@ -36,6 +36,9 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingOcupaAnt
public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private final int CANTDIASMAXDEFAULT = 365;
@Autowired
private PricingOcupaAntecipaService pricingOcupaAntecipaService;
private PricingOcupaAntecipa pricingOcupaAntecipa;
@ -140,6 +143,7 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
public void onClick$btnAdicionarOcupaAntecipa(Event ev) throws Exception {
List<PricingOcupaAntecipa> parentList = new ArrayList<PricingOcupaAntecipa>();
calculaCantDiasMax();
try {
apagarRegistros();
for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++){
@ -184,28 +188,25 @@ public class EditarPricingOcupaAntecipaAutomaticoController extends MyGenericFor
}
}
public void onClick$btnlancar(Event ev) throws Exception {
private void calculaCantDiasMax(){
Collections.sort(lsPricingOcupaAntecipa, Collections.reverseOrder(new PricingOcupaAntecipaComparator()));
PricingOcupaAntecipa poa = new PricingOcupaAntecipa();
poa.setPricing(pricing);
poa.setCantdiasmin(cantdiasmin.getValue());
boolean hayCantDiasMax = false;
if (lsPricingOcupaAntecipa.isEmpty() || lsPricingOcupaAntecipa.get(0).getCantdiasmin() == cantdiasmin.getValue()){
// TODO verificar qual vai ser o valor do cantDiasMax
poa.setCantdiasmax(365);
} else {
for (PricingOcupaAntecipa p : lsPricingOcupaAntecipa) {
if (p.getCantdiasmin() == poa.getCantdiasmin()){
poa.setCantdiasmax(p.getCantdiasmax());
hayCantDiasMax = true;
break;
}
}
if (!hayCantDiasMax){
poa.setCantdiasmax(lsPricingOcupaAntecipa.get(lsPricingOcupaAntecipa.size() -1).getCantdiasmin() -1);
PricingOcupaAntecipa poa;
int cantDiasMinAnterior = lsPricingOcupaAntecipa.get(0).getCantdiasmin();
for (int i = 0; i < lsPricingOcupaAntecipa.size(); i++){
poa = lsPricingOcupaAntecipa.get(i);
if (i == 0){
poa.setCantdiasmax(CANTDIASMAXDEFAULT);
} else {
poa.setCantdiasmax(cantDiasMinAnterior - 1);
cantDiasMinAnterior = poa.getCantdiasmin();
}
}
}
public void onClick$btnlancar(Event ev) throws Exception {
PricingOcupaAntecipa poa = new PricingOcupaAntecipa();
poa.setPricing(pricing);
poa.setCantdiasmin(cantdiasmin.getValue());
poa.setPorcentaje(porcentaje.getValueDecimal());
if (rdOcupacao.isChecked()){
poa.setOcupacioninicial(new BigDecimal(ocupacioninicial.getValue()));