diff --git a/src/main/java/io/gmss/fiscad/controllers/rfu/metier/DeclarationNcController.java b/src/main/java/io/gmss/fiscad/controllers/rfu/metier/DeclarationNcController.java index aa5ea84..855ba89 100644 --- a/src/main/java/io/gmss/fiscad/controllers/rfu/metier/DeclarationNcController.java +++ b/src/main/java/io/gmss/fiscad/controllers/rfu/metier/DeclarationNcController.java @@ -36,7 +36,7 @@ public class DeclarationNcController { @PostMapping("/create") - public ResponseEntity createDeclarationNc(@RequestBody @Valid @Validated DeclarationNcPayloadWeb declarationNcPayloadWeb) { + public ResponseEntity createDeclarationNc(@RequestBody DeclarationNcPayloadWeb declarationNcPayloadWeb) { try { declarationNcPayloadWeb = declarationNcService.createDeclarationNc(declarationNcPayloadWeb); return new ResponseEntity<>( diff --git a/src/main/java/io/gmss/fiscad/entities/rfu/metier/DeclarationNc.java b/src/main/java/io/gmss/fiscad/entities/rfu/metier/DeclarationNc.java index 22d8047..95ef07e 100644 --- a/src/main/java/io/gmss/fiscad/entities/rfu/metier/DeclarationNc.java +++ b/src/main/java/io/gmss/fiscad/entities/rfu/metier/DeclarationNc.java @@ -36,19 +36,22 @@ public class DeclarationNc extends BaseEntity implements Serializable { @JsonDeserialize(using = LocalDateDeserializer.class) private LocalDate dateDerniereDeclaration; - @JsonFormat(pattern = "yyyy-MM-dd") @JsonDeserialize(using = LocalDateDeserializer.class) private LocalDate dateDeclarationNc; private String nc; + private String q; + private String i; + private String p; + private String numeroTitreFoncier; + private String nup; private String observation; @JsonIgnore @ManyToOne private Structure structure; - private Long enqueteExternalKey; @JsonIgnore diff --git a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/CommuneCentreAssignationServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/CommuneCentreAssignationServiceImpl.java index 93c9eb5..b36354d 100644 --- a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/CommuneCentreAssignationServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/CommuneCentreAssignationServiceImpl.java @@ -12,6 +12,7 @@ import io.gmss.fiscad.persistence.repositories.infocad.parametre.PersonneReposit import io.gmss.fiscad.persistence.repositories.infocad.parametre.StructureRepository; import io.gmss.fiscad.persistence.repositories.rfu.metier.CommuneCentreAssignationRepository; import io.gmss.fiscad.service.EntityFromPayLoadService; +import jakarta.ws.rs.NotAcceptableException; import lombok.AllArgsConstructor; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -60,7 +61,7 @@ public class CommuneCentreAssignationServiceImpl implements CommuneCentreAssigna Optional communeCentreAssignationPaylaodWebOptional=communeCentreAssignationRepository.findbyCommuneAndPersonne(user.getStructure().getCommune().getId(),communeCentreAssignationPaylaodWeb.getPersonneId()); if(communeCentreAssignationPaylaodWeb.getId()==null && communeCentreAssignationPaylaodWebOptional.isPresent()){ - throw new BadRequestException("Impossible de créer une nouvelle assignation de centre: Le contribuable est déjà assigné au centre : "+communeCentreAssignationPaylaodWebOptional.get().getStructureNom()); + throw new NotAcceptableException("Impossible de créer une nouvelle assignation de centre: Le contribuable est déjà assigné au centre : "+communeCentreAssignationPaylaodWebOptional.get().getStructureNom()); } diff --git a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/DeclarationNcServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/DeclarationNcServiceImpl.java index 2e96984..03a09dd 100644 --- a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/DeclarationNcServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/DeclarationNcServiceImpl.java @@ -38,6 +38,11 @@ public class DeclarationNcServiceImpl implements DeclarationNcService { if (!structureRepository.existsById(declarationNcPayloadWeb.getStructureId())) { throw new BadRequestException("Veuillez préciser le centre."); } + List declarationNcPayloadWebs= declarationNcRepository.findAllDeclarationNcByNcNotPersonneToDto(declarationNcPayloadWeb.getNc(),declarationNcPayloadWeb.getPersonneId()); + + if (!declarationNcPayloadWebs.isEmpty()) { + throw new BadRequestException("Ce numéro Contribuable est déjà rattaché à un autre IFU"); + } DeclarationNc declarationNc= entityFromPayLoadService.getDeclarationNcFromPayLoadWeb(declarationNcPayloadWeb); declarationNc =declarationNcRepository.save(declarationNc); diff --git a/src/main/java/io/gmss/fiscad/paylaods/request/crudweb/DeclarationNcPayloadWeb.java b/src/main/java/io/gmss/fiscad/paylaods/request/crudweb/DeclarationNcPayloadWeb.java index 39dfee5..a041cc4 100644 --- a/src/main/java/io/gmss/fiscad/paylaods/request/crudweb/DeclarationNcPayloadWeb.java +++ b/src/main/java/io/gmss/fiscad/paylaods/request/crudweb/DeclarationNcPayloadWeb.java @@ -15,6 +15,11 @@ public class DeclarationNcPayloadWeb { private LocalDate dateDerniereDeclaration; private LocalDate dateDeclarationNc; private String nc; + private String q; + private String i; + private String p; + private String numeroTitreFoncier; + private String nup; private Long structureId; private String structureCode; private String structureNom; @@ -24,7 +29,14 @@ public class DeclarationNcPayloadWeb { private String personneRaisonSociale; private String observation; - public DeclarationNcPayloadWeb(Long id, LocalDate dateDerniereDeclaration, LocalDate dateDeclarationNc, String nc, Long structureId, String structureCode, String structureNom, Long personneId, String personneNom, String personnePrenom, String personneRaisonSociale, String observation) { + public DeclarationNcPayloadWeb(Long id, LocalDate dateDerniereDeclaration, LocalDate dateDeclarationNc, String nc, Long structureId, String structureCode, String structureNom, Long personneId, String personneNom, String personnePrenom, String personneRaisonSociale, + String observation, + String q, + String i, + String p, + String numeroTitreFoncier, + String nup + ) { this.id = id; this.dateDerniereDeclaration = dateDerniereDeclaration; this.dateDeclarationNc = dateDeclarationNc; @@ -36,6 +48,11 @@ public class DeclarationNcPayloadWeb { this.personneNom = personneNom; this.personnePrenom = personnePrenom; this.personneRaisonSociale = personneRaisonSociale; + this.q = q; + this.i = i; + this.p = p; + this.numeroTitreFoncier = numeroTitreFoncier; this.observation = observation; + this.nup = nup; } } diff --git a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/DeclarationNcRepository.java b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/DeclarationNcRepository.java index 88bffb9..0b55479 100755 --- a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/DeclarationNcRepository.java +++ b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/DeclarationNcRepository.java @@ -28,7 +28,12 @@ public interface DeclarationNcRepository extends JpaRepository :personneId + """) + List findAllDeclarationNcByNcNotPersonneToDto(@Param("nc") String nc, @Param("personneId") Long personneId); + + } diff --git a/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java b/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java index ef7bb6b..be8ffc6 100644 --- a/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java +++ b/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java @@ -211,6 +211,11 @@ public class EntityFromPayLoadService { declarationNc.setStructure(optionalStructure.orElse(null)); declarationNc.setPersonne(optionalPersonne.orElse(null)); declarationNc.setNc(declarationNcPayloadWeb.getNc()); + declarationNc.setQ(declarationNcPayloadWeb.getQ()); + declarationNc.setI(declarationNcPayloadWeb.getI()); + declarationNc.setP(declarationNcPayloadWeb.getP()); + declarationNc.setNumeroTitreFoncier(declarationNcPayloadWeb.getNumeroTitreFoncier()); + declarationNc.setNup(declarationNcPayloadWeb.getNup()); declarationNc.setDateDerniereDeclaration(declarationNcPayloadWeb.getDateDerniereDeclaration()); declarationNc.setDateDeclarationNc(declarationNcPayloadWeb.getDateDeclarationNc()); return declarationNc ;