CaritasGuenzburgNeuUlm/CustomMitarbeiterstundenkontoBerechnung - Faschingsdienstag 4 Std nur wenn mehr als 4 Std Arbeitszeit

This commit is contained in:
2024-04-04 08:15:41 +02:00
parent 579ed8839a
commit e31836bea1

View File

@@ -31,8 +31,6 @@ namespace CaritasGuenzburgNeuUlm
dd.BreakMinutes = 30;
dd.MaxHoursUntilBreak = 6;
}
return dd;
}
@@ -49,7 +47,7 @@ namespace CaritasGuenzburgNeuUlm
}
protected override ServiceRecordSummary BerechneStunden(MitarbeiterstundenkontoRO.EmployeeDetail empDetail, IList<ServiceRecord> groupFilteredRecords, DateTime berichtsAnfang,
DateTime berichtsEnde)
DateTime berichtsEnde)
{
decimal flsGesamt = 0;
decimal arbeitszeit = 0;
@@ -64,10 +62,7 @@ namespace CaritasGuenzburgNeuUlm
{
if (item.Start.Value >= berichtsAnfang && item.Start.Value < berichtsEnde)
{
//if (AddServiceRecordToDuration(item))
//{
decimal duration = 0;
if (item.GroupRoundedDuration.HasValue)
{
duration = item.GroupRoundedDuration.Value;
@@ -88,7 +83,6 @@ namespace CaritasGuenzburgNeuUlm
{
flsGesamt += duration;
}
}
sum.RecordsImBerichtszeitraum.Add(item);
}
@@ -134,7 +128,26 @@ namespace CaritasGuenzburgNeuUlm
if (fak == 0.5m) // die haben eine ganz komische Regel, am Faschingsdienst muss jeder 4 Stunden arbeiten!!!
{
soll += 4;
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);
if (std > 4)
{
soll += 4;
}
else
{
soll += std;
}
}
}
}
}
else if (fak < 1)