Ruhrstern/Reporting/CustomMitarbeiterstundenkontoBerechnung - Bugfix, Berechnung auch für Arbeitszeiten hinterlegt
SupportOID=159885
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user