MH: EmployeeService Sonderurlaub Bugfix

This commit is contained in:
2025-08-28 15:36:49 +02:00
parent 1ced6a337c
commit 9c428f92c9

View File

@@ -2019,19 +2019,22 @@ namespace BeWo.Service.ServiceImplementations
}
}
// Wenn eine Behinderung von mind. 50 vorliegt stehen standardmäßig 5 Sonderurlaubstage zu
if (emp.AusweisGueltigVon.HasValue && emp.AusweisGueltigVon.Value.Year >= contract.EntryDate.Value.Year && emp.AusweisGueltigVon.Value.Year <= emp.AusweisGueltigVon.Value.Year ||
emp.AusweisGueltigBis.HasValue && emp.AusweisGueltigBis.Value.Year >= contract.EntryDate.Value.Year && emp.AusweisGueltigBis.Value.Year <= emp.AusweisGueltigBis.Value.Year)
if (contract != null && contract.EntryDate.HasValue && contract.ContractEndDate.HasValue)
{
if (emp.GradDerBehinderung.IsNotNullOrEmpty())
if (emp.AusweisGueltigVon.HasValue && emp.AusweisGueltigVon.Value.Year >= contract.EntryDate.Value.Year && emp.AusweisGueltigVon.Value.Year <= emp.AusweisGueltigVon.Value.Year ||
emp.AusweisGueltigBis.HasValue && emp.AusweisGueltigBis.Value.Year >= contract.EntryDate.Value.Year && emp.AusweisGueltigBis.Value.Year <= emp.AusweisGueltigBis.Value.Year)
{
int.TryParse(emp.GradDerBehinderung, out int grad);
if (grad >= 50)
if (emp.GradDerBehinderung.IsNotNullOrEmpty())
{
// TODO Anteilig berechnen, (wenn Behinderung erst im Berechnungsjahr beginnt nur die "aktiven" Monate anrechnen und ab
int.TryParse(emp.GradDerBehinderung, out int grad);
if (grad >= 50)
{
// TODO Anteilig berechnen, (wenn Behinderung erst im Berechnungsjahr beginnt nur die "aktiven" Monate anrechnen und ab
// Wenn keine Anzahl der wöchentlichen Arbeitstage gesetzt ist, 5 Tage
// Sonst Anzahl der wöchentlichen Arbeitstage (gesdetzlich so geregelt)
sonderurlaub.Add("Sonderurlaub aufgrund von Behinderungsgrad über 50", 5);
// Wenn keine Anzahl der wöchentlichen Arbeitstage gesetzt ist, 5 Tage
// Sonst Anzahl der wöchentlichen Arbeitstage (gesdetzlich so geregelt)
sonderurlaub.Add("Sonderurlaub aufgrund von Behinderungsgrad über 50", 5);
}
}
}
}