Features #332
stängdFeatures #178: Samordning: generiska föreningsspecifika klippkort
Features #319: Rapportera transaktioner per period, kategori och betalningssätt
Skala försäljningsrapport och CSV för stora perioder
100%
Beskrivning
Syfte: göra försäljningsrapportens skärmvy och CSV-export förutsägbara och minnessäkra även när en vald period innehåller många transaktions- och deltagarrader.
Definition of Done:
- Skärmens detaljrader pagineras med högst 100 rader per sida medan kategori-, betalnings- och rapporttotaler fortfarande avser hela valda perioden.
- Periodval och sidval bevaras i navigationen utan dubbletter eller bortfall mellan sidor.
- Deltagare hämtas endast för aktuell sidmängd eller i dokumenterat begränsade batcher.
- CSV-exporten innehåller hela valda perioden men genereras strömmande eller i begränsade batcher utan att bygga hela filen i minnet.
- MariaDB-integrationstest med fler än 100 rader, flera kategorier, deltagare och annan tenant verifierar exakta totaler, stabil sortering, sidgränser, tenantisolering och fullständigt CSV-radantal.
- Full isolerad CI och produktionsbygge passerar.
Avgränsning: Ingen ändring av transaktionsdata, betalningslogik, rapportperioder, utskriftsdesign eller produktionsaktivering.
Acceptanskriterier
Rapportens skärmdetaljer pagineras till högst 100 rader per sida med helperiodstotaler; deltagarhämtning och CSV är batchade/strömmande. Test med över 100 rader verifierar stabila sidgränser, exakta totaler, tenantisolering och komplett CSV.
Testresultat
PHP-syntax och Vite-produktionsbygge godkända. Full isolerad CI för 1613ec3: 87 enhetstester och 184 MariaDB-integrationstester godkända. Storrapportstest verifierar 105 rader, två kategorier, deltagare över sidgräns, exakt helperiodstotal, tenantisolering och 106 kompletta CSV-rader utan dubbletter.