| 
				     | 
				
| (10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | 
| Zeile 1: | 
Zeile 1: | 
 | __NOTOC__ {{DISPLAYTITLE:Webservice Tagesinformationen}}
  |  | #redirect [[Webservice Tagesinformationen]]  | 
 |    |  | 
 | Es gibt auch eine Variante als [[Export_Tagesinformationen|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
  |  | 
 |    |  | 
 | '''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.
  |  | 
 |    |  | 
 | [[Datei:Key.png]]
  |  | 
 |    |  | 
 | == Beispiel == 
  |  | 
 |    |  | 
 | Alle Tagesinformationen von gesamten Personal von 05.12.2017 bis einschließlich 07.12.2017:
  |  | 
 |  <nowiki>http://localhost:4480/EmployeeDayIntervals?allEmployees=true&begin=05.12.2017&end=07.12.2017</nowiki>
  |  | 
 |    |  | 
 | Alle Tagesinformationen von Personal mit Personalnummer "20" von 05.12.2017 bis einschließlich 07.12.2017:
  |  | 
 |  <nowiki>http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017</nowiki>
  |  | 
 |    |  | 
 | Alle Tagesinformationen von Personal auf Plan "X" von 01.12.2017 bis einschließlich 31.12.2017:
  |  | 
 |  <nowiki>http://localhost:4480/EmployeeDayIntervals?planCode=X&begin=01.12.2017&end=31.12.2017</nowiki>
  |  | 
 |    |  | 
 | 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:
  |  | 
 |  <nowiki>http://localhost:4480/EmployeeDayIntervals?begin=01.12.2017&end=31.12.2017&resourcesBson={"employeeIDs":["E1","E2","E3"],"planCodes":["P1","P2","P3"]}</nowiki>
  |  | 
 |    |  | 
 | Alle Tagesinformationen von Personal mit Personalnummer "20" von 05.12.2017 bis einschließlich 07.12.2017, alle Status:
  |  | 
 |  <nowiki>http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017&allstates=true</nowiki>
  |  | 
 |    |  | 
 | = Ergebnis =
  |  | 
 |    |  | 
 | Tagesinformation im [https://www.json.org/ 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
  |  | 
 |    |  | 
 | = Beispiel =
  |  | 
 | [[Datei:EmployeeDayIntervalsExample.txt]]
  |  | 
 |    |  | 
 |    |  | 
 | [[Kategorie:Neu ab Version 2018.04]]
  |  |