Checkpoint: Suppression des 6 lignes parasites en BDD (Infogérance, Sécurité, Applicatifs HEP, Applicatifs SMR, Téléphonie, TOTAL) + filtre PARASITE_PATTERNS dans handleFileImport pour empêcher leur réinsertion lors d'un import Excel.

This commit is contained in:
Manus
2026-06-11 08:48:10 +00:00
parent eb1684f04c
commit 60fd2b891e
4 changed files with 98 additions and 1 deletions

View File

@@ -521,8 +521,17 @@ function ClesRepartitionView({ annee, basesRepartitionRaw, isLoadingBases, isErr
}
// ── Construction des lignes à importer ───────────────────────────────
// Mots-clés qui indiquent une ligne parasite (catégorie ou synthèse, pas un établissement)
const PARASITE_PATTERNS = /^(infog|s.curit|t.l.phonie|app global|app hep|app smr|applicatifs|total|ventilation|r.partition|nouveaut)/i;
const importRows = data.slice(headerIdx + 1)
.filter(row => row[codeIdx] && String(row[codeIdx]).trim())
.filter(row => {
const code = String(row[codeIdx] ?? '').trim();
if (!code) return false;
// Rejeter les lignes dont le code ressemble à un libellé de catégorie
const codeNorm = code.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
if (PARASITE_PATTERNS.test(codeNorm)) return false;
return true;
})
.map(row => ({
etablissementCode: String(row[codeIdx]).trim(),
etablissementNom: nomIdx >= 0 ? String(row[nomIdx]).trim() || null : null,