Gestion parcelle geom
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 38s
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 38s
This commit is contained in:
@@ -20,7 +20,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
@SecurityRequirement(name = "bearer")
|
@SecurityRequirement(name = "bearer")
|
||||||
@Tag(name = "ParcelleGeometrie")
|
@Tag(name = "ParcelleGeometrie")
|
||||||
@CrossOrigin(origins = "*")
|
@CrossOrigin(origins = "*")
|
||||||
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
//@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
||||||
public class ParcelleGeomController {
|
public class ParcelleGeomController {
|
||||||
|
|
||||||
private final ParcelleGeomService parcelleGeomService;
|
private final ParcelleGeomService parcelleGeomService;
|
||||||
@@ -63,6 +63,24 @@ public class ParcelleGeomController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/by-quartier-id/{quartierId}")
|
||||||
|
public ResponseEntity<?> getParcellesGeomsByQuartierId(@PathVariable Long quartierId) {
|
||||||
|
return new ResponseEntity<>(
|
||||||
|
new ApiResponse<>(true, parcelleGeomService.getParcelleGeomListByQuatierId(quartierId), "Liste des parcelle chargée avec succès."),
|
||||||
|
HttpStatus.OK
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/page/by-quartier-id/{quartierId}")
|
||||||
|
public ResponseEntity<?> getParcellesGeomsByQuartierIdPaged(@PathVariable Long quartierId,@RequestParam int pageNo, @RequestParam int pageSize) {
|
||||||
|
Pageable pageable = PageRequest.of(pageNo, pageSize);
|
||||||
|
return new ResponseEntity<>(
|
||||||
|
new ApiResponse<>(true, parcelleGeomService.getParcelleGeomListByQuatierIdPaged(quartierId,pageable), "Liste des parcelle chargée avec succès."),
|
||||||
|
HttpStatus.OK
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/by-arrondissement/{codeArrondissement}")
|
@GetMapping("/by-arrondissement/{codeArrondissement}")
|
||||||
public ResponseEntity<?> getParcellesGeomsByArrondissement(@PathVariable String codeArrondissement) {
|
public ResponseEntity<?> getParcellesGeomsByArrondissement(@PathVariable String codeArrondissement) {
|
||||||
return new ResponseEntity<>(
|
return new ResponseEntity<>(
|
||||||
|
|||||||
@@ -188,6 +188,7 @@ public class Enquete extends BaseEntity implements Serializable {
|
|||||||
private Long montantAnnuelleLocation;
|
private Long montantAnnuelleLocation;
|
||||||
private Long valeurParcelleEstime;
|
private Long valeurParcelleEstime;
|
||||||
private Long valeurParcelleReel;
|
private Long valeurParcelleReel;
|
||||||
|
private Long valeurParcelleCalcule;
|
||||||
private String ncProprietaire;
|
private String ncProprietaire;
|
||||||
|
|
||||||
@JsonFormat(pattern = "dd-MM-yyyy")
|
@JsonFormat(pattern = "dd-MM-yyyy")
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package io.gmss.fiscad.entities.infocad.metier;
|
package io.gmss.fiscad.entities.infocad.metier;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||||
|
import io.gmss.fiscad.deserializer.LocalDateDeserializer;
|
||||||
import io.gmss.fiscad.entities.BaseEntity;
|
import io.gmss.fiscad.entities.BaseEntity;
|
||||||
import io.gmss.fiscad.entities.decoupage.Quartier;
|
import io.gmss.fiscad.entities.decoupage.Quartier;
|
||||||
import io.gmss.fiscad.entities.infocad.parametre.NatureDomaine;
|
import io.gmss.fiscad.entities.infocad.parametre.NatureDomaine;
|
||||||
@@ -73,6 +76,13 @@ public class Parcelle extends BaseEntity implements Serializable {
|
|||||||
private Integer nombrePiscine;
|
private Integer nombrePiscine;
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
private Usage usage;
|
private Usage usage;
|
||||||
|
@JsonFormat(pattern = "dd-MM-yyyy")
|
||||||
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
|
private LocalDate dateDebutExemption;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "dd-MM-yyyy")
|
||||||
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
|
private LocalDate dateFinExemption;
|
||||||
// private String ncProprietaire ;
|
// private String ncProprietaire ;
|
||||||
// @JsonIgnore
|
// @JsonIgnore
|
||||||
// @OneToMany(mappedBy = "parcelle")
|
// @OneToMany(mappedBy = "parcelle")
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import io.gmss.fiscad.entities.decoupage.Arrondissement;
|
|||||||
import io.gmss.fiscad.entities.decoupage.Commune;
|
import io.gmss.fiscad.entities.decoupage.Commune;
|
||||||
import io.gmss.fiscad.entities.decoupage.Departement;
|
import io.gmss.fiscad.entities.decoupage.Departement;
|
||||||
import io.gmss.fiscad.entities.decoupage.Quartier;
|
import io.gmss.fiscad.entities.decoupage.Quartier;
|
||||||
|
import io.gmss.fiscad.enums.SourceDonnee;
|
||||||
import io.gmss.fiscad.enums.StatutParcelle;
|
import io.gmss.fiscad.enums.StatutParcelle;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@@ -24,6 +25,7 @@ import org.n52.jackson.datatype.jts.GeometryDeserializer;
|
|||||||
import org.n52.jackson.datatype.jts.GeometrySerializer;
|
import org.n52.jackson.datatype.jts.GeometrySerializer;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Entity
|
@Entity
|
||||||
@@ -39,26 +41,61 @@ public class ParcelleGeom extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
private String NomDepartement;
|
|
||||||
private String NomCommune;
|
|
||||||
private String NomArrondissement;
|
|
||||||
private String NomVillageQuartier;
|
|
||||||
private String codeBloc;
|
|
||||||
private String q;
|
|
||||||
private String ilot;
|
|
||||||
private String zone;
|
|
||||||
private String p;
|
|
||||||
@Column(unique = true,nullable = true)
|
@Column(unique = true,nullable = true)
|
||||||
private String nup;
|
private String nup;
|
||||||
@Column(unique = true,nullable = true)
|
@Column(unique = true,nullable = true)
|
||||||
private String nupProvisoire;
|
private String nupProvisoire;
|
||||||
private String longitude;
|
private String longitude;
|
||||||
private String latitude;
|
private String latitude;
|
||||||
|
private String codeDepartement;
|
||||||
|
private String nomDepartement;
|
||||||
|
private String codeCommune;
|
||||||
|
private String nomCommune;
|
||||||
|
private String codeArrondissement;
|
||||||
|
private String nomArrondissement;
|
||||||
|
private String codeQuartierVillage;
|
||||||
|
private String nomVillageQuartier;
|
||||||
|
private String codeBloc;
|
||||||
|
private String numeroRue;
|
||||||
|
private String numeroEntreePorte;
|
||||||
|
|
||||||
|
private String codeInstad;
|
||||||
|
private String numeroEtatLieux;
|
||||||
|
private String numeroTitreFoncier;
|
||||||
|
private LocalDate dateTitreFoncier;
|
||||||
|
private Boolean batie ;
|
||||||
|
|
||||||
|
private String npi;
|
||||||
|
private String ifu;
|
||||||
|
private String nom;
|
||||||
|
private String prenom;
|
||||||
|
private String raisonSociale;
|
||||||
|
private String nomEtPrenoms;
|
||||||
|
private String telephone;
|
||||||
|
private String adresse;
|
||||||
|
|
||||||
|
private String nomRepresentant;
|
||||||
|
private String prenomRepresentant;
|
||||||
|
private String raisonSocialeRepresentant;
|
||||||
|
private String nomEtPrenomsRepresentant;
|
||||||
|
private String telephoneRepresentant;
|
||||||
|
private String adresseRepresentant;
|
||||||
|
|
||||||
|
private String q;
|
||||||
|
private String zone;
|
||||||
|
private String ilot;
|
||||||
|
private String p;
|
||||||
|
|
||||||
|
private String qLotissement;
|
||||||
|
private String ilotLotissement;
|
||||||
|
private String pLotissement;
|
||||||
|
|
||||||
private String pointsPolygone;
|
private String pointsPolygone;
|
||||||
private Integer superficie;
|
private Integer superficie;
|
||||||
private String nomEtPrenoms;
|
|
||||||
private String dateCollecte;
|
private String dateCollecte;
|
||||||
private String sourceDonnees;
|
@Enumerated(EnumType.STRING)
|
||||||
|
private SourceDonnee sourceDonnees;
|
||||||
private String observations;
|
private String observations;
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
private StatutParcelle statutParcelle;
|
private StatutParcelle statutParcelle;
|
||||||
@@ -77,7 +114,7 @@ public class ParcelleGeom extends BaseEntity implements Serializable {
|
|||||||
private Arrondissement arrondissement;
|
private Arrondissement arrondissement;
|
||||||
|
|
||||||
@ManyToOne //(fetch = FetchType.LAZY)
|
@ManyToOne //(fetch = FetchType.LAZY)
|
||||||
//@JsonBackReference
|
@JsonBackReference
|
||||||
private Quartier quartier ;
|
private Quartier quartier ;
|
||||||
|
|
||||||
@ColumnDefault("0")
|
@ColumnDefault("0")
|
||||||
@@ -88,24 +125,11 @@ public class ParcelleGeom extends BaseEntity implements Serializable {
|
|||||||
private Polygon geometry;
|
private Polygon geometry;
|
||||||
@Column(columnDefinition = "TEXT")
|
@Column(columnDefinition = "TEXT")
|
||||||
private String geometryString;
|
private String geometryString;
|
||||||
private String codeInsae;
|
|
||||||
private String numeroEtatLieux;
|
|
||||||
private String numeroTitreFoncier;
|
|
||||||
private String telephone;
|
|
||||||
//private String codeParcelle;
|
|
||||||
//private String codeEquipe;
|
|
||||||
|
|
||||||
//private String elLot;
|
@JsonIgnore
|
||||||
//private String elLettreParcelle;
|
@ManyToOne
|
||||||
//private String rfuQuartierOuZone;
|
@JsonBackReference
|
||||||
//private String rfuIlot;
|
private Parcelle parcelle;
|
||||||
//private String rfuLettreParcelle;
|
|
||||||
|
|
||||||
//private String nomLotissement;
|
|
||||||
////////////
|
|
||||||
// @JsonIgnore
|
|
||||||
// @OneToOne
|
|
||||||
// private Parcelle parcelle;
|
|
||||||
// @JsonSerialize(using = GeometrySerializer.class)
|
// @JsonSerialize(using = GeometrySerializer.class)
|
||||||
// @JsonDeserialize(contentUsing = GeometryDeserializer.class)
|
// @JsonDeserialize(contentUsing = GeometryDeserializer.class)
|
||||||
// @Column(name = "geom",columnDefinition = "geometry(Polygon,4326)")
|
// @Column(name = "geom",columnDefinition = "geometry(Polygon,4326)")
|
||||||
|
|||||||
@@ -65,4 +65,11 @@ public class Batiment extends BaseEntity implements Serializable {
|
|||||||
// private Long enqueteId;
|
// private Long enqueteId;
|
||||||
private Long mobileDataId;
|
private Long mobileDataId;
|
||||||
private Long parcelleExternalKey;
|
private Long parcelleExternalKey;
|
||||||
|
@JsonFormat(pattern = "dd-MM-yyyy")
|
||||||
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
|
private LocalDate dateDebutExemption;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "dd-MM-yyyy")
|
||||||
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
|
private LocalDate dateFinExemption;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,3 +47,5 @@ public class CaracteristiqueUniteLogement extends BaseEntity implements Serializ
|
|||||||
private Long enqueteId;
|
private Long enqueteId;
|
||||||
private Long mobileDataId;
|
private Long mobileDataId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,8 @@ public class EnqueteBatiment extends BaseEntity implements Serializable {
|
|||||||
private Boolean soneb;
|
private Boolean soneb;
|
||||||
private String numCompteurSoneb;
|
private String numCompteurSoneb;
|
||||||
private Integer nbreLotUnite;
|
private Integer nbreLotUnite;
|
||||||
|
private Integer nbreUniteLogement;
|
||||||
|
private Integer nbrePiece;
|
||||||
private Integer nbreUniteLocation;
|
private Integer nbreUniteLocation;
|
||||||
private Float superficieLouee;
|
private Float superficieLouee;
|
||||||
private Float superficieAuSol;
|
private Float superficieAuSol;
|
||||||
@@ -61,9 +63,11 @@ public class EnqueteBatiment extends BaseEntity implements Serializable {
|
|||||||
private Integer nbreHabitant;
|
private Integer nbreHabitant;
|
||||||
private Long montantMensuelLocation;
|
private Long montantMensuelLocation;
|
||||||
private Long montantLocatifAnnuelDeclare;
|
private Long montantLocatifAnnuelDeclare;
|
||||||
|
private Long montantLocatifAnnuelEstime;
|
||||||
private Long montantLocatifAnnuelCalcule;
|
private Long montantLocatifAnnuelCalcule;
|
||||||
private Long valeurBatimentEstime;
|
private Long valeurBatimentEstime;
|
||||||
private Long valeurBatimentReel;
|
private Long valeurBatimentReel;
|
||||||
|
private Long valeurBatimentCalcule;
|
||||||
private Integer nombrePiscine;
|
private Integer nombrePiscine;
|
||||||
private Integer nbreMoisLocation;
|
private Integer nbreMoisLocation;
|
||||||
private String autreCaracteristiquePhysique;
|
private String autreCaracteristiquePhysique;
|
||||||
@@ -134,4 +138,5 @@ public class EnqueteBatiment extends BaseEntity implements Serializable {
|
|||||||
private CategorieBatiment categorieBatiment ;
|
private CategorieBatiment categorieBatiment ;
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
private Usage usage ;
|
private Usage usage ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,8 +53,10 @@ public class EnqueteUniteLogement extends BaseEntity implements Serializable {
|
|||||||
private Integer nbreMoisLocation;
|
private Integer nbreMoisLocation;
|
||||||
private Long montantLocatifAnnuelDeclare;
|
private Long montantLocatifAnnuelDeclare;
|
||||||
private Long montantLocatifAnnuelCalcule;
|
private Long montantLocatifAnnuelCalcule;
|
||||||
|
private Long montantLocatifAnnuelEstime;
|
||||||
private Long valeurUniteLogementEstime;
|
private Long valeurUniteLogementEstime;
|
||||||
private Long valeurUniteLogementReel;
|
private Long valeurUniteLogementReel;
|
||||||
|
private Long valeurUniteLogementCalcule;
|
||||||
private Integer nombrePiscine;
|
private Integer nombrePiscine;
|
||||||
private Float superficieLouee;
|
private Float superficieLouee;
|
||||||
private Float superficieAuSol;
|
private Float superficieAuSol;
|
||||||
|
|||||||
@@ -60,4 +60,11 @@ public class UniteLogement extends BaseEntity implements Serializable {
|
|||||||
private Long mobileDataId;
|
private Long mobileDataId;
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
private CategorieBatiment categorieBatiment ;
|
private CategorieBatiment categorieBatiment ;
|
||||||
|
@JsonFormat(pattern = "dd-MM-yyyy")
|
||||||
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
|
private LocalDate dateDebutExemption;
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "dd-MM-yyyy")
|
||||||
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
|
private LocalDate dateFinExemption;
|
||||||
}
|
}
|
||||||
|
|||||||
7
src/main/java/io/gmss/fiscad/enums/SourceDonnee.java
Normal file
7
src/main/java/io/gmss/fiscad/enums/SourceDonnee.java
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
package io.gmss.fiscad.enums;
|
||||||
|
|
||||||
|
public enum SourceDonnee {
|
||||||
|
RFU,
|
||||||
|
ANDF,
|
||||||
|
SIGIBE
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ package io.gmss.fiscad.enums;
|
|||||||
|
|
||||||
public enum StatutEnquete {
|
public enum StatutEnquete {
|
||||||
EN_COURS,
|
EN_COURS,
|
||||||
|
DECLARATION,
|
||||||
FINALISE,
|
FINALISE,
|
||||||
REJETE,
|
REJETE,
|
||||||
VALIDE,
|
VALIDE,
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import io.gmss.fiscad.entities.infocad.metier.Upload;
|
|||||||
import io.gmss.fiscad.exceptions.BadRequestException;
|
import io.gmss.fiscad.exceptions.BadRequestException;
|
||||||
import io.gmss.fiscad.exceptions.NotFoundException;
|
import io.gmss.fiscad.exceptions.NotFoundException;
|
||||||
import io.gmss.fiscad.interfaces.infocad.metier.ParcelleGeomService;
|
import io.gmss.fiscad.interfaces.infocad.metier.ParcelleGeomService;
|
||||||
|
import io.gmss.fiscad.paylaods.request.crudweb.ParcelleGeomPaylaodWeb;
|
||||||
import io.gmss.fiscad.paylaods.response.EnqueteCheckResponse;
|
import io.gmss.fiscad.paylaods.response.EnqueteCheckResponse;
|
||||||
import io.gmss.fiscad.persistence.repositories.infocad.metier.EnqueteRepository;
|
import io.gmss.fiscad.persistence.repositories.infocad.metier.EnqueteRepository;
|
||||||
import io.gmss.fiscad.persistence.repositories.infocad.metier.ParcelleGeomRepository;
|
import io.gmss.fiscad.persistence.repositories.infocad.metier.ParcelleGeomRepository;
|
||||||
@@ -79,6 +80,7 @@ public class ParcelleGeomServiceImpl implements ParcelleGeomService {
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Upload saveGeoJsonUpload(MultipartFile file,String reference,String desc) {
|
private Upload saveGeoJsonUpload(MultipartFile file,String reference,String desc) {
|
||||||
Upload upload = new Upload();
|
Upload upload = new Upload();
|
||||||
String fileName = fileStorageService.storeFile(file);
|
String fileName = fileStorageService.storeFile(file);
|
||||||
@@ -176,6 +178,16 @@ public class ParcelleGeomServiceImpl implements ParcelleGeomService {
|
|||||||
return parcelleGeomRepository.findAllByQuartier_Code(codeQuartier);
|
return parcelleGeomRepository.findAllByQuartier_Code(codeQuartier);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ParcelleGeomPaylaodWeb> getParcelleGeomListByQuatierId(Long quartierId) {
|
||||||
|
return parcelleGeomRepository.findAllByQuartierId(quartierId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Page<ParcelleGeomPaylaodWeb> getParcelleGeomListByQuatierIdPaged(Long quartierId, Pageable pageable) {
|
||||||
|
return parcelleGeomRepository.findAllByQuartierIdPageable(quartierId,pageable);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ParcelleGeom> getParcelleGeomListUnArrondissement(String codeArrondissement) {
|
public List<ParcelleGeom> getParcelleGeomListUnArrondissement(String codeArrondissement) {
|
||||||
return parcelleGeomRepository.findAllByQuartier_Arrondissement_Code(codeArrondissement);
|
return parcelleGeomRepository.findAllByQuartier_Arrondissement_Code(codeArrondissement);
|
||||||
@@ -262,4 +274,9 @@ public class ParcelleGeomServiceImpl implements ParcelleGeomService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int createParcelleGeomFromGeoJsonApi() throws BadRequestException {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import io.gmss.fiscad.entities.infocad.metier.ParcelleGeom;
|
|||||||
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
||||||
import io.gmss.fiscad.exceptions.BadRequestException;
|
import io.gmss.fiscad.exceptions.BadRequestException;
|
||||||
import io.gmss.fiscad.exceptions.NotFoundException;
|
import io.gmss.fiscad.exceptions.NotFoundException;
|
||||||
|
import io.gmss.fiscad.paylaods.request.crudweb.ParcelleGeomPaylaodWeb;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
@@ -15,12 +16,15 @@ import java.util.Optional;
|
|||||||
|
|
||||||
public interface ParcelleGeomService {
|
public interface ParcelleGeomService {
|
||||||
int createParcelleFromGeoJsonFile(MultipartFile file,String reference,String description) throws BadRequestException;
|
int createParcelleFromGeoJsonFile(MultipartFile file,String reference,String description) throws BadRequestException;
|
||||||
|
int createParcelleGeomFromGeoJsonApi() throws BadRequestException;
|
||||||
ParcelleGeom createOnParcelleFromGeoJson(JsonNode jsonNode, Upload upload) throws BadRequestException;
|
ParcelleGeom createOnParcelleFromGeoJson(JsonNode jsonNode, Upload upload) throws BadRequestException;
|
||||||
ParcelleGeom updateParcelleGeom(MultipartFile file) throws NotFoundException;
|
ParcelleGeom updateParcelleGeom(MultipartFile file) throws NotFoundException;
|
||||||
void deleteParcelle(Long id) throws NotFoundException;
|
void deleteParcelle(Long id) throws NotFoundException;
|
||||||
Page<ParcelleGeom> getParcelleGeomList(Pageable pageable);
|
Page<ParcelleGeom> getParcelleGeomList(Pageable pageable);
|
||||||
List<ParcelleGeom> getParcelleGeomList();
|
List<ParcelleGeom> getParcelleGeomList();
|
||||||
List<ParcelleGeom> getParcelleGeomListUnQuatier(String codeQuartier);
|
List<ParcelleGeom> getParcelleGeomListUnQuatier(String codeQuartier);
|
||||||
|
List<ParcelleGeomPaylaodWeb> getParcelleGeomListByQuatierId(Long quartierId);
|
||||||
|
Page<ParcelleGeomPaylaodWeb> getParcelleGeomListByQuatierIdPaged(Long quartierId,Pageable pageable);
|
||||||
public List<ParcelleGeom> getParcelleGeomListUnArrondissement(String codeArrondissement);
|
public List<ParcelleGeom> getParcelleGeomListUnArrondissement(String codeArrondissement);
|
||||||
|
|
||||||
Optional<ParcelleGeom> getParcelleGeomById(Long id);
|
Optional<ParcelleGeom> getParcelleGeomById(Long id);
|
||||||
|
|||||||
@@ -0,0 +1,160 @@
|
|||||||
|
package io.gmss.fiscad.paylaods.request.crudweb;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Arrondissement;
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Commune;
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Departement;
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Quartier;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
||||||
|
import io.gmss.fiscad.enums.SourceDonnee;
|
||||||
|
import io.gmss.fiscad.enums.StatutParcelle;
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.hibernate.annotations.ColumnDefault;
|
||||||
|
import org.locationtech.jts.geom.Polygon;
|
||||||
|
import org.n52.jackson.datatype.jts.GeometryDeserializer;
|
||||||
|
import org.n52.jackson.datatype.jts.GeometrySerializer;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Data
|
||||||
|
public class ParcelleGeomPaylaodWeb {
|
||||||
|
private Long id;
|
||||||
|
private String nup;
|
||||||
|
private String nupProvisoire;
|
||||||
|
private String longitude;
|
||||||
|
private String latitude;
|
||||||
|
private String numeroRue;
|
||||||
|
private String numeroEntreePorte;
|
||||||
|
|
||||||
|
private String codeInstad;
|
||||||
|
private String numeroEtatLieux;
|
||||||
|
private String numeroTitreFoncier;
|
||||||
|
private LocalDate dateTitreFoncier;
|
||||||
|
private Boolean batie ;
|
||||||
|
|
||||||
|
private String npi;
|
||||||
|
private String ifu;
|
||||||
|
private String nom;
|
||||||
|
private String prenom;
|
||||||
|
private String raisonSociale;
|
||||||
|
private String nomEtPrenoms;
|
||||||
|
private String telephone;
|
||||||
|
private String adresse;
|
||||||
|
|
||||||
|
private String nomRepresentant;
|
||||||
|
private String prenomRepresentant;
|
||||||
|
private String raisonSocialeRepresentant;
|
||||||
|
private String nomEtPrenomsRepresentant;
|
||||||
|
private String telephoneRepresentant;
|
||||||
|
private String adresseRepresentant;
|
||||||
|
|
||||||
|
private String q;
|
||||||
|
private String zone;
|
||||||
|
private String ilot;
|
||||||
|
private String p;
|
||||||
|
|
||||||
|
private String qLotissement;
|
||||||
|
private String ilotLotissement;
|
||||||
|
private String pLotissement;
|
||||||
|
|
||||||
|
private String pointsPolygone;
|
||||||
|
private Integer superficie;
|
||||||
|
|
||||||
|
private String dateCollecte;
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
private SourceDonnee sourceDonnees;
|
||||||
|
private String observations;
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
private StatutParcelle statutParcelle;
|
||||||
|
|
||||||
|
private Long departementId;
|
||||||
|
private String departementCode;
|
||||||
|
private String departementNom;
|
||||||
|
|
||||||
|
private Long communeId;
|
||||||
|
private String communeCode;
|
||||||
|
private String communeNom;
|
||||||
|
|
||||||
|
private Long arrondissementId;
|
||||||
|
private String arrondissementCode;
|
||||||
|
private String arrondissementNom;
|
||||||
|
|
||||||
|
|
||||||
|
private Long quartierId ;
|
||||||
|
private String quartierCode ;
|
||||||
|
private String quartierNom ;
|
||||||
|
|
||||||
|
private int geomSrid;
|
||||||
|
@JsonSerialize(using = GeometrySerializer.class)
|
||||||
|
@JsonDeserialize(contentUsing = GeometryDeserializer.class)
|
||||||
|
//@Column(name = "geometry",columnDefinition = "geometry(Polygon,32631)")
|
||||||
|
private Polygon geometry;
|
||||||
|
//@Column(columnDefinition = "TEXT")
|
||||||
|
private String geometryString;
|
||||||
|
|
||||||
|
private Long parcelleId;
|
||||||
|
|
||||||
|
public ParcelleGeomPaylaodWeb(Long id, String nup, String nupProvisoire, String longitude, String latitude, String numeroRue, String numeroEntreePorte, String codeInstad, String numeroEtatLieux, String numeroTitreFoncier, LocalDate dateTitreFoncier, Boolean batie, String npi, String ifu, String nom, String prenom, String raisonSociale, String nomEtPrenoms, String telephone, String adresse, String nomRepresentant, String prenomRepresentant, String raisonSocialeRepresentant, String nomEtPrenomsRepresentant, String telephoneRepresentant, String adresseRepresentant, String q, String zone, String ilot, String p, String qLotissement, String ilotLotissement, String pLotissement, String pointsPolygone, Integer superficie, String dateCollecte, SourceDonnee sourceDonnees, String observations, StatutParcelle statutParcelle, Long departementId, String departementCode, String departementNom, Long communeId, String communeCode, String communeNom, Long arrondissementId, String arrondissementCode, String arrondissementNom, Long quartierId, String quartierCode, String quartierNom, int geomSrid, Polygon geometry, String geometryString, Long parcelleId) {
|
||||||
|
this.id = id;
|
||||||
|
this.nup = nup;
|
||||||
|
this.nupProvisoire = nupProvisoire;
|
||||||
|
this.longitude = longitude;
|
||||||
|
this.latitude = latitude;
|
||||||
|
this.numeroRue = numeroRue;
|
||||||
|
this.numeroEntreePorte = numeroEntreePorte;
|
||||||
|
this.codeInstad = codeInstad;
|
||||||
|
this.numeroEtatLieux = numeroEtatLieux;
|
||||||
|
this.numeroTitreFoncier = numeroTitreFoncier;
|
||||||
|
this.dateTitreFoncier = dateTitreFoncier;
|
||||||
|
this.batie = batie;
|
||||||
|
this.npi = npi;
|
||||||
|
this.ifu = ifu;
|
||||||
|
this.nom = nom;
|
||||||
|
this.prenom = prenom;
|
||||||
|
this.raisonSociale = raisonSociale;
|
||||||
|
this.nomEtPrenoms = nomEtPrenoms;
|
||||||
|
this.telephone = telephone;
|
||||||
|
this.adresse = adresse;
|
||||||
|
this.nomRepresentant = nomRepresentant;
|
||||||
|
this.prenomRepresentant = prenomRepresentant;
|
||||||
|
this.raisonSocialeRepresentant = raisonSocialeRepresentant;
|
||||||
|
this.nomEtPrenomsRepresentant = nomEtPrenomsRepresentant;
|
||||||
|
this.telephoneRepresentant = telephoneRepresentant;
|
||||||
|
this.adresseRepresentant = adresseRepresentant;
|
||||||
|
this.q = q;
|
||||||
|
this.zone = zone;
|
||||||
|
this.ilot = ilot;
|
||||||
|
this.p = p;
|
||||||
|
this.qLotissement = qLotissement;
|
||||||
|
this.ilotLotissement = ilotLotissement;
|
||||||
|
this.pLotissement = pLotissement;
|
||||||
|
this.pointsPolygone = pointsPolygone;
|
||||||
|
this.superficie = superficie;
|
||||||
|
this.dateCollecte = dateCollecte;
|
||||||
|
this.sourceDonnees = sourceDonnees;
|
||||||
|
this.observations = observations;
|
||||||
|
this.statutParcelle = statutParcelle;
|
||||||
|
this.departementId = departementId;
|
||||||
|
this.departementCode = departementCode;
|
||||||
|
this.departementNom = departementNom;
|
||||||
|
this.communeId = communeId;
|
||||||
|
this.communeCode = communeCode;
|
||||||
|
this.communeNom = communeNom;
|
||||||
|
this.arrondissementId = arrondissementId;
|
||||||
|
this.arrondissementCode = arrondissementCode;
|
||||||
|
this.arrondissementNom = arrondissementNom;
|
||||||
|
this.quartierId = quartierId;
|
||||||
|
this.quartierCode = quartierCode;
|
||||||
|
this.quartierNom = quartierNom;
|
||||||
|
this.geomSrid = geomSrid;
|
||||||
|
this.geometry = geometry;
|
||||||
|
this.geometryString = geometryString;
|
||||||
|
this.parcelleId = parcelleId;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
package io.gmss.fiscad.persistence.repositories.infocad.metier;
|
package io.gmss.fiscad.persistence.repositories.infocad.metier;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.ParcelleGeom;
|
import io.gmss.fiscad.entities.infocad.metier.ParcelleGeom;
|
||||||
|
import io.gmss.fiscad.paylaods.request.crudweb.ParcelleGeomPaylaodWeb;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
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;
|
||||||
@@ -12,7 +16,9 @@ import java.util.Optional;
|
|||||||
public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long> {
|
public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long> {
|
||||||
|
|
||||||
List<ParcelleGeom> findAllByQuartier_Code(String code);
|
List<ParcelleGeom> findAllByQuartier_Code(String code);
|
||||||
|
List<ParcelleGeom> findAllByQuartier_Id(Long quartierId);
|
||||||
List<ParcelleGeom> findAllByQuartier_Arrondissement_Code(String code);
|
List<ParcelleGeom> findAllByQuartier_Arrondissement_Code(String code);
|
||||||
|
List<ParcelleGeom> findAllByQuartier_Arrondissement_Id(Long arrondissementId);
|
||||||
|
|
||||||
Optional<ParcelleGeom> findFirstByNupProvisoire(String numProvisoir);
|
Optional<ParcelleGeom> findFirstByNupProvisoire(String numProvisoir);
|
||||||
@Modifying
|
@Modifying
|
||||||
@@ -72,7 +78,147 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
|
|||||||
""",nativeQuery = true)
|
""",nativeQuery = true)
|
||||||
void majCentroidParcelle();
|
void majCentroidParcelle();
|
||||||
|
|
||||||
|
@Query("""
|
||||||
|
SELECT new io.gmss.fiscad.paylaods.request.crudweb.ParcelleGeomPaylaodWeb(
|
||||||
|
pg.id,
|
||||||
|
pg.nup,
|
||||||
|
pg.nupProvisoire,
|
||||||
|
pg.longitude,
|
||||||
|
pg.latitude,
|
||||||
|
pg.numeroRue,
|
||||||
|
pg.numeroEntreePorte,
|
||||||
|
pg.codeInstad,
|
||||||
|
pg.numeroEtatLieux,
|
||||||
|
pg.numeroTitreFoncier,
|
||||||
|
pg.dateTitreFoncier,
|
||||||
|
pg.batie,
|
||||||
|
pg.npi,
|
||||||
|
pg.ifu,
|
||||||
|
pg.nom,
|
||||||
|
pg.prenom,
|
||||||
|
pg.raisonSociale,
|
||||||
|
pg.nomEtPrenoms,
|
||||||
|
pg.telephone,
|
||||||
|
pg.adresse,
|
||||||
|
pg.nomRepresentant,
|
||||||
|
pg.prenomRepresentant,
|
||||||
|
pg.raisonSocialeRepresentant,
|
||||||
|
pg.nomEtPrenomsRepresentant,
|
||||||
|
pg.telephoneRepresentant,
|
||||||
|
pg.adresseRepresentant,
|
||||||
|
pg.q,
|
||||||
|
pg.zone,
|
||||||
|
pg.ilot,
|
||||||
|
pg.p,
|
||||||
|
pg.qLotissement,
|
||||||
|
pg.ilotLotissement,
|
||||||
|
pg.pLotissement,
|
||||||
|
pg.pointsPolygone,
|
||||||
|
pg.superficie,
|
||||||
|
pg.dateCollecte,
|
||||||
|
pg.sourceDonnees,
|
||||||
|
pg.observations,
|
||||||
|
pg.statutParcelle,
|
||||||
|
d.id,
|
||||||
|
d.code,
|
||||||
|
d.nom,
|
||||||
|
c.id,
|
||||||
|
c.code,
|
||||||
|
c.nom,
|
||||||
|
a.id,
|
||||||
|
a.code,
|
||||||
|
a.nom,
|
||||||
|
q.id,
|
||||||
|
q.code,
|
||||||
|
q.nom,
|
||||||
|
pg.geomSrid,
|
||||||
|
pg.geometry,
|
||||||
|
pg.geometryString,
|
||||||
|
pg.parcelle.id
|
||||||
|
)
|
||||||
|
FROM ParcelleGeom pg
|
||||||
|
LEFT JOIN pg.departement d
|
||||||
|
LEFT JOIN pg.commune c
|
||||||
|
LEFT JOIN pg.arrondissement a
|
||||||
|
LEFT JOIN pg.quartier q
|
||||||
|
WHERE q.id = :quartierId
|
||||||
|
""")
|
||||||
|
List<ParcelleGeomPaylaodWeb> findAllByQuartierId(@Param("quartierId") Long quartierId);
|
||||||
|
|
||||||
|
@Query(
|
||||||
|
value = """
|
||||||
|
SELECT new io.gmss.fiscad.paylaods.request.crudweb.ParcelleGeomPaylaodWeb(
|
||||||
|
pg.id,
|
||||||
|
pg.nup,
|
||||||
|
pg.nupProvisoire,
|
||||||
|
pg.longitude,
|
||||||
|
pg.latitude,
|
||||||
|
pg.numeroRue,
|
||||||
|
pg.numeroEntreePorte,
|
||||||
|
pg.codeInstad,
|
||||||
|
pg.numeroEtatLieux,
|
||||||
|
pg.numeroTitreFoncier,
|
||||||
|
pg.dateTitreFoncier,
|
||||||
|
pg.batie,
|
||||||
|
pg.npi,
|
||||||
|
pg.ifu,
|
||||||
|
pg.nom,
|
||||||
|
pg.prenom,
|
||||||
|
pg.raisonSociale,
|
||||||
|
pg.nomEtPrenoms,
|
||||||
|
pg.telephone,
|
||||||
|
pg.adresse,
|
||||||
|
pg.nomRepresentant,
|
||||||
|
pg.prenomRepresentant,
|
||||||
|
pg.raisonSocialeRepresentant,
|
||||||
|
pg.nomEtPrenomsRepresentant,
|
||||||
|
pg.telephoneRepresentant,
|
||||||
|
pg.adresseRepresentant,
|
||||||
|
pg.q,
|
||||||
|
pg.zone,
|
||||||
|
pg.ilot,
|
||||||
|
pg.p,
|
||||||
|
pg.qLotissement,
|
||||||
|
pg.ilotLotissement,
|
||||||
|
pg.pLotissement,
|
||||||
|
pg.pointsPolygone,
|
||||||
|
pg.superficie,
|
||||||
|
pg.dateCollecte,
|
||||||
|
pg.sourceDonnees,
|
||||||
|
pg.observations,
|
||||||
|
pg.statutParcelle,
|
||||||
|
d.id,
|
||||||
|
d.code,
|
||||||
|
d.nom,
|
||||||
|
c.id,
|
||||||
|
c.code,
|
||||||
|
c.nom,
|
||||||
|
a.id,
|
||||||
|
a.code,
|
||||||
|
a.nom,
|
||||||
|
q.id,
|
||||||
|
q.code,
|
||||||
|
q.nom,
|
||||||
|
pg.geomSrid,
|
||||||
|
pg.geometry,
|
||||||
|
pg.geometryString,
|
||||||
|
pg.parcelle.id
|
||||||
|
)
|
||||||
|
FROM ParcelleGeom pg
|
||||||
|
LEFT JOIN pg.departement d
|
||||||
|
LEFT JOIN pg.commune c
|
||||||
|
LEFT JOIN pg.arrondissement a
|
||||||
|
LEFT JOIN pg.quartier q
|
||||||
|
WHERE q.id = :quartierId
|
||||||
|
""",
|
||||||
|
countQuery = """
|
||||||
|
SELECT COUNT(pg)
|
||||||
|
FROM ParcelleGeom pg
|
||||||
|
WHERE pg.quartier.id = :quartierId
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
Page<ParcelleGeomPaylaodWeb> findAllByQuartierIdPageable(
|
||||||
|
@Param("quartierId") Long quartierId,
|
||||||
|
Pageable pageable
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -661,7 +661,12 @@ public class EntityFromPayLoadService {
|
|||||||
eul.setRepresentantTel(enqueteUniteLogementPayloadWeb.getRepresentantTel());
|
eul.setRepresentantTel(enqueteUniteLogementPayloadWeb.getRepresentantTel());
|
||||||
eul.setRepresentantNpi(enqueteUniteLogementPayloadWeb.getRepresentantNpi());
|
eul.setRepresentantNpi(enqueteUniteLogementPayloadWeb.getRepresentantNpi());
|
||||||
eul.setNombrePiscine(enqueteUniteLogementPayloadWeb.getNombrePiscine());
|
eul.setNombrePiscine(enqueteUniteLogementPayloadWeb.getNombrePiscine());
|
||||||
|
// eul.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||||
|
if(!enqueteUniteLogementPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
|
||||||
eul.setStatutEnquete(StatutEnquete.EN_COURS);
|
eul.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||||
|
}else{
|
||||||
|
eul.setStatutEnquete(enqueteUniteLogementPayloadWeb.getStatutEnquete());
|
||||||
|
}
|
||||||
|
|
||||||
return eul;
|
return eul;
|
||||||
}
|
}
|
||||||
@@ -750,7 +755,12 @@ public class EntityFromPayLoadService {
|
|||||||
enqueteBatiment.setRepresentantTel(enqueteBatimentPayloadWeb.getRepresentantTel());
|
enqueteBatiment.setRepresentantTel(enqueteBatimentPayloadWeb.getRepresentantTel());
|
||||||
enqueteBatiment.setRepresentantNpi(enqueteBatimentPayloadWeb.getRepresentantNpi());
|
enqueteBatiment.setRepresentantNpi(enqueteBatimentPayloadWeb.getRepresentantNpi());
|
||||||
enqueteBatiment.setNombrePiscine(enqueteBatimentPayloadWeb.getNombrePiscine());
|
enqueteBatiment.setNombrePiscine(enqueteBatimentPayloadWeb.getNombrePiscine());
|
||||||
|
//enqueteBatiment.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||||
|
if(!enqueteBatimentPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
|
||||||
enqueteBatiment.setStatutEnquete(StatutEnquete.EN_COURS);
|
enqueteBatiment.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||||
|
}else{
|
||||||
|
enqueteBatiment.setStatutEnquete(enqueteBatimentPayloadWeb.getStatutEnquete());
|
||||||
|
}
|
||||||
return enqueteBatiment;
|
return enqueteBatiment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -808,7 +818,12 @@ public class EntityFromPayLoadService {
|
|||||||
// ======================
|
// ======================
|
||||||
enquete.setDateEnquete(LocalDate.now());
|
enquete.setDateEnquete(LocalDate.now());
|
||||||
enquete.setLitige(enquetePayLoadWeb.getLitige());
|
enquete.setLitige(enquetePayLoadWeb.getLitige());
|
||||||
|
|
||||||
|
if(!enquetePayLoadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
|
||||||
enquete.setStatutEnquete(StatutEnquete.EN_COURS);
|
enquete.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||||
|
}else{
|
||||||
|
enquete.setStatutEnquete(enquetePayLoadWeb.getStatutEnquete());
|
||||||
|
}
|
||||||
enquete.setObservationParticuliere(enquetePayLoadWeb.getObservation());
|
enquete.setObservationParticuliere(enquetePayLoadWeb.getObservation());
|
||||||
enquete.setAutreAdresse(enquetePayLoadWeb.getAutreAdresse());
|
enquete.setAutreAdresse(enquetePayLoadWeb.getAutreAdresse());
|
||||||
enquete.setAutreNumeroTitreFoncier(enquetePayLoadWeb.getAutreNumeroTitreFoncier());
|
enquete.setAutreNumeroTitreFoncier(enquetePayLoadWeb.getAutreNumeroTitreFoncier());
|
||||||
|
|||||||
Reference in New Issue
Block a user