fixes bug#24649

qua:
dev:Valdevir

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@112792 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2022-06-15 23:40:27 +00:00
parent ffb727d00f
commit e762c7f3c5
3 changed files with 29 additions and 12 deletions

View File

@ -300,7 +300,7 @@ public class Parada implements Serializable, Auditavel<Parada> {
return false; return false;
} }
Parada other = (Parada) object; Parada other = (Parada) object;
if ((this.getParadaId() == null && other.getParadaId() != null) || (this.getParadaId() != null && !this.getParadaId().equals(other.getParadaId()))) { if ((this.getParadaId() == null && other.getParadaId() != null) || (this.getParadaId() != null && this.getParadaId().intValue() != other.getParadaId().intValue())) {
return false; return false;
} }
return true; return true;

View File

@ -10,10 +10,14 @@ import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;
public interface ConexionRutaCombinacionService { public interface ConexionRutaCombinacionService {
public void gerarCombinacionEntre2Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl); public void gerarCombinacionEntre2Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl, Boolean isConexaoPorAgrupamento);
public void gerarCombinacionEntre3Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Parada> listParadasC, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl); public void gerarCombinacionEntre3Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Parada> listParadasC, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl);
public List<ConexionRutaCtrlVO> extrairConexionRutaCtrl(List<ParadaVOConexionRuta> localidadesGeradas); public List<ConexionRutaCtrlVO> extrairConexionRutaCtrl(List<ParadaVOConexionRuta> localidadesGeradas);
public List<Parada> getParadasByAgrupamentoId(Parada parada);
} }

View File

@ -42,7 +42,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
return cacheLocalidades; return cacheLocalidades;
} }
private void gerarCombinacao(LinkedList<List<Parada>> lists, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades) { private void gerarCombinacao(LinkedList<List<Parada>> lists, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades, Boolean isConexaoPorAgrupamento) {
Set<String> combinacoes = new TreeSet<String>(); Set<String> combinacoes = new TreeSet<String>();
@ -66,7 +66,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
Set<String> rutasVendaB = rutaCombinacionService.rutasCombinacionVenda(rutasEixoB); Set<String> rutasVendaB = rutaCombinacionService.rutasCombinacionVenda(rutasEixoB);
if(rutasEixoC == null) { if(rutasEixoC == null) {
gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB); gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB, isConexaoPorAgrupamento);
}else { }else {
Set<String> rutasVendaC = rutaCombinacionService.rutasCombinacionVenda(rutasEixoC); Set<String> rutasVendaC = rutaCombinacionService.rutasCombinacionVenda(rutasEixoC);
gerarLocalidadesEixoABC(rutasEixoA, rutasEixoB,rutasEixoC, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB, rutasVendaC ); gerarLocalidadesEixoABC(rutasEixoA, rutasEixoB,rutasEixoC, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB, rutasVendaC );
@ -76,7 +76,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
} }
private void gerarLocalidadesEixoAB(List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<ParadaVOConexionRuta> localidadesGeradas, Set<String> combinacoes, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades, Set<String> rutasVendaA, Set<String> rutasVendaB) { private void gerarLocalidadesEixoAB(List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<ParadaVOConexionRuta> localidadesGeradas, Set<String> combinacoes, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades, Set<String> rutasVendaA, Set<String> rutasVendaB, Boolean isConexaoPorAgrupamento) {
short i = 1; short i = 1;
String[] valoresCalculados; String[] valoresCalculados;
@ -105,7 +105,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
conexionCtrl, conexionRutaCtrl, rutaEixoB.getDescSentido()); conexionCtrl, conexionRutaCtrl, rutaEixoB.getDescSentido());
i++; i++;
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null, rutasVendaA, rutasVendaB, new HashSet<String>()); adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null, rutasVendaA, rutasVendaB, new HashSet<String>(), isConexaoPorAgrupamento);
i = 1; i = 1;
} }
@ -151,7 +151,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
} }
private void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List<ParadaVOConexionRuta> localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC, Set<String> rutasVendaA, Set<String> rutasVendaB, Set<String> rutasVendaC) { private void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List<ParadaVOConexionRuta> localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC, Set<String> rutasVendaA, Set<String> rutasVendaB, Set<String> rutasVendaC, Boolean isConexaoPorAgrupamento) {
boolean isTrechoAVende = false; boolean isTrechoAVende = false;
boolean isTrechoBVende = false; boolean isTrechoBVende = false;
@ -172,7 +172,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
} }
} }
if(isTrechoAVende && isTrechoBVende && isTrechoCVende) { if((isTrechoAVende && isTrechoBVende && isTrechoCVende) || Boolean.TRUE.equals(isConexaoPorAgrupamento)) {
localidadesGeradas.add(trechoA); localidadesGeradas.add(trechoA);
localidadesGeradas.add(trechoB); localidadesGeradas.add(trechoB);
if(trechoC != null) { if(trechoC != null) {
@ -220,7 +220,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
conexionCtrl, conexionRutaCtrl, rutaEixoC.getDescSentido()); conexionCtrl, conexionRutaCtrl, rutaEixoC.getDescSentido());
i++; i++;
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, trechoC, rutasVendaA, rutasVendaB, rutasVendaC); adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, trechoC, rutasVendaA, rutasVendaB, rutasVendaC, null);
i = 1; i = 1;
} }
@ -244,7 +244,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
conexoesCtrl.addAll(temp); conexoesCtrl.addAll(temp);
} }
public void gerarCombinacionEntre2Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl) { public void gerarCombinacionEntre2Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl, Boolean isConexaoPorAgrupamento) {
for (int i = 0; i < lsLocalidadesComuns.size(); i++) { for (int i = 0; i < lsLocalidadesComuns.size(); i++) {
@ -279,11 +279,24 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
} }
Map<Integer, Parada> cacheLocalidades = criandoCacheLocalidades(localidades); Map<Integer, Parada> cacheLocalidades = criandoCacheLocalidades(localidades);
gerarCombinacao(lists, rutasEixoA, rutasEixoB, null, localidadesGeradas, conexoesCtrl, cacheLocalidades); gerarCombinacao(lists, rutasEixoA, rutasEixoB, null, localidadesGeradas, conexoesCtrl, cacheLocalidades, isConexaoPorAgrupamento);
} }
} }
public List<Parada> getParadasByAgrupamentoId(Parada parada) {
List<Parada> localidades = new ArrayList<Parada>();
List<Parada> paradaAgrupamentoList = paradaService.buscarPorAgrupamentoParadaId(parada.getAgrupamentoParada());
if(paradaAgrupamentoList!=null && !paradaAgrupamentoList.isEmpty()) {
for (Parada paradaAgrupamento : paradaAgrupamentoList) {
if(!localidades.contains(paradaAgrupamento)) {
localidades.add(paradaAgrupamento);
}
}
}
return localidades;
}
public void gerarCombinacionEntre3Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Parada> listParadasC, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl) { public void gerarCombinacionEntre3Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Parada> listParadasC, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl) {
@ -308,7 +321,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
localidades.addAll(listParadasC); localidades.addAll(listParadasC);
Map<Integer, Parada> cacheLocalidades = criandoCacheLocalidades(localidades); Map<Integer, Parada> cacheLocalidades = criandoCacheLocalidades(localidades);
gerarCombinacao(lists, rutasEixoA, rutasEixoB, rutasEixoC, localidadesGeradas, conexoesCtrl, cacheLocalidades); gerarCombinacao(lists, rutasEixoA, rutasEixoB, rutasEixoC, localidadesGeradas, conexoesCtrl, cacheLocalidades, null);
} }
} }