chore: complete milestone v0.3 — Moduł Paragonów

Archive milestone, evolve PROJECT.md, reorganize ROADMAP.md.
5 phases, 5 plans: DB foundation, config, issuing, preview/print/PDF, list+XLSX.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-15 21:21:59 +01:00
parent 22fc330055
commit 22ce87efe2
5 changed files with 133 additions and 28 deletions

View File

@@ -5,6 +5,45 @@ Completed milestone log for this project.
| Milestone | Completed | Duration | Stats |
|-----------|-----------|----------|-------|
| v0.1 Initial Release | 2026-03-13 | 2 days | 6 phases, 15 plans |
| v0.2 Pre-Expansion Fixes | 2026-03-15 | 2 days | 1 phase, 5 plans |
| v0.3 Moduł Paragonów | 2026-03-15 | 1 day | 5 phases, 5 plans |
---
## ✅ v0.3 Moduł Paragonów
**Completed:** 2026-03-15
**Duration:** 1 day (2026-03-15)
### Stats
| Metric | Value |
|--------|-------|
| Phases | 5 (8-12) |
| Plans | 5 |
| Files changed | ~25 |
### Key Accomplishments
- **DB Foundation:** 4 migracje (receipts, receipt_configs, receipt_number_counters, company_settings extended)
- **Konfiguracja paragonów:** CRUD w Ustawienia > Księgowość — wielokonfiguracyjne szablony numeracji
- **Wystawianie paragonów:** Formularz z zamówienia, snapshoty JSON (seller/buyer/items), atomowe numerowanie INSERT ON DUPLICATE KEY UPDATE
- **Podgląd i druk:** HTML preview w layoucie, standalone print z auto window.print(), PDF via dompdf v3.1
- **Sekcja Księgowość:** Lista paragonów z filtrami, paginacją, sortowaniem, zaznaczaniem checkboxami
- **Eksport XLSX:** PhpSpreadsheet v5.5 — eksport zaznaczonych lub wszystkich z filtra (POST + CSRF)
- **Moduł Accounting:** Osobny namespace App\Modules\Accounting z ReceiptController, AccountingController, ReceiptRepository
### Key Decisions
| Decision | Rationale |
|----------|-----------|
| Snapshot pattern: seller/buyer/items jako JSON | Dane zamrożone w momencie wystawienia — niezależne od zmian źródła |
| Atomowe numerowanie: INSERT ON DUPLICATE KEY UPDATE | Bezpieczne kolejne numery paragonów bez race conditions |
| Moduł Accounting w osobnym namespace | Separacja od Settings — przyszłe rozszerzenie księgowości |
| dompdf v3.1 server-side PDF | Standard PHP, DejaVu Sans dla polskich znaków |
| PhpSpreadsheet v5.5 dla XLSX | Lepszy od CSV dla księgowości — formatowanie, polskie znaki |
| POST eksport z CSRF + dwa tryby | Bezpieczny; zaznaczone IDs lub wszystkie z filtra |
| ftp-kr vendor/ nie ignorowany | Zmiana z /vendor na /vendor/bin — auto-upload zależności na serwer |
---