Merge branch 'Rafael' into jose

parents ec2f3bce 08a31b83
......@@ -14,6 +14,7 @@ import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
......@@ -25,8 +26,8 @@ public class UjapackApplication {
public static void main(String[] args){
SpringApplication.run(UjapackApplication.class, args);
ArrayList<PuntodeControl> puntosdecontrol= new ArrayList<>();
int id2=11;
HashMap<Integer,PuntodeControl> puntosdecontrol= new HashMap<>();
int idPr=11; //Id para las provincias, se usa para darle un identificador a cada una de las oficinas.
String fichero="";
try(BufferedReader br=new BufferedReader(new FileReader("redujapackPr.json"))){
String linea;
......@@ -40,13 +41,13 @@ public class UjapackApplication {
}
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){
ArrayList<String> provincias=new ArrayList<>();
ArrayList<Integer> conexiones=new ArrayList<>();
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 localizacion=centroJson.get("localizacion").getAsString();
......@@ -54,21 +55,29 @@ public class UjapackApplication {
JsonArray provinciasArr=centroJson.getAsJsonArray("provincias");
for(JsonElement prov : provinciasArr){
provincias.add(prov.getAsString());
PuntodeControl cl2 = new PuntodeControl(prov.getAsString(),prov.getAsString(),id2,Oficina,null,null);
id2++;
puntosdecontrol.add(cl2);
PuntodeControl pc2 = new PuntodeControl(prov.getAsString(),prov.getAsString(),Oficina);
puntosdecontrol.put(idPr,pc2);
pc2.setConexiones(conexiones);
idPr++;
}
JsonArray conexionesArr=centroJson.getAsJsonArray("conexiones");
for(JsonElement con : conexionesArr){
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
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;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashMap;
import es.ujaen.dae.Ujapack.UjapackApplication;
/**
......@@ -50,9 +51,9 @@ public class Envio {
//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())){
for(int i=0; i<cl.size(); i++){
for(int i=1; i<cl.size(); i++){
if(cl.get(i).getProvincia().equals(e.getDireccionDestino())){
listadoPuntos.add(cl.get(i));
break;
......
......@@ -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.nombre=nombre;
this.provincia=provincia;
tipo = t;
this.conexiones = conexiones;
this.provincias = provincias;
this.conexiones = new ArrayList<>();
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