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