MH: Bugfix Sonderurlaub Schwerbehinderung
This commit is contained in:
@@ -2091,8 +2091,15 @@ namespace BeWo.Service.ServiceImplementations
|
||||
// Wenn eine Behinderung von mind. 50 vorliegt stehen standardmäßig 5 Sonderurlaubstage zu
|
||||
if (contract != null && (contract.EntryDate.HasValue && contract.ContractEndDate.HasValue || contract.EntryDate.HasValue && !contract.ContractEndDate.HasValue))
|
||||
{
|
||||
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)
|
||||
var yearStart = new DateTime(berechnungsjahr, 1, 1);
|
||||
var yearEnd = new DateTime(berechnungsjahr, 12, 31);
|
||||
|
||||
// Schnittmenge aus Vertrag + Ausweis
|
||||
var overlapStart = contract.EntryDate > emp.AusweisGueltigVon ? contract.EntryDate : emp.AusweisGueltigVon;
|
||||
var overlapEnd = (contract.ContractEndDate ?? DateTime.MaxValue) < emp.AusweisGueltigBis ? (contract.ContractEndDate ?? DateTime.MaxValue) : emp.AusweisGueltigBis;
|
||||
|
||||
// Jetzt prüfen: gibt es davon etwas im Jahr?
|
||||
if (overlapStart <= overlapEnd && overlapStart <= yearEnd && overlapEnd >= yearStart)
|
||||
{
|
||||
if (emp.GradDerBehinderung.IsNotNullOrEmpty())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user