Working Time Calculator
Dieser Adapter berechnet die Arbeitszeit.
Der Working Time Calculator ersetzt mit Version 6.0 der X4 BPMS die veralteten Arbeitszeit-Berechnungsfunktionen in der Java-Klasse de.softproject.xsl.WorkingTimeCalculator
, welche zur Verwendung innerhalb von XSL-Mappings bereitstellt wurden.
Eigenschaften (Properties)
Operationen | Vom Adapter ausgeführte Operation Mögliche Werte:
|
Parameter
Adapter | Hauptklasse des Adapters (nicht verändern!) Mögliche Werte: de.softproject.x4.adapter.workingTimeCalculator: Hauptklasse (Standard) |
Statuswerte
1 | Die Operation wurde erfolgreich ausgeführt und in der Ausgabe befindet sich ein XML-Dokument mit dem Resultat zur jeweiligen Operation |
-1 | Es kam zu einem Fehler während der Ausführung:
|
Input
Der Adapter erwartet eine vordefinierte Input-XML-Struktur für die verschiedenen Operationen
- Feiertage bzw. Urlaubstage (Arbeitsfreie Tage) werden im Datumsformat
yyyy-MM-dd
innerhalb beliebig vieler<Holiday>
-Elemente definiert. Diese werden als Kind-Elemente von<Holidays>
angelegt. - Arbeitstage (Wochentage) werden innerhalb von
<WorkingDay>
-Elementen definiert. Diese werden als Kind-Elemente von<WorkingDays>
angelegt. Der Wert von<WorkingDay>
ist der jeweilige Wochentag auf deutsch oder auf englisch, z.B.Montag
oderFriday
. Dabei ist die Groß- und Kleinschreibung egal. Spezielle Tage werden im Datumsformat
yyyy-MM-dd hh:mm-hh:mm
innerhalb beliebig vieler<SpecialDay>
-Elemente definiert. Diese werden als Kind-Elemente von<SpecialDays>
angelegt.SpecialDays
gelten als spezieller Arbeitstag unabhängig davon, ob es sich um einen normalen Arbeitstag oder arbeitsfreien Tag handelt. Als Arbeitszeit zählt nur die Zeit, die innerhalb von<SpecialDay>
definiert wurde.
Die Arbeitszeit-Berechnungsfunktionen dateDiff
oder dateDiffWorkingMinutes
der veralteten Java-Klasse de.softproject.xsl.WorkingTimeCalculator
wurden durch folgende Funktionen ersetzt:
dateDiffWorkingMinutes
kann durch die OperationGetWorkingTimeMinutes
umgesetzt werdendateDiff
lässt sich umsetzten, indem alle Wochentage alsWorkingDay
definiert und die Arbeitszeiten von00:00
bis23:59
einstellt werden. Dabei dürfen wederHolidays
nochSpecialDays
definiert werden.
Operation AddWorkingTimeMinutes
Beispiel-Input für die Operation AddWorkingTimeMinutes
<WorkingTimeCalculator>
<Holidays>
<Holiday>2019-01-01</Holiday>
<Holiday>2019-01-06</Holiday>
<Holiday>2019-04-19</Holiday>
<Holiday>2019-04-21</Holiday>
<Holiday>2019-04-22</Holiday>
</Holidays>
<SpecialDays>
<SpecialDay>2019-12-24 21:00-23:00</SpecialDay>
</SpecialDays>
<!--You can use either the German or the English word-->
<WorkingDays>
<WorkingDay>Monday</WorkingDay>
<WorkingDay>Tuesday</WorkingDay>
<WorkingDay>Wednesday</WorkingDay>
<WorkingDay>Thursday</WorkingDay>
<WorkingDay>Friday</WorkingDay>
</WorkingDays>
<setWorkingDayBegin>09:30</setWorkingDayBegin>
<setWorkingDayEnd>17:30</setWorkingDayEnd>
<StartDate>2019-12-23 10:00</StartDate> <!-- Format yyyy-MM-dd or yyyy-MM-dd hh:mm -->
<addMinutesToWorkingTime>500</addMinutesToWorkingTime>
</WorkingTimeCalculator>
Operation GetWorkingTimeMinutes
Beispiel-Input für die Operation GetWorkingTimeMinutes
<WorkingTimeCalculator>
<Holidays>
<Holiday>2019-01-01</Holiday>
<Holiday>2019-01-06</Holiday>
<Holiday>2019-04-19</Holiday>
<Holiday>2019-04-21</Holiday>
<Holiday>2019-04-22</Holiday>
</Holidays>
<SpecialDays>
<SpecialDay>2019-12-24 21:00-23:00</SpecialDay>
</SpecialDays>
<!--You can use either the German or the English word-->
<WorkingDays>
<WorkingDay>Monday</WorkingDay>
<WorkingDay>Tuesday</WorkingDay>
<WorkingDay>Wednesday</WorkingDay>
<WorkingDay>Thursday</WorkingDay>
<WorkingDay>Friday</WorkingDay>
</WorkingDays>
<StartDate>2019-12-23 10:00</StartDate> <!-- Format yyyy-MM-dd or yyyy-MM-dd hh:mm -->
<EndDate>2020-01-01 10:00</EndDate> <!-- Format yyyy-MM-dd or yyyy-MM-dd hh:mm -->
<setWorkingDayBegin>09:30</setWorkingDayBegin>
<setWorkingDayEnd>17:30</setWorkingDayEnd>
</WorkingTimeCalculator>
Operation GetEaster
Beispiel-Input für die Operation GetEaster
<WorkingTimeCalculator>
<GetEaster>2019</GetEaster>
</WorkingTimeCalculator>
Output
Der Adapter gibt je nach Operation ein XML-Dokument aus.
Operation AddWorkingTimeMinutes
Beispiel-Output für die Operation AddWorkingTimeMinutes
<WorkingTimeCalculator>
<addWorkingTimeMinutes>2019-12-24T21:50:00</addWorkingTimeMinutes>
</WorkingTimeCalculator>
Operation GetWorkingTimeMinutes
Beispiel-Output für die Operation GetWorkingTimeMinutes
<WorkingTimeCalculator>
<getWorkingTimeMinutes>2010.0</getWorkingTimeMinutes>
</WorkingTimeCalculator>
Operation GetEaster
Beispiel-Output für die Operation GetEaster
<EasterHolidays>
<EasterSunday>2019-04-21</EasterSunday>
</EasterHolidays>