MH: BetreuWo Wesel Dienstplanung Overtimes

This commit is contained in:
2025-10-28 16:04:57 +01:00
parent 4d96505400
commit 023f4e9941

View File

@@ -47,6 +47,7 @@ namespace BetreuwoWesel.Service
root.AlleDienste.Insert(0, DienstInfoDC.Platzhalter);
///////
// Überstunden als Abwesenheiten darstellen
root.AbsenceTimes = GetAbsenceTimeVacationByWohnheim(wohnheimOid, date.Year, date.Month);
var ueberstundenAbsTimes = root.AbsenceTimes.Where(a => a.Reason.Description.ToLower().Contains("abbau von mehrarbeit")).ToList();
root.AbsenceTimes.RemoveRange(ueberstundenAbsTimes);
@@ -54,18 +55,27 @@ namespace BetreuwoWesel.Service
root.OverTimes = GetOverTimesByWohnheim(wohnheimOid, date.Year, date.Month);
foreach (var item in ueberstundenAbsTimes)
{
root.OverTimes.Add(new OvertimeDC()
if (item.Start.HasValue && item.End.HasValue)
{
Betrag = 0,
EmployeeOid = item.EmployeeOid,
Date = item.Start.Value,
Notice = "Abbau von Mehrarbeit",
Auszahlungsart = new AuszahlungsartDC()
var absStart = item.Start;
while (absStart <= item.End)
{
AuszahlungsartOid = 9999,
Name = "Frei"
root.OverTimes.Add(new OvertimeDC()
{
Betrag = 0,
EmployeeOid = item.EmployeeOid,
Date = absStart.Value,
Notice = "Abbau von Mehrarbeit",
Auszahlungsart = new AuszahlungsartDC()
{
AuszahlungsartOid = 9999,
Name = "Frei"
}
});
absStart = absStart.Value.AddDays(1);
}
});
}
}
///////