features/crud_entites #105
@@ -116,10 +116,9 @@ public class PersonneController {
|
|||||||
@PostMapping("/recherche")
|
@PostMapping("/recherche")
|
||||||
public ResponseEntity<?> rechercherPersonne(@RequestBody RecherchePersonneResquestBody recherchePersonneResquestBody ) {
|
public ResponseEntity<?> rechercherPersonne(@RequestBody RecherchePersonneResquestBody recherchePersonneResquestBody ) {
|
||||||
try{
|
try{
|
||||||
personneService.recherchePersonne(recherchePersonneResquestBody);
|
// personneService.recherchePersonne(recherchePersonneResquestBody);
|
||||||
|
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
new ApiResponse<>(true, null, "Personne retrouvée avec succès."),
|
new ApiResponse<>(true, personneService.recherchePersonne(recherchePersonneResquestBody), "Personne retrouvée avec succès."),
|
||||||
HttpStatus.OK
|
HttpStatus.OK
|
||||||
);
|
);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
|
|||||||
@@ -2,5 +2,8 @@ package io.gmss.fiscad.enums;
|
|||||||
|
|
||||||
public enum Origine {
|
public enum Origine {
|
||||||
WEB,
|
WEB,
|
||||||
MOBILE
|
MOBILE,
|
||||||
|
SIGIBE,
|
||||||
|
RFU_LOGIL,
|
||||||
|
ANIP
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ import org.springframework.data.domain.Page;
|
|||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@@ -194,9 +196,60 @@ public class PersonneServiceImpl implements PersonneService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Personne> recherchePersonne(RecherchePersonneResquestBody recherchePersonneResquestBody) {
|
public List<PersonnePayLoadWeb> recherchePersonne(RecherchePersonneResquestBody recherchePersonneResquestBody) {
|
||||||
callAPIService.callGetIfuEnLigneToken();
|
// callAPIService.callGetIfuEnLigneToken();
|
||||||
return null;
|
List<PersonnePayLoadWeb> personnePayLoadWebsRfuLoggil = new ArrayList<>();
|
||||||
}
|
personnePayLoadWebsRfuLoggil = recherchePersonneLocal(recherchePersonneResquestBody);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return personnePayLoadWebsRfuLoggil;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private List<PersonnePayLoadWeb> recherchePersonneLocal(RecherchePersonneResquestBody recherchePersonneResquestBody) {
|
||||||
|
|
||||||
|
List<PersonnePayLoadWeb> personnePayLoadWebs=
|
||||||
|
personneRepository.findByFilters(
|
||||||
|
recherchePersonneResquestBody.getIfu()==null?null:recherchePersonneResquestBody.getIfu().trim().toLowerCase(),
|
||||||
|
recherchePersonneResquestBody.getNpi()==null?null:recherchePersonneResquestBody.getNpi().trim().toLowerCase(),
|
||||||
|
recherchePersonneResquestBody.getNom()==null?null:recherchePersonneResquestBody.getNom().trim().toLowerCase(),
|
||||||
|
recherchePersonneResquestBody.getPrenom()==null?null:recherchePersonneResquestBody.getPrenom().trim().toLowerCase(),
|
||||||
|
recherchePersonneResquestBody.getRaisonSociale()==null?null:recherchePersonneResquestBody.getRaisonSociale().trim().toLowerCase(),
|
||||||
|
recherchePersonneResquestBody.getNomMere()==null?null:recherchePersonneResquestBody.getNomMere().trim().toLowerCase(),
|
||||||
|
recherchePersonneResquestBody.getDateNaissance()
|
||||||
|
);
|
||||||
|
return personnePayLoadWebs ;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<PersonnePayLoadWeb> recherchePersonneSigibe(RecherchePersonneResquestBody recherchePersonneResquestBody) {
|
||||||
|
// callAPIService.callGetIfuEnLigneToken();
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<PersonnePayLoadWeb> recherchePersonneAnip(RecherchePersonneResquestBody recherchePersonneResquestBody) {
|
||||||
|
// callAPIService.callGetIfuEnLigneToken();
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String like(String value) {
|
||||||
|
if (value == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
value = value.trim();
|
||||||
|
|
||||||
|
if (value.isEmpty()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return "%" + value + "%";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,5 +26,5 @@ public interface PersonneService {
|
|||||||
|
|
||||||
Optional<Personne> getPersonneById(Long id);
|
Optional<Personne> getPersonneById(Long id);
|
||||||
PersonneCompletDTO getPersonneComplete(Long id);
|
PersonneCompletDTO getPersonneComplete(Long id);
|
||||||
List<Personne> recherchePersonne(RecherchePersonneResquestBody recherchePersonneResquestBody);
|
List<PersonnePayLoadWeb> recherchePersonne(RecherchePersonneResquestBody recherchePersonneResquestBody);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,15 @@ package io.gmss.fiscad.paylaods.request;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class RecherchePersonneResquestBody {
|
public class RecherchePersonneResquestBody {
|
||||||
private String ifu;
|
private String ifu;
|
||||||
|
private String npi;
|
||||||
private String nom;
|
private String nom;
|
||||||
private String nomMere;
|
private String nomMere;
|
||||||
private String prenom;
|
private String prenom;
|
||||||
private String dateNaissance;
|
private String raisonSociale;
|
||||||
|
private LocalDate dateNaissance;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.paylaods.request.crudweb;
|
package io.gmss.fiscad.paylaods.request.crudweb;
|
||||||
|
|
||||||
import io.gmss.fiscad.enums.Categorie;
|
import io.gmss.fiscad.enums.Categorie;
|
||||||
|
import io.gmss.fiscad.enums.Origine;
|
||||||
import jakarta.persistence.EnumType;
|
import jakarta.persistence.EnumType;
|
||||||
import jakarta.persistence.Enumerated;
|
import jakarta.persistence.Enumerated;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -44,5 +45,22 @@ public class PersonnePayLoadWeb {
|
|||||||
private String indicatifTel1;
|
private String indicatifTel1;
|
||||||
private String indicatifTel2;
|
private String indicatifTel2;
|
||||||
private String sexe;
|
private String sexe;
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
private Origine source;
|
||||||
|
|
||||||
|
public PersonnePayLoadWeb(Long id, String ifu, String nom, String prenom, String raisonSociale, String numRavip, String npi, LocalDate dateNaissanceOuConsti, String lieuNaissance, String tel1, String nomJeuneFille, String nomMere,Origine source) {
|
||||||
|
this.id = id;
|
||||||
|
this.ifu = ifu;
|
||||||
|
this.nom = nom;
|
||||||
|
this.prenom = prenom;
|
||||||
|
this.raisonSociale = raisonSociale;
|
||||||
|
this.numRavip = numRavip;
|
||||||
|
this.npi = npi;
|
||||||
|
this.dateNaissanceOuConsti = dateNaissanceOuConsti;
|
||||||
|
this.lieuNaissance = lieuNaissance;
|
||||||
|
this.tel1 = tel1;
|
||||||
|
this.nomJeuneFille = nomJeuneFille;
|
||||||
|
this.nomMere = nomMere;
|
||||||
|
this.source = source;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,14 @@ package io.gmss.fiscad.persistence.repositories.infocad.parametre;
|
|||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.paylaods.request.crudweb.DeclarationNcPayloadWeb;
|
import io.gmss.fiscad.paylaods.request.crudweb.DeclarationNcPayloadWeb;
|
||||||
|
import io.gmss.fiscad.paylaods.request.crudweb.PersonnePayLoadWeb;
|
||||||
import io.gmss.fiscad.paylaods.response.statistique.StatistiqueTypeNombreResponse;
|
import io.gmss.fiscad.paylaods.response.statistique.StatistiqueTypeNombreResponse;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.PersonnePayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.PersonnePayLoad;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
import org.springframework.data.repository.query.Param;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@@ -63,5 +66,41 @@ public interface PersonneRepository extends JpaRepository<Personne, Long> {
|
|||||||
List<StatistiqueTypeNombreResponse> getNombrePersonnesResponse();
|
List<StatistiqueTypeNombreResponse> getNombrePersonnesResponse();
|
||||||
|
|
||||||
|
|
||||||
|
@Query( """
|
||||||
|
SELECT new io.gmss.fiscad.paylaods.request.crudweb.PersonnePayLoadWeb(
|
||||||
|
p.id,
|
||||||
|
p.ifu,
|
||||||
|
p.nom,
|
||||||
|
p.prenom,
|
||||||
|
p.raisonSociale,
|
||||||
|
p.numRavip,
|
||||||
|
p.npi,
|
||||||
|
p.dateNaissanceOuConsti,
|
||||||
|
p.lieuNaissance,
|
||||||
|
p.tel1,
|
||||||
|
p.nomJeuneFille,
|
||||||
|
p.nomMere,
|
||||||
|
io.gmss.fiscad.enums.Origine.RFU_LOGIL
|
||||||
|
)
|
||||||
|
FROM Personne p
|
||||||
|
WHERE (:ifu IS NULL OR LOWER(trim(p.ifu)) LIKE (CONCAT('%', :ifu, '%')))
|
||||||
|
AND (:npi IS NULL OR LOWER(trim(p.npi)) LIKE (CONCAT('%', :npi, '%')))
|
||||||
|
AND (:nom IS NULL OR LOWER(trim(p.nom)) LIKE (CONCAT('%', :nom, '%')))
|
||||||
|
AND (:prenom IS NULL OR LOWER(trim(p.prenom)) LIKE (CONCAT('%', :prenom, '%')))
|
||||||
|
AND (:raisonSociale IS NULL OR LOWER(trim(p.raisonSociale)) LIKE (CONCAT('%', :raisonSociale, '%')))
|
||||||
|
AND (:nomMere IS NULL OR LOWER(trim(p.nomMere)) LIKE (CONCAT('%', :nomMere, '%')))
|
||||||
|
AND (:dateNaissance IS NULL OR p.dateNaissanceOuConsti = :dateNaissance)
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
List<PersonnePayLoadWeb> findByFilters(
|
||||||
|
@Param("ifu") String ifu,
|
||||||
|
@Param("npi") String npi,
|
||||||
|
@Param("nom") String nom,
|
||||||
|
@Param("prenom") String prenom,
|
||||||
|
@Param("raisonSociale") String raisonSociale,
|
||||||
|
@Param("nomMere") String nomMere,
|
||||||
|
@Param("dateNaissance") LocalDate dateNaissance
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,3 +73,9 @@ logging.level.org.apache.catalina.connector.ClientAbortException=ERROR
|
|||||||
# Affiche les valeurs des param<61>tres bind<6E>s (Hibernate 5.4+)
|
# Affiche les valeurs des param<61>tres bind<6E>s (Hibernate 5.4+)
|
||||||
#logging.level.org.hibernate.SQL=DEBUG
|
#logging.level.org.hibernate.SQL=DEBUG
|
||||||
#logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
|
#logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
|
||||||
|
|
||||||
|
#spring.jpa.show-sql=true
|
||||||
|
#spring.jpa.properties.hibernate.format_sql=true
|
||||||
|
##logging.level.org.hibernate.SQL=DEBUG
|
||||||
|
#logging.level.org.hibernate.type.descriptor.sql=TRACE
|
||||||
|
#logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
|
||||||
Reference in New Issue
Block a user