Skip to content
Open
1 change: 1 addition & 0 deletions Diagrama_clases_Taller.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2021-01-09T19:01:18.335Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.0.3 Chrome/80.0.3987.163 Electron/8.2.1 Safari/537.36" etag="iyz4D46OZswM1XTag8Q9" version="13.0.3" type="device"><diagram id="IwYShhT3tM29MkQl9FVf" name="Page-1">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</diagram></mxfile>
Binary file added Diagrama_clases_Taller.pdf
Binary file not shown.
106 changes: 104 additions & 2 deletions src/com/app/App.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,112 @@
package com.app;

import java.time.LocalDate;

import com.tallerpepe.HojaTrabajo;
import com.tallerpepe.Presupuesto;
import com.tallerpepe.Reparacion;
import com.tallerpepe.Repuesto;
import com.tallerpepe.Taller;
import vehiculos.Coche;
import vehiculos.Moto;

public class App {

public static void main(String[] args) {
// TODO Auto-generated method stub

}
/*
* ingreso de un vehiculo al taller, estimación de horas de la reparación y
* presupuesto
*/
Repuesto filtroAceite = new Repuesto("Filtro aceite motor", 10.50f);
Repuesto ruedaCoche = new Repuesto("Rueda Michelin", 65.20f);
Repuesto ruedaHarley = new Repuesto("Rueda halery", 50.60f);
Repuesto aceiteMotor = new Repuesto("Aceite motor diesel 5L", 20.60f);
Repuesto filtroAire = new Repuesto("Filtro aire", 8.50f);
Repuesto pastillaFreno = new Repuesto("Pastilla freno", 9.70f);
Repuesto limpiaParabrisas = new Repuesto("Limpiaparabrisas 2L", 3.50f);
Reparacion revision1 = new Reparacion(2f);
revision1.getRepuestos().put(aceiteMotor, 2);
revision1.getRepuestos().put(filtroAceite, 1);
Reparacion revision2 = new Reparacion(1.30f);
revision2.getRepuestos().put(pastillaFreno, 2);
Reparacion cambioRuedasCoche = new Reparacion(2.30f);
cambioRuedasCoche.getRepuestos().put(ruedaCoche, 4);
Reparacion cambioRuedasHarley = new Reparacion(1.45f);
cambioRuedasHarley.getRepuestos().put(ruedaHarley, 2);

Coche cocheRenault = new Coche("Renault 21", "verde");
cocheRenault.setMatricula("2153BNR");
cocheRenault.getReparacionesPendientes().add(revision1);
// cocheRenault.getReparacionesPendientes().get(0).setGarantia(true);
cocheRenault.getReparacionesPendientes().add(cambioRuedasCoche);
// cocheRenault.getReparacionesPendientes().get(1).setGarantia(true);
cocheRenault.setFechaEntrada(LocalDate.of(2021, 01, 05));

Moto harley1 = new Moto("HARLEY DAVIDSON", "negro");
harley1.getReparacionesPendientes().add(revision2);
// harley1.getReparacionesPendientes().get(0).setGarantia(true);
harley1.getReparacionesPendientes().add(cambioRuedasHarley);
harley1.setFechaEntrada(LocalDate.of(2021, 01, 05));

Taller taller1 = new Taller(cocheRenault, harley1);
// taller1.getListaReparables().add(cocheRenault);
// taller1.getListaReparables().add(harley1);

Presupuesto presupuestoRenault = new Presupuesto(cocheRenault);
System.out.println(presupuestoRenault.calcularTextoPresupuesto(10f));
Presupuesto presupuestoHarley = new Presupuesto(harley1);
System.out.println(presupuestoHarley.calcularTextoPresupuesto(10f));

/*
* El turno para reparar los vehículos los dará en primer lugar la existencia de
* piezas de repuesto para reparar todas las averías, después la fecha de
* entrada del vehículo al taller y finalmente el menor tiempo de reparación
* estimado.
*/

Taller.getAlmacenRepuestos().put(limpiaParabrisas, 2);
Taller.getAlmacenRepuestos().put(pastillaFreno, 1);
Taller.getAlmacenRepuestos().put(filtroAire, 3);
Taller.getAlmacenRepuestos().put(aceiteMotor, 1);
Taller.getAlmacenRepuestos().put(filtroAceite, 2);
Taller.getAlmacenRepuestos().put(ruedaHarley, 0);
Taller.getAlmacenRepuestos().put(ruedaCoche, 4);

System.out.println("\nAlmacén de Repuestos:\n" + Taller.getAlmacenRepuestos().toString());
System.out.println("\nCálculo del turno de reparación:");
taller1.getListaReparables().sort(Taller.COMPARADOR_TURNO_REPARACION);
// taller1.calcularTurnoReparacion(taller1.getListaReparables());
taller1.getListaReparables().forEach(System.out::println);

/*
* La reparación tendrá una fecha de entrega del vehículo y tiene un periodo de
* garantía de un año. En caso de surgir la misma avería en menos de un año, el
* taller reparará dicha avería sin coste para el cliente a menos que en la
* diagnosis de detecte algún tipo de mal uso o fraude.
*/
cambioRuedasCoche.setFechaEntregaReparable(LocalDate.of(2020, 01, 10));
cambioRuedasCoche.setFechaFinGarantiaReparacion();
cambioRuedasHarley.setFechaEntregaReparable(LocalDate.of(2020, 01, 03));
cambioRuedasHarley.setFechaFinGarantiaReparacion();
revision1.setFechaEntregaReparable(LocalDate.of(2020, 11, 10));
revision1.setFechaFinGarantiaReparacion();
revision1.setMalUso(true);
revision2.setFechaEntregaReparable(LocalDate.of(2020, 10, 02));
revision2.setFechaFinGarantiaReparacion();
revision2.setMalUso(true);
float precioReparacionCoche = taller1.calcularPrecioReparaciones(cocheRenault);
float precioReparacionHarley = taller1.calcularPrecioReparaciones(harley1);
System.out
.println("\nEl precio de la reparacion del Coche es: " + String.format("%.2f€", precioReparacionCoche));
System.out.println(
"\nEl precio de la reparacion de la harley es: " + String.format("%.2f€", precioReparacionHarley));
HojaTrabajo hojaTrabajoCoche = new HojaTrabajo(cocheRenault, LocalDate.of(2021, 01, 12), revision1,
cambioRuedasCoche);
HojaTrabajo hojaTrabajoHarley = new HojaTrabajo(harley1, LocalDate.of(2021, 01, 11), revision2,
cambioRuedasHarley);
System.out.println("\nImpresion de Hojas de Trabajo:");
System.out.println(hojaTrabajoCoche);
System.out.println(hojaTrabajoHarley);
}
}
22 changes: 11 additions & 11 deletions src/com/github/commerce/Merchantable.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package com.github.commerce;

