Appearance
BDD-98 — Configurer le bloc Nettoyer
Objectif
Permettre à l’administrateur de configurer un bloc Traitement / Nettoyer pour supprimer les doublons, remplacer les valeurs nulles et retirer les lignes entièrement nulles, afin d’obtenir des données propres avant les étapes suivantes.
Périmètre livré
- Option suppression des doublons sur une ou plusieurs colonnes (clé composite).
- Option remplacement des valeurs nulles ou vides par une valeur par défaut (chaîne).
- Option suppression des lignes entièrement nulles : une ligne est supprimée si, pour toutes les colonnes connues de la source, les cellules sont nulles ou vides (après les étapes précédentes de la simulation).
- Affichage du nombre de lignes supprimées après une simulation sur les lignes chargées depuis le fichier du dépôt (
GET /sources/preview?documentUuid=). Ce n’est pas l’exécution complète du pipeline côté serveur (hors périmètre MVP4 actuel). - Les blocs Source lient un fichier du dépôt (
documents, viainputDocumentUuid), et non une source Heriade. - Les colonnes / lignes d’aperçu (Mapper et Nettoyer) remontent jusqu’aux blocs Source et chargent le fichier via
GET /sources/preview?documentUuid=. Voir Workflows (MVP4).
Ordre appliqué (simulation)
- Dédoublonnage (première occurrence conservée).
- Remplacement des valeurs nulles / vides.
- Suppression des lignes entièrement nulles (selon les colonnes source listées).
Format de configuration JSONB (workflow_nodes.configuration)
json
{
"type": "nettoyer",
"dedupe": { "enabled": true, "columns": ["code", "libelle"] },
"fillNulls": { "enabled": true, "value": "N/A" },
"dropEmptyRows": { "enabled": true }
}Fichiers principaux
| Rôle | Chemin |
|---|---|
| Moteur (logique pure) | front/src/pages/admin/workflows/workflow-nettoyer.engine.js |
Sync UI sous-type / config.type | front/src/pages/admin/workflows/workflow-traitement.sync.js |
| Options type traitement | front/src/pages/admin/workflows/workflow-treatment-type-options.js |
| Panneau UI | front/src/components/workflows/WorkflowNettoyerPanel.vue |
| Intégration éditeur | front/src/pages/admin/workflows/WorkflowEditorPage.vue |
| Résolution sources amont (récursif) | front/src/pages/admin/workflows/workflow-upstream-sources.resolver.js |
| Chargement lignes source (prévisualisation) | front/src/pages/admin/workflows/workflow-source-preview.fetch.js |
| Libellé canvas si nom vide | front/src/pages/admin/workflows/workflow-canvas-display.js |
| Tiroir inspecteur | front/src/components/workflows/WorkflowInspectorDrawer.vue |
API
PUT /workflows/:uuid/canvas:nodes[].inputDocumentUuidpour les blocssource;nodes[].configpour lestraitement.
Tests
front/src/__tests__/pages/admin/workflows/workflow-nettoyer.engine.spec.jsfront/src/__tests__/pages/admin/workflows/workflow-traitement.sync.spec.jsfront/src/__tests__/pages/admin/workflows/workflow-upstream-sources.resolver.spec.jsfront/src/__tests__/pages/admin/workflows/workflow-source-preview.fetch.spec.jsfront/src/__tests__/pages/admin/workflows/workflow-canvas-display.spec.js
Scripts SQL
sql/tool_14_workflow_input_document.sql—input_document_idsurworkflowsetworkflow_nodes.
