Skip to content
Snippets Groups Projects
Commit dc20c0c1 authored by Martin Hoppen's avatar Martin Hoppen
Browse files

Erste Umsetzungsschritte in Demo-Feinspezifikation

parent fc6dd043
No related branches found
No related tags found
No related merge requests found
Pipeline #300486 passed
......@@ -5,6 +5,7 @@
' - wie werden Nachrichten modelliert und worüber versendet?
skinparam maxMessageSize 120
skinparam wrapWidth 200
box #LightBlue
participant Waldbesitzer
......@@ -128,42 +129,65 @@ deactivate WaldmanagerApp
== OPTIONAL: Preisangebote einholen (vor oder nach Einschlag) ==
Waldbesitzer -> WaldmanagerApp: Preisbereiche für stehendes Holz / Holzlisten anfragen
Waldbesitzer -> WaldmanagerApp: Benutzer wählt in UI Holzliste und fordert Preisbereiche dafür an
activate WaldmanagerApp
WaldmanagerApp -> DZ_Wald: Preisbereiche für stehendes Holz / Holzlisten anfragen
WaldmanagerApp -> DZ_Wald: S3I-ServiceRequest an DZ Wald auf AAS Operation getHolzpreisbereich(Submodel-Id der Holzliste)
activate DZ_Wald
DZ_Wald -> Holzhandelsplattform: Gesuche/Preise/Angebote passend zu stehendem Holz / Holzlisten abrufen
DZ_Wald -> Holzhandelsplattform: REST Call GET: /api/v2/external/priceestimate
activate Holzhandelsplattform
Holzhandelsplattform --> DZ_Wald: Liste von Gesuchen/Preisen/Angeboten/SEC.Holzpreisbereiche
Holzhandelsplattform --> DZ_Wald: Forstify-proprietäres JSON mit allen Parametern für Holzpreisbereich
deactivate Holzhandelsplattform
DZ_Wald -> DZ_Wald: Liste von Gesuchen/Preisen/Angeboten auswerten, d.h. SEC.Holzpreisbereiche anlegen
DZ_Wald --> WaldmanagerApp: Fertig / Holzpreisbereiche
note over DZ_Wald
{
"Baumart": "kie",
"PreisVon": 14500,
"PreisBis": 14500,
"Sorte": "st",
"MittendurchmesserVon": "d2b",
"MittendurchmesserBis": "d5",
"Datum": "8/4/2023, 10:56:39 AM",
"Quelle": "Forstify Marktplatz Angebote"
}
end note
DZ_Wald -> DZ_Wald: Einlesen des prop. Forstify-JSON; Anlegen einer SMEC Holzpreisbereich in Submodel Holzpreisbereiche (ggf. Erzeugen); Verknüpfung mit zugehöriger Holzliste
DZ_Wald --> WaldmanagerApp: S3I-ServiceReply "ok"
note over DZ_Wald #FF0000
TODO: Welches Rückgabeformat bevorzugt ForestManager?
end note
deactivate DZ_Wald
WaldmanagerApp --> Waldbesitzer: Fertig / Holzpreisbereiche
WaldmanagerApp --> Waldbesitzer: UI-Anzeige des Holzpreisbereichs in ForestManager
deactivate WaldmanagerApp
deactivate Waldbesitzer
== Holzangebot via Holzhandelsplattform erstellen & einstellen ==
Waldbesitzer -> Holzhandelsplattform: (S3I) Login
Dienstleister -> Holzhandelsplattform: S3I-Login
'Holzliste zum Verkauf veröffentlichen!
activate Holzhandelsplattform
activate Waldbesitzer
Waldbesitzer -> Holzhandelsplattform: Freigabe für DZ Wald erteilen
activate Holzhandelsplattform
Holzhandelsplattform -> DZ_Wald: Get Holzlisten-Daten
activate Dienstleister
note over Dienstleister #FF0000
TODO Autorisierung auf Basis der HMI der Person (=ThingID) oder der Person selbst (=PersonID)?
end note
Dienstleister -> Holzhandelsplattform: Dienstleister wählt in UI von Forstify im Profil die Funktion "Alle Holzlisten von Wald des Waldbesitzers abrufen"
note over Dienstleister
Vollständig sauber müsste der Dienstleister an dieser Stelle über das S3I-Dir nach dem entsprechenden Waldbesitzer und dessen DZ Wald suchen und dann den richtigen auswählen. Aktuell hart verdrahtet.
end note
note over Dienstleister #FF0000
TODO attributePath für Abruf *aller* Holzlisten? Evtl. Suche nach allen SM mit bestimmter SemanticId möglich?
end note
Holzhandelsplattform -> DZ_Wald: S3I-GetValueRequest an DZ Wald mit
activate DZ_Wald
DZ_Wald --> Holzhandelsplattform: Holzlisten-Daten
deactivate DZ_Wald
Holzhandelsplattform --> Waldbesitzer: Ok!
deactivate Holzhandelsplattform
Waldbesitzer -> Holzhandelsplattform: Verkaufslose bilden, Preise etc. eingeben
Holzhandelsplattform --> Dienstleister: Ok!
Dienstleister -> Holzhandelsplattform: Verkaufslose bilden, Preise etc. eingeben
Holzhandelsplattform -> Holzhandelsplattform: Verkauflose bilden
Holzhandelsplattform -> DZ_Wald: Put Verkaufslose, verknüpfe Holzlisten
activate DZ_Wald
DZ_Wald --> Holzhandelsplattform: Fertig
deactivate DZ_Wald
Holzhandelsplattform --> Waldbesitzer: Fertig
deactivate Waldbesitzer
Holzhandelsplattform --> Dienstleister: Fertig
deactivate Dienstleister
Käufer <-> Holzhandelsplattform: Interaktion...
note right: Eigentlicher Abschluss außerhalb des Projekt-Scope.
......@@ -177,54 +201,10 @@ activate Holzhandelsplattform
DZ_Wald -> WaldmanagerApp: Update Verkaufsstatus in Verkaufslos (Benachrichtigung / Event?)
deactivate DZ_Wald
activate WaldmanagerApp
WaldmanagerApp -> Waldbesitzer: Verkaufsstatus
WaldmanagerApp -> Dienstleister: Verkaufsstatus
deactivate WaldmanagerApp
deactivate Käufer
deactivate Holzhandelsplattform
== VARIANTE: Holzangebot via Dienstleister-App erstellen & einstellen ==
note over DZ_Wald #FF0000
TODO Igor nochmal anpassen
end note
Waldbesitzer -> DienstleisterApp: (S3I) Login
activate Waldbesitzer
activate DienstleisterApp
Waldbesitzer -> DienstleisterApp: Freigabe für DZ Wald erteilen
activate DienstleisterApp
DienstleisterApp -> DZ_Wald: Get Holzlisten-Daten
activate DZ_Wald
DZ_Wald --> DienstleisterApp: Holzlisten-Daten
deactivate DZ_Wald
DienstleisterApp --> Waldbesitzer: Ok!
deactivate DienstleisterApp
Waldbesitzer -> DienstleisterApp: Preise etc. eingeben
note right: Dienstleister kann Holzlisten von versch. Waldbesitzer holen und daraus Verkaufslose bilden
DienstleisterApp -> DienstleisterApp: Verkauflose bilden
DienstleisterApp <-> Holzhandelsplattform: Verkauflose veröffentlichen (Optional)
note right: Eigentlicher Abschluss außerhalb des Projekt-Scope.
DienstleisterApp --> Waldbesitzer: Fertig
deactivate Waldbesitzer
Käufer <-> DienstleisterApp: Interaktion...
activate DienstleisterApp
activate Käufer
note right: Eigentlicher Abschluss außerhalb des Projekt-Scope.
DienstleisterApp -> DZ_Wald: Get Holzlistenstatus in HolzlisteSubmodel
activate DZ_Wald
DienstleisterApp <-- DZ_Wald: Holzlistenstatus
deactivate DZ_Wald
Käufer <-> DienstleisterApp: Interaktion...
DienstleisterApp -> DZ_Wald: Update Holzlistenstatus in HolzlisteSubmodel
activate DZ_Wald
DZ_Wald -> WaldmanagerApp: Update Holzlistenstatus in HolzlisteSubmodel (Benachrichtigung / Event?)
deactivate DZ_Wald
activate WaldmanagerApp
WaldmanagerApp -> Waldbesitzer: Holzlistenstatus
deactivate WaldmanagerApp
deactivate Käufer
deactivate DienstleisterApp
@enduml
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment