fixes bug#24682

qua:
dev:Valdevir

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@112836 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2022-06-21 14:18:53 +00:00
parent 9c1f7a7617
commit 6665daf325
1 changed files with 31 additions and 13 deletions

View File

@ -603,21 +603,14 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
@SuppressWarnings("unchecked")
private void gerarLocalidadesComunsAB() {
Set<Parada> lsParadas = new HashSet<Parada>(localidadesOrigemlList.getListData());
Set<Parada> lsParadasOrigem = new HashSet<Parada>(localidadesOrigemlList.getListData());
Set<Parada> lsParadasDestino = new HashSet<Parada>(localidadesDestinoList.getListData());
ArrayList<Parada> paradasDuplicadas = new ArrayList<Parada>(lsParadas);
ArrayList<Parada> paradasDuplicadas = new ArrayList<Parada>(lsParadasOrigem);
isConexaoPorAgrupamento = !Boolean.TRUE.equals(isConexaoPorAgrupamento) ? validaConfAgrupamentoLocalidadeEmpresaLinhas() : isConexaoPorAgrupamento;
if(Boolean.TRUE.equals(isConexaoPorAgrupamento) && !lsParadasDestino.isEmpty()) {
Set<Parada> lsParadasIterator = new HashSet<Parada>(localidadesOrigemlList.getListData());
Set<Parada> lsParadasOrigemAux = new HashSet<Parada>();
for (Parada parada : lsParadasIterator ) {
if (parada!=null && parada.getAgrupamentoParada() !=null) {
lsParadasOrigemAux.addAll(conexionRutaCombinacionService.getParadasByAgrupamentoId(parada));
}
}
if(lsParadasOrigemAux!=null && !lsParadasOrigemAux.isEmpty()) {
for (Parada parada : lsParadasOrigemAux) {
Set<Parada> lsParadasAgrupamento = getLsAgrupamentoParada(lsParadasOrigem, lsParadasDestino);
if(lsParadasAgrupamento!=null && !lsParadasAgrupamento.isEmpty()) {
for (Parada parada : lsParadasAgrupamento) {
if(!paradasDuplicadas.contains(parada)) {
paradasDuplicadas.add(parada);
}
@ -631,7 +624,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
}
paradasDuplicadas.retainAll(lsParadasDestino);
validaLocalidadesExcluidas(lsParadas, paradasDuplicadas);
validaLocalidadesExcluidas(lsParadasOrigem, paradasDuplicadas);
//Lista auxiliar usada para ser setada na Listview de localidades comuns A e B
List<Parada> lsLocalidadesComunsABAux = new ArrayList<Parada>();
List<Parada> lsLocalidadesAgrupamento = new ArrayList<Parada>();
@ -648,6 +641,31 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer {
renderizarLinhasAB();
}
private Set<Parada> getLsAgrupamentoParada(Set<Parada> lsParadasOrigem, Set<Parada> lsParadasDestino) {
Set<Parada> lsParadasAgrupamento = new HashSet<Parada>();
for (Parada parada : lsParadasOrigem ) {
if (parada!=null && parada.getAgrupamentoParada() !=null) {
Set<Parada> lsParadasAgrupamentoAux = new HashSet<Parada>();
lsParadasAgrupamentoAux.addAll(conexionRutaCombinacionService.getParadasByAgrupamentoId(parada));
Boolean isAgrupamentoOrigem = Boolean.FALSE;
Boolean isAgrupamentoDestino = Boolean.FALSE;
for (Parada paradaAgrupamento : lsParadasAgrupamentoAux) {
if(lsParadasOrigem.contains(paradaAgrupamento)) {
isAgrupamentoOrigem = Boolean.TRUE;
}
if(lsParadasDestino.contains(paradaAgrupamento)) {
isAgrupamentoDestino = Boolean.TRUE;
}
}
if(isAgrupamentoOrigem && isAgrupamentoDestino ) {
lsParadasAgrupamento = lsParadasAgrupamentoAux;
}
}
}
return lsParadasAgrupamento;
}
/**
* Valida Localidades excluídas, caso encontre insere na tela botão adicionar, caso não encontre inserena tela o botão remover.
* @param lsParadas