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

(Weiterleitung nach Webservice Tagesinformationen erstellt)
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „#redirect Webservice Tagesinformationen“)
 
Zeile 1: Zeile 1:
#redirect [[Webservice Tagesinformationen]]
#redirect [[Webservice Tagesinformationen]]
__NOTOC__ {{DISPLAYTITLE: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. 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.
[[Datei:Key.png|450px]]
Beispiel:<br>
<nowiki>http://localhost:4480/EmployeeDayIntervals?id=20&begin=05.12.2017&end=07.12.2017&WebApiServerKey=xxxx-xxxx-xxxx-xxxx-xxxx</nowiki>
== Beispiele ==
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"
, "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": []
            }
          ]
        }
      ]
    }
  ]
}
[[Kategorie:Neu ab Version 2018.04]]

Aktuelle Version vom 20. Januar 2021, 10:15 Uhr