Merge pull request 'develop' (#106) from develop into main
All checks were successful
CD - Deploy on main / deploy (push) Successful in 48s
All checks were successful
CD - Deploy on main / deploy (push) Successful in 48s
Reviewed-on: #106
This commit was merged in pull request #106.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,3 +5,4 @@ target/*
|
|||||||
ansible
|
ansible
|
||||||
secrets/
|
secrets/
|
||||||
.env
|
.env
|
||||||
|
/uploads/
|
||||||
|
|||||||
@@ -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){
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.controllers.infocad.metier;
|
package io.gmss.fiscad.controllers.infocad.metier;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
||||||
|
import io.gmss.fiscad.interfaces.infocad.metier.UploadService;
|
||||||
import io.gmss.fiscad.paylaods.ApiResponse;
|
import io.gmss.fiscad.paylaods.ApiResponse;
|
||||||
import io.gmss.fiscad.paylaods.JobModels;
|
import io.gmss.fiscad.paylaods.JobModels;
|
||||||
import io.gmss.fiscad.proprietes.ZipStorageProperties;
|
import io.gmss.fiscad.proprietes.ZipStorageProperties;
|
||||||
@@ -8,6 +9,9 @@ import io.gmss.fiscad.persistence.repositories.infocad.metier.UploadRepository;
|
|||||||
import io.gmss.fiscad.service.FileStorageService;
|
import io.gmss.fiscad.service.FileStorageService;
|
||||||
import io.gmss.fiscad.service.StringManager;
|
import io.gmss.fiscad.service.StringManager;
|
||||||
import io.gmss.fiscad.service.ZipAsyncService;
|
import io.gmss.fiscad.service.ZipAsyncService;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Content;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
@@ -45,12 +49,13 @@ import java.util.UUID;
|
|||||||
@SecurityRequirement(name = "bearer")
|
@SecurityRequirement(name = "bearer")
|
||||||
@Tag(name = "Upload")
|
@Tag(name = "Upload")
|
||||||
@CrossOrigin(origins = "*")
|
@CrossOrigin(origins = "*")
|
||||||
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
//@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
||||||
public class UploadController {
|
public class UploadController {
|
||||||
|
|
||||||
boolean headIsValid = false;
|
boolean headIsValid = false;
|
||||||
private final ZipAsyncService service;
|
private final ZipAsyncService service;
|
||||||
private final ZipStorageProperties props;
|
private final ZipStorageProperties props;
|
||||||
|
private final UploadService uploadService;
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(UploadController.class);
|
private static final Logger logger = LoggerFactory.getLogger(UploadController.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -94,7 +99,7 @@ public class UploadController {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if (uploadRepository.findById(id).isPresent()) {
|
if (uploadRepository.findById(id).isPresent()) {
|
||||||
return new ResponseEntity<>(new ApiResponse(true, uploadRepository.getOne(id), "File with id {" + id + "} is found."), HttpStatus.OK);
|
return new ResponseEntity<>(new ApiResponse(true, uploadRepository.findById(id), "File with id {" + id + "} is found."), HttpStatus.OK);
|
||||||
} else {
|
} else {
|
||||||
return new ResponseEntity<>(new ApiResponse(true, null, "The upload with id {" + id + "} you request for is not found."), HttpStatus.OK);
|
return new ResponseEntity<>(new ApiResponse(true, null, "The upload with id {" + id + "} you request for is not found."), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
@@ -139,30 +144,39 @@ public class UploadController {
|
|||||||
.body(resource);
|
.body(resource);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/save")
|
@PostMapping(
|
||||||
public ResponseEntity<?> save(@RequestPart(required = true) MultipartFile file, @RequestParam String reference, @RequestParam String description /*, @RequestParam Long idTypeUpload*/) {
|
value = "/save",
|
||||||
|
consumes = MediaType.MULTIPART_FORM_DATA_VALUE
|
||||||
|
)
|
||||||
|
public ResponseEntity<?> saveFilePieceId(
|
||||||
|
@Parameter(
|
||||||
|
description = "Fichier à uploader",
|
||||||
|
required = true,
|
||||||
|
content = @Content(
|
||||||
|
mediaType = MediaType.APPLICATION_OCTET_STREAM_VALUE,
|
||||||
|
schema = @Schema(type = "string", format = "binary")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
@RequestPart("file") MultipartFile file,
|
||||||
|
|
||||||
|
@Parameter(description = "ID de la pièce", required = true)
|
||||||
|
@RequestParam("pieceId") Long pieceId
|
||||||
|
) {
|
||||||
try {
|
try {
|
||||||
Upload upload = new Upload();
|
return ResponseEntity.ok(
|
||||||
String fileName = fileStorageService.storeFile(file);
|
new ApiResponse(true,
|
||||||
upload.setFileName(fileName);
|
uploadService.createUpload(file, pieceId),
|
||||||
upload.setMimeType(file.getContentType());
|
"File has been created successfully.")
|
||||||
upload.setSize(file.getSize());
|
);
|
||||||
upload.setOriginalFileName(file.getOriginalFilename());
|
|
||||||
return new ResponseEntity<>(new ApiResponse(true, uploadRepository.save(upload), "File has been created successfully."), HttpStatus.OK);
|
|
||||||
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
||||||
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
||||||
} catch (NullPointerException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
logger.error(e.getLocalizedMessage());
|
|
||||||
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(e.getLocalizedMessage());
|
logger.error(e.getMessage(), e);
|
||||||
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
|
||||||
|
.body(new ApiResponse(false, null, e.getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@DeleteMapping("/delete/id/{id}")
|
@DeleteMapping("/delete/id/{id}")
|
||||||
public ResponseEntity<?> delete(@PathVariable Long id) {
|
public ResponseEntity<?> delete(@PathVariable Long id) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ public class Upload extends BaseEntity implements Serializable {
|
|||||||
String url = this.serverContext() + fileName;
|
String url = this.serverContext() + fileName;
|
||||||
System.out.println("url = " + url);
|
System.out.println("url = " + url);
|
||||||
// return url != null ? url.toLowerCase().startsWith("https") ? url : url.toLowerCase().replaceFirst("http", "https") : null;
|
// return url != null ? url.toLowerCase().startsWith("https") ? url : url.toLowerCase().replaceFirst("http", "https") : null;
|
||||||
return url != null ? url.toLowerCase().startsWith("https") ? url : url.toLowerCase().replaceFirst("http", "https") : null;
|
return url ;//!= null ? url.toLowerCase().startsWith("https") ? url : url.toLowerCase().replaceFirst("http", "https") : null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,10 +104,11 @@ public class Upload extends BaseEntity implements Serializable {
|
|||||||
String url= ServletUriComponentsBuilder.fromCurrentContextPath()
|
String url= ServletUriComponentsBuilder.fromCurrentContextPath()
|
||||||
.path("/api/upload/downloadFile/")
|
.path("/api/upload/downloadFile/")
|
||||||
.toUriString();
|
.toUriString();
|
||||||
if(!url.contains("8282/api")){
|
//System.out.println(url);
|
||||||
url.replace("/api",":8282/api");
|
// if(!url.contains("8282/api")){
|
||||||
}
|
// url.replace("/api",":8282/api");
|
||||||
|
// }
|
||||||
|
//System.out.println(url);
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
|||||||
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
||||||
import io.gmss.fiscad.enums.Categorie;
|
import io.gmss.fiscad.enums.Categorie;
|
||||||
|
import io.gmss.fiscad.enums.EtatIdentificationPersonne;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -79,7 +80,12 @@ public class Personne extends BaseEntity implements Serializable {
|
|||||||
private int mustHaveRepresentant;
|
private int mustHaveRepresentant;
|
||||||
private String filePath;
|
private String filePath;
|
||||||
|
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
private EtatIdentificationPersonne etatIdentificationPersonne;
|
||||||
private String observation;
|
private String observation;
|
||||||
|
private String numeroRccm ;
|
||||||
|
private LocalDate dateRccm ;
|
||||||
|
private String email ;
|
||||||
@ColumnDefault("false")
|
@ColumnDefault("false")
|
||||||
private boolean synchronise;
|
private boolean synchronise;
|
||||||
|
|
||||||
|
|||||||
8
src/main/java/io/gmss/fiscad/enums/EtatIdentificationPersonne.java
Executable file
8
src/main/java/io/gmss/fiscad/enums/EtatIdentificationPersonne.java
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
package io.gmss.fiscad.enums;
|
||||||
|
|
||||||
|
public enum EtatIdentificationPersonne {
|
||||||
|
IFU,
|
||||||
|
NPI,
|
||||||
|
IFU_NPI,
|
||||||
|
NEANT;
|
||||||
|
}
|
||||||
@@ -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();
|
||||||
|
List<PersonnePayLoadWeb> personnePayLoadWebsRfuLoggil = new ArrayList<>();
|
||||||
|
personnePayLoadWebsRfuLoggil = recherchePersonneLocal(recherchePersonneResquestBody);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return personnePayLoadWebsRfuLoggil;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private List<PersonnePayLoadWeb> recherchePersonneLocal(RecherchePersonneResquestBody recherchePersonneResquestBody) {
|
||||||
|
|
||||||
|
List<PersonnePayLoadWeb> personnePayLoadWebs=
|
||||||
|
personneRepository.findByFiltersInBaseIfuNpiCorrecte(
|
||||||
|
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;
|
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 + "%";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,98 @@
|
|||||||
|
package io.gmss.fiscad.implementations.infocad.metier;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Piece;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.Batiment;
|
||||||
|
import io.gmss.fiscad.exceptions.BadRequestException;
|
||||||
|
import io.gmss.fiscad.exceptions.NotFoundException;
|
||||||
|
import io.gmss.fiscad.interfaces.infocad.metier.UploadService;
|
||||||
|
import io.gmss.fiscad.paylaods.request.crudweb.UploadPayLoadWeb;
|
||||||
|
import io.gmss.fiscad.persistence.repositories.infocad.metier.PieceRepository;
|
||||||
|
import io.gmss.fiscad.persistence.repositories.infocad.metier.UploadRepository;
|
||||||
|
import io.gmss.fiscad.service.EntityFromPayLoadService;
|
||||||
|
import io.gmss.fiscad.service.FileStorageService;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class UploadServiceImpl implements UploadService {
|
||||||
|
private final EntityFromPayLoadService entityFromPayLoadService;
|
||||||
|
private final UploadRepository uploadRepository;
|
||||||
|
private final PieceRepository pieceRepository;
|
||||||
|
private final FileStorageService fileStorageService;
|
||||||
|
@Override
|
||||||
|
public UploadPayLoadWeb createUpload(UploadPayLoadWeb uploadPayLoadWeb) throws BadRequestException {
|
||||||
|
if (uploadPayLoadWeb.getId() != null) {
|
||||||
|
throw new BadRequestException("Impossible de créer un nouveau upload ayant un id non null.");
|
||||||
|
}
|
||||||
|
Upload upload= entityFromPayLoadService.getUploadFromPayLoadWeb(uploadPayLoadWeb);
|
||||||
|
upload= uploadRepository.save(upload);
|
||||||
|
return uploadRepository.findByIdToDto(upload.getId()).orElse(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Upload createUpload(MultipartFile file, @RequestParam Long pieceId) throws BadRequestException {
|
||||||
|
Upload upload = new Upload();
|
||||||
|
if(pieceId!=null && !pieceRepository.existsById(pieceId)) {
|
||||||
|
throw new NotFoundException("La piece n'existe pas");
|
||||||
|
}
|
||||||
|
Optional<Piece> optionalPiece = pieceRepository.findById(pieceId);
|
||||||
|
String fileName = fileStorageService.storeFile(file);
|
||||||
|
upload.setPiece(optionalPiece.orElse(null));
|
||||||
|
upload.setFileName(fileName);
|
||||||
|
upload.setRename(fileName);
|
||||||
|
upload.setMimeType(file.getContentType());
|
||||||
|
upload.setSize(file.getSize());
|
||||||
|
upload.setOriginalFileName(file.getOriginalFilename());
|
||||||
|
upload = uploadRepository.save(upload) ;
|
||||||
|
return upload;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UploadPayLoadWeb updateUpload(Long id, UploadPayLoadWeb uploadPayLoadWeb) throws NotFoundException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteUpload(Long id) throws NotFoundException {
|
||||||
|
Optional<Upload> optionalUpload = uploadRepository.findById(id);
|
||||||
|
if (optionalUpload.isPresent()) {
|
||||||
|
uploadRepository.deleteById(optionalUpload.get().getId());
|
||||||
|
} else {
|
||||||
|
throw new NotFoundException("Impossible de trouver le fichier spécifié dans notre base de données.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Page<UploadPayLoadWeb> getUploadListToDtoPageable(Pageable pageable) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<UploadPayLoadWeb> getUploadListToDto() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Optional<UploadPayLoadWeb> getUploadByToDto(Long id) {
|
||||||
|
return Optional.empty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<UploadPayLoadWeb> getAllUploadByPieceToDto(Long id) {
|
||||||
|
return uploadRepository.findByPieceId(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Page<UploadPayLoadWeb> getAllUploadByPieceDtoPageable(Long id, Pageable pageable) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
31
src/main/java/io/gmss/fiscad/interfaces/infocad/metier/UploadService.java
Executable file
31
src/main/java/io/gmss/fiscad/interfaces/infocad/metier/UploadService.java
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
package io.gmss.fiscad.interfaces.infocad.metier;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
||||||
|
import io.gmss.fiscad.exceptions.BadRequestException;
|
||||||
|
import io.gmss.fiscad.exceptions.NotFoundException;
|
||||||
|
import io.gmss.fiscad.paylaods.request.crudweb.UploadPayLoadWeb;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
public interface UploadService {
|
||||||
|
|
||||||
|
UploadPayLoadWeb createUpload(UploadPayLoadWeb piecePayLoadWeb) throws BadRequestException;
|
||||||
|
Upload createUpload(MultipartFile file, @RequestParam Long pieceId) throws BadRequestException;
|
||||||
|
|
||||||
|
UploadPayLoadWeb updateUpload(Long id, UploadPayLoadWeb piecePayLoadWeb) throws NotFoundException;
|
||||||
|
|
||||||
|
void deleteUpload(Long id) throws NotFoundException;
|
||||||
|
|
||||||
|
Page<UploadPayLoadWeb> getUploadListToDtoPageable(Pageable pageable);
|
||||||
|
|
||||||
|
List<UploadPayLoadWeb> getUploadListToDto();
|
||||||
|
|
||||||
|
Optional<UploadPayLoadWeb> getUploadByToDto(Long id);
|
||||||
|
List<UploadPayLoadWeb> getAllUploadByPieceToDto(Long id);
|
||||||
|
Page<UploadPayLoadWeb> getAllUploadByPieceDtoPageable(Long id,Pageable pageable);
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,20 @@
|
|||||||
package io.gmss.fiscad.paylaods.request.crudweb;
|
package io.gmss.fiscad.paylaods.request.crudweb;
|
||||||
|
|
||||||
|
import jakarta.persistence.Transient;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class UploadPayLoadWeb {
|
public class UploadPayLoadWeb {
|
||||||
private Long id;
|
private Long id;
|
||||||
private Long pieceId;
|
private Long pieceId;
|
||||||
private String Observation;
|
// private String Observation;
|
||||||
//private boolean synchronise;
|
//private boolean synchronise;
|
||||||
//private String fileBase64;
|
//private String fileBase64;
|
||||||
/////////////////////////////////
|
/////////////////////////////////
|
||||||
private String name;
|
private String name;
|
||||||
private String filePath;
|
private String filePath;
|
||||||
private Long enqueteId;
|
// private Long enqueteId;
|
||||||
private Long enqueteBatimentId;
|
private Long enqueteBatimentId;
|
||||||
private Long personneId;
|
private Long personneId;
|
||||||
private Long enqueteUniteLogementId;
|
private Long enqueteUniteLogementId;
|
||||||
@@ -20,5 +22,34 @@ public class UploadPayLoadWeb {
|
|||||||
private String reference;
|
private String reference;
|
||||||
private String description;
|
private String description;
|
||||||
private String rename;
|
private String rename;
|
||||||
|
private String fileName;
|
||||||
|
private String originalFileName;
|
||||||
|
@Transient
|
||||||
|
private String URIFile;
|
||||||
|
private String checkSum;
|
||||||
|
private long size;
|
||||||
|
private String mimeType;
|
||||||
|
|
||||||
|
public UploadPayLoadWeb() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public UploadPayLoadWeb(Long id, Long pieceId, String name, String filePath, Long enqueteBatimentId, Long personneId, Long enqueteUniteLogementId, Long declarationNcId, String reference, String description, String rename,
|
||||||
|
String fileName,String originalFileName) {
|
||||||
|
this.id = id;
|
||||||
|
this.pieceId = pieceId;
|
||||||
|
//Observation = observation;
|
||||||
|
this.name = name;
|
||||||
|
this.filePath = filePath;
|
||||||
|
//this.enqueteId = enqueteId;
|
||||||
|
this.enqueteBatimentId = enqueteBatimentId;
|
||||||
|
this.personneId = personneId;
|
||||||
|
this.enqueteUniteLogementId = enqueteUniteLogementId;
|
||||||
|
this.declarationNcId = declarationNcId;
|
||||||
|
this.reference = reference;
|
||||||
|
this.description = description;
|
||||||
|
this.rename = rename;
|
||||||
|
this.fileName = fileName;
|
||||||
|
this.originalFileName = originalFileName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,11 +3,13 @@ package io.gmss.fiscad.persistence.repositories.infocad.metier;
|
|||||||
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
||||||
|
import io.gmss.fiscad.paylaods.request.crudweb.UploadPayLoadWeb;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.UploadPayLoadRestor;
|
import io.gmss.fiscad.paylaods.response.restoration.UploadPayLoadRestor;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.data.jpa.repository.Modifying;
|
import org.springframework.data.jpa.repository.Modifying;
|
||||||
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
import org.springframework.data.repository.query.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@@ -80,4 +82,49 @@ public interface UploadRepository extends JpaRepository<Upload, Long> {
|
|||||||
|
|
||||||
List<Upload> findByPersonne_IdAndPieceIsNullAndMembreGroupeIsNull(Long personneId);
|
List<Upload> findByPersonne_IdAndPieceIsNullAndMembreGroupeIsNull(Long personneId);
|
||||||
|
|
||||||
|
|
||||||
|
@Query("""
|
||||||
|
SELECT new io.gmss.fiscad.paylaods.request.crudweb.UploadPayLoadWeb(
|
||||||
|
u.id,
|
||||||
|
u.piece.id,
|
||||||
|
u.name,
|
||||||
|
u.filePath,
|
||||||
|
u.enqueteBatiment.id,
|
||||||
|
u.personne.id,
|
||||||
|
u.enqueteUniteLogement.id,
|
||||||
|
u.declarationNc.id,
|
||||||
|
u.reference,
|
||||||
|
u.description,
|
||||||
|
u.rename,
|
||||||
|
u.fileName,
|
||||||
|
u.originalFileName
|
||||||
|
)
|
||||||
|
FROM Upload u
|
||||||
|
WHERE u.id = :uploadId
|
||||||
|
""")
|
||||||
|
Optional<UploadPayLoadWeb> findByIdToDto(@Param("uploadId") Long uploadId);
|
||||||
|
|
||||||
|
|
||||||
|
@Query("""
|
||||||
|
SELECT new io.gmss.fiscad.paylaods.request.crudweb.UploadPayLoadWeb(
|
||||||
|
u.id,
|
||||||
|
u.piece.id,
|
||||||
|
u.name,
|
||||||
|
u.filePath,
|
||||||
|
u.enqueteBatiment.id,
|
||||||
|
u.personne.id,
|
||||||
|
u.enqueteUniteLogement.id,
|
||||||
|
u.declarationNc.id,
|
||||||
|
u.reference,
|
||||||
|
u.description,
|
||||||
|
u.rename,
|
||||||
|
u.fileName,
|
||||||
|
u.originalFileName
|
||||||
|
)
|
||||||
|
FROM Upload u
|
||||||
|
WHERE u.piece.id = :pieceId
|
||||||
|
""")
|
||||||
|
List<UploadPayLoadWeb> findByPieceId(@Param("pieceId") Long pieceId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,43 @@ 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
|
||||||
|
p.etatIdentificationPersonne <> io.gmss.fiscad.enums.EtatIdentificationPersonne.NEANT
|
||||||
|
AND (: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> findByFiltersInBaseIfuNpiCorrecte(
|
||||||
|
@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
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -206,7 +206,7 @@ public class EntityFromPayLoadService {
|
|||||||
|
|
||||||
public Upload getUploadFromPayLoadWeb(UploadPayLoadWeb uploadPayLoadWeb){
|
public Upload getUploadFromPayLoadWeb(UploadPayLoadWeb uploadPayLoadWeb){
|
||||||
Upload upload=new Upload();
|
Upload upload=new Upload();
|
||||||
//Optional<Enquete> optionalEnquete=Optional.empty() ;
|
Optional<Piece> optionalPiece=Optional.empty() ;
|
||||||
Optional<DeclarationNc> optionalDeclarationNc=Optional.empty();
|
Optional<DeclarationNc> optionalDeclarationNc=Optional.empty();
|
||||||
Optional<Personne> optionalPersonne=Optional.empty();
|
Optional<Personne> optionalPersonne=Optional.empty();
|
||||||
Optional<EnqueteBatiment> optionalEnqueteBatiment=Optional.empty();
|
Optional<EnqueteBatiment> optionalEnqueteBatiment=Optional.empty();
|
||||||
@@ -224,8 +224,14 @@ public class EntityFromPayLoadService {
|
|||||||
optionalEnqueteBatiment=enqueteBatimentRepository.findById(uploadPayLoadWeb.getEnqueteBatimentId());
|
optionalEnqueteBatiment=enqueteBatimentRepository.findById(uploadPayLoadWeb.getEnqueteBatimentId());
|
||||||
if(uploadPayLoadWeb.getEnqueteUniteLogementId()!=null)
|
if(uploadPayLoadWeb.getEnqueteUniteLogementId()!=null)
|
||||||
optionalEnqueteUniteLogement=enqueteUniteLogementRepository.findById(uploadPayLoadWeb.getEnqueteUniteLogementId());
|
optionalEnqueteUniteLogement=enqueteUniteLogementRepository.findById(uploadPayLoadWeb.getEnqueteUniteLogementId());
|
||||||
|
|
||||||
|
if(uploadPayLoadWeb.getPieceId()!=null)
|
||||||
|
optionalPiece=pieceRepository.findById(uploadPayLoadWeb.getPieceId());
|
||||||
|
|
||||||
|
|
||||||
upload.setId(uploadPayLoadWeb.getId());
|
upload.setId(uploadPayLoadWeb.getId());
|
||||||
upload.setEnqueteId(uploadPayLoadWeb.getEnqueteId());
|
upload.setPiece(optionalPiece.orElse(null));
|
||||||
|
//upload.setEnqueteId(uploadPayLoadWeb.getEnqueteId());
|
||||||
upload.setEnqueteBatiment(optionalEnqueteBatiment.orElse(null));
|
upload.setEnqueteBatiment(optionalEnqueteBatiment.orElse(null));
|
||||||
upload.setPersonne(optionalPersonne.orElse(null));
|
upload.setPersonne(optionalPersonne.orElse(null));
|
||||||
upload.setEnqueteUniteLogement(optionalEnqueteUniteLogement.orElse(null));
|
upload.setEnqueteUniteLogement(optionalEnqueteUniteLogement.orElse(null));
|
||||||
|
|||||||
@@ -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
|
||||||
BIN
uploads/0255a8bec8644523852e73eaeee7ef55.pdf
Normal file
BIN
uploads/0255a8bec8644523852e73eaeee7ef55.pdf
Normal file
Binary file not shown.
BIN
uploads/d4c3b2245e004bec8ffece027271380b.pdf
Normal file
BIN
uploads/d4c3b2245e004bec8ffece027271380b.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user