develop #157
@@ -163,6 +163,31 @@ 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("/id/{id}")
|
||||
public ResponseEntity<?> getDonneesImpositionTfuById(@PathVariable Long id) {
|
||||
try {
|
||||
|
||||
@@ -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<>(
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -8,6 +8,8 @@ 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;
|
||||
@@ -95,9 +97,19 @@ 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 Long valeurAdminParcelleNb;
|
||||
private Float tauxTfu;
|
||||
|
||||
@@ -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;
|
||||
@@ -144,4 +145,9 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdPageable(Long impositionsTfuId, Pageable pageable) {
|
||||
return donneesImpositionTfuRepository.findAllByImpositionTfuIdPageable(impositionsTfuId,pageable);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
@@ -30,4 +31,5 @@ public interface DonneesImpositionTfuService {
|
||||
ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleNonBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb,Long userId);
|
||||
List<DonneesImpositionTfu> getDonneesFiscalesByImposition(Long impositionsId);
|
||||
List<DonneesImpositionTfu> getDonneesFiscalesByImpositionArrondissement(Long impositionsId,Long arrondissementId);
|
||||
Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdPageable(Long impositionsTfuId, Pageable pageable);
|
||||
}
|
||||
|
||||
@@ -21,9 +21,17 @@ public class BaremRfuNonBatiPayloadWeb {
|
||||
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,
|
||||
Long valeurAdministrativeMetreCarre,
|
||||
Boolean auMetreCarre) {
|
||||
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;
|
||||
|
||||
@@ -77,7 +77,40 @@ public class DonneesImpositionPaylaodWeb {
|
||||
private Long valeurAdminParcelleNbMetreCarre;
|
||||
private Float montantTaxe;
|
||||
|
||||
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,
|
||||
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,
|
||||
@@ -93,7 +126,8 @@ public class DonneesImpositionPaylaodWeb {
|
||||
Long nombreBat,
|
||||
LocalDate dateEnquete,
|
||||
Long serviceId,
|
||||
Long zoneRfuId, Float tauxParcelleNonBati, Long valeurAdministrativeParcelleNonBati,
|
||||
Long zoneRfuId,
|
||||
Long valeurAdministrativeParcelleNonBati,
|
||||
NatureImpot natureImpot,
|
||||
String serviceCode,
|
||||
String zoneRfuNom,
|
||||
@@ -154,7 +188,6 @@ public class DonneesImpositionPaylaodWeb {
|
||||
this.dateEnquete = dateEnquete;
|
||||
this.serviceId = serviceId;
|
||||
this.zoneRfuId = zoneRfuId;
|
||||
this.tauxTfu = tauxParcelleNonBati;
|
||||
this.valeurAdminParcelleNb = valeurAdministrativeParcelleNonBati;
|
||||
this.natureImpot = natureImpot;
|
||||
this.serviceCode = serviceCode;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -2,7 +2,10 @@ 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;
|
||||
@@ -123,6 +126,81 @@ public interface DonneesImpositionTfuRepository extends JpaRepository<DonneesImp
|
||||
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
|
||||
""")
|
||||
Page<DonneesImpositionPaylaodWeb> findAllByImpositionTfuIdPageable(
|
||||
Long impositionTfuId,
|
||||
Pageable pageable
|
||||
);
|
||||
|
||||
@Query(value = "SELECT generer_donnees_imposition_tfu_batie(:structureId, :impositionId)", nativeQuery = true)
|
||||
Integer genererDonneesTfuBatie(
|
||||
@Param("structureId") Long structureId,
|
||||
@@ -144,4 +222,5 @@ public interface DonneesImpositionTfuRepository extends JpaRepository<DonneesImp
|
||||
);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user