develop #155

Merged
judaur2005 merged 2 commits from develop into main 2026-03-11 00:11:18 +00:00
5 changed files with 79 additions and 26 deletions

View File

@@ -187,7 +187,59 @@ public class DonneesImpositionTfuController {
} }
@Operation(summary = "Générer les données fiscales TFU des parcelle baties") @Operation(summary = "Générer les données fiscales TFU des parcelle baties")
@PostMapping("/generer-batie") @PostMapping("/generer-batie")
public ResponseEntity<?> genererDonneesFiscale(@CurrentUser UserPrincipal userPrincipal, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) { 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 { try {
Optional<ImpositionsTfu> optionalImpositionsTfu =impositionsTfuRepository.findById(impositionsTfuPaylaodWeb.getId()); Optional<ImpositionsTfu> optionalImpositionsTfu =impositionsTfuRepository.findById(impositionsTfuPaylaodWeb.getId());
@@ -211,10 +263,10 @@ public class DonneesImpositionTfuController {
HttpStatus.OK HttpStatus.OK
); );
} }
impositionsTfuPaylaodWeb=donneesImpositionTfuService.genererDonneesFiscalesParcelleBatie(impositionsTfuPaylaodWeb,userPrincipal.getUser().getId()); impositionsTfuPaylaodWeb=donneesImpositionTfuService.genererDonneesFiscalesParcelleNonBatie(impositionsTfuPaylaodWeb,userPrincipal.getUser().getId());
return new ResponseEntity<>( 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 HttpStatus.OK
); );

View File

@@ -101,6 +101,7 @@ public class DonneesImpositionTfu extends BaseEntity implements Serializable {
@ColumnDefault("0") @ColumnDefault("0")
private Long valeurAdminParcelleNb; private Long valeurAdminParcelleNb;
private Float tauxTfu; private Float tauxTfu;
private Float montantTaxe;
private Long valeurAdminParcelleNbMetreCarre; private Long valeurAdminParcelleNbMetreCarre;
@JsonIgnore @JsonIgnore
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)

View File

@@ -96,12 +96,10 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
@Override @Override
@Transactional @Transactional
public ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleNonBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb, Long userId) { public ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleNonBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb, Long userId) {
Integer nb= donneesImpositionTfuRepository.genererDonneesTfuBatie(impositionsTfuPaylaodWeb.getId(),userId); Integer nb= donneesImpositionTfuRepository.genererDonneesTfuNonBatie(impositionsTfuPaylaodWeb.getId(),userId);
ImpositionsTfu impositionsTfu = entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb); ImpositionsTfu impositionsTfu = entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
impositionsTfu.setStatusAvis(StatusAvis.TFU_FNB_GENERE); impositionsTfu.setStatusAvis(StatusAvis.TFU_FNB_GENERE);
impositionsTfu.setNombreAvisFnb(nb); impositionsTfu.setNombreAvisFnb(nb);
@@ -115,7 +113,6 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
@Transactional @Transactional
public ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb, Long userId) { public ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb, Long userId) {
// List<DonneesImpositionTfuResponse> donneesImpositionTfuResponses= donneesImpositionTfuRepository.findAllDonneesImpositionTfu(impositionsTfu.getCommune().getId(),impositionsTfu.getExercice().getAnnee());
Integer nbb= donneesImpositionTfuRepository.genererDonneesTfuBatie(impositionsTfuPaylaodWeb.getId(),userId); Integer nbb= donneesImpositionTfuRepository.genererDonneesTfuBatie(impositionsTfuPaylaodWeb.getId(),userId);
Integer nbulo= donneesImpositionTfuRepository.genererDonneesTfuBatieUniteLogement(impositionsTfuPaylaodWeb.getId(),userId); Integer nbulo= donneesImpositionTfuRepository.genererDonneesTfuBatieUniteLogement(impositionsTfuPaylaodWeb.getId(),userId);
@@ -133,13 +130,6 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null); return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
} }
@Override @Override
public List<DonneesImpositionTfu> getDonneesFiscalesByImposition(Long impositionsId) { public List<DonneesImpositionTfu> getDonneesFiscalesByImposition(Long impositionsId) {
return donneesImpositionTfuRepository.findAllByImpositionsTfu_Id(impositionsId); return donneesImpositionTfuRepository.findAllByImpositionsTfu_Id(impositionsId);

View File

@@ -70,11 +70,12 @@ public class DonneesImpositionPaylaodWeb {
private Long zoneRfuId; private Long zoneRfuId;
private String zoneRfuNom; private String zoneRfuNom;
private Float tauxTfu; private Float tauxTfu;
private Long valeurAdministrativeParcelleNonBati; private Long valeurAdminParcelleNb;
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private NatureImpot natureImpot; private NatureImpot natureImpot;
private Long valeurLocativeAdmMetreCarre; private Long valeurLocativeAdmMetreCarre;
private Long valeurAdministrativeParcelleNonBatiAuMetreCarre; 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 batie,
@@ -99,7 +100,8 @@ public class DonneesImpositionPaylaodWeb {
Long valeurBatiment, Long valeurBatiment,
Long valeurParcelle, Long valeurParcelle,
Long valeurLocativeAdmMetreCarre, Long valeurLocativeAdmMetreCarre,
Long valeurAdministrativeParcelleNonBatiAuMetreCarre Long valeurAdministrativeParcelleNonBatiAuMetreCarre,
Float montantTaxe
) { ) {
this.id = id; this.id = id;
this.annee = annee; this.annee = annee;
@@ -153,14 +155,14 @@ public class DonneesImpositionPaylaodWeb {
this.serviceId = serviceId; this.serviceId = serviceId;
this.zoneRfuId = zoneRfuId; this.zoneRfuId = zoneRfuId;
this.tauxTfu = tauxParcelleNonBati; this.tauxTfu = tauxParcelleNonBati;
this.valeurAdministrativeParcelleNonBati = valeurAdministrativeParcelleNonBati; this.valeurAdminParcelleNb = valeurAdministrativeParcelleNonBati;
this.natureImpot = natureImpot; this.natureImpot = natureImpot;
this.serviceCode = serviceCode; this.serviceCode = serviceCode;
this.zoneRfuNom = zoneRfuNom; this.zoneRfuNom = zoneRfuNom;
this.valeurBatiment = valeurBatiment; this.valeurBatiment = valeurBatiment;
this.valeurParcelle = valeurParcelle; this.valeurParcelle = valeurParcelle;
this.valeurLocativeAdmMetreCarre = valeurLocativeAdmMetreCarre; this.valeurLocativeAdmMetreCarre = valeurLocativeAdmMetreCarre;
this.valeurAdministrativeParcelleNonBatiAuMetreCarre = valeurAdministrativeParcelleNonBatiAuMetreCarre; this.valeurAdminParcelleNbMetreCarre = valeurAdministrativeParcelleNonBatiAuMetreCarre;
this.montantTaxe = montantTaxe;
} }
} }

View File

@@ -136,4 +136,12 @@ public interface DonneesImpositionTfuRepository extends JpaRepository<DonneesImp
@Param("impositionId") Long impositionId @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
);
} }