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-ddinnerhalb 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.MontagoderFriday. Dabei ist die Groß- und Kleinschreibung egal. Spezielle Tage werden im Datumsformat
yyyy-MM-dd hh:mm-hh:mminnerhalb beliebig vieler<SpecialDay>-Elemente definiert. Diese werden als Kind-Elemente von<SpecialDays>angelegt.SpecialDaysgelten 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:
dateDiffWorkingMinuteskann durch die OperationGetWorkingTimeMinutesumgesetzt werdendateDifflässt sich umsetzten, indem alle Wochentage alsWorkingDaydefiniert und die Arbeitszeiten von00:00bis23:59einstellt werden. Dabei dürfen wederHolidaysnochSpecialDaysdefiniert 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>