Waldbesitzer -> WaldmanagerApp: Den Dienstleister die Maßnahme durchführen lassen
Waldbesitzer -> WaldmanagerApp: UI-Aktion "Dienstleister die Maßnahme durchführen lassen"
note over WaldmanagerApp #FF0000
TODO (Christian H.)
* vorgefertigte Nachricht für Freigabe des Arbeitsauftrags und der leeren Holzliste - ok?
* (ggf. mit Auswahl eines Dienstleisters, sonst default)
TODO (Ahmed)
* Beispiel-Nachricht für Freigabe vorbereiten
end note
activate WaldmanagerApp
WaldmanagerApp -> DZ_Wald: Zugriff auf Arbeitsauftrag und Holzliste für Dienstleister freigeben
WaldmanagerApp -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id für Autorisierung}/submodel/submodelElements/???) mit value o.g. vorbereitete Nachricht
note right #FF0000: TODO konkreten path nennen (Ahmed)
DienstleisterApp -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id des Arbeitsauftrags}/submodel/submodelElements/Auftragsstatus, value 150 ("Auftragsende")
DZ_Wald -> Holzhandelsplattform: REST Call GET: /api/v2/external/priceestimate mit Body Holzliste JSON-serialisiert
activate Holzhandelsplattform
Holzhandelsplattform --> DZ_Wald: Forstify-proprietäres JSON mit allen Parametern für Holzpreisbereich
deactivate Holzhandelsplattform
...
...
@@ -165,14 +197,8 @@ note over DZ_Wald
"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
note over DZ_Wald #00FF00
-> FM: JSON wie oben OK
end note
DZ_Wald -> DZ_Wald: Einlesen des prop. Forstify-JSON; Anlegen einer SMEC Holzpreisbereich in Submodel Holzpreisbereiche (ggf. dieses Erzeugen); Verknüpfung mit zugehöriger Holzliste; Nutzung
DZ_Wald --> WaldmanagerApp: S3I-ServiceReply mit prop. Forstify-JSON
deactivate DZ_Wald
WaldmanagerApp --> Waldbesitzer: UI-Anzeige des Holzpreisbereichs in ForestManager
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
Holzhandelsplattform -> DZ_Wald: S3I-GetValueRequest (path=/aas/submodels/{submodel_id der einen Holzliste}/submodel)
Käufer <-> Holzhandelsplattform: Verkaufslos wird verkauft...
note right: Eigentlicher Abschluss außerhalb des Projekt-Scope.
activate Käufer
Holzhandelsplattform -> DZ_Wald: Get Holzlistenstatus in Holzlisten
Holzhandelsplattform -> Holzhandelsplattform: Kontakt zwischen Käufer und Verkäufer hergestellt. Für Demo als "verkauft" einstufen und entsprechend an DZ Wald vermitteln
Holzhandelsplattform -> DZ_Wald: S3I-SetValueRequest (path=/aas/submodels/{submodel_id des Verkaufslos}/submodel/submodelElements/Verkaufsstatus) mit Wert 30 ("Verkauft")