Merge branch 'Rafael' into jose

parents ec2f3bce 08a31b83
...@@ -14,6 +14,7 @@ import java.io.FileNotFoundException; ...@@ -14,6 +14,7 @@ import java.io.FileNotFoundException;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set; import java.util.Set;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
...@@ -25,8 +26,8 @@ public class UjapackApplication { ...@@ -25,8 +26,8 @@ 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<>(); HashMap<Integer,PuntodeControl> puntosdecontrol= new HashMap<>();
int id2=11; int idPr=11; //Id para las provincias, se usa para darle un identificador a cada una de las oficinas.
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;
...@@ -40,13 +41,13 @@ public class UjapackApplication { ...@@ -40,13 +41,13 @@ public class UjapackApplication {
} }
JsonObject obj=new Gson().fromJson(fichero, JsonObject.class); JsonObject obj=new Gson().fromJson(fichero, JsonObject.class);
Set<String> centrosLCla=obj.keySet(); Set<String> centrosLCla=obj.keySet(); //Se guardan las claves de los centros logísticos.
for(String centro : centrosLCla){ for(String centro : centrosLCla){
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); //Id para especidificamente los centros logísticos.
String nombre=centroJson.get("nombre").getAsString(); String nombre=centroJson.get("nombre").getAsString();
String localizacion=centroJson.get("localizacion").getAsString(); String localizacion=centroJson.get("localizacion").getAsString();
...@@ -54,21 +55,29 @@ public class UjapackApplication { ...@@ -54,21 +55,29 @@ 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); PuntodeControl pc2 = new PuntodeControl(prov.getAsString(),prov.getAsString(),Oficina);
id2++; puntosdecontrol.put(idPr,pc2);
puntosdecontrol.add(cl2); pc2.setConexiones(conexiones);
idPr++;
} }
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, id, CentroLogistico, provincias, conexiones);
puntosdecontrol.add(cl);
System.out.println(cl.toString()); PuntodeControl pc=new PuntodeControl(nombre, localizacion,CentroLogistico);
pc.setConexiones(conexiones);
pc.setProvincias(provincias);
puntosdecontrol.put(id,pc); /**Aqui es id y no idPr porque aqui se añaden especificamente los centros logisticos, no oficinas
por lo que se toma dicho id. */
//System.out.println(pc.toString());
} }
puntosdecontrol.forEach((k,v) -> System.out.println("Clave del punto de control: " + k + "Valor asociado: " + v));
//Prueba del metodo Calcular ruta y calcular importe //Prueba del metodo Calcular ruta y calcular importe
Envio e = new Envio("Jose","Maria","Almeria","Almeria",0.5f,20.4f,20.4f,20.4f); Envio e = new Envio("Jose","Maria","Almeria","Almeria",0.5f,20.4f,20.4f,20.4f);
......
...@@ -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 java.util.HashMap;
import es.ujaen.dae.Ujapack.UjapackApplication; import es.ujaen.dae.Ujapack.UjapackApplication;
/** /**
...@@ -50,9 +51,9 @@ public class Envio { ...@@ -50,9 +51,9 @@ public class Envio {
//Hecho solamente el caso donde envias y recibes dentro de la misma provincia //Hecho solamente el caso donde envias y recibes dentro de la misma provincia
public ArrayList<PuntodeControl> calcularRuta(ArrayList<PuntodeControl> cl, Envio e){ public ArrayList<PuntodeControl> calcularRuta(HashMap<Integer,PuntodeControl> cl, Envio e){
if(e.getDireccionOrigen().equals(e.getDireccionDestino())){ if(e.getDireccionOrigen().equals(e.getDireccionDestino())){
for(int i=0; i<cl.size(); i++){ for(int i=1; i<cl.size(); i++){
if(cl.get(i).getProvincia().equals(e.getDireccionDestino())){ if(cl.get(i).getProvincia().equals(e.getDireccionDestino())){
listadoPuntos.add(cl.get(i)); listadoPuntos.add(cl.get(i));
break; break;
......
...@@ -21,13 +21,13 @@ public class PuntodeControl { ...@@ -21,13 +21,13 @@ public class PuntodeControl {
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 public PuntodeControl(String nombre, String provincia, TipoPunto t){ //AÑADIR EL ENUM AL CONSTRUCTOR DEL PUNTO DE CONTROL
this.id = id; this.id = id;
this.nombre=nombre; this.nombre=nombre;
this.provincia=provincia; this.provincia=provincia;
tipo = t; tipo = t;
this.conexiones = conexiones; this.conexiones = new ArrayList<>();
this.provincias = provincias; this.provincias = new ArrayList<>();
}; };
......
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