Keine Bearbeitungszusammenfassung Markierung: 2017-Quelltext-Bearbeitung |
Keine Bearbeitungszusammenfassung |
||
Zeile 5: | Zeile 5: | ||
= Aufruf = | ==Aufruf== | ||
http://IP:PORT/EmployeeDayIntervals?PARAMETER | http://IP:PORT/EmployeeDayIntervals?PARAMETER | ||
* IP: Wie im [[ALEX-Config-File]] eingestellt | *IP: Wie im [[ALEX-Config-File]] eingestellt | ||
* HTTP-Server-PORT: Wie im ALEX-Config-File eingestellt | *HTTP-Server-PORT: Wie im ALEX-Config-File eingestellt | ||
* PARAMETER: | *PARAMETER: | ||
** Ressourcen können folgendermaßen angegeben werden | **Ressourcen können folgendermaßen angegeben werden | ||
*** "allEmployees": gesamtes Personal | ***"allEmployees": gesamtes Personal | ||
*** "id": Personalnummer | ***"id": Personalnummer | ||
*** "planCode": Kurzzeichen von Plan | ***"planCode": Kurzzeichen von Plan | ||
*** "resourcesBson": eine Zusammenfassung von Plan Kurzzeichen und Personalnummer zum Beispiel: "?resourcesBson={"employeeIDs":["E1","E2","E3"],"planCodes":["P1","P2","P3"]}" | ***"resourcesBson": eine Zusammenfassung von Plan Kurzzeichen und Personalnummer zum Beispiel: "?resourcesBson={"employeeIDs":["E1","E2","E3"],"planCodes":["P1","P2","P3"]}" | ||
** "begin": Begin-Datum des Datenauszuges Format "DD.MM.YYYY" | **"begin": Begin-Datum des Datenauszuges Format "DD.MM.YYYY" | ||
** "end": Ende-Datum des Datenauszuges Format "DD.MM.YYYY" | **"end": Ende-Datum des Datenauszuges Format "DD.MM.YYYY" | ||
** "allstates": Statusdaten für alle aktuellen Status: Planung -> Planung, Ist -> Planung und Ist | **"allstates": Statusdaten für alle aktuellen Status: Planung -> Planung, Ist -> Planung und Ist | ||
'''Sicherer Link-Aufruf''' | '''Sicherer Link-Aufruf''' | ||
Zeile 33: | Zeile 33: | ||
<nowiki>http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017&WebApiServerKey=xxxx-xxxx-xxxx-xxxx-xxxx</nowiki> | <nowiki>http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017&WebApiServerKey=xxxx-xxxx-xxxx-xxxx-xxxx</nowiki> | ||
== Beispiele == | ===Beispiele=== | ||
Alle Tagesinformationen von gesamten Personal von 05.12.2017 bis einschließlich 07.12.2017: | Alle Tagesinformationen von gesamten Personal von 05.12.2017 bis einschließlich 07.12.2017: | ||
Zeile 50: | Zeile 50: | ||
<nowiki>http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017&allstates=true</nowiki> | <nowiki>http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017&allstates=true</nowiki> | ||
= Ergebnis = | ==Ergebnis== | ||
Tagesinformation im [https://www.json.org/ JSON-Format] UTF8 codiert in der Form: | Tagesinformation im [https://www.json.org/ JSON-Format] UTF8 codiert in der Form: | ||
Zeile 89: | Zeile 89: | ||
Glossar: | Glossar: | ||
= Beispiel = | *Employees: Array aller Personen | ||
*EmployeeID: Personalnummer | |||
*Surname: Zuname | |||
*Forename: Vorname | |||
*MasterAllocation: Stammplanungseinheit | |||
*EmployeeJobGroup: Berufsgruppe | |||
*Days: Array aller Tage | |||
*ForDate: Datum von Tag | |||
*ForState: Status von Tag | |||
*TextCategory: Textkategorie auf Tag | |||
*InfoText: Text auf Tag | |||
*DayPlanSymbol: Abwesenheit auf Tag (nur Planungscodes mit Typ "Abwesend") | |||
*DayPlanSymbolObject: Plansymbol auf Tag (Kurzbezeichnung und Typ: "Anwesend" oder "Abwesend") | |||
*DayShift1: Dienst 1 auf Tag | |||
*DayShift2: Dienst 2 auf Tag | |||
*DayRequestKind: Aufgabe auf Tag | |||
*DayTotalMinutesComputed: Total in Minuten aus Status | |||
*ForeignShift1: Dienst 1 auf anderer Station | |||
*ForeignShift2: Dienst 2 auf anderer Station | |||
*DayPoolAllocations: Array aller Poolzuteilungen an diesem Tag | |||
*AssignedExtra: Array aller Sonderabrechnung/Wert-Paare an diesem Tag | |||
*DayIntervals: Array aller Kommt/Geht-Zeiten | |||
*From: Komme | |||
*To: Gehe | |||
*DayIntervalPlanSymbol: Abwesenheit auf Kommt/Geht (nur Planungscodes mit Typ "Abwesend") | |||
*DayIntervalPlanSymbolObject: Plansymbol auf Kommt/Geht (Kurzbezeichnung und Typ: "Anwesend" oder "Abwesend") | |||
*DayIntervalInfoTextCategory: Textkategorie auf Kommt/Geht | |||
*DayIntervalInfoText: Text auf Kommt/Geht | |||
*DayIntervalAssignedEvents: Array von Aufgaben | |||
===Beispiel=== | |||
{ | { | ||
Zeile 253: | Zeile 254: | ||
} | } | ||
== Links == | ==Links== | ||
[[Intern:Webservice Tagesinformationen Aktivierung|Interne Dokumentation zur Aktivierung]] | [[Intern:Webservice Tagesinformationen Aktivierung|Interne Dokumentation zur Aktivierung]] | ||
Version vom 26. Mai 2021, 10:48 Uhr
Es gibt auch eine Variante als Export-Schnittstelle.
Aufruf
http://IP:PORT/EmployeeDayIntervals?PARAMETER
- IP: Wie im ALEX-Config-File eingestellt
- HTTP-Server-PORT: Wie im ALEX-Config-File eingestellt
- PARAMETER:
- Ressourcen können folgendermaßen angegeben werden
- "allEmployees": gesamtes Personal
- "id": Personalnummer
- "planCode": Kurzzeichen von Plan
- "resourcesBson": eine Zusammenfassung von Plan Kurzzeichen und Personalnummer zum Beispiel: "?resourcesBson={"employeeIDs":["E1","E2","E3"],"planCodes":["P1","P2","P3"]}"
- "begin": Begin-Datum des Datenauszuges Format "DD.MM.YYYY"
- "end": Ende-Datum des Datenauszuges Format "DD.MM.YYYY"
- "allstates": Statusdaten für alle aktuellen Status: Planung -> Planung, Ist -> Planung und Ist
- Ressourcen können folgendermaßen angegeben werden
Sicherer Link-Aufruf
In den Systemeinstellungen kann unter den "WebApiServer Einstellungen" ein Key generiert werden. Dieser Key muss dann bei jedem Aufruf beim HTTP-Server mit `?WebApiServerKey=<generierter Key>` mitgegeben werden. Der Key kann nicht mehr verändert werden.
Parameter auf "ja" setzen und "Ausführen" klicken, dann wird Key hinterlegt.
Beispiel:
http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017&WebApiServerKey=xxxx-xxxx-xxxx-xxxx-xxxx
Beispiele
Alle Tagesinformationen von gesamten Personal von 05.12.2017 bis einschließlich 07.12.2017:
http://localhost:4480/EmployeeDayIntervals?allEmployees=true&begin=05.12.2017&end=07.12.2017
Alle Tagesinformationen von Personal mit Personalnummer "20" von 05.12.2017 bis einschließlich 07.12.2017:
http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017
Alle Tagesinformationen von Personal auf Plan "X" von 01.12.2017 bis einschließlich 31.12.2017:
http://localhost:4480/EmployeeDayIntervals?planCode=X&begin=01.12.2017&end=31.12.2017
Alle Tagesinformationen von Personal "E1", "E2", "E3" und Personal auf Plänen "P1", "P2", "P3" von 01.12.2017 bis einschließlich 31.12.2017:
http://localhost:4480/EmployeeDayIntervals?begin=01.12.2017&end=31.12.2017&resourcesBson={"employeeIDs":["E1","E2","E3"],"planCodes":["P1","P2","P3"]}
Alle Tagesinformationen von Personal mit Personalnummer "20" von 05.12.2017 bis einschließlich 07.12.2017, alle Status:
http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017&allstates=true
Ergebnis
Tagesinformation im JSON-Format UTF8 codiert in der Form:
{ "Employees" : [ { "EmployeeID" : "string" , "Surname" : "string" , "Forename" : "string" , "MasterAllocation" : "string" , "EmployeeJobGroup" : "string" , "Days" : [ { "ForDate" : "string" , "ForState" : "string" , "TextCategory" : "string" , "InfoText" : "string" , "DayPlanSymbol" : "string" , "DayPlanSymbolObject" : { "PlanSymbolCode" : "string", "PlanSymbolType" : "string" } , "DayShift1" : "string" , "DayShift2" : "string" , "DayRequestKind" : "string" , "ForeignShift1" : "string" , "ForeignShift2" : "string" , "DayTotalMinutesComputed" : "float" , "DayPoolAllocations" : [ "string" ] , "AssignedExtra" : [ { "Key" : "string", "Label" : "string", "Value" : float } ] , "DayIntervals" : [ { "From" : "string" , "To" : "string" , "DayIntervalPlanSymbol" : "string" , "DayIntervalPlanSymbolObject" : { "PlanSymbolCode" : "string", "PlanSymbolType" : "string" } , "DayIntervalInfoTextCategory" : "string" , "DayIntervalInfoText" : "string" , "DayIntervalAssignedEvents" : [ "string" ] } ]} ]} ]}
Glossar:
- Employees: Array aller Personen
- EmployeeID: Personalnummer
- Surname: Zuname
- Forename: Vorname
- MasterAllocation: Stammplanungseinheit
- EmployeeJobGroup: Berufsgruppe
- Days: Array aller Tage
- ForDate: Datum von Tag
- ForState: Status von Tag
- TextCategory: Textkategorie auf Tag
- InfoText: Text auf Tag
- DayPlanSymbol: Abwesenheit auf Tag (nur Planungscodes mit Typ "Abwesend")
- DayPlanSymbolObject: Plansymbol auf Tag (Kurzbezeichnung und Typ: "Anwesend" oder "Abwesend")
- DayShift1: Dienst 1 auf Tag
- DayShift2: Dienst 2 auf Tag
- DayRequestKind: Aufgabe auf Tag
- DayTotalMinutesComputed: Total in Minuten aus Status
- ForeignShift1: Dienst 1 auf anderer Station
- ForeignShift2: Dienst 2 auf anderer Station
- DayPoolAllocations: Array aller Poolzuteilungen an diesem Tag
- AssignedExtra: Array aller Sonderabrechnung/Wert-Paare an diesem Tag
- DayIntervals: Array aller Kommt/Geht-Zeiten
- From: Komme
- To: Gehe
- DayIntervalPlanSymbol: Abwesenheit auf Kommt/Geht (nur Planungscodes mit Typ "Abwesend")
- DayIntervalPlanSymbolObject: Plansymbol auf Kommt/Geht (Kurzbezeichnung und Typ: "Anwesend" oder "Abwesend")
- DayIntervalInfoTextCategory: Textkategorie auf Kommt/Geht
- DayIntervalInfoText: Text auf Kommt/Geht
- DayIntervalAssignedEvents: Array von Aufgaben
Beispiel
{ "Employees": [ { "EmployeeID": "20", "Surname": "Muster", "Forename": "Max", "MasterAllocation": "Plan S", "EmployeeJobGroup": "SW-Entwicklung", "Days": [ { "ForDate": "05.12.2017", "ForState": "Ist", "TextCategory": "Korrektur am Tag", "InfoText": "Pause verlängert, Auto kaputt", "DayPlanSymbol": "", "DayPlanSymbolObject": {}, "DayShift1": "8", "DayShift2": "", "DayRequestKind": "", "DayTotalMinutesComputed": 480.0, "ForeignShift1": "Projektmanagment", "DayPoolAllocations": [], "AssignedExtra": [ { "Key": "9010", "Label": "Diensttausch", "Value": 0.0 } ], "DayIntervals": [ { "From": "05.12.2017 8:00", "To": "05.12.2017 12:00", "DayIntervalPlanSymbol": "", "DayIntervalPlanSymbolObject": {}, "DayIntervalInfoTextCategory": "", "DayIntervalInfoText": "", "DayIntervalAssignedEvents": [] }, { "From": "05.12.2017 13:00", "To": "05.12.2017 17:00", "DayIntervalPlanSymbol": "", "DayIntervalPlanSymbolObject": {}, "DayIntervalInfoTextCategory": "", "DayIntervalInfoText": "", "DayIntervalAssignedEvents": [] } ] }, { "ForDate": "06.12.2017", "ForState": "Ist", "TextCategory": "", "InfoText": "", "DayPlanSymbol": "", "DayPlanSymbolObject": { "PlanSymbolCode": "S", "PlanSymbolType": "Anwesend" }, "DayShift1": "8", "DayShift2": "", "DayRequestKind": "", "DayTotalMinutesComputed": 360.0, "DayPoolAllocations": [ "Plan A", "Plan B" ], "AssignedExtra": [], "DayIntervals": [ { "From": "06.12.2017 8:00", "To": "06.12.2017 12:00", "DayIntervalPlanSymbol": "", "DayIntervalPlanSymbolObject": {}, "DayIntervalInfoTextCategory": "", "DayIntervalInfoText": "", "DayIntervalAssignedEvents": [] }, { "From": "06.12.2017 13:00", "To": "06.12.2017 15:00", "DayIntervalPlanSymbol": "", "DayIntervalPlanSymbolObject": {}, "DayIntervalInfoTextCategory": "", "DayIntervalInfoText": "", "DayIntervalAssignedEvents": [] }, { "From": "06.12.2017 15:00", "To": "06.12.2017 17:00", "DayIntervalPlanSymbol": "Z", "DayIntervalPlanSymbolObject": { "PlanSymbolCode": "Z", "PlanSymbolType": "Abwesend" }, "DayIntervalInfoTextCategory": "", "DayIntervalInfoText": "", "DayIntervalAssignedEvents": [] } ] }, { "ForDate": "07.12.2017", "ForState": "Ist", "TextCategory": "", "InfoText": "", "DayPlanSymbol": "", "DayPlanSymbolObject": {}, "DayShift1": "8", "DayShift2": "", "DayRequestKind": "", "DayTotalMinutesComputed": 480.0, "DayPoolAllocations": [ "Plan B" ], "AssignedExtra": [], "DayIntervals": [ { "From": "07.12.2017 8:00", "To": "07.12.2017 12:00", "DayIntervalPlanSymbol": "", "DayIntervalPlanSymbolObject": { "PlanSymbolCode": "B", "PlanSymbolType": "Anwesend" }, "DayIntervalInfoTextCategory": "", "DayIntervalInfoText": "", "DayIntervalAssignedEvents": [] }, { "From": "07.12.2017 13:00", "To": "07.12.2017 17:00", "DayIntervalPlanSymbol": "", "DayIntervalPlanSymbolObject": {}, "DayIntervalInfoTextCategory": "", "DayIntervalInfoText": "", "DayIntervalAssignedEvents": [] } ] } ] } ] }