gmao/docs/ui-audit/EXTERNAL_MAINTENANCE_WORKFLOW.md
root e65e653bd6
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
docs(preventive): propose unit durations and external workflow
2026-08-23 13:26:53 +00:00

81 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Workflow maintenance external — proposition Phase 2.1
## État réel actuel
`LotTask` possède déjà `contrat`, `company_id`, `contract_id`,
`gestionnaire`, `periodicite` et `jours_entre_interventions`. `ScheduledTask`
possède également lentreprise, le contrat, léquipement, la salle,
laffectation et les dates prévues/réelles. `ContractVisit` représente une
visite de contrat avec une date et un statut.
Cette base permet dassocier une tâche à une entreprise, mais ne distingue pas
encore proprement : date déchéance, rendez-vous avec heure, passage libre,
arrivée réelle, non-venue et temps daccompagnement du technicien.
## Parcours métier proposé
1. Dans la fiche du lot, choisir lexécutant : technicien du collège,
entreprise, Département ou mixte.
2. Si nécessaire, choisir lentreprise et le contrat.
3. Définir le périmètre : tous les équipements actifs du lot/catégorie, ou une
sélection manuelle filtrée par bâtiment, zone et salle.
4. Définir la périodicité et la prochaine échéance séparément.
5. Choisir le mode de passage : rendez-vous, date sans heure ou passage libre.
6. Pour un rendez-vous, saisir date, heure/durée, notes et accompagnement.
7. À larrivée, enregistrer le passage réel ; une non-venue laisse la tâche à
réaliser et permet de proposer un nouveau rendez-vous.
## États métier proposés
`À planifier`, `Rendez-vous fixé`, `Passage libre`, `Arrivée`, `En cours`,
`Réalisé`, `Reporté`, `Non venue`, `Annulé`.
Le rendez-vous et le passage réel sont distincts. La prochaine échéance ne doit
être recalculée quaprès une vérification réellement enregistrée, selon les
règles du contrat. Par défaut, la proposition est : date réelle + périodicité.
## Temps dentreprise et temps technicien
La durée de présence de lentreprise nest pas automatiquement la durée
bloquée dans `DayPlanner`. Une tâche doit distinguer :
- présence totale de lentreprise ;
- accompagnement ponctuel du technicien ;
- accompagnement complet du technicien.
Seul laccompagnement prévu bloque lagenda du technicien. Un passage libre
reste une information/alerte et ne réserve aucun créneau arbitraire.
## Périmètre des équipements
Deux modes sont à prévoir :
- **dynamique** : tous les équipements actifs répondant au lot/catégorie et
aux filtres de localisation ;
- **manuel** : sélection explicite déquipements.
Le mode dynamique simplifie la maintenance dun parc qui évolue ; le mode
manuel convient à un contrat limité à quelques appareils. Linterface doit
afficher le nombre déquipements concernés et permettre de revoir la sélection.
## Espaces verts
Les durées de tonte, bordures, taille et évacuation sont des durées propres à
une zone. Elles ne doivent pas être portées par une règle générique de lot.
Une extension dédiée de périmètre/zone est à concevoir après validation du
modèle de localisation existant.
## RBAC et sécurité
La consultation suit les permissions du lot, de lentreprise et du planning.
La modification dun contrat ou dun rendez-vous doit être autorisée par la
permission métier correspondante. Les liens vers les équipements restent
protégés par les permissions patrimoine.
## Migration à étudier avant développement
Avant toute migration, comparer une extension de `LotTask`/`ContractVisit` avec
un modèle de passage séparé. Les champs éventuels seraient notamment : mode
dexécutant, mode de passage, fenêtre, heure, durée daccompagnement, statut,
date réelle et périmètre dynamique. Aucune table ni migration nest créée dans
cette étude.