13 Commits

Author SHA1 Message Date
81bd7d9034 Generation tfu batie et non batie avec ressource de liste de données imposition
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 33s
2026-03-14 15:40:32 +01:00
cec02e24ae Generation tfu batie et non batie avec ressource de liste de données imposition
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 29s
2026-03-12 21:00:21 +01:00
dae64dc079 Generation tfu batie et non batie avec ressource de liste de données imposition
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 32s
2026-03-12 20:33:32 +01:00
9de2564108 Generation tfu batie et non batie
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 28s
2026-03-12 12:26:45 +01:00
b3e3e7109f Generation tfu batie et non batie
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 28s
2026-03-12 12:05:36 +01:00
b22b6c8288 Generation tfu batie et non batie
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 27s
2026-03-12 01:00:03 +01:00
d326e227c4 Generation tfu batie et non batie
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 26s
2026-03-11 01:09:42 +01:00
85be8a2e24 Gestion des barem
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 33s
2026-03-10 22:36:38 +01:00
fcc81e0607 Gestion des barem
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 28s
2026-03-09 21:12:09 +01:00
862b917689 Gestion des barem 2026-03-09 21:11:24 +01:00
9b4edcdcea Gestion des barem
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 30s
2026-03-09 20:59:23 +01:00
db1fd2c821 Gestion des barem
All checks were successful
CI - Build & Test (develop) / build-and-test (pull_request) Successful in 30s
2026-03-09 20:31:09 +01:00
ee07fec0ac Gestion des barem 2026-03-09 20:03:25 +01:00
27 changed files with 999 additions and 195 deletions

View File

