Skip to main content
Skip table of contents

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:

  • AddWorkingTimeMinutes: Addiert zu einem Start-Datum eine bestimmte Anzahl an Arbeitsminuten und gibt das End-Datum und die Uhrzeit aus
  • GetWorkingTimeMinutes: Berechnet die Arbeitszeit zwischen einem Start-Datum und einem End-Datum und gibt die Arbeitsminuten aus
  • GetEaster: Berechnet den Ostersonntag anhand einer Jahreszahl

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:

  • Das erforderliche Datums-Format (yyyy-MM-dd bzw. yyyy-MM-dd hh:mm) wurde nicht eingehalten
  • Die Wochentage wurden nicht richtig eingetragen. Erforderlich ist ein korrekter deutscher oder englischer Wochentag.
  • Es ist kein Input vorhanden

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 oder Friday. 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 Operation GetWorkingTimeMinutes umgesetzt werden
  • dateDiff lässt sich umsetzten, indem alle Wochentage als WorkingDay definiert und die Arbeitszeiten von 00:00 bis 23:59 einstellt werden. Dabei dürfen weder Holidays noch SpecialDays definiert werden.


Operation AddWorkingTimeMinutes 


Beispiel-Input für die Operation AddWorkingTimeMinutes

XML
<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

XML
<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

XML
<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

XML
<WorkingTimeCalculator>
	<addWorkingTimeMinutes>2019-12-24T21:50:00</addWorkingTimeMinutes>
</WorkingTimeCalculator>

Operation GetWorkingTimeMinutes

Beispiel-Output für die Operation GetWorkingTimeMinutes

XML
<WorkingTimeCalculator>
	<getWorkingTimeMinutes>2010.0</getWorkingTimeMinutes>
</WorkingTimeCalculator>

Operation GetEaster

Beispiel-Output für die Operation GetEaster

XML
<EasterHolidays>
	<EasterSunday>2019-04-21</EasterSunday>
</EasterHolidays>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.