Skip to content

Commit f194e59

Browse files
Merge pull request #1 from before-interop/first_try
2 parents eaabcb6 + 9c35160 commit f194e59

9 files changed

+736
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.idea

README.md

+13
Original file line numberDiff line numberDiff line change
@@ -1 +1,14 @@
11
# API de déclaration d'Anomalie Adresse
2+
3+
## Modèle de données
4+
5+
![](image/model.png)
6+
7+
## Description d'une séquence d'appels
8+
9+
![](image/sequence.png)
10+
11+
## Description du cycle de vie d'un ticket (API Ticketing) rattaché à une anomalie d'adresse
12+
13+
![](image/lifecycle.png)
14+

image/lifecycle.png

137 KB
Loading

image/model.png

86.2 KB
Loading

image/sequence.png

20.5 KB
Loading

lifecycle.puml

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
@startuml
2+
header Interop Trouble Ticket Lifecycle \nbased on TMF 621\n"Anomalie Adresse" Use Case
3+
4+
5+
state acknowledged #palegreen
6+
state inProgress #palegreen
7+
state closed #palegreen
8+
state rejected #palegreen
9+
state cancelled #palegreen
10+
state resolved #palegreen
11+
state choice <<choice>>
12+
state held #palegreen
13+
state pending #palegreen
14+
15+
[*] --> acknowledged: Controle de base. \n Syntaxe Ok
16+
[*] --> [*]: Erreur Http. \n Requête invalide ou syntaxe KO
17+
18+
acknowledged -[#green]-> inProgress: <color:#green>Affectation d'une ressource (humaine ou si)
19+
acknowledged -[bold,#green]-> rejected: <color:#green>Validation KO
20+
acknowledged -[bold,#blue]-> cancelled: <color:#blue>Ticket annulé par l'OC
21+
22+
inProgress -[#green]-> pending: <color:#green>l'Oi a besoin d'informations supplémentaires\n<color:#green> pour traiter le ticket
23+
pending -right[#green]-> cancelled: <color:#green>Informations supplémentaires \n <color:#green>non fournies par l'OC
24+
pending -[#blue]-> cancelled: <color:#blue>Ticket annulé \n<color:#blue> par l'OC
25+
pending -[#blue]-> inProgress: <color:#blue>Informations supplémentaires \n<color:#blue>fournies par l'OC
26+
inProgress -[bold,#green]-> cancelled: <color:#green>Ticket annulé par l'OI \n<color:#green> ou doublon \n<color:#green>(rattachement du ticket doublon dans les relationShip)
27+
inProgress -[bold,#blue]-> cancelled: <color:#blue>Ticket annulé \n<color:#blue> par l'OC
28+
inProgress -[bold,#green]-> resolved: <color:#green>Ticket résolu
29+
inProgress -up[#green]-> held: <color:#green>affichage d'un gel interne OI
30+
inProgress -[#green]-> inProgress : <color:#green>Complexity et expectedResolutiondate sont renseignées
31+
held -[#green]-> inProgress: <color:#green>Changement de la date de résolution\n<color:#green> et complexité si nécessaire
32+
33+
resolved -[bold,#blue]-> choice
34+
resolved -[bold,#green]-> closed: Cloture par l'OI si besoin
35+
choice -[bold,#blue]-> inProgress: <color:#blue>Oc refuse la résolution
36+
choice -[bold,#blue]-> closed: <color:#blue>Résolution acceptée
37+
38+
closed -[bold,#black]-> [*]: Fin du processus
39+
cancelled -[bold,#black]-> [*]: Fin du processus
40+
rejected -[bold,#black]-> [*]: Fin du processus
41+
42+
legend
43+
|= Color |= Type |= Description |
44+
|<#blue>| <&arrow-right> | Changement d'état à la demande de l'OC|
45+
|<#green>| <&arrow-right> | Changement d'état à la demande de l'OI |
46+
endlegend
47+
48+
@enduml

model.puml

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
@startuml
2+
hide circle
3+
hide methods
4+
hide stereotype
5+
show <<Enumeration>> stereotype
6+
skinparam class {
7+
BackgroundColor<<Enumeration>> #Thistle
8+
BackgroundColor<<Ref>> #LightGrey
9+
BackgroundColor<<Pivot>> #FFFFFFF
10+
BackgroundColor #Grey
11+
BorderColor #Black
12+
ArrowColor #Black
13+
}
14+
15+
class Anomalie <<Pivot>> {
16+
id: String
17+
href: String
18+
commentaire_oc: String
19+
commande_client_final_oc: String
20+
creationDate: Datetime
21+
type: String
22+
}
23+
24+
class Creation <<Pivot>> {
25+
adresse: Adresse
26+
}
27+
Anomalie <|-- Creation
28+
Creation *-- "1" Adresse
29+
30+
class CreationImmeubleNeuf <<Pivot>> {
31+
adresse: AdresseComplementsSpecifiques
32+
}
33+
note left: Une creation d'imb neuf aura une adresse de creation \net des complements
34+
CreationImmeubleNeuf *-- "1" AdresseComplementsSpecifiques
35+
Creation <|-- CreationImmeubleNeuf
36+
37+
class Modification <<Pivot>> {
38+
adresse_initiale: AdresseRef
39+
adresse_cible: Adresse
40+
}
41+
Anomalie <|-- Modification
42+
Modification *-- "1" Adresse
43+
Modification *-- "1" AdresseRef
44+
45+
class Adresse {
46+
code_adresse: String
47+
code_insee: String
48+
code_voie_rivoli: String
49+
numero_voie: integer
50+
complement_numero_voie: String
51+
type_voie: String
52+
nom_voie: String
53+
code_postal: String
54+
commune: String
55+
batiment: String
56+
nombre_logements_adresse_ipe: integer
57+
type_immeuble: String
58+
type_projection_geographique: String
59+
coordonnees: CoordonnesXY
60+
immeuble_neuf: integer
61+
reference_pm: String
62+
code_ban: String
63+
code_hexacle_voie: String
64+
information_complementaire_adresse: String
65+
}
66+
Adresse *--"1" CoordonnesXY
67+
68+
class AdresseRef {
69+
identifiant_immeuble: String
70+
}
71+
note right of AdresseRef: Seul l'identifiant d'immeuble\n est obligatoire sur \n l'adresse initiale
72+
73+
class AdresseComplementsSpecifiques {
74+
promoteur: String
75+
organisme_bailleur: String
76+
adresse_bailleur: String
77+
cp_bailleur: Integer
78+
ville_bailleur: String
79+
tel_bailleur: String
80+
siret_bailleur: String
81+
signature_convention: String
82+
date_signature_convention: Datetime
83+
reference_pbo: String
84+
adresse_pm: String
85+
coordonnees_pm: CoordonnesXY
86+
}
87+
Adresse <|-- AdresseComplementsSpecifiques
88+
AdresseComplementsSpecifiques *--"1" CoordonnesXY
89+
90+
class CoordonnesXY {
91+
x: String
92+
y: String
93+
type: projection
94+
}
95+
96+
legend
97+
|= Color |= Description |
98+
|<#Thistle>| Enumération de constantes|
99+
|<#FFFFFF>| Ressource exposée par l'API |
100+
|<#LightGrey>| Objet pointant vers une API (via id et href) |
101+
|<#Grey>| Objet propre à l'API |
102+
endlegend
103+
104+
@enduml

sequence.puml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@startuml
2+
'https://plantuml.com/sequence-diagram
3+
4+
autonumber
5+
6+
Customer -> "AnomalieIPE API" : **POST /anomalieIpe** Création de l'anomalie souhaitée
7+
"AnomalieIPE API" --> Customer : **HTTP 201** Identifiant de l'anomalie
8+
... ...
9+
Customer -> "AnomalieIPE API" : **GET /anomalieIpe/{id}** Récupération de l'anomalie\n et de ses informations
10+
"AnomalieIPE API" --> Customer : **HTTP 200** Anomalie
11+
... ...
12+
Customer -> "AnomalieIPE API" : **GET /anomalieIpe?type=Creation** Recherche des anomalieIpe de Creation
13+
"AnomalieIPE API" --> Customer : **HTTP 200** Liste des tickets
14+
15+
@enduml

0 commit comments

Comments
 (0)