Dienstplan als PDF im Browser: Unterschied zwischen den Versionen

 
(16 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
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 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.
*Es muss ein Benutzer mit den gewünschten Druckeinstellungen konfiguriert werden.
**<code>Systemeinstellungen: Druck-Einstellungen: Benutzer für Webservice Ausdruck von Monatsplan</code>
**<code>Systemeinstellungen: Druck-Einstellungen: Benutzer für Webservice Ausdruck von Monatsplan</code>
* Der Benutzer muss mindestens die Rechte '''Dienstplan lesen''' besitzen.
*Der Benutzer muss mindestens die Rechte '''Dienstplan lesen''' besitzen.
{{AlexBild|Ausdruck Benutzer|[[Datei:Dienstplan_PDF.PNG]]}}
{{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 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 31: Zeile 33:
|<code>planCode</code>||Zeichenkette||Kurzzeichen einer Planungseinheit
|<code>planCode</code>||Zeichenkette||Kurzzeichen einer Planungseinheit
|-
|-
|<code>employeeId</code>||Datum||Eine Personalnummer, die '''Planungseinheit''' ergibt sich aus der '''Stammzuteilung'''
|<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'''
Zeile 39: Zeile 41:
*<code><nowiki>http://192.168.0.100:8080/AlexPrintPlanPeriod?date=10.06.2023&employeeId=123</nowiki></code>
*<code><nowiki>http://192.168.0.100:8080/AlexPrintPlanPeriod?date=10.06.2023&employeeId=123</nowiki></code>


===Minimaler Status für Webservice-Ausdruck von Dienstplan <ref name="issue8715">{{githubissue|8715}}</ref>===
===Formatierung der Ausgabe ===
Der Dienstplan wird beim Abruf über die URL ohne Inhalt angezeigt, sobald der gesetze Wert beim Parameter '''minimaler Status für Webservice-Ausdruck von Dienstplan''' unterschritten wird.


Bei einer erfolgreichen Anfrage gibt das Webservice eine '''Datei im PDF-Format''' zurück


'''<u>Beispiel:</u>'''
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"
    ]
}


Gesetzter Wert beim Parameter ist Status Planung.
==== Status von Dienstplan nicht erfüllt <ref name="issue8715"/> ====


Alle Dienstpläne im Status nicht erzeugt werden ohne geplante Dienste, Aufgaben, Planungscodes, Sonderabrechnungen als PDF übergeben.
Falls der '''minimaler Status für Webservice-Ausdruck von Dienstplan''' nicht erfüllt ist, wird folgende Fehlermeldung als Text im Response zurückgegeben:
{| class="wikitable alex-blue"
{
|+
    "request": "/AlexPrintPlanPeriod?date=<date>&employeeId=<id>",
! colspan="2" |Statustreppe
    "status": "error",
|-
    "details": "Dienstplan mit Status >Planung< noch nicht verfügbar."
!Status
}
!Beschreibung
Der Response Status wird auf <code>404 Not Found</code> gesetzt.
|-
|Nicht erzeugt
|Weiterführende Informationen finden Sie [[Statustreppe#Nicht erzeugt|hier]].
|-
|Planung
|Weiterführende Informationen finden Sie [[Statustreppe#Planung|hier]].
|-
|Benachrichtigt
|?
|-
|Benachrichtigt Planer
|?
|-
|Ist
|Weiterführende Informationen finden Sie [[Statustreppe#Ist|hier]].
|-
|Abgeschlossen
|Weiterführende Informationen finden Sie [[Statustreppe#Abgeschlossen|hier]].
|-
|Versiegelt
|Weiterführende Informationen finden Sie [[Statustreppe#Versiegelt|hier]].
|}


==Fußnoten==
==Fußnoten==

Aktuelle Version vom 6. Mai 2024, 13:38 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 Rechte Dienstplan lesen besitzen.
Ausdruck Benutzer
Dienstplan PDF.PNG
  • 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 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.

Fußnoten

Diskussionen