JSON modificado creando las provincias como Punto de control y metodo calcular…

JSON modificado creando las provincias como Punto de control y metodo calcular ruta realizado con Ruta A (misma provincia)
parent 73948ad7
...@@ -31,3 +31,4 @@ build/ ...@@ -31,3 +31,4 @@ build/
### VS Code ### ### VS Code ###
.vscode/ .vscode/
/nbproject/
\ No newline at end of file
...@@ -4,7 +4,11 @@ import com.google.gson.Gson; ...@@ -4,7 +4,11 @@ import com.google.gson.Gson;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import es.ujaen.dae.entidades.Envio;
import es.ujaen.dae.entidades.PuntodeControl; import es.ujaen.dae.entidades.PuntodeControl;
import es.ujaen.dae.entidades.TipoPunto;
import static es.ujaen.dae.entidades.TipoPunto.CentroLogistico;
import static es.ujaen.dae.entidades.TipoPunto.Oficina;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileReader; import java.io.FileReader;
...@@ -22,6 +26,7 @@ public class UjapackApplication { ...@@ -22,6 +26,7 @@ public class UjapackApplication {
public static void main(String[] args){ public static void main(String[] args){
SpringApplication.run(UjapackApplication.class, args); SpringApplication.run(UjapackApplication.class, args);
ArrayList<PuntodeControl> puntosdecontrol= new ArrayList<>(); ArrayList<PuntodeControl> puntosdecontrol= new ArrayList<>();
int id2=11;
String fichero=""; String fichero="";
try(BufferedReader br=new BufferedReader(new FileReader("redujapackPr.json"))){ try(BufferedReader br=new BufferedReader(new FileReader("redujapackPr.json"))){
String linea; String linea;
...@@ -41,7 +46,7 @@ public class UjapackApplication { ...@@ -41,7 +46,7 @@ public class UjapackApplication {
ArrayList<String> provincias=new ArrayList<>(); ArrayList<String> provincias=new ArrayList<>();
ArrayList<Integer> conexiones=new ArrayList<>(); ArrayList<Integer> conexiones=new ArrayList<>();
JsonObject centroJson=obj.getAsJsonObject(centro); JsonObject centroJson=obj.getAsJsonObject(centro);
//int id=Integer.parseInt(centro); int id=Integer.parseInt(centro);
String nombre=centroJson.get("nombre").getAsString(); String nombre=centroJson.get("nombre").getAsString();
String localizacion=centroJson.get("localizacion").getAsString(); String localizacion=centroJson.get("localizacion").getAsString();
...@@ -49,18 +54,33 @@ public class UjapackApplication { ...@@ -49,18 +54,33 @@ public class UjapackApplication {
JsonArray provinciasArr=centroJson.getAsJsonArray("provincias"); JsonArray provinciasArr=centroJson.getAsJsonArray("provincias");
for(JsonElement prov : provinciasArr){ for(JsonElement prov : provinciasArr){
provincias.add(prov.getAsString()); provincias.add(prov.getAsString());
PuntodeControl cl2 = new PuntodeControl(prov.getAsString(),prov.getAsString(),id2,Oficina,null,null);
id2++;
puntosdecontrol.add(cl2);
} }
JsonArray conexionesArr=centroJson.getAsJsonArray("conexiones"); JsonArray conexionesArr=centroJson.getAsJsonArray("conexiones");
for(JsonElement con : conexionesArr){ for(JsonElement con : conexionesArr){
conexiones.add(con.getAsInt()); conexiones.add(con.getAsInt());
} }
PuntodeControl cl=new PuntodeControl(nombre, localizacion, provincias, conexiones); PuntodeControl cl=new PuntodeControl(nombre, localizacion, id, CentroLogistico, provincias, conexiones);
puntosdecontrol.add(cl); puntosdecontrol.add(cl);
System.out.println(cl.toString()); System.out.println(cl.toString());
} }
//Prueba del metodo Calcular ruta
Envio e = new Envio("Jose","Maria","Almeria","Almeria",50,16,16,16);
ArrayList<PuntodeControl> j = new ArrayList<>();
j = e.calcularRuta(puntosdecontrol,e);
System.out.println(j.size());
for(int i=0; i<j.size(); i++){
System.out.println(j.get(i));
}
//Fin de prueba del metodo calcular ruta. Esto debe pasarse a un test propio
} }
} }
...@@ -7,6 +7,7 @@ package es.ujaen.dae.entidades; ...@@ -7,6 +7,7 @@ package es.ujaen.dae.entidades;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import es.ujaen.dae.Ujapack.UjapackApplication;
/** /**
* *
...@@ -36,34 +37,23 @@ public class Envio { ...@@ -36,34 +37,23 @@ public class Envio {
public void calcularImporte(){} //cambiar void por float public void calcularImporte(){} //cambiar void por float
/*public void calcularRuta(){
if(direccionOrigen == direccionDestino){
for(int i=0; i<puntosdecontrol.size(); i++){
if(puntosdecontrol.get(i).getProvincia() == direccionDestino)
listadoPuntos.add(puntosdecontrol.get(i));
} //Hecho solamente el caso donde envias y recibes dentro de la misma provincia
}else{ public ArrayList<PuntodeControl> calcularRuta(ArrayList<PuntodeControl> cl, Envio e){
boolean provincia1=false; if(e.getDireccionOrigen().equals(e.getDireccionDestino())){
boolean provincia2=false; for(int i=0; i<cl.size(); i++){
int pos1=-1; if(cl.get(i).getProvincia().equals(e.getDireccionDestino())){
int pos2=-1; listadoPuntos.add(cl.get(i));
for(int i=0; i<puntosdecontrol; i++){ break;
for(int j=0; j<puntodecontrol.getProvincias().size();j++){
if(provincias.get(j) == direccionOrigen)
provincia1=true;
pos1=j;
if(provincias.get(j) == direccionDestino)
provincia2=true;
pos2=j;
}
if(provincia1 && provincia2){
listadoPuntos.add(puntosdecontrol.get(i));
listadoPuntos.add(puntosdecontrol.get(pos1));
listadoPuntos.add(puntosdecontrol.get(pos2));
} }
} }
} }
}*/ return listadoPuntos;
}
......
...@@ -17,18 +17,21 @@ public class PuntodeControl { ...@@ -17,18 +17,21 @@ public class PuntodeControl {
private int id; private int id;
private TipoPunto tipo; private TipoPunto tipo;
private ArrayList<String> provincias; private ArrayList<String> provincias;
private ArrayList<PuntodeControl> conexiones; private ArrayList<Integer> conexiones;
public PuntodeControl(String nombre, String provincia, ArrayList<String> provincias, ArrayList<Integer> conexiones){ //AÑADIR EL ENUM AL CONSTRUCTOR DEL PUNTO DE CONTROL
//inicializar id
public PuntodeControl(String nombre, String provincia, int id, TipoPunto t, ArrayList<String> provincias, ArrayList<Integer> conexiones){ //AÑADIR EL ENUM AL CONSTRUCTOR DEL PUNTO DE CONTROL
this.id = id;
this.nombre=nombre; this.nombre=nombre;
this.provincia=provincia; this.provincia=provincia;
conexiones = new ArrayList<>(); tipo = t;
provincias = new ArrayList<>(); this.conexiones = conexiones;
this.provincias = provincias;
}; };
/** /**
* @return the provincia * @return the provincia
...@@ -89,14 +92,14 @@ public class PuntodeControl { ...@@ -89,14 +92,14 @@ public class PuntodeControl {
/** /**
* @return the conexiones * @return the conexiones
*/ */
public ArrayList<PuntodeControl> getConexiones() { public ArrayList<Integer> getConexiones() {
return conexiones; return conexiones;
} }
/** /**
* @param conexiones the conexiones to set * @param conexiones the conexiones to set
*/ */
public void setConexiones(ArrayList<PuntodeControl> conexiones) { public void setConexiones(ArrayList<Integer> conexiones) {
this.conexiones = conexiones; this.conexiones = conexiones;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment