Webservice Tagesinformationen: Unterschied zwischen den Versionen

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:
* 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: 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

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.

Key.png

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": []
           }
         ]
       }
     ]
   }
 ]
}

Links

Interne Dokumentation zur Aktivierung

Diskussionen