From f9256642266760b80010b9420a76925310232ef8 Mon Sep 17 00:00:00 2001 From: EryneKL <97091460+EryneKL@users.noreply.github.com> Date: Mon, 21 Oct 2024 13:47:06 +0200 Subject: [PATCH] FEAT ITEM-304-back-corriger-les-lignes-vides-en-fin-de-fichier --- .../item/core/components/AbstractFichier.java | 4 ++-- .../core/components/FichierPrepareSupp.java | 22 ------------------- .../core/service/impl/DemandeSuppService.java | 2 -- 3 files changed, 2 insertions(+), 26 deletions(-) diff --git a/core/src/main/java/fr/abes/item/core/components/AbstractFichier.java b/core/src/main/java/fr/abes/item/core/components/AbstractFichier.java index 4fa2ff0e..a9fe14bd 100644 --- a/core/src/main/java/fr/abes/item/core/components/AbstractFichier.java +++ b/core/src/main/java/fr/abes/item/core/components/AbstractFichier.java @@ -99,7 +99,7 @@ protected void checkRcr(String rcrFichier, String rcr, int ligneCourante) throws * @throws FileCheckingException : erreur de format de fichier */ protected void checkPpn(String ppn, int ligneCourante) throws FileCheckingException { - if (!ppn.matches("^\\d{8}[0-9X]$")){ + if (!ppn.matches("^(\\d{8}[0-9X])?$")){ throw new FileCheckingException(Constant.ERR_FILE_ERRLINE + ligneCourante + Constant.ERR_FILE_WRONGPPN); } } @@ -110,7 +110,7 @@ protected void checkPpn(String ppn, int ligneCourante) throws FileCheckingExcept * @throws FileCheckingException: erreur de format de l'epn */ protected void checkEpn(String epn, int ligneCourante) throws FileCheckingException { - if (!epn.matches("^\\d{8}[0-9X]$")) { + if (!epn.matches("^(\\d{8}[0-9X])?$")) { throw new FileCheckingException(Constant.ERR_FILE_ERRLINE + ligneCourante + Constant.ERR_FILE_WRONGEPN); } } diff --git a/core/src/main/java/fr/abes/item/core/components/FichierPrepareSupp.java b/core/src/main/java/fr/abes/item/core/components/FichierPrepareSupp.java index f1353dea..ab239261 100644 --- a/core/src/main/java/fr/abes/item/core/components/FichierPrepareSupp.java +++ b/core/src/main/java/fr/abes/item/core/components/FichierPrepareSupp.java @@ -3,14 +3,9 @@ import fr.abes.item.core.constant.Constant; import fr.abes.item.core.constant.TYPE_DEMANDE; import fr.abes.item.core.entities.item.Demande; -import fr.abes.item.core.exception.FileCheckingException; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import java.io.*; -import java.util.ArrayList; -import java.util.List; - @Component public class FichierPrepareSupp extends FichierPrepare implements Fichier { @@ -25,21 +20,4 @@ public FichierPrepareSupp(@Value("") final String filename) { public void generateFileName(Demande demande) { this.filename = Constant.FIC_CORRESPONDANCE_NAME + demande.getId() + Constant.EXTENSIONCSV; } - - public void controleIntegriteDesCorrespondances() throws IOException, FileCheckingException { - List epnSansCorrespondance = new ArrayList<>(); - try (FileReader fileReader = new FileReader(path.resolve(filename).toString()); - BufferedReader reader = new BufferedReader(fileReader);) { - reader.readLine();//cette ligne enleve le header - reader.lines().forEach(line -> { - if(line.split(";")[0].isEmpty()){ - epnSansCorrespondance.add(line.split(";")[2]); - } - }); - } - if (!epnSansCorrespondance.isEmpty()) { - throw new FileCheckingException("EPN sans correspondance : " + String.join(", ", epnSansCorrespondance)); - } - } - } diff --git a/core/src/main/java/fr/abes/item/core/service/impl/DemandeSuppService.java b/core/src/main/java/fr/abes/item/core/service/impl/DemandeSuppService.java index 6d4a77c8..81321ba1 100644 --- a/core/src/main/java/fr/abes/item/core/service/impl/DemandeSuppService.java +++ b/core/src/main/java/fr/abes/item/core/service/impl/DemandeSuppService.java @@ -185,8 +185,6 @@ private void preparerFichierEnPrep(DemandeSupp demande) throws IOException, Dema fichierPrepare.ecrireEnTete(); //Alimentation du fichier par appel à la procédure Oracle ppntoepn appelProcStockee(demande.getRcr(), demande.getTypeSuppression()); - if(demande.getTypeSuppression().equals(TYPE_SUPPRESSION.EPN)) - fichierPrepare.controleIntegriteDesCorrespondances(); fichierPrepare.trierLignesDeCorrespondances(); demande.setEtatDemande(new EtatDemande(Constant.ETATDEM_PREPAREE)); save(demande);