diff --git a/src/main/java/com/example/proyectofinal/configuration/database/DatabaseTest.java b/src/main/java/com/example/proyectofinal/configuration/database/DatabaseTest.java index a0dcb2b..63ac74c 100644 --- a/src/main/java/com/example/proyectofinal/configuration/database/DatabaseTest.java +++ b/src/main/java/com/example/proyectofinal/configuration/database/DatabaseTest.java @@ -1,9 +1,6 @@ package com.example.proyectofinal.configuration.database; import com.example.proyectofinal.models.empresas.*; -import com.example.proyectofinal.repositories.empresas.AlumnoRepository; -import com.example.proyectofinal.repositories.empresas.ContactoRepository; -import com.example.proyectofinal.repositories.empresas.OfertaRepository; -import com.example.proyectofinal.repositories.empresas.SucursalRepository; +import com.example.proyectofinal.repositories.empresas.*; import com.github.javafaker.Faker; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; @@ -13,6 +10,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import javax.sql.DataSource; import java.util.HashSet; +import java.util.Random; import java.util.Set; @Configuration @@ -21,16 +19,21 @@ public class DatabaseTest { private DataSource dataSource; @Bean - CommandLineRunner initDatabase(AlumnoRepository alumnoRepository, ContactoRepository contactoRepository, SucursalRepository sucursalRepository, OfertaRepository ofertaRepository) { + CommandLineRunner initDatabase(AlumnoRepository alumnoRepository, ContactoRepository contactoRepository, SucursalRepository sucursalRepository, OfertaRepository ofertaRepository, SkillRepository skillRepository, EmpressaRepository empressaRepository, CicloRepository cicloRepository, SectorRepository sectorRepository) { return args -> { Faker faker = new Faker(); - for (int i = 0; i < 5; i++) { - Familia familia = new Familia("Informatica" + i); + String[] cicloNames = {"DAM", "DAM2", "DAW", "DAW2", "ACI"}; + String[] familiaNames = {"Informatica", "Informatica2", "Informatica3", "Informatica4", "Informatica5"}; + Random random = new Random(); - Ciclo ciclo = new Ciclo("DAM" + i, familia); + for (int i = 0; i < 10; i++) { + int randomIndex = random.nextInt(cicloNames.length); + Familia familia = new Familia(familiaNames[randomIndex]); + Ciclo ciclo = new Ciclo(cicloNames[randomIndex], familia); Skill skill = new Skill(faker.lorem().word() + i); + skillRepository.save(skill); Set skills = new HashSet<>(); skills.add(skill); @@ -38,16 +41,23 @@ public class DatabaseTest { Alumno alumno = new Alumno( faker.name().firstName(), faker.name().lastName(), + faker.name().lastName(), faker.date().birthday(), faker.demographic().sex(), faker.number().digits(8), + faker.number().digits(8), + faker.internet().emailAddress(), + faker.internet().emailAddress(), + faker.country().name(), faker.lorem().word(), skills, ciclo ); + System.out.println(alumno); alumnoRepository.save(alumno); Sector sector = new Sector("Tecnologia" + i); + //sectorRepository.save(sector); Empresa empresa = new Empresa( faker.company().name(), @@ -57,6 +67,7 @@ public class DatabaseTest { faker.company().profession(), sector ); + //empressaRepository.save(empresa); Contacto contacto = new Contacto( faker.name().firstName(), @@ -75,18 +86,20 @@ public class DatabaseTest { true, empresa ); - sucursalRepository.save(sucursal); + //sucursalRepository.save(sucursal); Oferta oferta = new Oferta( "Oferta " + (i + 1), "Descripcion de la oferta", "2023-01-11", + sucursal, skills ); ofertaRepository.save(oferta); } JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); jdbcTemplate.execute("CREATE FULLTEXT INDEX keywords_index ON empresas(keywords,nombre)"); + jdbcTemplate.execute("CREATE FULLTEXT INDEX keywords_index ON alumnos(keywords,nombre,apellido,apellido2,dni,nia,correo,correo2,nacionalidad,genero)"); }; } diff --git a/src/main/java/com/example/proyectofinal/controllers/BuscadorController.java b/src/main/java/com/example/proyectofinal/controllers/BuscadorController.java index 123f124..24ae387 100644 --- a/src/main/java/com/example/proyectofinal/controllers/BuscadorController.java +++ b/src/main/java/com/example/proyectofinal/controllers/BuscadorController.java @@ -1,6 +1,10 @@ package com.example.proyectofinal.controllers; +import com.example.proyectofinal.models.empresas.Alumno; +import com.example.proyectofinal.models.empresas.Oferta; +import com.example.proyectofinal.repositories.empresas.AlumnoRepository; +import com.example.proyectofinal.repositories.empresas.OfertaRepository; import org.springframework.ui.Model; import com.example.proyectofinal.models.empresas.Empresa; import com.example.proyectofinal.repositories.empresas.EmpressaRepository; @@ -10,15 +14,21 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; +import java.util.*; @Controller @RequestMapping("/buscador") public class BuscadorController { + @Autowired private EmpressaRepository empressaRepository; + + @Autowired + private AlumnoRepository alumnoRepository; + + @Autowired + private OfertaRepository ofertaRepository; + @GetMapping public String buscador(){ return "buscador_admin"; @@ -27,10 +37,39 @@ public class BuscadorController { @GetMapping("/search") public String search(@RequestParam String query, @RequestParam(required = false) String optempresa, String optskill, String optalumno, String optoferta, Model model) { if(optempresa != null){ - ArrayList empresas = empressaRepository.getEmpressaByKeywordsOrName("*"+query+"*"); + String[] words = query.split("[,/]|and|or"); + Set empresas = new HashSet<>(); + + for (String word : words) { + empresas.addAll(empressaRepository.getEmpressaByKeywordsOrName("*"+word.trim()+"*")); + } model.addAttribute("empresas", empresas); } - return "list_empresas"; + if(optalumno != null){ +// System.out.println("Alumno: TEST TEST TEST"); + String[] words = query.split("[,/]|and|or"); + Set alumnos = new HashSet<>(); + + for(String word : words){ + alumnos.addAll(alumnoRepository.getAlumnoByKeywordsOrName("*"+word.trim()+"*")); +// System.out.println("Alumno: " + alumnos.toString()); + } + model.addAttribute("alumnos", alumnos); + } + + if(optoferta != null){ +// System.out.println("Oferta: TEST TEST TEST"); + String[] words = query.split("[,/]|and|or"); + Set ofertas = new HashSet<>(); + + for(String word : words){ + ofertas.addAll(ofertaRepository.getOfertaByKeywordsOrName("*"+word.trim()+"*")); +// System.out.println("Oferta: " + ofertas.toString()); + } + model.addAttribute("ofertas", ofertas); + + } + return "list_alumnos"; } } \ No newline at end of file diff --git a/src/main/java/com/example/proyectofinal/models/empresas/Alumno.java b/src/main/java/com/example/proyectofinal/models/empresas/Alumno.java index 163ce5c..5ad337c 100644 --- a/src/main/java/com/example/proyectofinal/models/empresas/Alumno.java +++ b/src/main/java/com/example/proyectofinal/models/empresas/Alumno.java @@ -20,14 +20,14 @@ public class Alumno { private long id; @NonNull - @Column(length = 45) + @Column(length = 70) private String nombre; @NonNull - @Column(length = 45) + @Column(length = 70) private String apellido; - @Column(length = 45) + @Column(length = 70) private String apellido2; @NonNull @@ -44,11 +44,27 @@ public class Alumno { @NonNull @Column(length = 45) - private String keyword; - //TODO AƱadir campos adicinales en alumno dni,correo 1 y 2, - // nacionalidad, domicillo y otros adicionales si hay necesidad + private String dni; + + @NonNull + @Column(length = 100) + private String correo; + + //TODO add domiciollo 200 + + @Column(length = 100) + private String correo2; + + @NonNull + @Column(length = 100) + private String nacionalidad; + + @NonNull + @Column(length = 2500) + private String keywords; + - @ManyToMany(cascade = {CascadeType.PERSIST,CascadeType.REFRESH},fetch = FetchType.EAGER) + @ManyToMany(cascade = {CascadeType.MERGE, CascadeType.REFRESH},fetch = FetchType.EAGER) @JoinTable( name = "Alumno_Skill", joinColumns = @JoinColumn(name = "fk_alumno",referencedColumnName = "id"), @@ -56,30 +72,67 @@ public class Alumno { ) private Set skills; - @ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.REFRESH,CascadeType.REMOVE},fetch = FetchType.EAGER) + @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH,CascadeType.REMOVE},fetch = FetchType.EAGER) @JoinColumn(name = "Ciclo_id",referencedColumnName = "id") private Ciclo ciclo; - public Alumno(@NonNull String nombre, @NonNull String apellido, String apellido2, @NonNull Date fechaNacimiento, @NonNull String genero, @NonNull String nia, @NonNull String keyword, @NonNull Set skills, @NonNull Ciclo ciclo) { + public Alumno(@NonNull String nombre, @NonNull String apellido, String apellido2, @NonNull Date fechaNacimiento, @NonNull String genero, @NonNull String nia, @NonNull String dni, @NonNull String correo, String correo2, @NonNull String nacionalidad, @NonNull String keyword, Set skills, Ciclo ciclo) { this.nombre = nombre; this.apellido = apellido; this.apellido2 = apellido2; this.fechaNacimiento = fechaNacimiento; this.genero = genero; this.nia = nia; - this.keyword = keyword; + this.dni = dni; + this.correo = correo; + this.correo2 = correo2; + this.nacionalidad = nacionalidad; + this.keywords = keyword; this.skills = skills; this.ciclo = ciclo; } - public Alumno(@NonNull String nombre, @NonNull String apellido, @NonNull Date fechaNacimiento, @NonNull String genero, @NonNull String nia, @NonNull String keyword, @NonNull Set skills, @NonNull Ciclo ciclo) { - this.nombre = nombre; - this.apellido = apellido; - this.fechaNacimiento = fechaNacimiento; - this.genero = genero; - this.nia = nia; - this.keyword = keyword; - this.skills = skills; - this.ciclo = ciclo; - } +// public Alumno(@NonNull String nombre, @NonNull String apellido, String apellido2, @NonNull Date fechaNacimiento, @NonNull String genero, @NonNull String nia, @NonNull String dni, @NonNull String correo, @NonNull String nacionalidad, @NonNull String keyword, Set skills, Ciclo ciclo) { +// this.nombre = nombre; +// this.apellido = apellido; +// this.apellido2 = apellido2; +// this.fechaNacimiento = fechaNacimiento; +// this.genero = genero; +// this.nia = nia; +// this.dni = dni; +// this.correo = correo; +// this.nacionalidad = nacionalidad; +// this.keyword = keyword; +// this.skills = skills; +// this.ciclo = ciclo; +// } +// +// public Alumno( @NonNull String nombre, @NonNull String apellido, @NonNull Date fechaNacimiento, @NonNull String genero, @NonNull String nia, @NonNull String dni, @NonNull String correo, @NonNull String nacionalidad, @NonNull String keyword, Set skills, Ciclo ciclo) { +// this.nombre = nombre; +// this.apellido = apellido; +// this.fechaNacimiento = fechaNacimiento; +// this.genero = genero; +// this.nia = nia; +// this.dni = dni; +// this.correo = correo; +// this.nacionalidad = nacionalidad; +// this.keyword = keyword; +// this.skills = skills; +// this.ciclo = ciclo; +// } +// +// public Alumno(@NonNull String nombre, @NonNull String apellido, @NonNull Date fechaNacimiento, @NonNull String genero, @NonNull String nia, @NonNull String dni, @NonNull String correo, String correo2, @NonNull String nacionalidad, @NonNull String keyword, Set skills, Ciclo ciclo) { +// this.nombre = nombre; +// this.apellido = apellido; +// this.fechaNacimiento = fechaNacimiento; +// this.genero = genero; +// this.nia = nia; +// this.dni = dni; +// this.correo = correo; +// this.correo2 = correo2; +// this.nacionalidad = nacionalidad; +// this.keyword = keyword; +// this.skills = skills; +// this.ciclo = ciclo; +// } } diff --git a/src/main/java/com/example/proyectofinal/models/empresas/Ciclo.java b/src/main/java/com/example/proyectofinal/models/empresas/Ciclo.java index f1a7289..6f97c1f 100644 --- a/src/main/java/com/example/proyectofinal/models/empresas/Ciclo.java +++ b/src/main/java/com/example/proyectofinal/models/empresas/Ciclo.java @@ -18,10 +18,11 @@ public class Ciclo { private long id; @NonNull - @Column(length = 45) + @Column(length = 70) private String nombre; + //TODO add String codigo 40 - @ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.REMOVE,CascadeType.REFRESH},fetch = FetchType.EAGER) + @ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE,CascadeType.REFRESH},fetch = FetchType.EAGER) @JoinColumn(name = "Familia_id",referencedColumnName = "id") private Familia familia; diff --git a/src/main/java/com/example/proyectofinal/models/empresas/Contacto.java b/src/main/java/com/example/proyectofinal/models/empresas/Contacto.java index 01ec5e1..37f84ff 100644 --- a/src/main/java/com/example/proyectofinal/models/empresas/Contacto.java +++ b/src/main/java/com/example/proyectofinal/models/empresas/Contacto.java @@ -19,16 +19,23 @@ public class Contacto { private long id; @NonNull + @Column(length = 70) private String nombre; @NonNull + @Column(length = 70) private String apellido1; + @Column(length = 70) private String apellido2; + + @Column(length = 100) private String correo; + + @Column(length = 70) private String telefono; - @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.REMOVE}) + @ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE, CascadeType.REMOVE}) @JoinColumn(name = "Empresa_id",referencedColumnName = "id") private Empresa empresa; diff --git a/src/main/java/com/example/proyectofinal/models/empresas/Empresa.java b/src/main/java/com/example/proyectofinal/models/empresas/Empresa.java index f2c01e6..32b1273 100644 --- a/src/main/java/com/example/proyectofinal/models/empresas/Empresa.java +++ b/src/main/java/com/example/proyectofinal/models/empresas/Empresa.java @@ -17,19 +17,19 @@ public class Empresa { private long id; @NonNull - @Column(length = 45) + @Column(length = 70) private String nombre; @NonNull - @Column(length = 45) + @Column(length = 70) private String cif; @NonNull - @Column(length = 45) + @Column(length = 100) private String correo; @NonNull - @Column(length = 45) + @Column(length = 70) private String telefono; @@ -37,7 +37,7 @@ public class Empresa { @Column(length = 2500) private String keywords; - @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.REMOVE,CascadeType.REFRESH}) + @ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.MERGE, CascadeType.REMOVE,CascadeType.REFRESH}) @JoinColumn(name = "Sector_id",referencedColumnName = "id") private Sector sector; diff --git a/src/main/java/com/example/proyectofinal/models/empresas/Familia.java b/src/main/java/com/example/proyectofinal/models/empresas/Familia.java index 686a07d..af10266 100644 --- a/src/main/java/com/example/proyectofinal/models/empresas/Familia.java +++ b/src/main/java/com/example/proyectofinal/models/empresas/Familia.java @@ -17,7 +17,7 @@ public class Familia { private long id; @NonNull - @Column(length = 45) + @Column(length = 70) private String nombre; public Familia(@NonNull String nombre) { diff --git a/src/main/java/com/example/proyectofinal/models/empresas/Oferta.java b/src/main/java/com/example/proyectofinal/models/empresas/Oferta.java index bc222fe..7786dbe 100644 --- a/src/main/java/com/example/proyectofinal/models/empresas/Oferta.java +++ b/src/main/java/com/example/proyectofinal/models/empresas/Oferta.java @@ -20,15 +20,21 @@ public class Oferta { private long id; @NonNull - @Column(length = 45) + @Column(length = 70) private String nombre; + //TODO see the order of elements + @NonNull + @DateTimeFormat(pattern = "yyyy-mm-dd") + private String fecha; @Column(length = 2500) private String descripcion; - @NonNull - @DateTimeFormat(pattern = "yyyy-mm-dd") - private String fecha; + + + @ManyToOne(cascade = {CascadeType.PERSIST,CascadeType.PERSIST,CascadeType.MERGE, CascadeType.REMOVE,CascadeType.REFRESH}) + @JoinColumn(name = "Sucursal_id") + private Sucursal sucursal; @ManyToMany(cascade = {CascadeType.MERGE, CascadeType.REMOVE,CascadeType.REFRESH},fetch = FetchType.EAGER) @JoinTable( @@ -38,10 +44,11 @@ public class Oferta { ) private Set skills; - public Oferta(@NonNull String nombre, String descripcion, @NonNull String fecha, Set skills) { + public Oferta(@NonNull String nombre, String descripcion, @NonNull String fecha, Sucursal sucursal, Set skills) { this.nombre = nombre; this.descripcion = descripcion; this.fecha = fecha; + this.sucursal = sucursal; this.skills = skills; } } diff --git a/src/main/java/com/example/proyectofinal/models/empresas/Sector.java b/src/main/java/com/example/proyectofinal/models/empresas/Sector.java index 2481243..2edbaa9 100644 --- a/src/main/java/com/example/proyectofinal/models/empresas/Sector.java +++ b/src/main/java/com/example/proyectofinal/models/empresas/Sector.java @@ -17,6 +17,7 @@ public class Sector { private long id; @NonNull + @Column(length = 75) private String nombre; public Sector(@NonNull String nombre) { diff --git a/src/main/java/com/example/proyectofinal/models/empresas/Skill.java b/src/main/java/com/example/proyectofinal/models/empresas/Skill.java index d6f937d..e405993 100644 --- a/src/main/java/com/example/proyectofinal/models/empresas/Skill.java +++ b/src/main/java/com/example/proyectofinal/models/empresas/Skill.java @@ -19,7 +19,7 @@ public class Skill { private long id; @NonNull - @Column(length = 45) + @Column(length = 75) private String nombre; @ManyToMany(mappedBy = "skills") diff --git a/src/main/java/com/example/proyectofinal/models/empresas/Sucursal.java b/src/main/java/com/example/proyectofinal/models/empresas/Sucursal.java index a028c09..5af622e 100644 --- a/src/main/java/com/example/proyectofinal/models/empresas/Sucursal.java +++ b/src/main/java/com/example/proyectofinal/models/empresas/Sucursal.java @@ -18,23 +18,22 @@ public class Sucursal { private long id; @NonNull - @Column(length = 45) + @Column(length = 75) private String nombre; @NonNull - @Column(length = 45) + @Column(length = 75) private String localidad; @NonNull - @Column(length = 45) + @Column(length = 100) private String direccion; @NonNull - @Column(length = 45) @Name("sede_central") private boolean sedeCentral; - @ManyToOne(cascade = {CascadeType.MERGE, CascadeType.REMOVE,CascadeType.REFRESH}) + @ManyToOne(cascade = {/*CascadeType.PERSIST,*/CascadeType.MERGE, CascadeType.REMOVE,CascadeType.REFRESH}) @JoinColumn(name = "Empresa_id") private Empresa empresa; diff --git a/src/main/java/com/example/proyectofinal/repositories/empresas/AlumnoRepository.java b/src/main/java/com/example/proyectofinal/repositories/empresas/AlumnoRepository.java index 9cb35ab..ffba063 100644 --- a/src/main/java/com/example/proyectofinal/repositories/empresas/AlumnoRepository.java +++ b/src/main/java/com/example/proyectofinal/repositories/empresas/AlumnoRepository.java @@ -1,7 +1,16 @@ package com.example.proyectofinal.repositories.empresas; import com.example.proyectofinal.models.empresas.Alumno; + import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import java.util.ArrayList; public interface AlumnoRepository extends JpaRepository { + //TODO alter query so in like all the other elemnts are included + + @Query(value = "SELECT * FROM alumnos u WHERE MATCH(u.nombre, u.keywords, " + + "u.apellido, u.apellido2, u.correo, u.correo2, u.nacionalidad, u.genero, u.dni, u.nia ) AGAINST(?1 IN BOOLEAN MODE) OR u.nombre LIKE %?1% OR u.keywords LIKE %?1%", nativeQuery = true) + public ArrayList getAlumnoByKeywordsOrName(String keyword1); } diff --git a/src/main/java/com/example/proyectofinal/repositories/empresas/EmpressaRepository.java b/src/main/java/com/example/proyectofinal/repositories/empresas/EmpressaRepository.java index 569ccfb..37556ae 100644 --- a/src/main/java/com/example/proyectofinal/repositories/empresas/EmpressaRepository.java +++ b/src/main/java/com/example/proyectofinal/repositories/empresas/EmpressaRepository.java @@ -7,11 +7,10 @@ import org.springframework.data.jpa.repository.Query; import java.util.ArrayList; public interface EmpressaRepository extends JpaRepository { - //There is no value= here so Empresa is the table name - @Query("Select u from Empresa u where u.nombre LIKE ?1") - public Empresa getEmpressa(String empressa); + + //there is value = and nativeQuery = true so the query is written in SQL refering to the table in the database - @Query(value = "Select * FROM empresas u where MATCH(u.nombre, u.keywords) AGAINST( ?1 in boolean mode)",nativeQuery = true) - public ArrayList getEmpressaByKeywordsOrName(String keyword1); + @Query(value = "SELECT * FROM empresas u WHERE MATCH(u.nombre, u.keywords) AGAINST(?1 IN BOOLEAN MODE) OR u.nombre LIKE %?1% OR u.keywords LIKE %?1%", nativeQuery = true) + public ArrayList getEmpressaByKeywordsOrName(String word); } diff --git a/src/main/java/com/example/proyectofinal/repositories/empresas/OfertaRepository.java b/src/main/java/com/example/proyectofinal/repositories/empresas/OfertaRepository.java index 5269b11..860bb41 100644 --- a/src/main/java/com/example/proyectofinal/repositories/empresas/OfertaRepository.java +++ b/src/main/java/com/example/proyectofinal/repositories/empresas/OfertaRepository.java @@ -1,7 +1,14 @@ package com.example.proyectofinal.repositories.empresas; +import com.example.proyectofinal.models.empresas.Empresa; import com.example.proyectofinal.models.empresas.Oferta; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import java.util.ArrayList; public interface OfertaRepository extends JpaRepository { + + @Query(value = "SELECT * FROM ofertas u WHERE MATCH(u.nombre, u.fecha) AGAINST(?1 IN BOOLEAN MODE) OR u.nombre LIKE %?1% OR u.fecha LIKE %?1%", nativeQuery = true) + public ArrayList getOfertaByKeywordsOrName(String word); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b573c29..f973c3a 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -13,3 +13,4 @@ server.port=8080 #Dialecto spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect + diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql new file mode 100644 index 0000000..693e645 --- /dev/null +++ b/src/main/resources/data.sql @@ -0,0 +1,64 @@ +INSERT INTO Familia (nombre) VALUES ('Informatica1'); +INSERT INTO Familia (nombre) VALUES ('Informatica2'); +INSERT INTO Familia (nombre) VALUES ('Informatica3'); +INSERT INTO Familia (nombre) VALUES ('Informatica4'); +INSERT INTO Familia (nombre) VALUES ('Informatica5'); + +-- Insert into Ciclo table +INSERT INTO Ciclo (nombre, codigo, Familia_id) VALUES ('Dessarrollo de aplicaciones multiplataforma 1','DAM1', 1); +INSERT INTO Ciclo (nombre, codigo, Familia_id) VALUES ('Dessarrollo de aplicaciones multiplataforma','DAM2', 2); +INSERT INTO Ciclo (nombre, codigo, Familia_id) VALUES ('Dessarrollo de aplicaciones web 1','DAW2', 3); +INSERT INTO Ciclo (nombre, codigo, Familia_id) VALUES ('Dessarrollo de aplicaciones web 2','DAW2', 4); +INSERT INTO Ciclo (nombre, codigo, Familia_id) VALUES ('Dessarrollo de aplicaciones anci 1','ANCI2', 5); +INSERT INTO Ciclo (nombre, codigo, Familia_id) VALUES ('Dessarrollo de aplicaciones anci 2','ANCI2', 5); + +-- Insert into Skill table +INSERT INTO Skill (nombre) VALUES ('Java'); +INSERT INTO Skill (nombre) VALUES ('Guitara'); +INSERT INTO Skill (nombre) VALUES ('Eletricista'); +INSERT INTO Skill (nombre) VALUES ('Moviles'); +INSERT INTO Skill (nombre) VALUES ('Deportista'); +INSERT INTO Skill (nombre) VALUES ('Python'); + +-- Insert into Alumno table +INSERT INTO Alumno (nombre, apellido, apellido2, fechaNacimiento, genero, nia, dni, correo, correo2, nacionalidad, keyword, Ciclo_id) VALUES ('John', 'Doe', , '2000-01-01', 'Male', '123456781', '12345678A', 'john.doe@example.com', 'john.smith@example.com', 'American', 'Java, Python', 1); +INSERT INTO Alumno (nombre, apellido, apellido2, fechaNacimiento, genero, nia, dni, correo, correo2, nacionalidad, keyword, Ciclo_id) VALUES ('Jane', 'Doe', 'Johnson', '2000-02-02', 'Female', '123456782', '12345678B', 'jane.doe@example.com', 'jane.johnson@example.com', 'American', 'Guitara', 2); +INSERT INTO Alumno (nombre, apellido, apellido2, fechaNacimiento, genero, nia, dni, correo, correo2, nacionalidad, keyword, Ciclo_id) VALUES ('Robert', 'Smith', , '2000-03-03', 'Male', '123456783', '12345678C', 'robert.smith@example.com', , 'British', 'Eletricista', 3); +INSERT INTO Alumno (nombre, apellido, apellido2, fechaNacimiento, genero, nia, dni, correo, correo2, nacionalidad, keyword, Ciclo_id) VALUES ('Emily', 'Johnson', 'Smith', '2000-04-04', 'Female', '123456784', '12345678D', 'emily.johnson@example.com', 'emily.smith@example.com', 'British', 'Moviles', 4); +INSERT INTO Alumno (nombre, apellido, apellido2, fechaNacimiento, genero, nia, dni, correo, correo2, nacionalidad, keyword, Ciclo_id) VALUES ('James', 'Brown', 'Johnson', '2000-05-05', 'Male', '123456785', '12345678E', 'james.brown@example.com', , 'Australian', 'Deportista', 5); + + +-- Insert into Sector table +INSERT INTO Sector (nombre) VALUES ('Electricidad'); +INSERT INTO Sector (nombre) VALUES ('Informatica'); +INSERT INTO Sector (nombre) VALUES ('Deporte'); +INSERT INTO Sector (nombre) VALUES ('Musica'); +INSERT INTO Sector (nombre) VALUES ('Electronica'); + +-- Insert into Empresa table +INSERT INTO Empresa (nombre, cif, correo, telefono, keywords, Sector_id) VALUES ('LuzT', '123456789W1', 'luzt@example.com', '12345678901', 'trabajador,python', 1); +INSERT INTO Empresa (nombre, cif, correo, telefono, keywords, Sector_id) VALUES ('PC R&R', '123456789W2', 'pcrnr@example.com', '12345678902', 'jugador', 2); +INSERT INTO Empresa (nombre, cif, correo, telefono, keywords, Sector_id) VALUES ('Runners', '123456789W3', 'run@example.com', '12345678903', 'bailador', 3); +INSERT INTO Empresa (nombre, cif, correo, telefono, keywords, Sector_id) VALUES ('Keytara', '123456789W4', 'keytara@example.com', '12345678904', 'programador', 4); +INSERT INTO Empresa (nombre, cif, correo, telefono, keywords, Sector_id) VALUES ('Movil', '123456789W5', 'movil@example.com', '12345678905', 'animales', 5); + +-- Insert into Contacto table +INSERT INTO Contacto (nombre, apellido1, apellido2, correo, telefono, Empresa_id) VALUES ('Juan', 'Gonzales','Gonzales' , 'juan@example.com', '12345678901', 1); +INSERT INTO Contacto (nombre, apellido1, apellido2, correo, telefono, Empresa_id) VALUES ('Estaban', 'Smit', 'Lokasto', '', '12345678902', 2); +INSERT INTO Contacto (nombre, apellido1, apellido2, correo, telefono, Empresa_id) VALUES ('Pablo', 'Lodrego', , 'pablo@example.com', '12345678903', 3); +INSERT INTO Contacto (nombre, apellido1, apellido2, correo, telefono, Empresa_id) VALUES ('David', 'Borgia', 'Algosto', 'david4@example.com', '12345678904', 4); +INSERT INTO Contacto (nombre, apellido1, apellido2, correo, telefono, Empresa_id) VALUES ('Logan', 'Porlot', , 'logan@example.com', '', 5); + +-- Insert into Sucursal table +INSERT INTO Sucursal (nombre, localidad, direccion, sede_central, Empresa_id) VALUES ('Sucursal1', 'Denia', 'Calle 123', true, 1); +INSERT INTO Sucursal (nombre, localidad, direccion, sede_central, Empresa_id) VALUES ('Sucursal2', 'Javea', 'Calle Verdadera 123', true, 2); +INSERT INTO Sucursal (nombre, localidad, direccion, sede_central, Empresa_id) VALUES ('Sucursal3', 'Teulada', 'Calle Alog 123', true, 3); +INSERT INTO Sucursal (nombre, localidad, direccion, sede_central, Empresa_id) VALUES ('Sucursal4', 'Benitachell', 'Calle Loco 123', true, 4); +INSERT INTO Sucursal (nombre, localidad, direccion, sede_central, Empresa_id) VALUES ('Sucursal5', 'Benissa', 'Calle Norm 123', true, 5); + +-- Insert into Oferta table +INSERT INTO Oferta (nombre, descripcion, fecha, Sucursal_id) VALUES ('Oferta1', 'Description1', '2023-01-11', 1); +INSERT INTO Oferta (nombre, descripcion, fecha, Sucursal_id) VALUES ('Oferta2', 'Description2', '2023-01-12', 2); +INSERT INTO Oferta (nombre, descripcion, fecha, Sucursal_id) VALUES ('Oferta3', 'Description3', '2023-01-13', 3); +INSERT INTO Oferta (nombre, descripcion, fecha, Sucursal_id) VALUES ('Oferta4', 'Description4', '2023-01-14', 4); +INSERT INTO Oferta (nombre, descripcion, fecha, Sucursal_id) VALUES ('Oferta5', 'Description5', '2023-01-15', 5); \ No newline at end of file diff --git a/src/main/resources/templates/buscador_admin.html b/src/main/resources/templates/buscador_admin.html index bc1252d..9198d8e 100644 --- a/src/main/resources/templates/buscador_admin.html +++ b/src/main/resources/templates/buscador_admin.html @@ -48,8 +48,8 @@

- -
+ +

diff --git a/src/main/resources/templates/list_alumnos.html b/src/main/resources/templates/list_alumnos.html index 18c4a0d..ef41d6c 100644 --- a/src/main/resources/templates/list_alumnos.html +++ b/src/main/resources/templates/list_alumnos.html @@ -6,17 +6,38 @@ Title - +

Listado de Alumnos

-

Listado de Empresas

@@ -25,14 +46,18 @@ + + + + + - - + @@ -40,12 +65,17 @@ - - + + + + + +
Apellido 1 Apellido 2 Fecha NacimientoGenero NIADNI/NIECorreo 1Correo 2Nacionalidad KeywordsSkills Ciclo
[[${alumno.id}]] [[${alumno.nombre}]] [[${alumno.apellido}]][[${alumno.fechaNacimiento}]] [[${alumno.genero}]] [[${alumno.nia}]][[${keyword}]][[${alumno.ciclo}]][[${alumno.dni}]][[${alumno.correo}]][[${alumno.correo2}]][[${alumno.nacionalidad}]][[${keyword}]][[${alumno.ciclo.nombre}]]
+Back to Buscador \ No newline at end of file diff --git a/src/main/resources/templates/list_empresas.html b/src/main/resources/templates/list_empresas.html index aedb2a5..957117b 100644 --- a/src/main/resources/templates/list_empresas.html +++ b/src/main/resources/templates/list_empresas.html @@ -6,16 +6,38 @@ Title +

Listado de Empresas

-

Listado de Empresas

@@ -29,7 +51,7 @@ - + @@ -43,6 +65,7 @@
[[${empresa.id}]] [[${empresa.nombre}]] [[${empresa.cif}]]
+Back to Buscador \ No newline at end of file diff --git a/src/main/resources/templates/list_ofertas.html b/src/main/resources/templates/list_ofertas.html new file mode 100644 index 0000000..6620895 --- /dev/null +++ b/src/main/resources/templates/list_ofertas.html @@ -0,0 +1,63 @@ + + + + + + Title + + + + + +

Listado de Ofertas

+
+ + + + + + + + + + + + + + + + + +
IdNombreDescripcionFecha
[[${oferta.id}]][[${oferta.nombre}]][[${oferta.descripcion}]][[${oferta.fecha}]]
+
+Back to Buscador + + + \ No newline at end of file