Gestion des barem
This commit is contained in:
@@ -483,37 +483,7 @@ public class EnqueteController {
|
||||
|
||||
|
||||
|
||||
@PutMapping("/cloturer-enquete")
|
||||
public ResponseEntity<?> cloturerEnquete(@CurrentUser UserPrincipal userPrincipal) {
|
||||
try {
|
||||
|
||||
if(userPrincipal==null){
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, null, "Accès non autorisé"),
|
||||
HttpStatus.NOT_ACCEPTABLE
|
||||
);
|
||||
}
|
||||
User user= userPrincipal.getUser();
|
||||
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, enqueteService.cloturerEnqueteParcelleBatimentUniteLogementByUserId(user.getId()), "enquete cloturé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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import io.gmss.fiscad.enums.StatusAvis;
|
||||
import io.gmss.fiscad.exceptions.*;
|
||||
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.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||
@@ -184,29 +185,33 @@ public class DonneesImpositionTfuController {
|
||||
}
|
||||
@Operation(summary = "Générer les données fiscales TFU")
|
||||
@PostMapping("/generer")
|
||||
public ResponseEntity<?> genererDonneesFiscale(@RequestBody ImpositionsTfu impositionsTfu) {
|
||||
public ResponseEntity<?> genererDonneesFiscale(@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
|
||||
try {
|
||||
Optional<ImpositionsTfu> optionalImpositionsTfu =impositionsTfuRepository.findById(impositionsTfu.getId());
|
||||
Optional<ImpositionsTfu> optionalImpositionsTfu =impositionsTfuRepository.findById(impositionsTfuPaylaodWeb.getId());
|
||||
|
||||
if(optionalImpositionsTfu.isEmpty()){
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(false, null, "L'imposition tfu n'est pas trouvée."),
|
||||
new ApiResponse<>(false, null, "L'instance d'imposition n'est pas trouvée."),
|
||||
HttpStatus.OK
|
||||
);
|
||||
}
|
||||
|
||||
if(!optionalImpositionsTfu.get().getStatusAvis().equals(StatusAvis.CREE)){
|
||||
if(!optionalImpositionsTfu.get().getStatusAvis().equals(StatusAvis.GENERATION_AUTORISE)){
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(false, null, "le statut actuel ne permet pas cette opération."),
|
||||
new ApiResponse<>(false, null, "l'état actuel : "+optionalImpositionsTfu.get().getStatusAvis()+" ne permet pas cette opération."),
|
||||
HttpStatus.OK
|
||||
);
|
||||
}
|
||||
|
||||
optionalImpositionsTfu.get().setStatusAvis(StatusAvis.GENERE);
|
||||
|
||||
impositionsTfuPaylaodWeb=donneesImpositionTfuService.genererDonneesFiscales(impositionsTfuPaylaodWeb);
|
||||
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, donneesImpositionTfuService.genererDonneesFiscales(optionalImpositionsTfu.get()), "DonneesImpositionTfu trouvée avec succès."),
|
||||
new ApiResponse<>(true,impositionsTfuPaylaodWeb, "Données d'imposition 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);
|
||||
|
||||
@@ -3,15 +3,20 @@ package io.gmss.fiscad.controllers.rfu.metier;
|
||||
|
||||
import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
|
||||
import io.gmss.fiscad.entities.user.User;
|
||||
import io.gmss.fiscad.enums.StatusAvis;
|
||||
import io.gmss.fiscad.exceptions.*;
|
||||
import io.gmss.fiscad.interfaces.infocad.metier.EnqueteService;
|
||||
import io.gmss.fiscad.interfaces.rfu.metier.ImpositionsTfuService;
|
||||
import io.gmss.fiscad.paylaods.ApiResponse;
|
||||
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
|
||||
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;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.ws.rs.NotAcceptableException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
@@ -25,6 +30,7 @@ import org.springframework.web.client.HttpClientErrorException;
|
||||
|
||||
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
@RequestMapping(value = "api/impositions-tfu", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@SecurityRequirement(name = "bearer")
|
||||
@Tag(name = "Impositions TFU")
|
||||
@@ -32,15 +38,30 @@ import org.springframework.web.client.HttpClientErrorException;
|
||||
public class ImpositionsTfuController {
|
||||
|
||||
private final ImpositionsTfuService impositionsTfuService;
|
||||
private final EnqueteService enqueteService;
|
||||
private static final Logger logger = LoggerFactory.getLogger(ImpositionsTfuController.class);
|
||||
|
||||
public ImpositionsTfuController(ImpositionsTfuService impositionsTfuService) {
|
||||
this.impositionsTfuService = impositionsTfuService;
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/create")
|
||||
public ResponseEntity<?> createImpositionsTfu(@RequestBody @Valid @Validated ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
|
||||
public ResponseEntity<?> createImpositionsTfu(@CurrentUser UserPrincipal currentUser,@RequestBody @Valid @Validated ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
|
||||
try {
|
||||
if(currentUser==null){
|
||||
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, null, "Vous n'etes pas autorisé à accéder à cette ressource."),
|
||||
HttpStatus.OK
|
||||
);
|
||||
}
|
||||
User user=currentUser.getUser();
|
||||
|
||||
if(user.getStructure().getId()!=impositionsTfuPaylaodWeb.getStructureId()){
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, null, "Vous n'etes pas autorisé à accéder à cette ressource."),
|
||||
HttpStatus.OK
|
||||
);
|
||||
}
|
||||
|
||||
impositionsTfuPaylaodWeb = impositionsTfuService.createImpositionsTfu(impositionsTfuPaylaodWeb);
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, impositionsTfuPaylaodWeb, "Unite de logement créé avec succès."),
|
||||
@@ -62,6 +83,46 @@ public class ImpositionsTfuController {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@PutMapping("/cloturer-enquete")
|
||||
public ResponseEntity<?> cloturer(@CurrentUser UserPrincipal userPrincipal, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb ) {
|
||||
try {
|
||||
|
||||
if(userPrincipal==null){
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, null, "Accès non autorisé"),
|
||||
HttpStatus.NOT_ACCEPTABLE
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
User user= userPrincipal.getUser();
|
||||
if(user.getStructure().getId()!=impositionsTfuPaylaodWeb.getStructureId()){
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true,null, "Vous n'êtes pas autorisé à cloturer les enquetes du : "+user.getStructure().getNom()),
|
||||
HttpStatus.OK
|
||||
);
|
||||
}
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, impositionsTfuService.cloturerImpositionsTfu(impositionsTfuPaylaodWeb), "enquete cloturé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);
|
||||
}
|
||||
}
|
||||
|
||||
// @PutMapping("/update/{id}")
|
||||
// public ResponseEntity<?> updateImpositionsTfu(@PathVariable Long id, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
|
||||
// try {
|
||||
@@ -85,12 +146,16 @@ public class ImpositionsTfuController {
|
||||
// }
|
||||
// }
|
||||
|
||||
@Operation(
|
||||
summary = "Autoriser la génération des avis d'un centre",
|
||||
description = "Permet d'autoriser la génération des avis d'un centre pour un exervice données"
|
||||
)
|
||||
|
||||
@PutMapping("/valider/{id}")
|
||||
public ResponseEntity<?> validerImpositionsTfu(@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
|
||||
@PutMapping("/autoriser-generation-avis")
|
||||
public ResponseEntity<?> autoriserImpositionsTfu(@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
|
||||
try {
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, impositionsTfuService.validerImpositionsTfu(impositionsTfuPaylaodWeb), "Unite de logement mise à jour avec succès."),
|
||||
new ApiResponse<>(true, impositionsTfuService.autoriserGenerationImpositionsTfu(impositionsTfuPaylaodWeb), "Unite de logement mise à jour avec succès."),
|
||||
HttpStatus.OK
|
||||
);
|
||||
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
||||
@@ -109,11 +174,11 @@ public class ImpositionsTfuController {
|
||||
}
|
||||
}
|
||||
|
||||
@PutMapping("/annuler/{id}")
|
||||
public ResponseEntity<?> annulerImpositionsTfu(@PathVariable Long id, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
|
||||
@PutMapping("/rejeter")
|
||||
public ResponseEntity<?> annulerImpositionsTfu(@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
|
||||
try {
|
||||
return new ResponseEntity<>(
|
||||
new ApiResponse<>(true, impositionsTfuService.annulerImpositionsTfu(impositionsTfuPaylaodWeb), "Unite de logement mise à jour avec succès."),
|
||||
new ApiResponse<>(true, impositionsTfuService.rejeterImpositionsTfu(impositionsTfuPaylaodWeb), "Unite de logement mise à jour avec succès."),
|
||||
HttpStatus.OK
|
||||
);
|
||||
} catch (HttpClientErrorException.MethodNotAllowed e) {
|
||||
|
||||
@@ -97,5 +97,5 @@ public class DonneesImpositionTfu extends BaseEntity implements Serializable {
|
||||
@JsonIgnore
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "impositions_tfu_id", nullable = false)
|
||||
private ImpositionsTfu impositionsTfu;
|
||||
private ImpositionsTfu impositionsTfu ;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package io.gmss.fiscad.enums;
|
||||
|
||||
public enum StatusAvis {
|
||||
CREE, //Equivaut à la cloture des enquêtes et des mise à jour + Creation d'une imposition
|
||||
GENERE,
|
||||
ANNULE,
|
||||
VALIDE,
|
||||
EN_COURS,
|
||||
CLOTURE,
|
||||
GENERATION_AUTORISE,
|
||||
REJETE,
|
||||
GENERE
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package io.gmss.fiscad.enums;
|
||||
|
||||
public enum StatutEnquete {
|
||||
EN_COURS,
|
||||
DECLARATION,
|
||||
// DECLARATION,
|
||||
FINALISE,
|
||||
REJETE,
|
||||
VALIDE,
|
||||
|
||||
@@ -349,7 +349,7 @@ public class EnqueteServiceImpl implements EnqueteService {
|
||||
Enquete enquete = optionalEnquete.get();
|
||||
enquete.setDateValidation(LocalDate.now());
|
||||
enquete.setStatutEnquete(StatutEnquete.VALIDE);
|
||||
enquete.setSynchronise(false);
|
||||
enquete.setSynchronise(true);
|
||||
return enqueteRepository.save(enquete);
|
||||
}
|
||||
|
||||
@@ -544,22 +544,22 @@ public class EnqueteServiceImpl implements EnqueteService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int cloturerEnqueteParcelleBatimentUniteLogementByUserId(Long userId) {
|
||||
public int cloturerEnqueteParcelleBatimentUniteLogementByUserIdAndExerciceId(Long userId,Long exerciceId) {
|
||||
Optional<User> optionalUser= userRepository.findById(userId);
|
||||
int nbreEnquete=0;
|
||||
if(optionalUser.isPresent() && optionalUser.get().getStructure()!=null){
|
||||
Long structureId=optionalUser.get().getStructure().getId();
|
||||
nbreEnquete=cloturerEnqueteParcelleBatimentUniteLogementByStructureId(structureId);
|
||||
nbreEnquete=cloturerEnqueteParcelleBatimentUniteLogementByStructureIdAndExerciceId(structureId,exerciceId);
|
||||
}
|
||||
return nbreEnquete;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int cloturerEnqueteParcelleBatimentUniteLogementByStructureId(Long structureId) {
|
||||
Integer nombreParcelleImpacte=enqueteRepository.clotureEnqueteParcelle(structureId);
|
||||
Integer nombreBatiment=enqueteBatimentRepository.clotureEnqueteBatiment(structureId);
|
||||
Integer nombreUniteLogement=enqueteUniteLogementRepository.clotureEnqueteUniteLogement(structureId);
|
||||
public int cloturerEnqueteParcelleBatimentUniteLogementByStructureIdAndExerciceId(Long structureId,Long exerciceId) {
|
||||
Integer nombreParcelleImpacte=enqueteRepository.clotureEnqueteParcelle(structureId,exerciceId);
|
||||
Integer nombreBatiment=enqueteBatimentRepository.clotureEnqueteBatiment(structureId,exerciceId);
|
||||
Integer nombreUniteLogement=enqueteUniteLogementRepository.clotureEnqueteUniteLogement(structureId,exerciceId);
|
||||
return nombreParcelleImpacte;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,9 +4,11 @@ import io.gmss.fiscad.entities.decoupage.Arrondissement;
|
||||
import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu;
|
||||
import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
|
||||
import io.gmss.fiscad.entities.rfu.parametre.BaremRfuNonBati;
|
||||
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.ImpositionsTfuPaylaodWeb;
|
||||
import io.gmss.fiscad.paylaods.response.DonneesImpositionTfuResponse;
|
||||
import io.gmss.fiscad.persistence.repositories.decoupage.ArrondissementRepository;
|
||||
import io.gmss.fiscad.persistence.repositories.infocad.metier.EnqueteRepository;
|
||||
@@ -15,6 +17,7 @@ import io.gmss.fiscad.persistence.repositories.rfu.metier.DonneesImpositionTfuRe
|
||||
import io.gmss.fiscad.persistence.repositories.rfu.metier.ImpositionsTfuRepository;
|
||||
import io.gmss.fiscad.persistence.repositories.rfu.parametre.BaremRfuNonBatiRepository;
|
||||
import io.gmss.fiscad.persistence.repositories.rfu.parametre.ExerciceRepository;
|
||||
import io.gmss.fiscad.service.EntityFromPayLoadService;
|
||||
import jakarta.transaction.Transactional;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.dao.DataIntegrityViolationException;
|
||||
@@ -36,6 +39,7 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
|
||||
private final BaremRfuNonBatiRepository baremRfuNonBatiRepository;
|
||||
private final ExerciceRepository exerciceRepository;
|
||||
private final ArrondissementRepository arrondissementRepository;
|
||||
private final EntityFromPayLoadService entityFromPayLoadService;
|
||||
|
||||
|
||||
|
||||
@@ -91,86 +95,95 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Long genererDonneesFiscales(ImpositionsTfu impositionsTfu) {
|
||||
List<DonneesImpositionTfuResponse> donneesImpositionTfuResponses= donneesImpositionTfuRepository.findAllDonneesImpositionTfu(impositionsTfu.getCommune().getId(),impositionsTfu.getExercice().getAnnee());
|
||||
public ImpositionsTfuPaylaodWeb genererDonneesFiscales(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
|
||||
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 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);
|
||||
impositionsTfuRepository.save(impositionsTfu);
|
||||
return n;
|
||||
|
||||
return impositionsTfuPaylaodWeb;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,11 +5,14 @@ import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
|
||||
import io.gmss.fiscad.enums.StatusAvis;
|
||||
import io.gmss.fiscad.exceptions.BadRequestException;
|
||||
import io.gmss.fiscad.exceptions.NotFoundException;
|
||||
import io.gmss.fiscad.interfaces.infocad.metier.EnqueteService;
|
||||
import io.gmss.fiscad.interfaces.infocad.parametre.StructureService;
|
||||
import io.gmss.fiscad.interfaces.rfu.metier.ImpositionsTfuService;
|
||||
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
|
||||
import io.gmss.fiscad.persistence.repositories.rfu.metier.ImpositionsTfuRepository;
|
||||
import io.gmss.fiscad.service.EntityFromPayLoadService;
|
||||
import jakarta.transaction.Transactional;
|
||||
import jakarta.ws.rs.NotAcceptableException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -25,37 +28,38 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
|
||||
private final ImpositionsTfuRepository impositionsTfuRepository;
|
||||
private final StructureService structureService;
|
||||
private final EntityFromPayLoadService entityFromPayLoadService;
|
||||
private final EnqueteService enqueteService;
|
||||
|
||||
|
||||
/**
|
||||
* Permet de créer pour un centre la synthèse de l'imposition de l'année en prélude de la
|
||||
* génération des avis d'imposition : 1- cloture de enquete et creation de imposition tfu
|
||||
* génération des avis d'imposition
|
||||
* @param impositionsTfuPaylaodWeb
|
||||
* @return
|
||||
* @throws BadRequestException
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public ImpositionsTfuPaylaodWeb createImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
|
||||
if (impositionsTfuPaylaodWeb.getId() != null) {
|
||||
throw new BadRequestException("Impossible de créer une nouvelle unité de logement ayant un id non null.");
|
||||
}
|
||||
List<ImpositionsTfu> impositionsTfus=impositionsTfuRepository.getImpositionsTfuByStructureAndExercice(impositionsTfuPaylaodWeb.getStructureId(),impositionsTfuPaylaodWeb.getExerciceId());
|
||||
List<ImpositionsTfu> impositionsTfus=impositionsTfuRepository.getImpositionsTfuByStructureAndExercice(impositionsTfuPaylaodWeb.getStructureId(), impositionsTfuPaylaodWeb.getExerciceId());
|
||||
if (!impositionsTfus.isEmpty()) {
|
||||
throw new BadRequestException("Une Imposition non annulée existe déjà");
|
||||
}
|
||||
|
||||
ImpositionsTfu impositionsTfu=entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
|
||||
impositionsTfu.setStatusAvis(StatusAvis.CREE);
|
||||
|
||||
//TODO : cloture des enquetes
|
||||
|
||||
impositionsTfu.setStatusAvis(StatusAvis.EN_COURS);
|
||||
|
||||
impositionsTfu =impositionsTfuRepository.save(impositionsTfu);
|
||||
|
||||
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImpositionsTfuPaylaodWeb annulerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
|
||||
public ImpositionsTfuPaylaodWeb rejeterImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
|
||||
if (impositionsTfuPaylaodWeb.getId() == null) {
|
||||
throw new BadRequestException("Impossible d'annuler une imposition ayant un id null.");
|
||||
}
|
||||
@@ -63,21 +67,55 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
|
||||
throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans notre base de données.");
|
||||
}
|
||||
ImpositionsTfu impositionsTfu= entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
|
||||
impositionsTfu.setStatusAvis(StatusAvis.ANNULE);
|
||||
if(!impositionsTfu.getStatusAvis().equals(StatusAvis.CLOTURE)){
|
||||
throw new NotAcceptableException("L'état actuel :"+impositionsTfu.getStatusAvis()+"Ne permet pas de passer au l'état rejete");
|
||||
}
|
||||
|
||||
impositionsTfu.setStatusAvis(StatusAvis.REJETE);
|
||||
impositionsTfu =impositionsTfuRepository.save(impositionsTfu);
|
||||
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public ImpositionsTfuPaylaodWeb cloturerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
|
||||
if (impositionsTfuPaylaodWeb.getId() == null) {
|
||||
throw new BadRequestException("Impossible de cloturer une imposition ayant un id null.");
|
||||
}
|
||||
if (!impositionsTfuRepository.existsById(impositionsTfuPaylaodWeb.getId())) {
|
||||
throw new NotFoundException("Impossible de trouver l'imposition spécifiée dans notre base de données.");
|
||||
}
|
||||
|
||||
ImpositionsTfu impositionsTfu= entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
|
||||
|
||||
if(!impositionsTfu.getStatusAvis().equals(StatusAvis.EN_COURS) && !impositionsTfu.getStatusAvis().equals(StatusAvis.REJETE)){
|
||||
throw new NotAcceptableException("L'état actuel :"+impositionsTfu.getStatusAvis()+"Ne permet pas de passer au l'état rejete");
|
||||
}
|
||||
|
||||
impositionsTfu.setDateCloture(LocalDate.now());
|
||||
enqueteService.cloturerEnqueteParcelleBatimentUniteLogementByStructureIdAndExerciceId(impositionsTfu.getStructure().getId(),impositionsTfu.getExercice().getId());
|
||||
impositionsTfu.setStatusAvis(StatusAvis.CLOTURE);
|
||||
impositionsTfu =impositionsTfuRepository.save(impositionsTfu);
|
||||
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImpositionsTfuPaylaodWeb validerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
|
||||
public ImpositionsTfuPaylaodWeb autoriserGenerationImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
|
||||
if (impositionsTfuPaylaodWeb.getId() == null) {
|
||||
throw new BadRequestException("Impossible de valider une imposition ayant un id null.");
|
||||
}
|
||||
if (!impositionsTfuRepository.existsById(impositionsTfuPaylaodWeb.getId())) {
|
||||
throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans notre base de données.");
|
||||
throw new NotFoundException("Impossible de trouver l'imposition spécifiée dans notre base de données.");
|
||||
}
|
||||
|
||||
ImpositionsTfu impositionsTfu= entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
|
||||
impositionsTfu.setStatusAvis(StatusAvis.VALIDE);
|
||||
|
||||
if(!impositionsTfu.getStatusAvis().equals(StatusAvis.CLOTURE)){
|
||||
throw new NotFoundException("L'état actuel : "+impositionsTfu.getStatusAvis()+ " ne permet pas de passer à l'état Autorisé");
|
||||
}
|
||||
impositionsTfu.setDateGeneration(LocalDate.now());
|
||||
impositionsTfu.setStatusAvis(StatusAvis.GENERATION_AUTORISE);
|
||||
impositionsTfu =impositionsTfuRepository.save(impositionsTfu);
|
||||
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
|
||||
}
|
||||
@@ -95,12 +133,12 @@ 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()) {
|
||||
// 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
|
||||
|
||||
@@ -58,6 +58,6 @@ public interface EnqueteService {
|
||||
|
||||
public List<EnqueteNonSyncResponse> getEnqueteValideNonSynch(Long terminalId);
|
||||
|
||||
int cloturerEnqueteParcelleBatimentUniteLogementByStructureId(Long strucutreId);
|
||||
int cloturerEnqueteParcelleBatimentUniteLogementByUserId(Long userId);
|
||||
int cloturerEnqueteParcelleBatimentUniteLogementByStructureIdAndExerciceId(Long strucutreId,Long exerciceId);
|
||||
int cloturerEnqueteParcelleBatimentUniteLogementByUserIdAndExerciceId(Long userId,Long exerciceId);
|
||||
}
|
||||
|
||||
@@ -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.ImpositionsTfuPaylaodWeb;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
@@ -25,7 +26,7 @@ public interface DonneesImpositionTfuService {
|
||||
|
||||
Optional<DonneesImpositionTfu> getDonneesImpositionTfuById(Long id);
|
||||
|
||||
Long genererDonneesFiscales(ImpositionsTfu impositionsTfu);
|
||||
ImpositionsTfuPaylaodWeb genererDonneesFiscales(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb);
|
||||
List<DonneesImpositionTfu> getDonneesFiscalesByImposition(Long impositionsId);
|
||||
List<DonneesImpositionTfu> getDonneesFiscalesByImpositionArrondissement(Long impositionsId,Long arrondissementId);
|
||||
}
|
||||
|
||||
@@ -13,8 +13,9 @@ import java.util.Optional;
|
||||
public interface ImpositionsTfuService {
|
||||
|
||||
ImpositionsTfuPaylaodWeb createImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
|
||||
ImpositionsTfuPaylaodWeb annulerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
|
||||
ImpositionsTfuPaylaodWeb validerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
|
||||
ImpositionsTfuPaylaodWeb rejeterImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
|
||||
ImpositionsTfuPaylaodWeb cloturerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
|
||||
ImpositionsTfuPaylaodWeb autoriserGenerationImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
|
||||
|
||||
ImpositionsTfuPaylaodWeb updateImpositionsTfu(Long id, ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws NotFoundException;
|
||||
|
||||
|
||||
@@ -1,29 +1,139 @@
|
||||
package io.gmss.fiscad.paylaods.request.crudweb;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import java.time.LocalDate;
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class ArrondissementPaylaodWeb {
|
||||
private Long id;
|
||||
private String code;
|
||||
private String nom;
|
||||
private Long communeId;
|
||||
private String communeCode;
|
||||
private String communeNom;
|
||||
public class DonneesImpositionPaylaodWeb {
|
||||
private Long id;
|
||||
private Long annee;
|
||||
private String codeDepartement;
|
||||
private String nomDepartement;
|
||||
private String codeCommune;
|
||||
private String nomCommune;
|
||||
private String codeArrondissement;
|
||||
private String nomArrondissement;
|
||||
private String codeQuartierVillage;
|
||||
private String nomQuartierVillage;
|
||||
|
||||
public ArrondissementPaylaodWeb(Long id,
|
||||
String code,
|
||||
String nom,
|
||||
Long communeId,
|
||||
String communeCode,
|
||||
String communeNom) {
|
||||
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 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 Long valeurLocativeAdm;
|
||||
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 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) {
|
||||
this.id = id;
|
||||
this.code = code;
|
||||
this.nom = nom;
|
||||
this.communeId = communeId;
|
||||
this.communeCode = communeCode;
|
||||
this.communeNom = communeNom;
|
||||
this.annee = annee;
|
||||
this.codeDepartement = codeDepartement;
|
||||
this.nomDepartement = nomDepartement;
|
||||
this.codeCommune = codeCommune;
|
||||
this.nomCommune = nomCommune;
|
||||
this.codeArrondissement = codeArrondissement;
|
||||
this.nomArrondissement = nomArrondissement;
|
||||
this.codeQuartierVillage = codeQuartierVillage;
|
||||
this.nomQuartierVillage = nomQuartierVillage;
|
||||
this.q = q;
|
||||
this.ilot = ilot;
|
||||
this.parcelle = parcelle;
|
||||
this.nup = nup;
|
||||
this.titreFoncier = titreFoncier;
|
||||
this.numBatiment = numBatiment;
|
||||
this.numUniteLogement = numUniteLogement;
|
||||
this.ifu = ifu;
|
||||
this.npi = npi;
|
||||
this.telProp = telProp;
|
||||
this.emailProp = emailProp;
|
||||
this.nomProp = nomProp;
|
||||
this.prenomProp = prenomProp;
|
||||
this.raisonSociale = raisonSociale;
|
||||
this.adresseProp = adresseProp;
|
||||
this.telSc = telSc;
|
||||
this.emailRep = emailRep;
|
||||
this.nomRep = nomRep;
|
||||
this.prenomRep = prenomRep;
|
||||
this.adresseRep = adresseRep;
|
||||
this.longitude = longitude;
|
||||
this.latitude = latitude;
|
||||
this.superficieParc = superficieParc;
|
||||
this.superficieAuSolBat = superficieAuSolBat;
|
||||
this.superficieAuSolUlog = superficieAuSolUlog;
|
||||
this.batieOuiNon = batieOuiNon;
|
||||
this.exhonereOuiNon = exhonereOuiNon;
|
||||
this.batimentExhonereOuiNon = batimentExhonereOuiNon;
|
||||
this.uniteLogementExhonereOuiNon = uniteLogementExhonereOuiNon;
|
||||
this.valeurLocativeAdm = valeurLocativeAdm;
|
||||
this.montantLoyerAnnuel = montantLoyerAnnuel;
|
||||
this.tfuMetreCarre = tfuMetreCarre;
|
||||
this.tfuMinimum = tfuMinimum;
|
||||
this.standingBat = standingBat;
|
||||
this.categorieBat = categorieBat;
|
||||
this.nombrePiscine = nombrePiscine;
|
||||
this.nombreUlog = nombreUlog;
|
||||
this.nombreBat = nombreBat;
|
||||
this.dateEnquete = dateEnquete;
|
||||
this.serviceId = serviceId;
|
||||
this.zoneRfu = zoneRfu;
|
||||
this.tauxParcelleNonBati = tauxParcelleNonBati;
|
||||
this.valeurAdministrativeParcelleNonBati = valeurAdministrativeParcelleNonBati;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,8 +39,9 @@ public interface EnqueteRepository extends JpaRepository<Enquete, Long> {
|
||||
WHERE e.parcelle.id=p.id
|
||||
AND stru.id= :structureId
|
||||
)
|
||||
AND e.exercice.id = :exerciceId
|
||||
""")
|
||||
Integer clotureEnqueteParcelle(@Param("structureId") Long structureId);
|
||||
Integer clotureEnqueteParcelle(@Param("structureId") Long structureId,@Param("exerciceId") Long exerciceId);
|
||||
|
||||
@Query(value = "select distinct " +
|
||||
" e.id," +
|
||||
|
||||
@@ -35,8 +35,9 @@ public interface EnqueteBatimentRepository extends JpaRepository<EnqueteBatiment
|
||||
WHERE eb.batiment.parcelle.id=p.id
|
||||
AND stru.id= :structureId
|
||||
)
|
||||
AND eb.exercice.id = :exerciceId
|
||||
""")
|
||||
Integer clotureEnqueteBatiment(@Param("structureId") Long structureId);
|
||||
Integer clotureEnqueteBatiment(@Param("structureId") Long structureId,@Param("exerciceId") Long exerciceId);
|
||||
|
||||
|
||||
@Query(
|
||||
|
||||
@@ -34,8 +34,9 @@ public interface EnqueteUniteLogementRepository extends JpaRepository<EnqueteUni
|
||||
WHERE eul.uniteLogement.batiment.parcelle.id=p.id
|
||||
AND stru.id= :structureId
|
||||
)
|
||||
AND eul.exercice.id = :exerciceId
|
||||
""")
|
||||
Integer clotureEnqueteUniteLogement(@Param("structureId") Long structureId);
|
||||
Integer clotureEnqueteUniteLogement(@Param("structureId") Long structureId,@Param("exerciceId") Long exerciceId);
|
||||
@Query(nativeQuery = true,
|
||||
value = "select eul.id as idBackend, " +
|
||||
"eul.terminal_id as terminalId, " +
|
||||
|
||||
@@ -668,11 +668,11 @@ public class EntityFromPayLoadService {
|
||||
eul.setRepresentantNpi(enqueteUniteLogementPayloadWeb.getRepresentantNpi());
|
||||
eul.setNombrePiscine(enqueteUniteLogementPayloadWeb.getNombrePiscine());
|
||||
// eul.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||
if(!enqueteUniteLogementPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
|
||||
//if(!enqueteUniteLogementPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
|
||||
eul.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||
}else{
|
||||
eul.setStatutEnquete(enqueteUniteLogementPayloadWeb.getStatutEnquete());
|
||||
}
|
||||
// }else{
|
||||
// eul.setStatutEnquete(enqueteUniteLogementPayloadWeb.getStatutEnquete());
|
||||
// }
|
||||
|
||||
return eul;
|
||||
}
|
||||
@@ -762,11 +762,11 @@ public class EntityFromPayLoadService {
|
||||
enqueteBatiment.setRepresentantNpi(enqueteBatimentPayloadWeb.getRepresentantNpi());
|
||||
enqueteBatiment.setNombrePiscine(enqueteBatimentPayloadWeb.getNombrePiscine());
|
||||
//enqueteBatiment.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||
if(!enqueteBatimentPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
|
||||
//if(!enqueteBatimentPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
|
||||
enqueteBatiment.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||
}else{
|
||||
enqueteBatiment.setStatutEnquete(enqueteBatimentPayloadWeb.getStatutEnquete());
|
||||
}
|
||||
// }else{
|
||||
// enqueteBatiment.setStatutEnquete(enqueteBatimentPayloadWeb.getStatutEnquete());
|
||||
// }
|
||||
return enqueteBatiment;
|
||||
}
|
||||
|
||||
@@ -825,11 +825,11 @@ public class EntityFromPayLoadService {
|
||||
enquete.setDateEnquete(LocalDate.now());
|
||||
enquete.setLitige(enquetePayLoadWeb.getLitige());
|
||||
|
||||
if(!enquetePayLoadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
|
||||
// if(!enquetePayLoadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
|
||||
enquete.setStatutEnquete(StatutEnquete.EN_COURS);
|
||||
}else{
|
||||
enquete.setStatutEnquete(enquetePayLoadWeb.getStatutEnquete());
|
||||
}
|
||||
// }else{
|
||||
// enquete.setStatutEnquete(enquetePayLoadWeb.getStatutEnquete());
|
||||
// }
|
||||
enquete.setObservationParticuliere(enquetePayLoadWeb.getObservation());
|
||||
enquete.setAutreAdresse(enquetePayLoadWeb.getAutreAdresse());
|
||||
enquete.setAutreNumeroTitreFoncier(enquetePayLoadWeb.getAutreNumeroTitreFoncier());
|
||||
|
||||
Reference in New Issue
Block a user