feat(commercial) : export XLSX fournisseurs (ERP-91) #70

Merged
malio merged 1 commits from feature/ERP-91-export-xlsx-m2 into develop 2026-06-08 07:48:59 +00:00

1 Commits

Author SHA1 Message Date
Matthieu c6a0a51810 feat(commercial) : export XLSX fournisseurs (SupplierExportController, SIREN gaté accounting.view) (ERP-91)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m3s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m7s
Export XLSX du répertoire fournisseurs (spec § 4.6), jumeau de l'export client M1.

- SupplierExportController avec #[Route(priority: 1)] (anti-conflit API Platform {id}),
  is_granted('commercial.suppliers.view'). Mêmes filtres que la liste
  (includeArchived/archivedOnly/search/categoryCode/siteId) via createListQueryBuilder()
  partagé avec le SupplierProvider ; non archivés par défaut.
- Colonnes : Nom, Contact principal (SupplierContact de plus petit position — ERP-106),
  Tél principal/secondaire, Email, Catégories (CSV), Sites (CSV), SIREN (omis sans
  accounting.view), Date de création.
- hydrateContacts() ajouté au repository (chargement batché des contacts en une requête
  IN, anti-N+1) — méthode dédiée à l'export, la liste paginée n'embarque pas les contacts.
- Tables supplier* ajoutées à ColumnCommentsCatalog : leurs COMMENT (posés par la
  migration ERP-85) étaient dropés par le schema:update --force du test-db-setup et non
  restaurés, cassant ColumnsHaveSqlCommentTest dès un re-setup de la base de test.
- Test fonctionnel SupplierExportControllerTest (9 cas).
2026-06-08 09:48:49 +02:00