Es gibt auch eine Variante als Export-Schnittstelle.
Konfiguration für Config-File:
, "httpServicePlugins" : { "0" : "Bfx.Alex.AccountsReport.DayInterval.Model.dll" } , "serverDaemonPlugins" : { "0" : "Bfx.HTTP.Server.dll" }
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. Diesen 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
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" , "DayShift1" : "string" , "DayShift2" : "string" , "DayRequestKind" : "string" , "DayTotalMinutesComputed" : "float" , "DayIntervals" : [ { "From" : "string" , "To" : "string" , "DayIntervalPlanSymbol" : "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
- InfoText: Text auf Tag
- DayPlanSymbol: Abwesenheit auf Tag (nur Planungscodes mit Typ "Abwesenheit")
- DayShift1: Dienst 1 auf Tag
- DayShift2: Dienst 2 auf Tag
- DayRequestKind: Aufgabe auf Tag
- DayTotalMinutesComputed: Total in Minuten aus Status
- DayIntervals: Array aller Kommt/Geht-Zeiten
- From: Komme
- To: Gehe
- DayIntervalPlanSymbol: Abwesenheit auf Kommt/Geht (nur Planungscodes mit Typ "Abwesenheit")
- DayIntervalInfoText: Text auf Kommt/Geht
- DayIntervalAssignedEvents: Array von Aufgaben