From 8c1dc6fad3c5de9355bb347a812b3026484347a3 Mon Sep 17 00:00:00 2001 From: aristides Date: Fri, 9 Sep 2022 16:33:24 +0000 Subject: [PATCH] fixes bug#al-1334 qua: dev:Wallace git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@114108 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../tarifas/CalcularPeajeController.java | 46 +++++++++++++------ 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java index 5e5302a7e..845116457 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java @@ -105,9 +105,8 @@ public class CalcularPeajeController extends MyGenericForwardComposer { public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException { OrgaoConcedente orgao = null; - boolean orgaoListaRutasHasIndices = true; - List lsRutaAuxiliar = new ArrayList(); - if(!validaSeTodasAsRutasPossuiPeloMenosUmaSecuenciaComApracaDePedagio(lsRutaAuxiliar)) { + boolean orgaoListaRutasHasIndices = true; + if(!validaSeTodasAsRutasPossuiPeloMenosUmaSecuenciaComApracaDePedagio()) { return; }; if (!listSelectedRutas.isEmpty()) { @@ -122,13 +121,27 @@ public class CalcularPeajeController extends MyGenericForwardComposer { orgao = ((OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue()); } - if ((orgao != null && orgao.getIndicePeaje() != null) || (!listSelectedRutas.isEmpty() && orgaoListaRutasHasIndices) || !listSelectedCasetaPeaje.isEmpty() ) { + if ((orgao != null && orgao.getIndicePeaje() != null) || (!listSelectedRutas.isEmpty() && orgaoListaRutasHasIndices) || (!listSelectedCasetaPeaje.isEmpty() && orgaoListaRutasHasIndices)) { List lsRuta; if (!listSelectedRutas.isEmpty()) { lsRuta = listSelectedRutas; } else if (!listSelectedCasetaPeaje.isEmpty()){ lsRuta=rutaService.buscarPorOrgaoEcasetaPeaje(orgao,converterLiistDeCasetaPeajeEmArrayDeCasetaPeaje(listSelectedCasetaPeaje)); + orgao = null; + List lsRutaAux = new ArrayList(); + lsRutaAux.addAll(lsRuta); + for (Ruta r : lsRutaAux) { + if (r.getOrgaoConcedente().getIndicePeaje() == null) { + lsRuta.remove(r); + } + } + + if(!lsRutaAux.isEmpty() && lsRuta.isEmpty() ) { + lsIdsOrgSemIndice.add(lsRutaAux.get(0).getOrgaoConcedente().getOrgaoConcedenteId()); + retornoDoErro(orgao); + return; + } } else { lsRuta = rutaService.buscaRutasFromOrgao(orgao); @@ -187,21 +200,26 @@ public class CalcularPeajeController extends MyGenericForwardComposer { Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); } } else { - if (orgao != null) { - Messagebox.show( - Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { orgao.getOrgaoConcedenteId() }), - Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); - } else { - Messagebox.show( - Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { retornaIdsOrgaoSemIndice(lsIdsOrgSemIndice) }), - Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); - } + retornoDoErro(orgao); } } - private Boolean validaSeTodasAsRutasPossuiPeloMenosUmaSecuenciaComApracaDePedagio(List lsRutaAuxiliar) throws InterruptedException { + private void retornoDoErro(OrgaoConcedente orgao) throws InterruptedException { + if (orgao != null) { + Messagebox.show( + Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { orgao.getOrgaoConcedenteId() }), + Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); + } else { + Messagebox.show( + Labels.getLabel("calcularPeajeController.MSG.orgaoSemIndice", new Object[] { retornaIdsOrgaoSemIndice(lsIdsOrgSemIndice) }), + Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.NO, Messagebox.ERROR); + } + } + + private Boolean validaSeTodasAsRutasPossuiPeloMenosUmaSecuenciaComApracaDePedagio() throws InterruptedException { if (!listSelectedCasetaPeaje.isEmpty() && !listSelectedRutas.isEmpty()) { + List lsRutaAuxiliar = new ArrayList(); retornarApenasRutaQuePossuiSecuenciasComAsPracas(lsRutaAuxiliar); for (Ruta ruta : listSelectedRutas) { if (!lsRutaAuxiliar.contains(ruta)) {