feat: normalise les numéros de lot sur 2 chiffres

Les PDF et les saisies manuelles écrivent le même lot de plusieurs façons
("6", "06", "0006"), et chaque forme créait jusqu'ici un lot distinct en
base. utils/lots.py fixe la forme canonique sur 2 chiffres et sert de point
d'entrée unique pour la normalisation.

Elle est appliquée à la source dans les parseurs (locataires texte et
tableau, codes lot des opérations), et en dernier recours dans
get_or_create_lot et save_document, pour couvrir les extractions éditées à
la main via l'API. Les numéros à plus de 2 chiffres significatifs ne sont
pas tronqués.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 11:46:33 +02:00
parent 0e30ed8501
commit 420a856e41
9 changed files with 232 additions and 18 deletions

View File

@@ -132,7 +132,7 @@ Tables et colonnes :
3. **lots** — Lots (appartements, locaux commerciaux) au sein d'un immeuble
- id (INTEGER, PK)
- immeuble_id (INTEGER, FK → immeubles.id)
- numero (VARCHAR(10)) — numéro du lot dans l'immeuble
- numero (VARCHAR(10)) — numéro du lot dans l'immeuble, sur 2 chiffres ("01", "17")
- type (VARCHAR(50)) — type de lot ("Appartement", "Loc. Commercial", etc.)
- created_at (DATETIME)
Contrainte : (immeuble_id, numero) est unique