Die Buchungen eines Tages werden in Scheiben zerschnitten (also Anfang & Ende zusammen gesucht)
Die Scheiben werden mit den Regeln für einen Tag abgeglichen (z.B. Samstag Ü50, vor 06:00 Ü50, Fahrten zw. 07:00 und 15:12 Fahrzeitlohnart, …)
Die Buchungen werden dann entsprechend in den jeweiligen Topf eingekippt, wobei jeder Topf für mehrere verschiedene Lohnarten fassen kann; so z.B.: der Normalarbeitszeittopf auch mit Urlaubsbuchungen und Fahrten befüllt wird.
Topf
Hat einen Zeitraum, so gibt es Tagestöpfe, Wochentöpfe, Monatstöpfe und Jahrestöpfe
Eine oder mehrere Lohnarten die er aufnimmt
Faktor: im Verhältnis z.B.: zur Normalarbeitszeit um etwaige Zuschläge/Abschläge errechnen zu können; Ü50-Topf = 150; ZA15-Topf = 115
Optional: max. Füllmenge, z.B. Normalarbeitszeittopf-Tag = 7.7h, NAZ-Woche = 38.5h, MAZ-Tag = 1.3h, MAZ-Woche = 1.5h max.
Optional: min. Füllmenge, z.B. Normalarbeitszeittopf-Woche = 38.5h
Wenn ein Topf seine Max.Grenze erreicht läuft er nach rechts über.
Jeder Topf „X“ der am Ende seiner Periode die Mindestfüllmenge nicht erreicht hat wird wie folgt gefüllt:
Der Algorithmus geht nach rechts (vom Topf „X“ aus) bis der Faktor steigt; bsp. von NAZ aus gehen wir über MAZ zu ZA0, dahinter wäre der Faktor > 100%
Dann wird aus dem Topf so viel wie möglich/erforderlich entnommen – in diesem Bsp. aus ZA0
Fehlt nach Schritt (a+b) noch etwas, wird auf den nächsten Topf mit dem gleichen Faktor entnommen – in diesem Bsp. aus MAZ
Fehlt nach Schritt ( c) noch etwas wird wieder bei Schritt (a) begonnen mit dem nächst höheren Faktor
Bsp. Töpfe in Reihenfolge:
FZ außerhalb NAZ (1) NAZ (2) MAZ (3) ZA0 (4) ZA15 (5) ZA20 (6) Ü50 (7) Ü100
Mögliche Parameter
Boolean skip
String balance
Boolean blockWithdraw
Boolean blockSpillover
Boolean leftWithdraw
Lohnarten-Liste:
withdrawOrder
,gibt die Reihenfolge der Töpfe zurück aus denen etwaige Fehlbeträge genommen werden können; sollte der Fehlbetrag aus den angegebenen Töpfen nicht bedient werden können, dann wird in standard-Reihenfolge weiter eingezogen. Bsp.: <withdrawOrder
>120,130,400</withdrawOrder
>Lohnarten-Liste:
withdrawOrderLimited
,gibt die Reihenfolge der Töpfe zurück aus denen etwaige Fehlbeträge genommen werden können; sollte der Fehlbetrag aus den angegebenen Töpfen nicht bedient werden können, dann wird abgebrochen. Bsp.: <withdrawOrderLimited
>120,130,400</withdrawOrderLimited
>Boolean forcePrimaryWagetype
BigDecimal minValueOffset
BigDecimal maxValueOffset
BigDecimal minValueAzmFactor
BigDecimal maxValueAzmFactor
BigDecimal maxValuePPeriodOffset
BigDecimal maxValuePPeriodAzmFactor