646 lines
39 KiB
Java
646 lines
39 KiB
Java
package io.gmss.fiscad.controllers.synchronisation;
|
|
|
|
import io.gmss.fiscad.exceptions.*;
|
|
import io.gmss.fiscad.interfaces.infocad.metier.EnqueteService;
|
|
import io.gmss.fiscad.interfaces.synchronisation.SynchronisationService;
|
|
import io.gmss.fiscad.paylaods.ApiResponse;
|
|
import io.gmss.fiscad.paylaods.request.*;
|
|
import io.gmss.fiscad.service.ZipService;
|
|
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
import jakarta.transaction.Transactional;
|
|
import lombok.AllArgsConstructor;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.http.MediaType;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.client.HttpClientErrorException;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
import java.util.List;
|
|
|
|
@RestController
|
|
@RequestMapping(value = "api/synchronisation", produces = MediaType.APPLICATION_JSON_VALUE)
|
|
@SecurityRequirement(name = "bearer")
|
|
@Tag(name = "Synchronisation")
|
|
@CrossOrigin(origins = "*")
|
|
@AllArgsConstructor
|
|
public class SynchronisationController {
|
|
private final SynchronisationService synchronisationService;
|
|
private final EnqueteService enqueteService;
|
|
private final ZipService zipService;
|
|
private static final Logger logger = LoggerFactory.getLogger(SynchronisationController.class);
|
|
|
|
|
|
@GetMapping("/user-decoupage-territorial")
|
|
public ResponseEntity<?> getUserDecoupageTerritorial() {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.getDecoupageAdminUserConnecter(), "Liste des découpages territoriaux chargés avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@GetMapping("/references")
|
|
public ResponseEntity<?> getAllReferences() {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.getReferencesSyncResponses(), "Liste des données de référence chargée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@Transactional
|
|
@PostMapping("/personnes")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncPersonne(@RequestBody List<PersonnePayLoad> personnePayLoads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.syncPersonnes(personnePayLoads), "Liste des personnes synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping("/membre-groupe")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncMembreGroupe(@RequestBody List<MembreGroupePayLoad> membreGroupePayLoads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.syncMembreGroupe(membreGroupePayLoads), "Liste des membres de groupes de personnes synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping("/enquete")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncEnquete(@RequestBody List<EnquetePayLoad> enquetePayLoads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.syncEnquete(enquetePayLoads), "Liste des enquêtes synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping("/parcelle")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncParcelle(@RequestBody List<ParcellePayLoad> parcellePayLoads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.syncParcelle(parcellePayLoads), "Liste des parceclles synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping("/piece")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncPiece(@RequestBody List<PiecePayLoad> piecePayLoads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
//new ApiResponse<>(true, null, "Liste des pièces synchronisée avec succès."),
|
|
new ApiResponse<>(true, synchronisationService.syncPiece(piecePayLoads), "Liste des pièces synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping("/acteur-concerne")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncActeurConcerne(@RequestBody List<ActeurConcernePayLoad> piecePayLoads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.syncActeurConcerne(piecePayLoads), "Liste des acteurs concernes synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
|
|
@PostMapping("/enquete-activite")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncEnqueteActivite(@RequestBody List<EnqueteActivitePayload> enqueteActivitePayloads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
//new ApiResponse<>(true, null, "Liste des pièces synchronisée avec succès."),
|
|
new ApiResponse<>(true, synchronisationService.syncEnqueteActivite(enqueteActivitePayloads), "Liste des activités synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping("/declaraction-nc")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncDeclarationNc(@RequestBody List<DeclarationNcPayload> declarationNcPayloads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.syncDeclarationNc(declarationNcPayloads), "Liste des activités synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
|
|
//@PostMapping("/files")
|
|
// @PostMapping(path = "/files")
|
|
// @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
// public ResponseEntity<?> syncFiles(@RequestPart(required = true) MultipartFile file,
|
|
// @RequestParam(value = "idBackend", required = false) Long idBackend,
|
|
// @RequestParam(value = "externalKey", required = true) Long externalKey,
|
|
// @RequestParam(value = "pieceId", required = false) Long pieceId,
|
|
// @RequestParam(value = "membreGroupeId", required = false) Long membreGroupeId,
|
|
// @RequestParam(value = "terminalId", required = false) Long terminalId,
|
|
// @RequestParam(value = "name", required = false) String name,
|
|
// @RequestParam(value = "filePath", required = false) String filePath,
|
|
// @RequestParam(value = "max_numero_piece_id", required = false) Long max_numero_piece_id,
|
|
// @RequestParam(value = "max_numero_upload_id", required = false) Long max_numero_upload_id,
|
|
// @RequestParam(value = "max_numero_acteur_concerne_id", required = false) Long max_numero_acteur_concerne_id,
|
|
// @RequestParam(value = "enqueteId", required = false) Long enqueteId,
|
|
// @RequestParam(value = "enqueteBatimentId", required = false) Long enqueteBatimentId,
|
|
// @RequestParam(value = "enqueteUniteLogementId", required = false) Long enqueteUniteLogementId,
|
|
// @RequestParam(value = "personneId", required = false) Long personneId
|
|
// ) {
|
|
// try {
|
|
// return new ResponseEntity<>(
|
|
// //null,
|
|
// new ApiResponse<>(true, synchronisationService.syncFiles(file,
|
|
// idBackend,
|
|
// externalKey,
|
|
// pieceId,
|
|
// membreGroupeId,
|
|
// terminalId,
|
|
// name,
|
|
// filePath,
|
|
// max_numero_piece_id,
|
|
// max_numero_upload_id,
|
|
// max_numero_acteur_concerne_id,
|
|
// enqueteId,
|
|
// enqueteBatimentId,
|
|
// enqueteUniteLogementId,
|
|
// personneId), "Liste des fichiers synchronisée avec succès."),
|
|
// HttpStatus.OK
|
|
// );
|
|
// } catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
// logger.error(e.getLocalizedMessage());
|
|
// return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
// } catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
// FileStorageException e) {
|
|
// logger.error(e.getLocalizedMessage());
|
|
// return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
// } catch (NullPointerException e) {
|
|
// logger.error(e.getLocalizedMessage());
|
|
// return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
// } catch (Exception e) {
|
|
// logger.error(e.getLocalizedMessage());
|
|
// return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
// }
|
|
// }
|
|
|
|
@PostMapping(path = "/uploads")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncUploads(@RequestBody List<UploadPayLoad> uploadPayLoads) {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.syncUpload(uploadPayLoads), "Liste des uploads synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
}
|
|
|
|
|
|
|
|
// /**
|
|
// * Upload d'un .zip et extraction sur le répertoire configuré.
|
|
// *
|
|
// * @param file Fichier ZIP (champ "file")
|
|
// */
|
|
// @PostMapping(path = "/upload-zip", consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
|
// //@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
// public ResponseEntity<?> uploadZip(@RequestPart("file") MultipartFile file) {
|
|
//
|
|
// try {
|
|
// return new ResponseEntity<>(
|
|
// new ApiResponse<>(true, zipService.uploadAndExtract(file, true), "Dossier enregistré avec succès"),
|
|
// HttpStatus.OK
|
|
// );
|
|
// } catch (Exception e) {
|
|
// e.printStackTrace();
|
|
// return new ResponseEntity<>(
|
|
// new ApiResponse<>(true, null, "Echec d'enregistrement du dossier "),
|
|
// HttpStatus.OK
|
|
// );
|
|
// }
|
|
// }
|
|
|
|
@PostMapping(path = "/synchronise/all-enquete-data")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncAllEnqueteData(@ModelAttribute EnqueteAllDataPayload enqueteAllDataPayload) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.syncEnqueteAllData(enqueteAllDataPayload), "Les enquetes sont synchronisées avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping(path = "/synchronise/enquete/confirme-from-mobile")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncAllEnqueteData(@RequestBody List<Long> longList) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, synchronisationService.syncEnqueteFromMobile(longList), "Synchronisation confirmée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
|
|
@PostMapping(path = "/batiment")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncBatiment(@RequestBody List<BatimentPaylaod> batimentPaylaods) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
//new ApiResponse<>(true, null, "Liste des batiments synchronisées avec succès."),
|
|
new ApiResponse<>(true, synchronisationService.syncBatiment(batimentPaylaods), "Liste des batiments synchronisées avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping(path = "/unite-logement")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncUniteLogement(@RequestBody List<UniteLogementPaylaod> uniteLogementPaylaods) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
//new ApiResponse<>(true,null, "Liste des unités de logement synchronisées avec succès."),
|
|
new ApiResponse<>(true, synchronisationService.syncUniteLogement(uniteLogementPaylaods), "Liste des unités de logement synchronisées avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping(path = "/caracteristique-batiment")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncCaracteristiqueBatiment(@RequestBody List<CaracteristiqueBatimentPaylod> caracteristiqueBatimentPaylods) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
//new ApiResponse<>(true, null, "Liste des caractéristiques des bâtiments synchronisée avec succès."),
|
|
new ApiResponse<>(true, synchronisationService.syncCaracteristiqueBatiment(caracteristiqueBatimentPaylods), "Liste des caractéristiques des bâtiments synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping(path = "/caracteristique-parcelle")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncCaracteristiqueParcelle(@RequestBody List<CaracteristiqueParcellePaylod> caracteristiqueParcellePaylods) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
//new ApiResponse<>(true, null, "Liste des caractéristiques des parcelles synchronisée avec succès."),
|
|
new ApiResponse<>(true, synchronisationService.syncCaracteristiqueParcelle(caracteristiqueParcellePaylods), "Liste des caractéristiques des parcelles synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping(path = "/caracteristique-unite-logement")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncCaracteristiqueUniteLogement(@RequestBody List<CaracteristiqueUniteLogementPaylod> caracteristiqueUniteLogementPaylods) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
//new ApiResponse<>(true, null, "Liste des caractéristiques des unités de logement synchronisée avec succès."),
|
|
new ApiResponse<>(true, synchronisationService.syncCaracteristiqueUniteLogement(caracteristiqueUniteLogementPaylods), "Liste des caractéristiques des unités de logement synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping("/enquete-batiment")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncEnqueteBatiment(@RequestBody List<EnqueteBatimentPayload> enqueteBatimentPayloads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
//new ApiResponse<>(true, null, "Liste des enquêtes des batiments synchronisée avec succès."),
|
|
new ApiResponse<>(true, synchronisationService.syncEnqueteBatiment(enqueteBatimentPayloads), "Liste des enquêtes des batiments synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
@PostMapping("/enquete-unite-logement")
|
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> syncEnqueteUniteLogement(@RequestBody List<EnqueteUniteLogementPayload> enqueteUniteLogementPayloads) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
//new ApiResponse<>(true, null, "Liste des enquêtes des unités de logement synchronisée avec succès."),
|
|
new ApiResponse<>(true, synchronisationService.syncEnqueteUniteLogement(enqueteUniteLogementPayloads), "Liste des enquêtes des unités de logement synchronisée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
|
|
@GetMapping("/traiter-non-synch-to-mobile/{terminalId}")
|
|
//@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> getEnqueteValideNonSynch(@PathVariable Long terminalId) {
|
|
try {
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, enqueteService.getEnqueteValideNonSynch(terminalId), "Liste des enquetes traitées non synchronisées sur le termianl."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
|
|
@PostMapping("/traite-synchronisation/{terminalId}")
|
|
//@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
public ResponseEntity<?> traiteSynchronisation(@PathVariable Long terminalId) {
|
|
try {
|
|
synchronisationService.traitementTableRelationnelle(terminalId);
|
|
return new ResponseEntity<>(
|
|
new ApiResponse<>(true, null, "Synchronisation lancée avec succès."),
|
|
HttpStatus.OK
|
|
);
|
|
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
|
|
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
|
|
FileStorageException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
|
|
} catch (NullPointerException e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage());
|
|
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
}
|