feat(loans): confirm declared material state changes
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
# Parcours utilisateur validé
|
||||
|
||||
Ce diagramme remplace le PNG historique `parcour_utilisateur.png`, qui décrit
|
||||
partiellement l'ancien workflow automatique.
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[Identification étudiant] --> B{Action}
|
||||
|
||||
B -->|Emprunter| C[Sélection du matériel]
|
||||
C --> D{Même catégorie déjà bloquée ?}
|
||||
D -->|Oui| E[Demande refusée]
|
||||
D -->|Non| F[Checklist de départ<br/>préremplie avec l'état de référence]
|
||||
F --> G{État modifié ?}
|
||||
G -->|Non| H[Matériel EMPRUNTE<br/>Emprunt EN_COURS]
|
||||
G -->|Oui| I[Matériel RESERVE<br/>Emprunt EN_ATTENTE_VALIDATION_DEPART]
|
||||
I --> J[Alerte responsable du campus]
|
||||
J --> K{Confirmation de l'écart}
|
||||
K -->|Confirmé| L[Anomalie créée<br/>État de départ authentifié]
|
||||
K -->|Refusé| M[Modification non appliquée]
|
||||
L --> H
|
||||
M --> H
|
||||
|
||||
B -->|Restituer| N[Sélection d'un emprunt personnel]
|
||||
N --> O[Checklist de retour préremplie<br/>avec l'état de départ validé]
|
||||
O --> P{État modifié ?}
|
||||
P -->|Non| Q[Emprunt CLOTURE<br/>Matériel DISPONIBLE]
|
||||
P -->|Oui| R[Emprunt EN_ATTENTE_VALIDATION_RETOUR<br/>Alerte responsable]
|
||||
R --> S{Confirmation du changement}
|
||||
S -->|Confirmé| T[Anomalie créée<br/>RETOUR_NON_CONFORME et état final]
|
||||
S -->|Refusé| Q
|
||||
|
||||
Q --> U[Catégorie débloquée]
|
||||
T --> U
|
||||
```
|
||||
|
||||
## Règles structurantes
|
||||
|
||||
- Le départ et le retour sont automatiques lorsque la checklist préremplie
|
||||
reste inchangée.
|
||||
- Au retour, l'état validé au départ est automatiquement repris.
|
||||
- Dès que l'étudiant modifie une valeur, le responsable est alerté et doit
|
||||
confirmer ou refuser le changement.
|
||||
- Une anomalie et un changement d'état officiel ne sont appliqués qu'après
|
||||
confirmation du responsable.
|
||||
- Une catégorie reste bloquée pour l'étudiant tant que le retour précédent
|
||||
n'a pas été clôturé.
|
||||
- Il n'existe pas de limite d'une fois par jour après clôture du retour.
|
||||
- Chaque tentative de modification, décision, anomalie et changement de
|
||||
statut matériel est tracé.
|
||||
@@ -96,9 +96,13 @@ classDiagram
|
||||
+ModeIdentification modeIdentificationRetour
|
||||
+String commentaireDepart
|
||||
+String commentaireRetour
|
||||
+creer()
|
||||
+enregistrerRetour()
|
||||
+cloturer()
|
||||
+confirmerDepartInchange()
|
||||
+soumettreEcartDepart()
|
||||
+confirmerEcartDepart()
|
||||
+initialiserRetourDepuisDepart()
|
||||
+confirmerRetourInchange()
|
||||
+soumettreEcartRetour()
|
||||
+confirmerEcartRetour()
|
||||
+marquerEnRetard()
|
||||
}
|
||||
|
||||
@@ -152,6 +156,7 @@ classDiagram
|
||||
class StatutMateriel {
|
||||
<<enumeration>>
|
||||
DISPONIBLE
|
||||
RESERVE
|
||||
EMPRUNTE
|
||||
NON_CONFORME
|
||||
DETERIORE
|
||||
@@ -161,8 +166,10 @@ classDiagram
|
||||
|
||||
class StatutEmprunt {
|
||||
<<enumeration>>
|
||||
EN_ATTENTE_VALIDATION_DEPART
|
||||
EN_COURS
|
||||
EN_RETARD
|
||||
EN_ATTENTE_VALIDATION_RETOUR
|
||||
CLOTURE
|
||||
RETOUR_NON_CONFORME
|
||||
ANNULE
|
||||
@@ -237,4 +244,4 @@ classDiagram
|
||||
|
||||
Anomalie "0..1" --> "0..*" Notification : genere
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user