feat(loans): confirm declared material state changes

This commit is contained in:
SaidSoighiri94
2026-07-24 13:41:40 +02:00
parent 3739e9b0a0
commit a562b3248f
26 changed files with 1832 additions and 282 deletions
+31 -24
View File
@@ -1,5 +1,5 @@
# Règles métier — EME
## Nouveau workflow d'emprunt et de restitution autonome
## Workflow automatique avec confirmation responsable des écarts
Les règles métier définissent les contraintes fonctionnelles que l'application EME — Emprunt Matériel ENSUP doit respecter dans le cadre du nouveau workflow validé.
@@ -36,7 +36,7 @@ Chaque emprunt et restitution doit être associé au poste dédié, à la salle
Chaque matériel doit être identifié de manière unique par une référence, un numéro d'inventaire ou un numéro de série, et rattaché à une catégorie, un campus et un statut.
**RG07 — Disponibilité du matériel**
Seuls les matériels ayant le statut `DISPONIBLE` peuvent être empruntés. Un matériel emprunté, non conforme, détérioré, en maintenance ou indisponible ne peut pas faire l'objet d'un nouvel emprunt.
Seuls les matériels ayant le statut `DISPONIBLE` peuvent faire l'objet d'un emprunt. Sans écart déclaré au départ, le matériel passe directement à `EMPRUNTE`. Si l'étudiant modifie l'état prérempli d'un élément, le matériel passe à `RESERVE` jusqu'à la décision du responsable. Un matériel réservé, emprunté, non conforme, détérioré, en maintenance ou indisponible ne peut pas faire l'objet d'un autre emprunt.
**RG08 — Accessoires attendus**
Chaque matériel peut être associé à une liste d'accessoires attendus (chargeur, souris, câble, housse, etc.).
@@ -51,11 +51,17 @@ L'étudiant doit choisir l'action `Emprunter` depuis l'écran d'accueil, puis s'
**RG10 — Affichage des matériels disponibles**
Après identification, le système affiche uniquement les matériels disponibles du campus concerné.
**RG11Checklist de départ obligatoire**
Une checklist de départ doit être obligatoirement renseignée avant la création de l'emprunt. Elle reprend les accessoires attendus du matériel sélectionné. L'étudiant indique pour chaque élément son état : `PRESENT`, `ABSENT` ou `DETERIORE`.
**RG10AUnicité d'emprunt actif par catégorie**
Un étudiant ne peut pas demander un matériel d'une catégorie s'il possède déjà un emprunt bloquant de cette même catégorie. Sont bloquants les emprunts `EN_ATTENTE_VALIDATION_DEPART`, `EN_COURS`, `EN_RETARD` et `EN_ATTENTE_VALIDATION_RETOUR`. La catégorie redevient empruntable après la clôture automatique d'un retour sans écart ou après la décision du responsable sur un retour modifié. Il n'existe pas de limite calendaire : l'étudiant peut emprunter à nouveau la catégorie le même jour après cette clôture.
**RG12 — Création automatique de l'emprunt**
Après validation de la checklist de départ, le système crée automatiquement l'emprunt, enregistre la date et l'heure, et fait passer le matériel au statut `EMPRUNTE`.
**RG11 — Checklist de départ obligatoire**
Une checklist de départ doit être obligatoirement vérifiée avant la création de l'emprunt. Elle reprend les accessoires attendus du matériel sélectionné et initialise automatiquement chaque élément dans son état de référence, normalement `PRESENT`. L'étudiant contrôle physiquement le matériel et ne modifie une valeur en `ABSENT` ou `DETERIORE` que s'il constate réellement un écart.
**RG12 — Départ automatique sans écart**
Si l'étudiant confirme la checklist de départ préremplie sans la modifier, l'emprunt passe directement à `EN_COURS` et le matériel à `EMPRUNTE`. Aucune validation du responsable n'est requise pour ce départ normal.
**RG12A — Confirmation d'un écart au départ**
Dès que l'étudiant modifie l'état prérempli d'un élément, le système place le départ en `EN_ATTENTE_VALIDATION_DEPART`, réserve le matériel et alerte les responsables du campus. La modification reste provisoire et ne change pas l'état officiel du matériel. Le responsable contrôle l'écart et le confirme ou le refuse. Une confirmation authentifie le nouvel état de départ, crée l'anomalie correspondante, puis permet le passage à `EN_COURS` et `EMPRUNTE`. Un refus n'applique pas l'état déclaré par l'étudiant. La décision, son auteur, sa date et son observation éventuelle sont historisés.
**RG13 — Détection automatique des emprunts en retard**
Lorsqu'un emprunt dépasse sa date de retour prévue sans avoir été restitué, son statut passe automatiquement à `EN_RETARD` et il apparaît dans le tableau de bord du responsable matériel.
@@ -71,23 +77,26 @@ L'étudiant doit choisir l'action `Restituer` depuis l'écran d'accueil, puis s'
Après identification, le système affiche uniquement les emprunts en cours de l'étudiant identifié. Un étudiant ne peut restituer que ses propres emprunts.
**RG16 — Checklist de retour obligatoire**
Une checklist de retour doit obligatoirement être renseignée. Elle reprend les mêmes éléments que la checklist de départ pour permettre la comparaison.
Une checklist de retour doit être obligatoirement vérifiée. Elle est automatiquement préremplie avec l'état de départ validé de chaque élément. L'étudiant ne modifie une valeur que s'il constate une différence au moment de la restitution.
**RG17 — Comparaison automatique des checklists**
Le système compare automatiquement la checklist de départ avec la checklist de retour pour déterminer la conformité de la restitution.
Le système compare automatiquement la checklist de retour avec l'état de départ validé. Une checklist inchangée constitue un retour conforme. Toute modification constitue une déclaration d'écart provisoire soumise à la confirmation du responsable.
**RG18 — Retour conforme**
Si la checklist de retour correspond à celle de départ, l'emprunt est clôturé et le matériel repasse au statut `DISPONIBLE`.
**RG18 — Retour automatique sans écart**
Si l'étudiant confirme la checklist de retour préremplie sans la modifier, le retour est clôturé automatiquement : l'emprunt passe à `CLOTURE` et le matériel à `DISPONIBLE`. Aucune validation du responsable n'est requise.
**RG19 — Retour non conforme**
Si une différence est détectée, l'emprunt passe au statut `RETOUR_NON_CONFORME` et le matériel peut passer à `NON_CONFORME`, `DETERIORE`, `MAINTENANCE` ou `INDISPONIBLE` selon le problème détecté.
**RG19 — Confirmation d'un changement au retour**
Dès que l'étudiant tente de modifier une valeur préremplie, l'emprunt passe à `EN_ATTENTE_VALIDATION_RETOUR`, le matériel reste indisponible et une alerte est envoyée aux responsables du campus. Le changement reste provisoire : il ne modifie ni l'état officiel du matériel ni l'état de départ conservé. Après contrôle, le responsable confirme ou refuse la différence. Une confirmation crée l'anomalie et applique l'état final approprié avec le statut `RETOUR_NON_CONFORME`. Un refus conserve l'état validé au départ et permet une clôture conforme. La décision est historisée.
**RG19A — Déblocage de la catégorie**
La catégorie est débloquée immédiatement après un retour automatique sans écart. Lorsqu'une différence est déclarée, elle reste bloquée jusqu'à la décision du responsable, puis est débloquée que la différence soit confirmée ou refusée.
---
## 6. Anomalies
**RG20 — Création automatique d'une anomalie**
Une anomalie est créée automatiquement si un élément présent au départ est absent au retour, ou si un élément est déclaré détérioré au retour.
**RG20 — Création d'une anomalie confirmée**
Une anomalie est créée uniquement si le responsable confirme une différence ou une dégradation déclarée au départ ou au retour. La tentative de modification déclenche l'alerte et la demande de confirmation, mais elle ne crée pas encore une anomalie authentifiée et ne change pas l'état officiel du matériel.
**RG21 — Association de l'anomalie**
Chaque anomalie doit être associée à l'étudiant concerné, au matériel, à l'emprunt et aux éléments de checklist concernés.
@@ -103,7 +112,7 @@ Le responsable matériel peut consulter une anomalie, ajouter une observation et
## 7. Notifications
**RG24 — Création automatique d'une notification**
Lors de la création d'une anomalie, une notification est créée automatiquement et adressée au responsable matériel concerné.
Une notification est créée pour les responsables du campus dès la première modification d'une checklist préremplie au départ ou au retour. Les confirmations d'anomalie et les changements d'état officiel du matériel sont également signalés et historisés. Une seule demande active doit regrouper les modifications d'une même checklist afin d'éviter les alertes en double.
**RG25 — Persistance et lecture des notifications**
Les notifications sont enregistrées en base, consultables a posteriori, et peuvent être marquées comme lues par leur destinataire.
@@ -113,19 +122,19 @@ Les notifications sont enregistrées en base, consultables a posteriori, et peuv
## 8. Supervision par le responsable matériel
**RG26 — Périmètre de supervision**
Le responsable matériel agit a posteriori et n'intervient pas en temps réel dans le parcours étudiant. Son rôle est la supervision, la gestion du stock et le traitement des anomalies.
Le responsable matériel intervient lorsqu'un étudiant déclare un écart par rapport à une checklist préremplie. Il confirme ou refuse ce changement avant toute modification de l'état officiel du matériel. Il assure également la supervision, la gestion du stock et le traitement des anomalies.
**RG27 — Filtrage par campus**
Un responsable matériel ne peut consulter que les données (matériels, emprunts, anomalies, historique) du campus auquel il est rattaché.
**RG28 — Consultation des emprunts**
Le responsable matériel peut consulter les emprunts en cours, en retard, clôturés et les retours non conformes.
Le responsable matériel peut consulter les écarts en attente de confirmation au départ ou au retour, les emprunts en cours, en retard, clôturés, annulés et les retours non conformes.
**RG29 — Consultation du stock**
Le responsable matériel peut consulter l'état du stock et les statuts des matériels.
**RG30 — Gestion du matériel et des accessoires**
Le responsable matériel peut gérer les matériels, les accessoires associés, les checklists liées et faire évoluer les statuts.
Le responsable matériel peut gérer les matériels, les accessoires associés, confirmer les écarts de checklist et faire évoluer les statuts. Une différence déclarée par un étudiant ne peut modifier l'état officiel du matériel que dans le cadre des confirmations prévues par RG12A et RG19.
**RG31 — Consultation de l'historique**
Le responsable matériel peut consulter l'historique des emprunts, restitutions, anomalies et changements de statut.
@@ -135,7 +144,7 @@ Le responsable matériel peut consulter l'historique des emprunts, restitutions,
## 9. Historique et traçabilité
**RG32 — Historisation des actions importantes**
Toute opération importante doit être enregistrée dans l'historique : identification d'un étudiant, création d'un emprunt, validation des checklists, restitution, comparaison, création d'une anomalie, changement de statut d'un matériel et traitement d'une anomalie.
Toute opération importante doit être enregistrée dans l'historique : identification d'un étudiant, confirmation automatique d'une checklist inchangée, tentative de modification, validation ou refus du responsable, restitution, création d'une anomalie, changement de statut d'un matériel et traitement d'une anomalie.
**RG33 — Informations conservées dans l'historique**
L'historique doit conserver la date, l'heure, l'utilisateur concerné, le matériel concerné, le poste utilisé, la salle de prêt, le campus et l'action réalisée.
@@ -144,10 +153,8 @@ L'historique doit conserver la date, l'heure, l'utilisateur concerné, le matér
## Résumé
Les règles métier du nouveau workflow EME reposent sur un principe d'**autonomie de l'étudiant**.
Les règles métier du workflow EME reposent sur un **parcours automatique tant que l'étudiant ne déclare aucun écart**.
L'étudiant emprunte ou restitue son matériel depuis un poste dédié, s'identifie par QR code ou mail ENSUP, complète une checklist au départ et au retour, puis le système compare automatiquement les informations saisies.
Au départ, la checklist est préremplie avec l'état de référence du matériel. Une confirmation sans modification active automatiquement l'emprunt. Toute différence déclarée réserve le matériel, alerte le responsable et reste provisoire jusqu'à sa décision.
En cas de différence, une anomalie est créée automatiquement et une notification est envoyée au responsable matériel. L'ensemble des opérations est historisé afin de garantir la traçabilité.
Le responsable matériel agit **a posteriori** : il consulte, traite les anomalies, gère le stock et l'historique de son campus, sans intervenir en temps réel dans le parcours étudiant.
Au retour, la checklist reprend automatiquement l'état validé au départ. Une restitution inchangée est clôturée automatiquement. Dès que l'étudiant tente de modifier cet état, le responsable est alerté et doit confirmer le changement avant la création de l'anomalie et la mise à jour de l'état officiel. La catégorie reste bloquée tant que l'emprunt précédent n'est pas clôturé.