Bfx.Alex.AccountsReport.DayInterval.Model.dll HTTP: Unterschied zwischen den Versionen

(Weiterleitung nach Webservice Tagesinformationen erstellt)
Zeile 1: Zeile 1:
#redirect [[Webservice Tagesinformationen]]
__NOTOC__ {{DISPLAYTITLE:Webservice Tagesinformationen}}
__NOTOC__ {{DISPLAYTITLE:Webservice Tagesinformationen}}



Version vom 20. Januar 2021, 10:14 Uhr


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

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"
		, "DayShift1" : "string"
		, "DayShift2" : "string"
		, "DayRequestKind" : "string"
		, "DayTotalMinutesComputed" : "float"
		, "DayPoolAllocations" : [ "string" ]
		, "AssignedExtra" : [ { "Key" : "string", "Value" : 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
  • 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 "Abwesenheit")
  • DayIntervalInfoText: Text auf Kommt/Geht
  • DayIntervalAssignedEvents: Array von Aufgaben

Beispiel

{
 "Employees": [
   {
     "EmployeeID": "20",
     "Surname": "Quatember",
     "Forename": "Marcus",
     "MasterAllocation": "Steyr",
     "EmployeeJobGroup": "SW-Entwicklung",
     "Days": [
       {
         "ForDate": "05.12.2017",
         "ForState": "Ist",
         "InfoText": "",
         "DayPlanSymbol": "",
         "DayShift1": "8",
         "DayShift2": "",
         "DayRequestKind": "",
         "DayTotalMinutesComputed": 480.0,
         "DayPoolAllocations": [],
         "AssignedExtra": [
           {
             "Key": "9010",
             "Value": 0.0
           }
         ],
         "DayIntervals": [
           {
             "From": "05.12.2017  8:00",
             "To": "05.12.2017 12:00",
             "DayIntervalPlanSymbol": "",
             "DayIntervalInfoTextCategory": "",
             "DayIntervalInfoText": "",
             "DayIntervalAssignedEvents": []
           },
           {
             "From": "05.12.2017 13:00",
             "To": "05.12.2017 17:00",
             "DayIntervalPlanSymbol": "",
             "DayIntervalInfoTextCategory": "",
             "DayIntervalInfoText": "",
             "DayIntervalAssignedEvents": []
           }
         ]
       },
       {
         "ForDate": "06.12.2017",
         "ForState": "Ist",
         "InfoText": "",
         "DayPlanSymbol": "",
         "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": "",
             "DayIntervalInfoTextCategory": "",
             "DayIntervalInfoText": "",
             "DayIntervalAssignedEvents": []
           },
           {
             "From": "06.12.2017 13:00",
             "To": "06.12.2017 15:00",
             "DayIntervalPlanSymbol": "",
             "DayIntervalInfoTextCategory": "",
             "DayIntervalInfoText": "",
             "DayIntervalAssignedEvents": []
           },
           {
             "From": "06.12.2017 15:00",
             "To": "06.12.2017 17:00",
             "DayIntervalPlanSymbol": "Z",
             "DayIntervalInfoTextCategory": "",
             "DayIntervalInfoText": "",
             "DayIntervalAssignedEvents": []
           }
         ]
       },
       {
         "ForDate": "07.12.2017",
         "ForState": "Ist",
         "InfoText": "",
         "DayPlanSymbol": "",
         "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": "",
             "DayIntervalInfoTextCategory": "",
             "DayIntervalInfoText": "",
             "DayIntervalAssignedEvents": []
           },
           {
             "From": "07.12.2017 13:00",
             "To": "07.12.2017 17:00",
             "DayIntervalPlanSymbol": "",
             "DayIntervalInfoTextCategory": "",
             "DayIntervalInfoText": "",
             "DayIntervalAssignedEvents": []
           }
         ]
       }
     ]
   }
 ]
}