Ruhrstern/Reporting/CustomMitarbeiterstundenkontoBerechnung - Bugfix, Berechnung auch für Arbeitszeiten hinterlegt

SupportOID=159885
This commit is contained in:
2026-04-10 13:41:56 +02:00
parent 3d3e042aee
commit 0165e7ce4c

View File

@@ -58,7 +58,7 @@ namespace Ruhrstern
//Berechne Soll, entweder aus Vertrag oder Arbeitszeiten
if (HatArbeitszeitImZeitraum(ed.Employee.Arbeitszeiten, date, date))
{
sollDiesenTag = GetSollNachArbeitszeitenFuerTag(ed.Employee, date);
sollDiesenTag = GetSollNachArbeitszeitenTag(ed.Employee, date);
}
else
@@ -109,5 +109,34 @@ namespace Ruhrstern
return sollDiesenTag;
}
}
protected decimal GetSollNachArbeitszeitenTag(Employee emp, DateTime tag)
{
decimal soll = 0;
var fak = GetFeiertagsFaktor(tag);
if (fak == 1)
{
fak = 0;
}
if (fak < 1)
{
if (emp.Arbeitszeiten != null)
{
foreach (var az in emp.Arbeitszeiten)
{
if ((!az.GueltigVon.HasValue || az.GueltigVon.Value <= tag) &&
(!az.GueltigBis.HasValue || az.GueltigBis.Value >= tag))
{
var std = GetArbeitszeitStundenFuerTag(az, tag);
soll += (std * (1 - fak));
}
}
}
}
return soll;
}
}
}