refactor(commercial) : découpler l'hydratation des collections de la sélection clients (ERP-100) #50

Merged
malio merged 2 commits from fix/ERP-100-decouple-list-hydration into develop 2026-06-03 09:44:32 +00:00

2 Commits

Author SHA1 Message Date
malio 59295779c1 Merge branch 'develop' into fix/ERP-100-decouple-list-hydration
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 1m47s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m11s
2026-06-03 09:44:24 +00:00
Matthieu a97adb1dd9 refactor(commercial) : découpler l'hydratation des collections de la sélection clients (ERP-100)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 1m55s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m6s
createListQueryBuilder() redevient filtres + tri seuls (contrat de l'interface) :
plus de fetch-join to-many imposé à tous les appelants. L'hydratation des
collections affichées (Catégories / Site(s)) passe par la nouvelle méthode
hydrateListCollections(), appelée par la liste paginée, ?pagination=false et
l'export XLSX sur leur jeu déjà borné.

Deux requêtes IN séparées (catégories d'un côté, adresses+sites de l'autre)
remplissent les collections via l'identity map et cassent le produit cartésien
catégories × adresses × sites qui explosait sur les chemins non paginés.

Ajoute un garde-fou fonctionnel sur les colonnes Catégories/Sites de l'export.

Découvert en review ERP-62 (#44).
2026-06-03 11:36:33 +02:00