- Champ ageMonths (int) ajouté à Bovine avec migration
- Lifecycle PrePersist/PreUpdate pour maintenir la cohérence
- Sync processor recalcule explicitement ageMonths à chaque passage (cron-friendly)
- Colonne Age + rowClass côté front : rouge >= 24 mois, orange 22-24 mois
- Util formatAgeLabel remplace le calcul client
- Boutons pagination Prev/Next en français avec style bouton bordure primary
- Colonnes Sexe/N° Travail réduites au profit de Bâtiment
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Colonnes Bâtiment et Case ajoutées sur inventory (inline buildingCase via readableLink)
- Bouton Rafraîchir repositionné dans l'en-tête du tableau (pattern case.vue)
- Sync : date du jour pour l'appel EDNOTIF, extraction de la dernière exit date
- UiDateMaskedInput : nouveau composant date masqué JJ/MM/AAAA
- Propagation du masque date sur tous les datatables (reception, shipment, case, inventory)
- Label de colonne "Date et heure" raccourci en "Date"
- Champ exitDate ajouté en back (caché côté front, prêt pour future feature)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Admin only avec confirmation window.confirm au clic
- Loader sur le bouton pendant l'appel POST
- Toast de succès avec les stats (créés, maj, sortis, total)
- reload() du tableau après succès
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- UiDataTable server-side sur /api/bovines
- 6 colonnes : N° National, N° Travail, Sex, Né le, Race, Entrée le
- Filtres texte + select sex (Mâle/Femelle) + deux date pickers single input
- Filtre implicite exists[exitedAt]=false pour n'afficher que les bovins actifs
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Appelle BovinApiInterface::getInventory() puis upsert local par nationalNumber
- Marque exitedAt sur les bovins absents de la réponse EDNOTIF
- Retourne les stats { created, updated, exited, total }
- Admin only
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Migration pour les nouvelles colonnes
- ExistsFilter sur exitedAt, SearchFilter sur sex/workNumber/breedCode, DateFilter sur birthDate
- DTO front étendu avec workNumber, birthDate, breedCode, sex, exitedAt
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>