Skip to content

Commit

Permalink
Merge pull request #1 from before-interop/first_try
Browse files Browse the repository at this point in the history
  • Loading branch information
aminvielledebat authored Feb 17, 2022
2 parents eaabcb6 + 9c35160 commit f194e59
Show file tree
Hide file tree
Showing 9 changed files with 736 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.idea
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
# API de déclaration d'Anomalie Adresse

## Modèle de données

![](image/model.png)

## Description d'une séquence d'appels

![](image/sequence.png)

## Description du cycle de vie d'un ticket (API Ticketing) rattaché à une anomalie d'adresse

![](image/lifecycle.png)

Binary file added image/lifecycle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/sequence.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 48 additions & 0 deletions lifecycle.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
@startuml
header Interop Trouble Ticket Lifecycle \nbased on TMF 621\n"Anomalie Adresse" Use Case


state acknowledged #palegreen
state inProgress #palegreen
state closed #palegreen
state rejected #palegreen
state cancelled #palegreen
state resolved #palegreen
state choice <<choice>>
state held #palegreen
state pending #palegreen

[*] --> acknowledged: Controle de base. \n Syntaxe Ok
[*] --> [*]: Erreur Http. \n Requête invalide ou syntaxe KO

acknowledged -[#green]-> inProgress: <color:#green>Affectation d'une ressource (humaine ou si)
acknowledged -[bold,#green]-> rejected: <color:#green>Validation KO
acknowledged -[bold,#blue]-> cancelled: <color:#blue>Ticket annulé par l'OC

inProgress -[#green]-> pending: <color:#green>l'Oi a besoin d'informations supplémentaires\n<color:#green> pour traiter le ticket
pending -right[#green]-> cancelled: <color:#green>Informations supplémentaires \n <color:#green>non fournies par l'OC
pending -[#blue]-> cancelled: <color:#blue>Ticket annulé \n<color:#blue> par l'OC
pending -[#blue]-> inProgress: <color:#blue>Informations supplémentaires \n<color:#blue>fournies par l'OC
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)
inProgress -[bold,#blue]-> cancelled: <color:#blue>Ticket annulé \n<color:#blue> par l'OC
inProgress -[bold,#green]-> resolved: <color:#green>Ticket résolu
inProgress -up[#green]-> held: <color:#green>affichage d'un gel interne OI
inProgress -[#green]-> inProgress : <color:#green>Complexity et expectedResolutiondate sont renseignées
held -[#green]-> inProgress: <color:#green>Changement de la date de résolution\n<color:#green> et complexité si nécessaire

resolved -[bold,#blue]-> choice
resolved -[bold,#green]-> closed: Cloture par l'OI si besoin
choice -[bold,#blue]-> inProgress: <color:#blue>Oc refuse la résolution
choice -[bold,#blue]-> closed: <color:#blue>Résolution acceptée

closed -[bold,#black]-> [*]: Fin du processus
cancelled -[bold,#black]-> [*]: Fin du processus
rejected -[bold,#black]-> [*]: Fin du processus

legend
|= Color |= Type |= Description |
|<#blue>| <&arrow-right> | Changement d'état à la demande de l'OC|
|<#green>| <&arrow-right> | Changement d'état à la demande de l'OI |
endlegend

@enduml
104 changes: 104 additions & 0 deletions model.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
@startuml
hide circle
hide methods
hide stereotype
show <<Enumeration>> stereotype
skinparam class {
BackgroundColor<<Enumeration>> #Thistle
BackgroundColor<<Ref>> #LightGrey
BackgroundColor<<Pivot>> #FFFFFFF
BackgroundColor #Grey
BorderColor #Black
ArrowColor #Black
}

class Anomalie <<Pivot>> {
id: String
href: String
commentaire_oc: String
commande_client_final_oc: String
creationDate: Datetime
type: String
}

class Creation <<Pivot>> {
adresse: Adresse
}
Anomalie <|-- Creation
Creation *-- "1" Adresse

class CreationImmeubleNeuf <<Pivot>> {
adresse: AdresseComplementsSpecifiques
}
note left: Une creation d'imb neuf aura une adresse de creation \net des complements
CreationImmeubleNeuf *-- "1" AdresseComplementsSpecifiques
Creation <|-- CreationImmeubleNeuf

class Modification <<Pivot>> {
adresse_initiale: AdresseRef
adresse_cible: Adresse
}
Anomalie <|-- Modification
Modification *-- "1" Adresse
Modification *-- "1" AdresseRef

class Adresse {
code_adresse: String
code_insee: String
code_voie_rivoli: String
numero_voie: integer
complement_numero_voie: String
type_voie: String
nom_voie: String
code_postal: String
commune: String
batiment: String
nombre_logements_adresse_ipe: integer
type_immeuble: String
type_projection_geographique: String
coordonnees: CoordonnesXY
immeuble_neuf: integer
reference_pm: String
code_ban: String
code_hexacle_voie: String
information_complementaire_adresse: String
}
Adresse *--"1" CoordonnesXY

class AdresseRef {
identifiant_immeuble: String
}
note right of AdresseRef: Seul l'identifiant d'immeuble\n est obligatoire sur \n l'adresse initiale

class AdresseComplementsSpecifiques {
promoteur: String
organisme_bailleur: String
adresse_bailleur: String
cp_bailleur: Integer
ville_bailleur: String
tel_bailleur: String
siret_bailleur: String
signature_convention: String
date_signature_convention: Datetime
reference_pbo: String
adresse_pm: String
coordonnees_pm: CoordonnesXY
}
Adresse <|-- AdresseComplementsSpecifiques
AdresseComplementsSpecifiques *--"1" CoordonnesXY

class CoordonnesXY {
x: String
y: String
type: projection
}

legend
|= Color |= Description |
|<#Thistle>| Enumération de constantes|
|<#FFFFFF>| Ressource exposée par l'API |
|<#LightGrey>| Objet pointant vers une API (via id et href) |
|<#Grey>| Objet propre à l'API |
endlegend

@enduml
15 changes: 15 additions & 0 deletions sequence.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@startuml
'https://plantuml.com/sequence-diagram

autonumber

Customer -> "AnomalieIPE API" : **POST /anomalieIpe** Création de l'anomalie souhaitée
"AnomalieIPE API" --> Customer : **HTTP 201** Identifiant de l'anomalie
... ...
Customer -> "AnomalieIPE API" : **GET /anomalieIpe/{id}** Récupération de l'anomalie\n et de ses informations
"AnomalieIPE API" --> Customer : **HTTP 200** Anomalie
... ...
Customer -> "AnomalieIPE API" : **GET /anomalieIpe?type=Creation** Recherche des anomalieIpe de Creation
"AnomalieIPE API" --> Customer : **HTTP 200** Liste des tickets

@enduml
Loading

0 comments on commit f194e59

Please sign in to comment.