Addresses with commas after street (e.g. "Str.Dacia NR.15 BLOC Z2,SCARA A,AP.7") caused NUMAR column overflow (max 10 chars). Parser now tokenizes by comma and routes BL/SC/AP/ET/NR prefixes to proper columns. Also extracts NR/BLOC embedded in street text. Import service now blocks orders when address creation fails (returns ERROR instead of silently importing without address). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.6 KiB
TODOS
P2: Refactor sync_service.py in module separate
What: Split sync_service.py (870 linii) in: download_service, parse_service, sync_orchestrator. Why: Faciliteza debugging si testare. Un bug in price sync nu ar trebui sa afecteze import flow. Effort: M (human: ~1 sapt / CC: ~1-2h) Context: Dupa implementarea planului Command Center (retry_service deja extras). sync_service face download + parse + validate + import + price sync + invoice check — prea multe responsabilitati. Depends on: Finalizarea planului Command Center.
P2: Email/webhook alert pe sync esuat
What: Cand sync-ul gaseste >5 erori sau esueaza complet, trimite un email/webhook. Why: Post-lansare, cand app-ul ruleaza automat, nimeni nu sta sa verifice constant. Effort: M (human: ~1 sapt / CC: ~1h) Context: Depinde de infrastructura email/webhook disponibila la client. Implementare: SMTP simplu sau webhook URL configurabil in Settings. Depends on: Lansare in productie + infrastructura email la client.
P3: Fix script — handle missing orders in GoMag API
What: Fix script for 17 address-less orders should check if GoMag API returns data for each order, and report which orders couldn't be fixed. Why: Old orders may be deleted or expired from GoMag API. Without this check, the fix script fails silently and the operator thinks all 17 were fixed. Effort: S (human: ~10min / CC: ~2min) Context: Part of the address overflow fix (Pas 5). The fix script re-downloads from GoMag API to get original address text, but doesn't verify the API response. Add empty-response check + report. Depends on: Address parser fix (Pas 1-2) deployed.