feat(logistique) : export XLSX des tickets de pesée (ERP-186) #136
Reference in New Issue
Block a user
Delete Branch "feat/erp-186-export-xlsx-tickets-pesee"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ERP-186 (1.6) — Export XLSX des tickets de pesée (M5 § 4.5)
Endpoint
GET /api/weighing_tickets/export.xlsx: exporte toute la liste des tickets de pesée (bouton « Exporter »), filtrée par le site courant + les filtres actifs, sans pagination (export complet).Implémentation
WeighingTicketExportControlleravecpriority: 1(évite le conflit avec l'item API Platform{id}.{_format}) — même pattern que les exports M2/M3/M4.SpreadsheetExporterInterface(PhpSpreadsheet) — pas de réinvention.WeighingTicketProvider: recherche?search, tri?order[displayDate], cloisonnement par site courant (miroirapplySiteScope/bypass_scope).is_granted('logistique.weighing_tickets.view').Colonnes
Numéro · Type contrepartie · Contrepartie (nom Client/Fournisseur/Autre) · Date · Immatriculation · Poids vide · Poids plein · Poids net · DSD vide · DSD plein.
Tests (
make test— 816 verts)WeighingTicketExportControllerTest: 200 + Content-Type/Content-Disposition, mapping des colonnes avec net = plein − vide (RG-5.05), cloisonnement par site (non-admin), 403 sans permission, 401 anonyme.Note
Pas d'entrée
CollectionsArePaginatedTest::EXCLUDED: l'export est un controller (binaire), pas uneGetCollectionAPI Platform — le garde-fou pagination ne le concerne pas (cohérent avec M1→M4).