Keine Bearbeitungszusammenfassung Markierung: 2017-Quelltext-Bearbeitung |
|||
(24 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Das [[Intern:Bfx.Alex.UI.Web.dll|WebUI-Webservice]] - '''Dienstplan PDF''' ist eine [[Programmfunktion]] zur Abfrage des Dienstplans pro Personal oder Planungseinheit und Datum im Dateiformat PDF. | Das [[Intern:Bfx.Alex.UI.Web.dll|WebUI-Webservice]] - '''Dienstplan PDF''' ist eine [[Programmfunktion]] zur Abfrage des Dienstplans pro Personal oder Planungseinheit und Datum im Dateiformat PDF. <ref name="issue8097">{{githubissue|8097}}</ref> | ||
== Ausgangssituation == | == Ausgangssituation == | ||
Zeile 5: | Zeile 5: | ||
=== Voraussetzungen === | === Voraussetzungen === | ||
Es müssen die Voraussetzungen für den Betrieb des [[Intern:Bfx.Alex.UI.Web.dll|WebUI-Webservice]] erfüllt sein | * Es müssen die Voraussetzungen für den Betrieb des [[Intern:Bfx.Alex.UI.Web.dll|WebUI-Webservice]] erfüllt sein. | ||
*Es muss ein Benutzer mit den gewünschten Druckeinstellungen konfiguriert werden. | |||
**<code>Systemeinstellungen: Druck-Einstellungen: Benutzer für Webservice Ausdruck von Monatsplan</code> | |||
*Der Benutzer muss mindestens die Rolle '''DIENSTPLAN LESEN''' (auf Systemeinstellungen) besitzen. | |||
{{AlexBild|Ausdruck Benutzer|[[Datei:Dienstplan_PDF.PNG]]}} | |||
* Es kann ein '''minimaler [[Statustreppe|Status]] für Webservice-Ausdruck von Dienstplan''' <ref name="issue8715">{{githubissue|8715}}</ref> ausgewählt werden. Danach werden nur Pläne ab diesem Status angezeigt. Falls nichts eingestellt wird, werden alle Status angezeigt. | |||
**<code>Systemeinstellungen: Druck-Einstellungen: minimaler Status für Webservice-Ausdruck von Dienstplan</code> | |||
===Formatierung der Anfrage=== | |||
=== Formatierung der Anfrage === | |||
Die Daten werden dem Webservice '''in der URL kodiert''' als '''GET'''-Argumentübertragung übergeben. | Die Daten werden dem Webservice '''in der URL kodiert''' als '''GET'''-Argumentübertragung übergeben. | ||
Zeile 19: | Zeile 19: | ||
Ein Datum wird immer als <code>DD.MM.YYYY</code> übertragen. | Ein Datum wird immer als <code>DD.MM.YYYY</code> übertragen. | ||
==== Schema für URL-Kodierung ==== | ====Schema für URL-Kodierung==== | ||
Der [https://de.wikipedia.org/wiki/URL-Encoding Prozent-Encodierte] [https://de.wikipedia.org/wiki/Query-String Query-String] der URL muss folgendes Format haben. Parameter in eckigen Klammern sind optional: | Der [https://de.wikipedia.org/wiki/URL-Encoding Prozent-Encodierte] [https://de.wikipedia.org/wiki/Query-String Query-String] der URL muss folgendes Format haben. Parameter in eckigen Klammern sind optional: | ||
Zeile 28: | Zeile 28: | ||
[&date=] | [&date=] | ||
{| class="wikitable" | {| class="wikitable alex-blue" | ||
! Parameter !! Wertebereich !! Beschreibung | !Parameter!!Wertebereich!!Beschreibung | ||
|- | |- | ||
| <code>planCode</code> || Zeichenkette || Kurzzeichen einer Planungseinheit | |<code>planCode</code>||Zeichenkette||Kurzzeichen einer Planungseinheit | ||
|- | |- | ||
| <code>employeeId</code> || | |<code>employeeId</code>||Zeichenkette||Eine Personalnummer, die '''Planungseinheit''' ergibt sich aus der '''Stammzuteilung''' | ||
|- | |- | ||
| <code>date</code> || Datum || Datum des Monats des gewünschten Stundennachweises, wenn nicht angegeben '''Heute''' | |<code>date</code>||Datum||Datum des Monats des gewünschten Stundennachweises, wenn nicht angegeben '''Heute''' | ||
|} | |} | ||
Beispiel: | |||
*<code><nowiki>http://192.168.0.100:8080/AlexPrintPlanPeriod?date=10.06.2023&employeeId=123</nowiki></code> | |||
===Formatierung der Ausgabe === | |||
Bei einer erfolgreichen Anfrage gibt das Webservice eine '''Datei im PDF-Format''' zurück | |||
Bei einem Fehler wird ein JSON-String nach folgendem Schema zurückgegeben: | |||
{ | |||
"$schema": "https://json-schema.org/draft/2020-12/schema", | |||
"title": "New/Set-Result", | |||
"description": "Format für Fehlerausgabe des Webservice", | |||
"type": "object", | |||
"properties": { | |||
"request": { | |||
"type": "string", | |||
"description": "Angeforderter Request als 'Handshake'" | |||
}, | |||
"status": { | |||
"type": "string", | |||
"description": "'error'" | |||
}, | |||
"details": { | |||
"type": "string", | |||
"description": "Optionale Detailinformationen des Fehlers" | |||
} | |||
}, | |||
"required": [ | |||
"request", | |||
"status" | |||
] | |||
} | |||
==== Status von Dienstplan nicht erfüllt <ref name="issue8715"/> ==== | |||
Falls der '''minimaler Status für Webservice-Ausdruck von Dienstplan''' nicht erfüllt ist, wird folgende Fehlermeldung als Text im Response zurückgegeben: | |||
{ | |||
"request": "/AlexPrintPlanPeriod?date=<date>&employeeId=<id>", | |||
"status": "error", | |||
"details": "Dienstplan mit Status >Planung< noch nicht verfügbar." | |||
} | |||
Der Response Status wird auf <code>404 Not Found</code> gesetzt. | |||
==Fußnoten== | |||
[[Kategorie:Funktionsübersicht]] | [[Kategorie:Funktionsübersicht]] | ||
[[Kategorie:Schnittstellen]] | [[Kategorie:Schnittstellen]] | ||
[[Kategorie:Webservice]] | |||
<references /> |
Aktuelle Version vom 22. November 2024, 09:54 Uhr
Das WebUI-Webservice - Dienstplan PDF ist eine Programmfunktion zur Abfrage des Dienstplans pro Personal oder Planungseinheit und Datum im Dateiformat PDF. [1]
Ausgangssituation
Voraussetzungen
- Es müssen die Voraussetzungen für den Betrieb des WebUI-Webservice erfüllt sein.
- Es muss ein Benutzer mit den gewünschten Druckeinstellungen konfiguriert werden.
Systemeinstellungen: Druck-Einstellungen: Benutzer für Webservice Ausdruck von Monatsplan
- Der Benutzer muss mindestens die Rolle DIENSTPLAN LESEN (auf Systemeinstellungen) besitzen.
Ausdruck Benutzer |
- Es kann ein minimaler Status für Webservice-Ausdruck von Dienstplan [2] ausgewählt werden. Danach werden nur Pläne ab diesem Status angezeigt. Falls nichts eingestellt wird, werden alle Status angezeigt.
Systemeinstellungen: Druck-Einstellungen: minimaler Status für Webservice-Ausdruck von Dienstplan
Formatierung der Anfrage
Die Daten werden dem Webservice in der URL kodiert als GET-Argumentübertragung übergeben.
Ein Datum wird immer als DD.MM.YYYY
übertragen.
Schema für URL-Kodierung
Der Prozent-Encodierte Query-String der URL muss folgendes Format haben. Parameter in eckigen Klammern sind optional:
/AlexPrintPlanPeriod [?planCode=] [&employeeId=] [&date=]
Parameter | Wertebereich | Beschreibung |
---|---|---|
planCode |
Zeichenkette | Kurzzeichen einer Planungseinheit |
employeeId |
Zeichenkette | Eine Personalnummer, die Planungseinheit ergibt sich aus der Stammzuteilung |
date |
Datum | Datum des Monats des gewünschten Stundennachweises, wenn nicht angegeben Heute |
Beispiel:
http://192.168.0.100:8080/AlexPrintPlanPeriod?date=10.06.2023&employeeId=123
Formatierung der Ausgabe
Bei einer erfolgreichen Anfrage gibt das Webservice eine Datei im PDF-Format zurück
Bei einem Fehler wird ein JSON-String nach folgendem Schema zurückgegeben:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "New/Set-Result", "description": "Format für Fehlerausgabe des Webservice", "type": "object", "properties": { "request": { "type": "string", "description": "Angeforderter Request als 'Handshake'" }, "status": { "type": "string", "description": "'error'" }, "details": { "type": "string", "description": "Optionale Detailinformationen des Fehlers" } }, "required": [ "request", "status" ] }
Status von Dienstplan nicht erfüllt [2]
Falls der minimaler Status für Webservice-Ausdruck von Dienstplan nicht erfüllt ist, wird folgende Fehlermeldung als Text im Response zurückgegeben:
{ "request": "/AlexPrintPlanPeriod?date=<date>&employeeId=<id>", "status": "error", "details": "Dienstplan mit Status >Planung< noch nicht verfügbar." }
Der Response Status wird auf 404 Not Found
gesetzt.