@@ -9,6 +9,8 @@ import io.gmss.fiscad.interfaces.rfu.metier.DonneesImpositionTfuService;
import io.gmss.fiscad.paylaods.ApiResponse;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import io.gmss.fiscad.persistence.repositories.rfu.metier.ImpositionsTfuRepository;
import io.gmss.fiscad.security.CurrentUser;
import io.gmss.fiscad.security.UserPrincipal;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -161,6 +163,104 @@ public class DonneesImpositionTfuController {
}
}
@GetMapping("/all-page/by-imposition-id/{impositionId}")
public ResponseEntity<?> getAllDonneesImpositionTfuByImpositionIdPaged(@PathVariable Long impositionId, @RequestParam int pageNo, @RequestParam int pageSize) {
try {
Pageable pageable = PageRequest.of(pageNo, pageSize);
return new ResponseEntity<>(
new ApiResponse<>(true, donneesImpositionTfuService.getDonneesFiscalesByImpositionTfuIdPageable(impositionId, pageable), "Liste des caractéristiques 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);
}
}
@GetMapping("/all-page/by-imposition-id/non-batie/{impositionId}")
public ResponseEntity<?> getAllDonneesImpositionTfuByImpositionIdNonBatiePaged(@PathVariable Long impositionId, @RequestParam int pageNo, @RequestParam int pageSize) {
try {
Pageable pageable = PageRequest.of(pageNo, pageSize);
return new ResponseEntity<>(
new ApiResponse<>(true, donneesImpositionTfuService.getDonneesFiscalesByImpositionTfuIdNonBatiePageable(impositionId, pageable), "Liste des caractéristiques 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);
}
}
@GetMapping("/all-page/by-imposition-id/batie-batiment/{impositionId}")
public ResponseEntity<?> getAllDonneesImpositionTfuByImpositionIdBatieBatimentPaged(@PathVariable Long impositionId, @RequestParam int pageNo, @RequestParam int pageSize) {
try {
Pageable pageable = PageRequest.of(pageNo, pageSize);
return new ResponseEntity<>(
new ApiResponse<>(true, donneesImpositionTfuService.getDonneesFiscalesByImpositionTfuIdBatieBatimentPageable(impositionId, pageable), "Liste des caractéristiques 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);
}
}
@GetMapping("/all-page/by-imposition-id/batie-unite-logement/{impositionId}")
public ResponseEntity<?> getAllDonneesImpositionTfuByImpositionIdBatieUniteLogPaged(@PathVariable Long impositionId, @RequestParam int pageNo, @RequestParam int pageSize) {
try {
Pageable pageable = PageRequest.of(pageNo, pageSize);
return new ResponseEntity<>(
new ApiResponse<>(true, donneesImpositionTfuService.getDonneesFiscalesByImpositionTfuIdBatieUniteLogPageable(impositionId, pageable), "Liste des caractéristiques 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);
}
}
@GetMapping("/id/{id}")
public ResponseEntity<?> getDonneesImpositionTfuById(@PathVariable Long id) {
try {
@@ -183,9 +283,61 @@ public class DonneesImpositionTfuController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
@Operation(summary = "Générer les données fiscales TFU")
@PostMapping("/generer")
public ResponseEntity<?> genererDonneesFiscale(@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
@Operation(summary = "Générer les données fiscales TFU des parcelle baties")
@PostMapping("/generer-batie")
public ResponseEntity<?> genererDonneesFiscaleBatie(@CurrentUser UserPrincipal userPrincipal, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
try {
Optional<ImpositionsTfu> optionalImpositionsTfu =impositionsTfuRepository.findById(impositionsTfuPaylaodWeb.getId());
if(optionalImpositionsTfu.isEmpty()){
return new ResponseEntity<>(
new ApiResponse<>(false, null, "L'instance d'imposition n'est pas trouvée."),
HttpStatus.OK
);
}
if(!optionalImpositionsTfu.get().getStatusAvis().equals(StatusAvis.TFU_FNB_GENERE)){
return new ResponseEntity<>(
new ApiResponse<>(false, null, "l'état actuel : "+optionalImpositionsTfu.get().getStatusAvis()+" ne permet pas cette opération."),
HttpStatus.OK
);
}
if(userPrincipal==null){
return new ResponseEntity<>(
new ApiResponse<>(false, null, "Vous n'êtes pas autorisé à accéder à cette ressource"),
HttpStatus.OK
);
}
impositionsTfuPaylaodWeb=donneesImpositionTfuService.genererDonneesFiscalesParcelleBatie(impositionsTfuPaylaodWeb,userPrincipal.getUser().getId());
return new ResponseEntity<>(
new ApiResponse<>(true,impositionsTfuPaylaodWeb, "Données d'imposition des fonciers batis Généré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);
}
}
@Operation(summary = "Générer les données fiscales TFU des parcelle baties")
@PostMapping("/generer-non-batie")
public ResponseEntity<?> genererDonneesImpositionNonBaties(@CurrentUser UserPrincipal userPrincipal, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
try {
Optional<ImpositionsTfu> optionalImpositionsTfu =impositionsTfuRepository.findById(impositionsTfuPaylaodWeb.getId());
@@ -203,12 +355,16 @@ public class DonneesImpositionTfuController {
);
}
optionalImpositionsTfu.get().setStatusAvis(StatusAvis.GENERE);
impositionsTfuPaylaodWeb=donneesImpositionTfuService.genererDonneesFiscales(impositionsTfuPaylaodWeb);
if(userPrincipal==null){
return new ResponseEntity<>(
new ApiResponse<>(false, null, "Vous n'êtes pas autorisé à accéder à cette ressource"),
HttpStatus.OK
);
}
impositionsTfuPaylaodWeb=donneesImpositionTfuService.genererDonneesFiscalesParcelleNonBatie(impositionsTfuPaylaodWeb,userPrincipal.getUser().getId());
return new ResponseEntity<>(
new ApiResponse<>(true,impositionsTfuPaylaodWeb, "Données d'imposition Générées avec succès."),
new ApiResponse<>(true,impositionsTfuPaylaodWeb, "Données d'imposition pour les fonciers non batis Générées avec succès."),
HttpStatus.OK
);

View File

@@ -44,12 +44,11 @@ public class ImpositionsTfuController {
@PostMapping("/create")
public ResponseEntity<?> createImpositionsTfu(@CurrentUser UserPrincipal currentUser,@RequestBody @Valid @Validated ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
public ResponseEntity<?> createImpositionsTfu(@CurrentUser UserPrincipal currentUser,@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
try {
if(currentUser==null){
return new ResponseEntity<>(
new ApiResponse<>(true, null, "Vous n'etes pas autorisé à accéder à cette ressource."),
new ApiResponse<>(false, null, "Vous n'etes pas autorisé à accéder à cette ressource."),
HttpStatus.OK
);
}
@@ -57,7 +56,7 @@ public class ImpositionsTfuController {
if(user.getStructure().getId()!=impositionsTfuPaylaodWeb.getStructureId()){
return new ResponseEntity<>(
new ApiResponse<>(true, null, "Vous n'etes pas autorisé à accéder à cette ressource."),
new ApiResponse<>(false, null, "Vous n'etes pas autorisé à accéder à cette ressource."),
HttpStatus.OK
);
}

View File

@@ -35,7 +35,7 @@ public class BaremRfuNonBatiController {
@PostMapping("/create")
public ResponseEntity<?> createBaremRfuNonBati(@RequestBody @Valid @Validated BaremRfuNonBatiPayloadWeb baremRfuNonBatiPayloadWeb) {
public ResponseEntity<?> createBaremRfuNonBati(@RequestBody BaremRfuNonBatiPayloadWeb baremRfuNonBatiPayloadWeb) {
try {
baremRfuNonBatiPayloadWeb = baremRfuNonBatiService.createBaremRfuNonBati(baremRfuNonBatiPayloadWeb);
return new ResponseEntity<>(

View File

@@ -29,6 +29,8 @@ public class Quartier extends BaseEntity implements Serializable {
@ManyToOne
private Arrondissement arrondissement;
private String longitude;
private String latitude;
// @JsonIgnore
// @OneToOne(mappedBy = "quartier")
// private Bloc bloc;

View File

@@ -97,6 +97,7 @@ public class ParcelleGeom extends BaseEntity implements Serializable {
@Enumerated(EnumType.STRING)
private SourceDonnee sourceDonnees;
private String observations;
@Enumerated(EnumType.STRING)
private StatutParcelle statutParcelle;
private Long uploadId;
@@ -118,7 +119,7 @@ public class ParcelleGeom extends BaseEntity implements Serializable {
private Quartier quartier ;
@ColumnDefault("0")
private int geomSrid;
private Integer geomSrid;
@JsonSerialize(using = GeometrySerializer.class)
@JsonDeserialize(contentUsing = GeometryDeserializer.class)
@Column(name = "geometry",columnDefinition = "geometry(Polygon,32631)")

View File

@@ -8,6 +8,9 @@ import io.gmss.fiscad.entities.BaseEntity;
import io.gmss.fiscad.entities.infocad.metier.Enquete;
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
import io.gmss.fiscad.entities.infocad.metier.Tpe;
import io.gmss.fiscad.entities.infocad.parametre.Structure;
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
import io.gmss.fiscad.enums.NatureImpot;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -71,11 +74,17 @@ public class DonneesImpositionTfu extends BaseEntity implements Serializable {
private int superficieParc;
private Long superficieAuSolBat;
private Long superficieAuSolUlog;
private String batieOuiNon;
private String exhonereOuiNon;
private String batimentExhonereOuiNon;
private String uniteLogementExhonereOuiNon;
//private String batieOuiNon;
//private String exhonereOuiNon;
//private String batimentExhonereOuiNon;
//private String uniteLogementExhonereOuiNon;
private Boolean batie;
private Boolean exonere;
private Boolean batimentExonere;
private Boolean uniteLogementExonere;
private Long valeurLocativeAdm;
private Long valeurLocativeAdm70Pour100;
private Long valeurLocativeAdmMetreCarre;
private Long montantLoyerAnnuel;
private Long tfuMetreCarre;
private Long tfuMinimum;
@@ -88,14 +97,30 @@ public class DonneesImpositionTfu extends BaseEntity implements Serializable {
@JsonDeserialize(using = LocalDateDeserializer.class)
private LocalDate dateEnquete;
private Long enqueteId;
private Long structureId;
//private Long structureId;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "structure_id")
private Structure structure ;
private Long secteurId;
private Long zoneRfuId;
//private Long zoneRfuId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "zone_rfu_id")
private ZoneRfu zoneRfu ;
@ColumnDefault("0")
private float tauxParcelleNonBati;
private Long valeurAdministrativeParcelleNonBati;
private Long valeurAdminParcelleNb;
private Float tauxTfu;
private Float montantTaxe;
private Long valeurAdminParcelleNbMetreCarre;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "impositions_tfu_id", nullable = false)
private ImpositionsTfu impositionsTfu ;
@Enumerated(EnumType.STRING)
private NatureImpot natureImpot;
private Long valeurBatiment;
private Long valeurParcelle;
}

View File

@@ -55,7 +55,10 @@ public class ImpositionsTfu extends BaseEntity implements Serializable {
@Enumerated(EnumType.STRING)
private StatusAvis statusAvis;
private Long nombreAvis;
private Integer nombreAvis;
private Integer nombreAvisFnb;
private Integer nombreAvisBatiment;
private Integer nombreAvisUniteLog;
@Column(columnDefinition = "TEXT")
private String motif;
@@ -65,7 +68,5 @@ public class ImpositionsTfu extends BaseEntity implements Serializable {
@JoinColumn(name = "impositions_tfu_id")
private List<DonneesImpositionTfu> donneesImpositionTfus;
public Long getNombreAvis(){
return donneesImpositionTfus==null?0l:donneesImpositionTfus.size();
}
}

View File

@@ -23,6 +23,8 @@ public class BaremRfuNonBati extends BaseEntity implements Serializable {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Long valeurAdministrative;
private Long valeurAdministrativeMetreCarre;
private Boolean auMetreCarre;
private Float taux;
@ManyToOne
private Commune commune;

View File

@@ -0,0 +1,6 @@
package io.gmss.fiscad.enums;
public enum NatureImpot {
TFU,
IRF
}

View File

@@ -12,5 +12,8 @@ public enum ParametersType {
CORPS_RESET_PASSWORD,
OBJET_CREATE_ACCOUNT,
CORPS_CREATE_ACCOUNT,
TOKEN_IFU_EN_LIGNE ;
TOKEN_IFU_EN_LIGNE,
TAUX_TFU_HABITATION,
TAUX_TFU_PROFESSIONNELLE,
TAUX_DEFAUT_SUPERFICIE_AU_SOL;
}

View File

@@ -5,6 +5,7 @@ public enum StatusAvis {
CLOTURE,
GENERATION_AUTORISE,
REJETE,
TFU_FNB_GENERE,
GENERE
}

View File

@@ -8,6 +8,7 @@ import io.gmss.fiscad.enums.StatusAvis;
import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException;
import io.gmss.fiscad.interfaces.rfu.metier.DonneesImpositionTfuService;
import io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import io.gmss.fiscad.paylaods.response.DonneesImpositionTfuResponse;
import io.gmss.fiscad.persistence.repositories.decoupage.ArrondissementRepository;
@@ -95,100 +96,43 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
@Override
@Transactional
public ImpositionsTfuPaylaodWeb genererDonneesFiscales(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
public ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleNonBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb, Long userId) {
Integer nb= donneesImpositionTfuRepository.genererDonneesTfuNonBatie(impositionsTfuPaylaodWeb.getId(),userId);
// List<DonneesImpositionTfuResponse> donneesImpositionTfuResponses= donneesImpositionTfuRepository.findAllDonneesImpositionTfu(impositionsTfu.getCommune().getId(),impositionsTfu.getExercice().getAnnee());
Long n=0l;
// for (DonneesImpositionTfuResponse donneesImpositionTfuResponse: donneesImpositionTfuResponses){
// DonneesImpositionTfu donneesImpositionTfu=new DonneesImpositionTfu();
// donneesImpositionTfu.setImpositionsTfu(impositionsTfu);
// donneesImpositionTfu.setZoneRfuId(donneesImpositionTfuResponse.getZoneRfuId());
// donneesImpositionTfu.setCodeQuartierVillage(donneesImpositionTfuResponse.getCodeQuartierVillage());
// donneesImpositionTfu.setNomQuartierVillage(donneesImpositionTfuResponse.getNomQuartierVillage());
// donneesImpositionTfu.setCodeArrondissement(donneesImpositionTfuResponse.getCodeArrondissement());
// donneesImpositionTfu.setNomArrondissement(donneesImpositionTfuResponse.getNomArrondissement());
// donneesImpositionTfu.setCodeCommune(donneesImpositionTfuResponse.getCodeCommune());
// donneesImpositionTfu.setNomCommune(donneesImpositionTfuResponse.getNomCommune());
// donneesImpositionTfu.setCodeDepartement(donneesImpositionTfuResponse.getCodeDepartement());
// donneesImpositionTfu.setNomDepartement(donneesImpositionTfuResponse.getNomDepartement());
// donneesImpositionTfu.setQ(donneesImpositionTfuResponse.getQ());
// donneesImpositionTfu.setIlot(donneesImpositionTfuResponse.getIlot());
// donneesImpositionTfu.setParcelle(donneesImpositionTfuResponse.getParcelle());
// donneesImpositionTfu.setLatitude(donneesImpositionTfuResponse.getLatitude());
// donneesImpositionTfu.setLongitude(donneesImpositionTfuResponse.getLongitude());
// donneesImpositionTfu.setNup(donneesImpositionTfuResponse.getNup());
// donneesImpositionTfu.setNupProvisoire(donneesImpositionTfuResponse.getNupProvisoire());
// donneesImpositionTfu.setSuperficieParc(donneesImpositionTfuResponse.getSuperficieParc());
// donneesImpositionTfu.setAdresseProp(donneesImpositionTfuResponse.getAdresseProp());
// donneesImpositionTfu.setAnnee(donneesImpositionTfuResponse.getAnnee());
// donneesImpositionTfu.setAdresseSc(donneesImpositionTfuResponse.getAdresseSc());
// donneesImpositionTfu.setBatieOuiNon(donneesImpositionTfuResponse.getBatieOuiNon());
// donneesImpositionTfu.setTfuMinimum(donneesImpositionTfuResponse.getTfuMinimum());
// donneesImpositionTfu.setCategorieBat(donneesImpositionTfuResponse.getCategorieBat());
// donneesImpositionTfu.setDateEnquete(donneesImpositionTfuResponse.getDateEnquete());
// donneesImpositionTfu.setEmailProp(donneesImpositionTfuResponse.getEmailProp());
// donneesImpositionTfu.setEmailSc(donneesImpositionTfuResponse.getEmailSc());
// donneesImpositionTfu.setMontantLoyerAnnuel(donneesImpositionTfuResponse.getMontantLoyerAnnuel());
// donneesImpositionTfu.setEnqueteId(donneesImpositionTfuResponse.getEnqueteId());
// donneesImpositionTfu.setExhonereOuiNon(donneesImpositionTfuResponse.getExhonereOuiNon());
// donneesImpositionTfu.setIfu(donneesImpositionTfuResponse.getIfu());
// donneesImpositionTfu.setNombreBat(donneesImpositionTfuResponse.getNombreBat());
// donneesImpositionTfu.setNombrePiscine(donneesImpositionTfuResponse.getNombrePiscine());
// donneesImpositionTfu.setNombreUlog(donneesImpositionTfuResponse.getNombreUlog());
// donneesImpositionTfu.setNomProp(donneesImpositionTfuResponse.getNomProp());
// donneesImpositionTfu.setNomSc(donneesImpositionTfuResponse.getNomSc());
// donneesImpositionTfu.setNpi(donneesImpositionTfuResponse.getNpi());
// donneesImpositionTfu.setNumBatiment(donneesImpositionTfuResponse.getNumBatiment()==null?"":donneesImpositionTfuResponse.getNumBatiment());
// donneesImpositionTfu.setNumUniteLogement(donneesImpositionTfuResponse.getNumUniteLogement()==null?"":donneesImpositionTfuResponse.getNumUniteLogement());
// donneesImpositionTfu.setPrenomProp(donneesImpositionTfuResponse.getPrenomProp());
// donneesImpositionTfu.setPrenomSc(donneesImpositionTfuResponse.getPrenomSc());
// donneesImpositionTfu.setRaisonSociale(donneesImpositionTfuResponse.getRaisonSociale());
// donneesImpositionTfu.setSecteurId(donneesImpositionTfuResponse.getSecteurId());
// donneesImpositionTfu.setStandingBat(donneesImpositionTfuResponse.getStandingBat());
// donneesImpositionTfu.setStructureId(donneesImpositionTfuResponse.getStructureId());
// donneesImpositionTfu.setSuperficieAuSolBat(donneesImpositionTfuResponse.getSuperficieAuSolBat());
// donneesImpositionTfu.setSuperficieAuSolUlog(donneesImpositionTfuResponse.getSuperficieAuSolUlog());
// donneesImpositionTfu.setTelProp(donneesImpositionTfuResponse.getTelProp());
// donneesImpositionTfu.setTelSc(donneesImpositionTfuResponse.getTelSc());
// donneesImpositionTfu.setTfuMetreCarre(donneesImpositionTfuResponse.getTfuMetreCarre());
// donneesImpositionTfu.setTitreFoncier(donneesImpositionTfuResponse.getTitreFoncier());
// donneesImpositionTfu.setValeurLocativeAdm(donneesImpositionTfuResponse.getValeurLocativeAdm());
// donneesImpositionTfu.setBatimentExhonereOuiNon(donneesImpositionTfuResponse.getBatimentExhonereOuiNon());
// donneesImpositionTfu.setUniteLogementExhonereOuiNon(donneesImpositionTfuResponse.getUniteLogementExhonereOuiNon());
// try {
// Optional<BaremRfuNonBati> baremRfuNonBatiOptional=baremRfuNonBatiRepository.findAllByCommune_IdAndZoneRfu_Id(impositionsTfu.getCommune().getId(),donneesImpositionTfu.getZoneRfuId());
// if(baremRfuNonBatiOptional.isPresent()){
// donneesImpositionTfu.setValeurAdministrativeParcelleNonBati(baremRfuNonBatiOptional.get().getValeurAdministrative());
// donneesImpositionTfu.setTauxParcelleNonBati(baremRfuNonBatiOptional.get().getTaux());
// }
//
//
// donneesImpositionTfuRepository.save(donneesImpositionTfu);
// n++;
// }catch (DataIntegrityViolationException e) {
// if (e.getCause() instanceof org.hibernate.exception.ConstraintViolationException constraintEx &&
// constraintEx.getSQLException().getSQLState().equals("23505")) {
// System.out.println("Doublon détecté (clé unique) !");
// } else {
// throw e;
// }
// }
// }
ImpositionsTfu impositionsTfu = entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
impositionsTfu.setStatusAvis(StatusAvis.GENERE);
impositionsTfu.setStatusAvis(StatusAvis.TFU_FNB_GENERE);
impositionsTfu.setNombreAvisFnb(nb);
impositionsTfuRepository.save(impositionsTfu);
return impositionsTfuPaylaodWeb;
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
}
@Override
public List<DonneesImpositionTfu> getDonneesFiscalesByImposition(Long impositionsId) {
return donneesImpositionTfuRepository.findAllByImpositionsTfu_Id(impositionsId);
@Transactional
public ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb, Long userId) {
Integer nbb= donneesImpositionTfuRepository.genererDonneesTfuBatie(impositionsTfuPaylaodWeb.getId(),userId);
Integer nbulo= donneesImpositionTfuRepository.genererDonneesTfuBatieUniteLogement(impositionsTfuPaylaodWeb.getId(),userId);
ImpositionsTfu impositionsTfu = entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
impositionsTfu.setStatusAvis(StatusAvis.GENERE);
impositionsTfu.setNombreAvis(nbb+nbulo+ (impositionsTfu.getNombreAvisFnb()==null?0:impositionsTfu.getNombreAvisFnb()));
impositionsTfu.setNombreAvisBatiment(nbb);
impositionsTfu.setNombreAvisUniteLog(nbulo);
impositionsTfuRepository.save(impositionsTfu);
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
}
@Override
public List<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImposition(Long impositionsId) {
return donneesImpositionTfuRepository.findAllByImpositionTfuId(impositionsId);
}
@Override
@@ -200,4 +144,24 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
return null;
}
}
@Override
public Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdPageable(Long impositionsTfuId, Pageable pageable) {
return donneesImpositionTfuRepository.findAllByImpositionTfuIdPageable(impositionsTfuId,pageable);
}
@Override
public Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdNonBatiePageable(Long impositionsTfuId, Pageable pageable) {
return donneesImpositionTfuRepository.findAllByImpositionTfuIdNonBatiePageable(impositionsTfuId,pageable);
}
@Override
public Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdBatieBatimentPageable(Long impositionsTfuId, Pageable pageable) {
return donneesImpositionTfuRepository.findAllByImpositionTfuIdBatieBatimentPageable(impositionsTfuId,pageable);
}
@Override
public Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdBatieUniteLogPageable(Long impositionsTfuId, Pageable pageable) {
return donneesImpositionTfuRepository.findAllByImpositionTfuIdBatieUniteLogPageable(impositionsTfuId,pageable);
}
}

View File

@@ -19,6 +19,7 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@AllArgsConstructor
@@ -48,6 +49,16 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
if (!impositionsTfus.isEmpty()) {
throw new BadRequestException("Une Imposition non annulée existe déjà");
}
List<StatusAvis> statusAvis= new ArrayList<>();
statusAvis.add(StatusAvis.EN_COURS);
statusAvis.add(StatusAvis.CLOTURE);
statusAvis.add(StatusAvis.GENERATION_AUTORISE);
Optional<ImpositionsTfu> optionalImpositionsTfu= impositionsTfuRepository.findDistinctByStructure_IdAndExercice_IdAndStatusAvisIn(impositionsTfuPaylaodWeb.getStructureId(),impositionsTfuPaylaodWeb.getExerciceId(),statusAvis);
if(optionalImpositionsTfu.isPresent()){
throw new BadRequestException("Une Imposition est déjà dans le workflow");
}
ImpositionsTfu impositionsTfu=entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
@@ -133,12 +144,15 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
@Override
public void deleteImpositionsTfu(Long id) throws NotFoundException {
// Optional<ImpositionsTfu> impositionsTfuOptional = impositionsTfuRepository.findById(id);
// if (impositionsTfuOptional.isPresent()) {
// impositionsTfuRepository.deleteById(impositionsTfuOptional.get().getId());
// } else {
// throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans notre base de données.");
// }
Optional<ImpositionsTfu> impositionsTfuOptional = impositionsTfuRepository.findById(id);
if (impositionsTfuOptional.isPresent()) {
if(!impositionsTfuOptional.get().getStatusAvis().equals(StatusAvis.EN_COURS)){
throw new NotFoundException("L'état actuel : "+impositionsTfuOptional.get().getStatusAvis()+ " ne permet pas de supprimer");
}
impositionsTfuRepository.deleteById(impositionsTfuOptional.get().getId());
} else {
throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans notre base de données.");
}
}
@Override
@@ -153,9 +167,9 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
@Override
public Optional<ImpositionsTfu> getImpositionsTfuById(Long id) {
public Optional<ImpositionsTfuPaylaodWeb> getImpositionsTfuById(Long id) {
if (impositionsTfuRepository.existsById(id)) {
return impositionsTfuRepository.findById(id);
return impositionsTfuRepository.findByIdToDto(id);
} else {
throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans la base de données.");
}
@@ -163,11 +177,12 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
@Override
public List<ImpositionsTfuPaylaodWeb> getImpositionsTfuByUserIdIds(Long userId) {
System.out.println(userId);
List<Structure> structures = structureService.getListStructureUserId(userId);
List<Long> structureIds = structures.stream()
.map(Structure::getId)
.toList();
System.out.println(structureIds.get(0));
return impositionsTfuRepository.findByStructureIdsToDto(structureIds);
}
}

View File

@@ -4,6 +4,7 @@ import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu;
import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException;
import io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
@@ -12,8 +13,6 @@ import java.util.List;
import java.util.Optional;
public interface DonneesImpositionTfuService {
DonneesImpositionTfu createDonneesImpositionTfu(DonneesImpositionTfu donneesImpositionTfu) throws BadRequestException;
DonneesImpositionTfu updateDonneesImpositionTfu(Long id, DonneesImpositionTfu donneesImpositionTfu) throws NotFoundException;
@@ -26,7 +25,17 @@ public interface DonneesImpositionTfuService {
Optional<DonneesImpositionTfu> getDonneesImpositionTfuById(Long id);
ImpositionsTfuPaylaodWeb genererDonneesFiscales(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb);
List<DonneesImpositionTfu> getDonneesFiscalesByImposition(Long impositionsId);
ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb,Long userId);
ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleNonBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb,Long userId);
List<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImposition(Long impositionsId);
List<DonneesImpositionTfu> getDonneesFiscalesByImpositionArrondissement(Long impositionsId,Long arrondissementId);
Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdPageable(Long impositionsTfuId, Pageable pageable);
Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdNonBatiePageable(Long impositionsTfuId, Pageable pageable);
Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdBatieBatimentPageable(Long impositionsTfuId, Pageable pageable);
Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdBatieUniteLogPageable(Long impositionsTfuId, Pageable pageable);
}

View File

@@ -25,6 +25,6 @@ public interface ImpositionsTfuService {
List<ImpositionsTfu> getImpositionsTfuList();
Optional<ImpositionsTfu> getImpositionsTfuById(Long id);
Optional<ImpositionsTfuPaylaodWeb> getImpositionsTfuById(Long id);
List<ImpositionsTfuPaylaodWeb> getImpositionsTfuByUserIdIds(Long userId);
}

View File

@@ -24,10 +24,18 @@ public class BaremRfuBatiPayloadWeb {
private String quartierCode;
private String quartierNom;
private Long communeId;
private String communeCode;
private String communeNom;
public BaremRfuBatiPayloadWeb(Long id, Long valeurLocative, Double tfuMetreCarre, Long tfuMinimum, Long categorieBatimentId, String categorieBatimentNom, String categorieBatimentStanding, Long arrondissementId, String arrondissementCode, String arrondissementNom,
Long quartierId,
String quartierCode,
String quartierNom ) {
String quartierNom,
Long communeId,
String communeCode,
String communeNom
) {
this.id = id;
this.valeurLocative = valeurLocative;
this.tfuMetreCarre = tfuMetreCarre;
@@ -41,5 +49,8 @@ public class BaremRfuBatiPayloadWeb {
this.quartierId = quartierId;
this.quartierCode = quartierCode;
this.quartierNom = quartierNom;
this.communeId = communeId;
this.communeCode = communeCode;
this.communeNom = communeNom;
}
}

View File

@@ -18,8 +18,20 @@ public class BaremRfuNonBatiPayloadWeb {
private Long zoneRfuId;
private String zoneRfuCode;
private String zoneRfuNom;
private Long valeurAdministrativeMetreCarre;
private Boolean auMetreCarre;
public BaremRfuNonBatiPayloadWeb(Long id, Long valeurAdministrative, float taux, Long communeId, String communeCode, String communeNom, Long zoneRfuId, String zoneRfuCode, String zoneRfuNom) {
public BaremRfuNonBatiPayloadWeb(Long id,
Long valeurAdministrative,
Float taux,
Long communeId,
String communeCode,
String communeNom,
Long zoneRfuId,
String zoneRfuCode,
String zoneRfuNom,
Long valeurAdministrativeMetreCarre,
Boolean auMetreCarre) {
this.id = id;
this.valeurAdministrative = valeurAdministrative;
this.taux = taux;
@@ -29,5 +41,7 @@ public class BaremRfuNonBatiPayloadWeb {
this.zoneRfuId = zoneRfuId;
this.zoneRfuCode = zoneRfuCode;
this.zoneRfuNom = zoneRfuNom;
this.valeurAdministrativeMetreCarre = valeurAdministrativeMetreCarre;
this.auMetreCarre = auMetreCarre;
}
}

View File

@@ -1,6 +1,9 @@
package io.gmss.fiscad.paylaods.request.crudweb;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.gmss.fiscad.enums.NatureImpot;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -20,68 +23,120 @@ public class DonneesImpositionPaylaodWeb {
private String nomArrondissement;
private String codeQuartierVillage;
private String nomQuartierVillage;
private String q;
private String ilot;
private String parcelle;
private String nup;
private String titreFoncier;
private String numBatiment;
private String numUniteLogement;
private String ifu;
private String npi;
private String telProp;
private String emailProp;
private String nomProp;
private String prenomProp;
private String raisonSociale;
private String adresseProp;
private String telSc;
private String telRep;
private String emailRep;
private String nomRep;
private String prenomRep;
private String adresseRep;
private String longitude;
private String latitude;
private Integer superficieParc;
private Long superficieAuSolBat;
private Long superficieAuSolUlog;
private String batieOuiNon;
private String exhonereOuiNon;
private String batimentExhonereOuiNon;
private String uniteLogementExhonereOuiNon;
private Boolean batie;
private Boolean exonere;
private Boolean batimentExonere;
private Boolean uniteLogementExonere;
private Long valeurLocativeAdm;
private Long valeurBatiment;
private Long valeurParcelle;
private Long montantLoyerAnnuel;
private Long tfuMetreCarre;
private Long tfuMinimum;
private String standingBat;
private String categorieBat;
private Long nombrePiscine;
private Long nombreUlog;
private Long nombreBat;
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate dateEnquete;
private Long serviceId;
private Long zoneRfu;
private String serviceCode;
private Long zoneRfuId;
private String zoneRfuNom;
private Float tauxTfu;
private Long valeurAdminParcelleNb;
@Enumerated(EnumType.STRING)
private NatureImpot natureImpot;
private Long valeurLocativeAdmMetreCarre;
private Long valeurAdminParcelleNbMetreCarre;
private Float montantTaxe;
private Float tauxParcelleNonBati;
private Long valeurAdministrativeParcelleNonBati;
public DonneesImpositionPaylaodWeb(Long id, Long annee, String codeDepartement, String nomDepartement, String codeCommune, String nomCommune, String codeArrondissement, String nomArrondissement, String codeQuartierVillage, String nomQuartierVillage, String q, String ilot, String parcelle, String nup, String titreFoncier, String numBatiment, String numUniteLogement, String ifu, String npi, String telProp, String emailProp, String nomProp, String prenomProp, String raisonSociale, String adresseProp, String telSc, String emailRep, String nomRep, String prenomRep, String adresseRep, String longitude, String latitude, Integer superficieParc, Long superficieAuSolBat, Long superficieAuSolUlog, String batieOuiNon, String exhonereOuiNon, String batimentExhonereOuiNon, String uniteLogementExhonereOuiNon, Long valeurLocativeAdm, Long montantLoyerAnnuel, Long tfuMetreCarre, Long tfuMinimum, String standingBat, String categorieBat, Long nombrePiscine, Long nombreUlog, Long nombreBat, LocalDate dateEnquete, Long serviceId, Long zoneRfu, Float tauxParcelleNonBati, Long valeurAdministrativeParcelleNonBati) {
public DonneesImpositionPaylaodWeb(Long id,
Long annee,
String codeDepartement,
String nomDepartement,
String codeCommune,
String nomCommune,
String codeArrondissement,
String nomArrondissement,
String codeQuartierVillage,
String nomQuartierVillage,
String q, String ilot,
String parcelle,
String nup,
String titreFoncier,
String numBatiment,
String numUniteLogement,
String ifu,
String npi,
String telProp,
String emailProp,
String nomProp,
String prenomProp,
String raisonSociale,
String adresseProp,
String telRep,
String emailRep,
String nomRep,
String prenomRep,
String adresseRep,
String longitude,
String latitude,
Integer superficieParc,
Long superficieAuSolBat,
Long superficieAuSolUlog,
Boolean batie,
Boolean exonere,
Boolean batimentExonere,
Boolean uniteLogementExonere,
Long valeurLocativeAdm,
Long montantLoyerAnnuel,
Long tfuMetreCarre,
Long tfuMinimum,
String standingBat,
String categorieBat,
Long nombrePiscine,
Long nombreUlog,
Long nombreBat,
LocalDate dateEnquete,
Long serviceId,
Long zoneRfuId,
Long valeurAdministrativeParcelleNonBati,
NatureImpot natureImpot,
String serviceCode,
String zoneRfuNom,
Long valeurBatiment,
Long valeurParcelle,
Long valeurLocativeAdmMetreCarre,
Long valeurAdministrativeParcelleNonBatiAuMetreCarre,
Float montantTaxe
) {
this.id = id;
this.annee = annee;
this.codeDepartement = codeDepartement;
@@ -107,7 +162,7 @@ public class DonneesImpositionPaylaodWeb {
this.prenomProp = prenomProp;
this.raisonSociale = raisonSociale;
this.adresseProp = adresseProp;
this.telSc = telSc;
this.telRep = telRep;
this.emailRep = emailRep;
this.nomRep = nomRep;
this.prenomRep = prenomRep;
@@ -117,10 +172,10 @@ public class DonneesImpositionPaylaodWeb {
this.superficieParc = superficieParc;
this.superficieAuSolBat = superficieAuSolBat;
this.superficieAuSolUlog = superficieAuSolUlog;
this.batieOuiNon = batieOuiNon;
this.exhonereOuiNon = exhonereOuiNon;
this.batimentExhonereOuiNon = batimentExhonereOuiNon;
this.uniteLogementExhonereOuiNon = uniteLogementExhonereOuiNon;
this.batie = batie;
this.exonere = exonere;
this.batimentExonere = batimentExonere;
this.uniteLogementExonere = uniteLogementExonere;
this.valeurLocativeAdm = valeurLocativeAdm;
this.montantLoyerAnnuel = montantLoyerAnnuel;
this.tfuMetreCarre = tfuMetreCarre;
@@ -132,8 +187,15 @@ public class DonneesImpositionPaylaodWeb {
this.nombreBat = nombreBat;
this.dateEnquete = dateEnquete;
this.serviceId = serviceId;
this.zoneRfu = zoneRfu;
this.tauxParcelleNonBati = tauxParcelleNonBati;
this.valeurAdministrativeParcelleNonBati = valeurAdministrativeParcelleNonBati;
this.zoneRfuId = zoneRfuId;
this.valeurAdminParcelleNb = valeurAdministrativeParcelleNonBati;
this.natureImpot = natureImpot;
this.serviceCode = serviceCode;
this.zoneRfuNom = zoneRfuNom;
this.valeurBatiment = valeurBatiment;
this.valeurParcelle = valeurParcelle;
this.valeurLocativeAdmMetreCarre = valeurLocativeAdmMetreCarre;
this.valeurAdminParcelleNbMetreCarre = valeurAdministrativeParcelleNonBatiAuMetreCarre;
this.montantTaxe = montantTaxe;
}
}

View File

@@ -6,6 +6,7 @@ import io.gmss.fiscad.deserializer.LocalDateDeserializer;
import io.gmss.fiscad.entities.decoupage.Commune;
import io.gmss.fiscad.entities.infocad.parametre.Structure;
import io.gmss.fiscad.entities.rfu.parametre.Exercice;
import io.gmss.fiscad.enums.NatureImpot;
import io.gmss.fiscad.enums.StatusAvis;
import jakarta.persistence.*;
import lombok.Data;
@@ -23,7 +24,10 @@ public class ImpositionsTfuPaylaodWeb {
private String datePieceAdmin;
@Enumerated(EnumType.STRING)
private StatusAvis statusAvis;
private Long nombreAvis;
private Integer nombreAvis;
private Integer nombreAvisFnb;
private Integer nombreAvisBatiment;
private Integer nombreAvisUniteLog;
@Column(columnDefinition = "TEXT")
private String motif;
private Long exerciceId;
@@ -33,8 +37,11 @@ public class ImpositionsTfuPaylaodWeb {
private String communeNom;
private Long structureId ;
private String structureNom ;
public ImpositionsTfuPaylaodWeb(Long id, LocalDate dateGeneration, LocalDate dateCloture, String referencePieceAdmin, String datePieceAdmin, StatusAvis statusAvis, Long nombreAvis, String motif, Long exerciceId, Integer exerciceAnnee, Long communeId, String communeCode, String communeNom, Long structureId, String structureNom) {
public ImpositionsTfuPaylaodWeb(Long id, LocalDate dateGeneration, LocalDate dateCloture, String referencePieceAdmin, String datePieceAdmin, StatusAvis statusAvis, Integer nombreAvis, String motif, Long exerciceId, Integer exerciceAnnee, Long communeId, String communeCode, String communeNom, Long structureId, String structureNom,
Integer nombreAvisFnb,
Integer nombreAvisBatiment,
Integer nombreAvisUniteLog
) {
this.id = id;
this.dateGeneration = dateGeneration;
this.dateCloture = dateCloture;
@@ -50,5 +57,8 @@ public class ImpositionsTfuPaylaodWeb {
this.communeNom = communeNom;
this.structureId = structureId;
this.structureNom = structureNom;
this.nombreAvisFnb = nombreAvisFnb;
this.nombreAvisBatiment = nombreAvisBatiment;
this.nombreAvisUniteLog = nombreAvisUniteLog;
}
}

View File

@@ -90,7 +90,7 @@ public class ParcelleGeomPaylaodWeb {
private String quartierCode ;
private String quartierNom ;
private int geomSrid;
private Integer geomSrid;
@JsonSerialize(using = GeometrySerializer.class)
@JsonDeserialize(contentUsing = GeometryDeserializer.class)
//@Column(name = "geometry",columnDefinition = "geometry(Polygon,32631)")
@@ -100,7 +100,7 @@ public class ParcelleGeomPaylaodWeb {
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) {
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, Integer geomSrid, Polygon geometry, String geometryString, Long parcelleId) {
this.id = id;
this.nup = nup;
this.nupProvisoire = nupProvisoire;

View File

@@ -78,6 +78,40 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
""",nativeQuery = true)
void majCentroidParcelle();
@Modifying
@Transactional
@Query(value = """
update parcelle_geom pg
set parcelle_id = p.id,statut_parcelle='NON_AJOUR'
from parcelle p
where upper(p.q)=upper(pg.q)
and upper(p.i)=upper(pg.ilot)
and upper(p.p)=upper(pg.p)
and parcelle_is is null;
""",nativeQuery = true)
void majParcelleId();
@Modifying
@Transactional
@Query(value = """
UPDATE parcelle_geom p
SET batie = true
WHERE EXISTS (
SELECT 1
FROM Batiment b
WHERE b.parcelle_id = p.parcelle_id
)
and p.parcelle_id is not null;
""",nativeQuery = true)
void majParcelleBatie();
@Query("""
SELECT new io.gmss.fiscad.paylaods.request.crudweb.ParcelleGeomPaylaodWeb(
pg.id,
@@ -94,9 +128,9 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
pg.batie,
pg.npi,
pg.ifu,
pg.nom,
pg.prenom,
pg.raisonSociale,
pers.nom,
pers.prenom,
pers.raisonSociale,
pg.nomEtPrenoms,
pg.telephone,
pg.adresse,
@@ -134,9 +168,18 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
pg.geomSrid,
pg.geometry,
pg.geometryString,
pg.parcelle.id
parc.id
)
FROM ParcelleGeom pg
LEFT JOIN pg.parcelle parc
LEFT JOIN Enquete e
ON e.parcelle = parc
AND e.dateEnquete = (
SELECT MAX(e2.dateEnquete)
FROM Enquete e2
WHERE e2.parcelle = parc
)
LEFT JOIN e.personne pers
LEFT JOIN pg.departement d
LEFT JOIN pg.commune c
LEFT JOIN pg.arrondissement a
@@ -162,9 +205,9 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
pg.batie,
pg.npi,
pg.ifu,
pg.nom,
pg.prenom,
pg.raisonSociale,
pers.nom,
pers.prenom,
pers.raisonSociale,
pg.nomEtPrenoms,
pg.telephone,
pg.adresse,
@@ -202,9 +245,18 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
pg.geomSrid,
pg.geometry,
pg.geometryString,
pg.parcelle.id
parc.id
)
FROM ParcelleGeom pg
LEFT JOIN pg.parcelle parc
LEFT JOIN Enquete e
ON e.parcelle = parc
AND e.dateEnquete = (
SELECT MAX(e2.dateEnquete)
FROM Enquete e2
WHERE e2.parcelle = parc
)
LEFT JOIN e.personne pers
LEFT JOIN pg.departement d
LEFT JOIN pg.commune c
LEFT JOIN pg.arrondissement a

View File

@@ -2,9 +2,13 @@ package io.gmss.fiscad.persistence.repositories.rfu.metier;
import io.gmss.fiscad.entities.infocad.parametre.Personne;
import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu;
import io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb;
import io.gmss.fiscad.paylaods.response.DonneesImpositionTfuResponse;
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.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -119,9 +123,411 @@ public interface DonneesImpositionTfuRepository extends JpaRepository<DonneesImp
""", nativeQuery = true)
List<DonneesImpositionTfuResponse> findAllDonneesImpositionTfu(Long communeId, int annee);
List<DonneesImpositionTfu> findAllByImpositionsTfu_Id(Long impositionId);
List<DonneesImpositionTfu> findAllByImpositionsTfu_IdAndCodeArrondissement(Long impositionId,String arrondissementCode);
@Query("""
SELECT new io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb(
d.id,
d.annee,
d.codeDepartement,
d.nomDepartement,
d.codeCommune,
d.nomCommune,
d.codeArrondissement,
d.nomArrondissement,
d.codeQuartierVillage,
d.nomQuartierVillage,
d.q,
d.ilot,
d.parcelle,
d.nup,
d.titreFoncier,
d.numBatiment,
d.numUniteLogement,
d.ifu,
d.npi,
d.telProp,
d.emailProp,
d.nomProp,
d.prenomProp,
d.raisonSociale,
d.adresseProp,
d.telSc,
d.emailSc,
d.nomSc,
d.prenomSc,
d.adresseSc,
d.longitude,
d.latitude,
d.superficieParc,
d.superficieAuSolBat,
d.superficieAuSolUlog,
d.batie,
d.exonere,
d.batimentExonere,
d.uniteLogementExonere,
d.valeurLocativeAdm,
d.montantLoyerAnnuel,
d.tfuMetreCarre,
d.tfuMinimum,
d.standingBat,
d.categorieBat,
d.nombrePiscine,
d.nombreUlog,
d.nombreBat,
d.dateEnquete,
s.id,
z.id,
d.valeurAdminParcelleNb,
d.natureImpot,
s.code,
z.nom,
d.valeurBatiment,
d.valeurParcelle,
d.valeurLocativeAdmMetreCarre,
d.valeurAdminParcelleNbMetreCarre,
d.montantTaxe
)
FROM DonneesImpositionTfu d
JOIN d.impositionsTfu itfu
LEFT join d.structure s
LEFT join d.zoneRfu z
WHERE itfu.id = :impositionTfuId
order by d.nomProp,d.nomProp asc
""")
List<DonneesImpositionPaylaodWeb> findAllByImpositionTfuId(
Long impositionTfuId
);
@Query("""
SELECT new io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb(
d.id,
d.annee,
d.codeDepartement,
d.nomDepartement,
d.codeCommune,
d.nomCommune,
d.codeArrondissement,
d.nomArrondissement,
d.codeQuartierVillage,
d.nomQuartierVillage,
d.q,
d.ilot,
d.parcelle,
d.nup,
d.titreFoncier,
d.numBatiment,
d.numUniteLogement,
d.ifu,
d.npi,
d.telProp,
d.emailProp,
d.nomProp,
d.prenomProp,
d.raisonSociale,
d.adresseProp,
d.telSc,
d.emailSc,
d.nomSc,
d.prenomSc,
d.adresseSc,
d.longitude,
d.latitude,
d.superficieParc,
d.superficieAuSolBat,
d.superficieAuSolUlog,
d.batie,
d.exonere,
d.batimentExonere,
d.uniteLogementExonere,
d.valeurLocativeAdm,
d.montantLoyerAnnuel,
d.tfuMetreCarre,
d.tfuMinimum,
d.standingBat,
d.categorieBat,
d.nombrePiscine,
d.nombreUlog,
d.nombreBat,
d.dateEnquete,
s.id,
z.id,
d.valeurAdminParcelleNb,
d.natureImpot,
s.code,
z.nom,
d.valeurBatiment,
d.valeurParcelle,
d.valeurLocativeAdmMetreCarre,
d.valeurAdminParcelleNbMetreCarre,
d.montantTaxe
)
FROM DonneesImpositionTfu d
JOIN d.impositionsTfu itfu
LEFT join d.structure s
LEFT join d.zoneRfu z
WHERE itfu.id = :impositionTfuId
order by d.nomProp,d.nomProp asc
""")
Page<DonneesImpositionPaylaodWeb> findAllByImpositionTfuIdPageable(
Long impositionTfuId,
Pageable pageable
);
@Query("""
SELECT new io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb(
d.id,
d.annee,
d.codeDepartement,
d.nomDepartement,
d.codeCommune,
d.nomCommune,
d.codeArrondissement,
d.nomArrondissement,
d.codeQuartierVillage,
d.nomQuartierVillage,
d.q,
d.ilot,
d.parcelle,
d.nup,
d.titreFoncier,
d.numBatiment,
d.numUniteLogement,
d.ifu,
d.npi,
d.telProp,
d.emailProp,
d.nomProp,
d.prenomProp,
d.raisonSociale,
d.adresseProp,
d.telSc,
d.emailSc,
d.nomSc,
d.prenomSc,
d.adresseSc,
d.longitude,
d.latitude,
d.superficieParc,
d.superficieAuSolBat,
d.superficieAuSolUlog,
d.batie,
d.exonere,
d.batimentExonere,
d.uniteLogementExonere,
d.valeurLocativeAdm,
d.montantLoyerAnnuel,
d.tfuMetreCarre,
d.tfuMinimum,
d.standingBat,
d.categorieBat,
d.nombrePiscine,
d.nombreUlog,
d.nombreBat,
d.dateEnquete,
s.id,
z.id,
d.valeurAdminParcelleNb,
d.natureImpot,
s.code,
z.nom,
d.valeurBatiment,
d.valeurParcelle,
d.valeurLocativeAdmMetreCarre,
d.valeurAdminParcelleNbMetreCarre,
d.montantTaxe
)
FROM DonneesImpositionTfu d
JOIN d.impositionsTfu itfu
LEFT join d.structure s
LEFT join d.zoneRfu z
WHERE itfu.id = :impositionTfuId
and d.batie is true
and d.numUniteLogement is null
order by d.nomProp,d.nomProp asc
""")
Page<DonneesImpositionPaylaodWeb> findAllByImpositionTfuIdBatieBatimentPageable(
Long impositionTfuId,
Pageable pageable
);
@Query("""
SELECT new io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb(
d.id,
d.annee,
d.codeDepartement,
d.nomDepartement,
d.codeCommune,
d.nomCommune,
d.codeArrondissement,
d.nomArrondissement,
d.codeQuartierVillage,
d.nomQuartierVillage,
d.q,
d.ilot,
d.parcelle,
d.nup,
d.titreFoncier,
d.numBatiment,
d.numUniteLogement,
d.ifu,
d.npi,
d.telProp,
d.emailProp,
d.nomProp,
d.prenomProp,
d.raisonSociale,
d.adresseProp,
d.telSc,
d.emailSc,
d.nomSc,
d.prenomSc,
d.adresseSc,
d.longitude,
d.latitude,
d.superficieParc,
d.superficieAuSolBat,
d.superficieAuSolUlog,
d.batie,
d.exonere,
d.batimentExonere,
d.uniteLogementExonere,
d.valeurLocativeAdm,
d.montantLoyerAnnuel,
d.tfuMetreCarre,
d.tfuMinimum,
d.standingBat,
d.categorieBat,
d.nombrePiscine,
d.nombreUlog,
d.nombreBat,
d.dateEnquete,
s.id,
z.id,
d.valeurAdminParcelleNb,
d.natureImpot,
s.code,
z.nom,
d.valeurBatiment,
d.valeurParcelle,
d.valeurLocativeAdmMetreCarre,
d.valeurAdminParcelleNbMetreCarre,
d.montantTaxe
)
FROM DonneesImpositionTfu d
JOIN d.impositionsTfu itfu
LEFT join d.structure s
LEFT join d.zoneRfu z
WHERE itfu.id = :impositionTfuId
and d.batie is true
and d.numUniteLogement is not null
order by d.nomProp,d.nomProp asc
""")
Page<DonneesImpositionPaylaodWeb> findAllByImpositionTfuIdBatieUniteLogPageable(
Long impositionTfuId,
Pageable pageable
);
@Query("""
SELECT new io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb(
d.id,
d.annee,
d.codeDepartement,
d.nomDepartement,
d.codeCommune,
d.nomCommune,
d.codeArrondissement,
d.nomArrondissement,
d.codeQuartierVillage,
d.nomQuartierVillage,
d.q,
d.ilot,
d.parcelle,
d.nup,
d.titreFoncier,
d.numBatiment,
d.numUniteLogement,
d.ifu,
d.npi,
d.telProp,
d.emailProp,
d.nomProp,
d.prenomProp,
d.raisonSociale,
d.adresseProp,
d.telSc,
d.emailSc,
d.nomSc,
d.prenomSc,
d.adresseSc,
d.longitude,
d.latitude,
d.superficieParc,
d.superficieAuSolBat,
d.superficieAuSolUlog,
d.batie,
d.exonere,
d.batimentExonere,
d.uniteLogementExonere,
d.valeurLocativeAdm,
d.montantLoyerAnnuel,
d.tfuMetreCarre,
d.tfuMinimum,
d.standingBat,
d.categorieBat,
d.nombrePiscine,
d.nombreUlog,
d.nombreBat,
d.dateEnquete,
s.id,
z.id,
d.valeurAdminParcelleNb,
d.natureImpot,
s.code,
z.nom,
d.valeurBatiment,
d.valeurParcelle,
d.valeurLocativeAdmMetreCarre,
d.valeurAdminParcelleNbMetreCarre,
d.montantTaxe
)
FROM DonneesImpositionTfu d
JOIN d.impositionsTfu itfu
LEFT join d.structure s
LEFT join d.zoneRfu z
WHERE itfu.id = :impositionTfuId
and d.batie is false
order by d.nomProp,d.nomProp asc
""")
Page<DonneesImpositionPaylaodWeb> findAllByImpositionTfuIdNonBatiePageable(
Long impositionTfuId,
Pageable pageable
);
@Query(value = "SELECT generer_donnees_imposition_tfu_batie(:structureId, :impositionId)", nativeQuery = true)
Integer genererDonneesTfuBatie(
@Param("structureId") Long structureId,
@Param("impositionId") Long impositionId
);
@Query(value = "SELECT generer_donnees_imposition_tfu_batie_unite_logement(:structureId, :impositionId)", nativeQuery = true)
Integer genererDonneesTfuBatieUniteLogement(
@Param("structureId") Long structureId,
@Param("impositionId") Long impositionId
);
@Query(value = "SELECT generer_donnees_imposition_tfu_non_batie(:structureId, :impositionId)", nativeQuery = true)
Integer genererDonneesTfuNonBatie(
@Param("structureId") Long structureId,
@Param("impositionId") Long impositionId
);
}

View File

@@ -1,6 +1,7 @@
package io.gmss.fiscad.persistence.repositories.rfu.metier;
import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
import io.gmss.fiscad.enums.StatusAvis;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
@@ -15,6 +16,9 @@ import java.util.Optional;
public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu, Long> {
Optional<ImpositionsTfu> findAllByCommune_IdAndExercice_Id(Long communeId,Long ExerciceId);
Optional<ImpositionsTfu> findDistinctByStructure_IdAndExercice_IdAndStatusAvisIn(Long structureId, Long exerciceId, List<StatusAvis> statusAvis);
@Query(value = "select i.* " +
" from impositions_tfu i " +
" inner join commune c on c.id=i.commune_id" +
@@ -51,7 +55,10 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code,
c.nom,
s.id,
s.nom
s.nom,
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
)
FROM ImpositionsTfu i
LEFT JOIN i.exercice e
@@ -76,7 +83,10 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code,
c.nom,
s.id,
s.nom
s.nom,
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
)
FROM ImpositionsTfu i
LEFT JOIN i.exercice e
@@ -103,7 +113,10 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code,
c.nom,
s.id,
s.nom
s.nom,
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
)
FROM ImpositionsTfu i
LEFT JOIN i.exercice e
@@ -137,7 +150,10 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code,
c.nom,
s.id,
s.nom
s.nom,
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
)
FROM ImpositionsTfu i
LEFT JOIN i.exercice e
@@ -165,7 +181,10 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code,
c.nom,
s.id,
s.nom
s.nom,
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
)
FROM ImpositionsTfu i
LEFT JOIN i.exercice e

View File

@@ -26,7 +26,9 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom,
z.id,
z.code,
z.nom
z.nom,
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
)
FROM BaremRfuNonBati b
LEFT JOIN b.commune c
@@ -50,7 +52,9 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom,
z.id,
z.code,
z.nom
z.nom,
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
)
FROM BaremRfuNonBati b
LEFT JOIN b.commune c
@@ -71,7 +75,9 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom,
z.id,
z.code,
z.nom
z.nom,
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
)
FROM BaremRfuNonBati b
LEFT JOIN b.commune c
@@ -95,7 +101,9 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom,
z.id,
z.code,
z.nom
z.nom,
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
)
FROM BaremRfuNonBati b
LEFT JOIN b.commune c
@@ -120,7 +128,9 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom,
z.id,
z.code,
z.nom
z.nom,
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
)
FROM BaremRfuNonBati b
LEFT JOIN b.commune c

View File

@@ -27,12 +27,16 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom,
q.id,
q.code,
q.nom
q.nom,
c.id,
c.code,
c.nom
)
FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q
LEFT JOIN a.commune c
""")
Page<BaremRfuBatiPayloadWeb> findAllPayloadPaged(Pageable pageable);
@@ -50,12 +54,16 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom,
q.id,
q.code,
q.nom
q.nom,
c.id,
c.code,
c.nom
)
FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q
LEFT JOIN a.commune c
""")
List<BaremRfuBatiPayloadWeb> findAllPayload();
@@ -73,12 +81,16 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom,
q.id,
q.code,
q.nom
q.nom,
c.id,
c.code,
c.nom
)
FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE a.id = :arrondissementId
""")
List<BaremRfuBatiPayloadWeb> findByArrondissementId(
@@ -99,12 +111,16 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom,
q.id,
q.code,
q.nom
q.nom,
c.id,
c.code,
c.nom
)
FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE b.id = :baremRfuBatiId
""")
Optional<BaremRfuBatiPayloadWeb> findByBaremRfuBatieId(
@@ -125,12 +141,16 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom,
q.id,
q.code,
q.nom
q.nom,
c.id,
c.code,
c.nom
)
FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE a.id = :arrondissementId
""")
Page<BaremRfuBatiPayloadWeb> findByArrondissementIdPaged(
@@ -152,12 +172,16 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom,
q.id,
q.code,
q.nom
q.nom,
c.id,
c.code,
c.nom
)
FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE a.id = :arrondissementId
and cb.id = :categorieBatimentId
""")
@@ -180,12 +204,16 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom,
q.id,
q.code,
q.nom
q.nom,
c.id,
c.code,
c.nom
)
FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE cb.id = :categorieBatimentId
""")
List<BaremRfuBatiPayloadWeb> findByCategorieBatiment(
@@ -207,12 +235,16 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom,
q.id,
q.code,
q.nom
q.nom,
c.id,
c.code,
c.nom
)
FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE cb.id = :categorieBatimentId
and q.id = :quartierId
""")

View File

@@ -954,6 +954,9 @@ public class EntityFromPayLoadService {
}
baremRfuNonBati.setTaux(baremRfuNonBatiPayloadWeb.getTaux());
baremRfuNonBati.setAuMetreCarre(baremRfuNonBatiPayloadWeb.getAuMetreCarre());
baremRfuNonBati.setValeurAdministrative(baremRfuNonBatiPayloadWeb.getValeurAdministrative());
baremRfuNonBati.setValeurAdministrativeMetreCarre(baremRfuNonBatiPayloadWeb.getValeurAdministrativeMetreCarre());
return baremRfuNonBati;
}

View File

@@ -1,6 +1,7 @@
spring.profiles.active=${SPRING_PROFILES_ACTIVE}
#spring.profiles.active=abomey
#spring.profiles.active=test
#test
spring.jpa.properties.hibernate.id.new_generator_mappings=false
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.jpa.open-in-view=false