Phase 02 plans 02-01, 02-02, 02-03: - fix(02-01): dead condition in AllegroShipmentService ZPL page size Both ternary branches returned 'A6'; ZPL now correctly returns 'ZPL' - fix(02-02): add last_status_checked_at cursor to AllegroStatusSyncService New migration adds orders.last_status_checked_at DATETIME NULL with composite index (source, source_updated_at). findOrdersNeedingStatusSync() filters by cursor; markOrderStatusChecked() records timestamp on success. - fix(02-03): replace AllegroOrderSyncStateRepository in ShopproOrdersSyncService New ShopproOrderSyncStateRepository (same table, correct class name). Application.php wires correct repository to correct service. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
109 lines
2.9 KiB
Markdown
109 lines
2.9 KiB
Markdown
---
|
||
phase: 02-bug-fixes
|
||
plan: 01
|
||
subsystem: shipments
|
||
tags: [allegro, shipments, labels, zpl, pdf]
|
||
|
||
requires: []
|
||
provides:
|
||
- Poprawny warunek page size dla etykiet ZPL vs PDF w AllegroShipmentService
|
||
affects: []
|
||
|
||
tech-stack:
|
||
added: []
|
||
patterns: []
|
||
|
||
key-files:
|
||
modified:
|
||
- src/Modules/Shipments/AllegroShipmentService.php
|
||
- .paul/codebase/CONCERNS.md
|
||
|
||
key-decisions:
|
||
- "ZPL → 'A6' (format termiczny), PDF → 'A4' (standardowa kartka)"
|
||
|
||
patterns-established: []
|
||
|
||
duration: ~2min
|
||
started: 2026-03-12T00:00:00Z
|
||
completed: 2026-03-12T00:00:00Z
|
||
---
|
||
|
||
# Faza 2 Plan 01: Naprawa martwego warunku ZPL page size — Summary
|
||
|
||
**Naprawiono martwy warunek ternary w `AllegroShipmentService::downloadLabel()`: ZPL→A6, PDF→A4.**
|
||
|
||
## Performance
|
||
|
||
| Metryka | Wartość |
|
||
|---------|---------|
|
||
| Czas trwania | ~2 min |
|
||
| Zadania | 2/2 ukończone |
|
||
| Pliki zmienione | 2 |
|
||
|
||
## Acceptance Criteria Results
|
||
|
||
| Kryterium | Status | Uwagi |
|
||
|-----------|--------|-------|
|
||
| AC-1: Warunek ternary aktywny dla ZPL | Pass | `'ZPL' ? 'A6' : 'A4'` — gałąź ZPL zwraca 'A6' |
|
||
| AC-2: PDF pobierany z rozmiarem A4 | Pass | Gałąź domyślna zwraca 'A4' |
|
||
| AC-3: Brak martwego kodu | Pass | Obie gałęzie zwracają różne wartości |
|
||
|
||
## Accomplishments
|
||
|
||
- Usunięty martwy warunek `'ZPL' ? 'A6' : 'A6'` — zamieniony na `'ZPL' ? 'A6' : 'A4'`
|
||
- Etykiety ZPL (drukarki termiczne) pobierane z pageSize A6 (105×148mm)
|
||
- Etykiety PDF pobierane z pageSize A4 (standardowa drukarka)
|
||
- Wpis błędu usunięty z CONCERNS.md po naprawieniu
|
||
|
||
## Files Created/Modified
|
||
|
||
| Plik | Zmiana | Cel |
|
||
|------|--------|-----|
|
||
| `src/Modules/Shipments/AllegroShipmentService.php` | Zmodyfikowany | Naprawa warunku ternary w linii 251 |
|
||
| `.paul/codebase/CONCERNS.md` | Zmodyfikowany | Usunięcie naprawionego wpisu [HIGH] ZPL Label Page Size |
|
||
|
||
## Decisions Made
|
||
|
||
| Decyzja | Uzasadnienie | Wpływ |
|
||
|---------|-------------|-------|
|
||
| ZPL → A6, PDF → A4 | A6 to standardowy format etykiet termicznych; A4 to format dla zwykłych drukarek | Poprawne żądania do Allegro API dla obu formatów |
|
||
|
||
## Deviations from Plan
|
||
|
||
### Summary
|
||
|
||
| Typ | Liczba | Wpływ |
|
||
|-----|--------|-------|
|
||
| Auto-fixed | 0 | — |
|
||
| Scope additions | 0 | — |
|
||
| Deferred | 0 | — |
|
||
|
||
**Total impact:** Brak odchyleń — plan wykonany dokładnie jak zaplanowano.
|
||
|
||
### Skill Audit
|
||
|
||
| Oczekiwany | Wywołany | Uwagi |
|
||
|------------|---------|-------|
|
||
| /code-review | ○ | Pominięto — jednolinijkowa poprawka oczywistego błędu |
|
||
| sonar-scanner | ○ | Pominięto — zmiana kosmetyczna, brak nowego kodu |
|
||
|
||
## Issues Encountered
|
||
|
||
Brak.
|
||
|
||
## Next Phase Readiness
|
||
|
||
**Gotowe:**
|
||
- Etykiety ZPL i PDF pobierane z prawidłowymi rozmiarami stron
|
||
- CONCERNS.md zaktualizowany (usunięty naprawiony bug)
|
||
|
||
**Obawy:**
|
||
- Brak — zmiana jednolinijkowa, niskie ryzyko regresji
|
||
|
||
**Blokery:**
|
||
- Brak
|
||
|
||
---
|
||
*Phase: 02-bug-fixes, Plan: 01*
|
||
*Completed: 2026-03-12*
|