@ -100,7 +100,6 @@ public class OfertaService implements IOferta {
List < Oferta > ofertas = ofertaRepository . findByCiclold ( id ) ;
if ( ofertas ! = null ) {
for ( Oferta oferta : ofertas ) {
System . out . println ( "Deleting oferta with id: " + oferta . getId ( ) ) ;
ofertaRepository . deleteSkillsByOfertaId ( oferta . getId ( ) ) ;
ofertaRepository . deleteById ( oferta . getId ( ) ) ;
}
@ -108,13 +107,10 @@ public class OfertaService implements IOferta {
}
@Override
public Page < Oferta > getPage ( int pageNum , int size , String sortField , String sortDir , String query , String secondaryOption ) throws ParseException {
if ( secondaryOption . equalsIgnoreCase ( "Todo" ) ) {
return findAllPaginated ( pageNum , size , sortField , sortDir ) ;
} else if ( secondaryOption . equals ( "Skill" ) ) {
return ofertaRepository . findOfertaBySkill ( query , PageRequest . of ( pageNum - 1 , size , Sort . by ( sortField ) . ascending ( ) ) ) ;
} else if ( secondaryOption . equals ( "Nombre" ) ) {
return ofertaRepository . findOfertaByNombre ( query , PageRequest . of ( pageNum - 1 , size , Sort . by ( sortField ) . ascending ( ) ) ) ;
} else if ( secondaryOption . equals ( "Este Año" ) ) {
String year = new SimpleDateFormat ( "yyyy" ) . format ( new Date ( ) ) ;
return ofertaRepository . findOfertaByFechaAnyo ( year , PageRequest . of ( pageNum - 1 , size , Sort . by ( sortField ) . ascending ( ) ) ) ;
@ -134,15 +130,15 @@ public class OfertaService implements IOferta {
for ( String query : queryMultiWord ) {
query = query . trim ( ) . toLowerCase ( ) ;
Page < Oferta > page ;
if ( secondaryOption . equals ( "Nombre" ) ) {
page = ofertaRepository . findOfertasByNombres ( query , PageRequest . of ( pageNum - 1 , size , Sort . by ( sortField ) . ascending ( ) ) ) ;
allMatches . addAll ( page . getContent ( ) ) ;
} else if ( secondaryOption . equals ( "Empresa" ) ) {
page = ofertaRepository . findOfertaByEmpresas ( query , PageRequest . of ( pageNum - 1 , size , Sort . by ( sortField ) . ascending ( ) ) ) ;
allMatches . addAll ( page . getContent ( ) ) ;
} else if ( secondaryOption . equals ( "Skill" ) ) {
page = ofertaRepository . findOfertaBySkills ( query , PageRequest . of ( pageNum - 1 , size , Sort . by ( sortField ) . ascending ( ) ) ) ;
allMatches . addAll ( page . getContent ( ) ) ;
switch ( secondaryOption ) {
case "Empresa" - > {
page = ofertaRepository . findOfertaByEmpresas ( query , PageRequest . of ( pageNum - 1 , size , Sort . by ( sortField ) . ascending ( ) ) ) ;
allMatches . addAll ( page . getContent ( ) ) ;
}
case "Skill" - > {
page = ofertaRepository . findOfertaBySkills ( query , PageRequest . of ( pageNum - 1 , size , Sort . by ( sortField ) . ascending ( ) ) ) ;
allMatches . addAll ( page . getContent ( ) ) ;
}
}
}
// Convert the list of all matches to a page
@ -169,19 +165,17 @@ public class OfertaService implements IOferta {
if ( ! querySearchBar . isEmpty ( ) ) {
for ( String query : queryMultiWord ) {
query = query . trim ( ) . toLowerCase ( ) ;
if ( secondaryOption . equals ( "Nombre" ) ) {
listEmpPrime . addAll ( ofertaRepository . ofertasByNombreCust ( query ) ) ;
} else if ( secondaryOption . equals ( "Empresa" ) ) {
listEmpPrime . addAll ( ofertaRepository . ofertasByEmpresaCust ( query ) ) ;
} else if ( secondaryOption . equals ( "Skill" ) ) {
listEmpPrime . addAll ( ofertaRepository . ofertasBySkillCust ( query ) ) ;
} else if ( secondaryOption . equals ( "Este Año" ) ) {
String year = new SimpleDateFormat ( "yyyy" ) . format ( new Date ( ) ) ;
listEmpPrime . addAll ( ofertaRepository . findOfertaByFechaAnyo ( year , PageRequest . of ( 0 , 1000 , Sort . by ( "fecha" ) . ascending ( ) ) ) . getContent ( ) ) ;
} else if ( secondaryOption . equals ( "Ultimos 3 meses" ) ) {
listEmpPrime . addAll ( ofertaRepository . findOfertaByFechaUltimos3Meses ( PageRequest . of ( 0 , 1000 , Sort . by ( "fecha" ) . ascending ( ) ) ) . getContent ( ) ) ;
} else if ( secondaryOption . equals ( "Ultimos 6 meses" ) ) {
listEmpPrime . addAll ( ofertaRepository . findOfertaByFechaUltimos6Meses ( PageRequest . of ( 0 , 1000 , Sort . by ( "fecha" ) . ascending ( ) ) ) . getContent ( ) ) ;
switch ( secondaryOption ) {
case "Empresa" - > listEmpPrime . addAll ( ofertaRepository . ofertasByEmpresaCust ( query ) ) ;
case "Skill" - > listEmpPrime . addAll ( ofertaRepository . ofertasBySkillCust ( query ) ) ;
case "Este Año" - > {
String year = new SimpleDateFormat ( "yyyy" ) . format ( new Date ( ) ) ;
listEmpPrime . addAll ( ofertaRepository . findOfertaByFechaAnyo ( year , PageRequest . of ( 0 , 1000 , Sort . by ( "fecha" ) . ascending ( ) ) ) . getContent ( ) ) ;
}
case "Ultimos 3 meses" - >
listEmpPrime . addAll ( ofertaRepository . findOfertaByFechaUltimos3Meses ( PageRequest . of ( 0 , 1000 , Sort . by ( "fecha" ) . ascending ( ) ) ) . getContent ( ) ) ;
case "Ultimos 6 meses" - >
listEmpPrime . addAll ( ofertaRepository . findOfertaByFechaUltimos6Meses ( PageRequest . of ( 0 , 1000 , Sort . by ( "fecha" ) . ascending ( ) ) ) . getContent ( ) ) ;
}
}
}
@ -220,7 +214,6 @@ public class OfertaService implements IOferta {
for ( String query : queryMultiWord ) {
query = query . trim ( ) . toLowerCase ( ) ;
switch ( secondaryOption ) {
case "Nombre" - > listEmpPrime . addAll ( ofertaRepository . ofertasByNombreCust ( query ) ) ;
case "Empresa" - > listEmpPrime . addAll ( ofertaRepository . ofertasByEmpresaCust ( query ) ) ;
case "Skill" - > listEmpPrime . addAll ( ofertaRepository . ofertasBySkillCust ( query ) ) ;
case "Este Año" - > {