public interface Merchantable {
String DEFAULT_CURRENCY = "€";

static Double priceToDouble(Merchantable merchantable) {
return new Double(merchantable.getPrice());
}
String DEFAULT_CURRENCY = "€";

String getDescription();
float getPrice();
static Double priceToDouble(Merchantable merchantable) {
return new Double(merchantable.getPrice());
}

default String getString() {
return getDescription() + " (" + getPrice()
+ DEFAULT_CURRENCY + ")";
}

String getDescription();

float getPrice();

default String getString() {
return getDescription() + " (" + getPrice() + DEFAULT_CURRENCY + ")";
}
}
30 changes: 15 additions & 15 deletions src/com/github/commerce/Product.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,25 @@

public class Product implements Merchantable {

private String description;
private float price;
private String description;
private float price;

@Override
public String getDescription() {
return description;
}
@Override
public String getDescription() {
return description;
}

@Override
public float getPrice() {
return price;
}
@Override
public float getPrice() {
return price;
}

public Product(String description, float price) {
this.description = description;
this.price = price;
}
public Product(String description, float price) {
this.description = description;
this.price = price;
}

@Override
@Override
public String toString() {
return getString();
}
Expand Down
38 changes: 38 additions & 0 deletions src/com/tallerpepe/HojaTrabajo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.tallerpepe;

import java.time.LocalDate;
import java.util.Arrays;
import java.util.Collection;

public class HojaTrabajo {

private Reparable reparable;
private LocalDate fechaFin;
private Collection<Reparacion> trabajosTerminados;

public Reparable getReparable() {
return reparable;
}

public LocalDate getFechaFin() {
return fechaFin;
}

public Collection<Reparacion> getTrabajosTerminados() {
return trabajosTerminados;
}

public HojaTrabajo(Reparable reparable, LocalDate fechaFin, Reparacion... trabajosTerminados) {
super();
this.reparable = reparable;
this.fechaFin = fechaFin;
this.trabajosTerminados = Arrays.asList(trabajosTerminados);
}

@Override
public String toString() {
return "\nHojaTrabajo:\n" + getReparable() + "\nFecha de Finalización: " + getFechaFin()
+ "\nTrabajos Terminados: " + getTrabajosTerminados() + "]";
}

}
47 changes: 27 additions & 20 deletions src/com/tallerpepe/Presupuesto.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,68 +2,75 @@

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

public class Presupuesto {

private Reparable reparable;
private Collection<Reparacion> reparaciones;

private Reparable getReparable() {
return reparable;
}

public Collection<Reparacion> getReparaciones() {
return reparaciones;
}

public Presupuesto(Reparable reparable) {
this.reparable = reparable;
reparaciones = new ArrayList<>(reparable.getReparacionesPendientes());
}

public float getHorasManoObra() {
float horasTotales = 0;
for (Reparacion reparacion : getReparaciones()) {
if(!reparacion.isGarantia()) {
if (!reparacion.isGarantia()) {
horasTotales += reparacion.getHorasManoObra();
}
}

return horasTotales;
}

public float getPrecioRepuestos() {
Collection<Repuesto> repuestos = new ArrayList<>();
Map<Repuesto, Integer> repuestos = new HashMap<>();
for (Reparacion reparacion : getReparaciones()) {
if(!reparacion.isGarantia()) {
repuestos.addAll(reparacion.getRepuestos());
if (!reparacion.isGarantia()) {
for (Map.Entry<Repuesto, Integer> entry : reparacion.getRepuestos().entrySet()) {
repuestos.put(entry.getKey(), entry.getValue());
}
}
}
return getPrecioPara(repuestos);
}

public float getPrecioTotal(float precioManoObra) {
return getPrecioRepuestos() + getHorasManoObra() * precioManoObra;
}
private static float getPrecioPara(Collection<Repuesto> repuestos) {

private static float getPrecioPara(Map<Repuesto, Integer> repuestos) {
float total = 0;
for (Repuesto repuesto : repuestos) {
total += repuesto.getPrecio();
for (Map.Entry<Repuesto, Integer> entry : repuestos.entrySet()) {
total += entry.getKey().getPrecio() * entry.getValue();
}

return total;
}

public String calcularTextoPresupuesto(float precioManoObra) {
String texto = "Presupuesto para:\n";
float horasTotalesManoObra = 0;
String texto = "\nPresupuesto para:\n";
texto += getReparable();
// Ahora pongo cara reparacion en una linea
for (Reparacion reparacion : getReparaciones()) {
texto += "\n" + reparacion; // "\n" para dalto de linea
texto += "\n" + reparacion; // "\n" para salto de linea
horasTotalesManoObra += reparacion.getHorasManoObra();
}
texto += "\nPrecio Total: " + getPrecioTotal(precioManoObra);

texto += "\nPrecio Total: " + String.format("%.2f €", getPrecioTotal(precioManoObra))
+ String.format("\nHoras totales de mano de obra: %.2f horas", horasTotalesManoObra);

return texto;
}
}
9 changes: 5 additions & 4 deletions src/com/tallerpepe/Reparable.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package com.tallerpepe;

import java.util.Collection;
import java.util.Date;
import java.time.LocalDate;
import java.util.List;

public interface Reparable {

Date getFechaEntrada();
Collection<Reparacion> getReparacionesPendientes();
LocalDate getFechaEntrada();

List<Reparacion> getReparacionesPendientes();
}
Loading