MH: VacationService Sonderurlaub in den Hintergrund verschoben + Schwerbehindertenausweischeck verbessert.

This commit is contained in:
2026-05-12 11:27:27 +02:00
parent ef8165286a
commit d4d90b008a
2 changed files with 16 additions and 2 deletions

View File

@@ -697,7 +697,7 @@ namespace BeWo.Service.Plugins
}
// 6. Anzahl der aus 1.-5. resultierenden Resturlaubstage fürs Jahr, also Resturlaub vom Urlaubskonto
var anzTage = aktuellesKonto.Value.ResturlaubVorjahrTotal > 0 && aktuellesKonto.Value.VerfallenerUrlaub <= 0 ? aktuellesKonto.Value.Resturlaub + aktuellesKonto.Value.ResturlaubVorjahr + sonderurlaub : aktuellesKonto.Value.Resturlaub + sonderurlaub;
var anzTage = aktuellesKonto.Value.ResturlaubVorjahrTotal > 0 && aktuellesKonto.Value.VerfallenerUrlaub <= 0 ? aktuellesKonto.Value.Resturlaub + aktuellesKonto.Value.ResturlaubVorjahr : aktuellesKonto.Value.Resturlaub;
dcs.Add(new UrlaubskontoDarstellungDC()
{
AnzahlTage = string.Format("{0:0.00}", anzTage),
@@ -1154,6 +1154,20 @@ namespace BeWo.Service.Plugins
konto.Value.Urlaubsanspruch += anzGeschenkteTage;
konto.Value.Resturlaub += anzGeschenkteTage;
}
// Wenn es Sonderurlaube gibt, Liste durchlaufen und für jeden Eintrag den Zähler entsprechend der Tage erhöhen
var sonderurlaube = empService.GetSonderurlaubForEmployee((long)emp.Oid, i);
if (sonderurlaube != null)
{
decimal anzSonderurlaubTage = 0.0m;
foreach (var item in sonderurlaube)
{
anzSonderurlaubTage += item.Value;
}
// Geschenkte Tage auf Anspruch und Resturlaub addieren
konto.Value.Urlaubsanspruch += anzSonderurlaubTage;
konto.Value.Resturlaub += anzSonderurlaubTage;
}
}

View File

@@ -2096,7 +2096,7 @@ namespace BeWo.Service.ServiceImplementations
// 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;
var overlapEnd = (contract.ContractEndDate ?? DateTime.MaxValue) < (emp.AusweisGueltigBis ?? DateTime.MaxValue) ? (contract.ContractEndDate ?? DateTime.MaxValue) : (emp.AusweisGueltigBis ?? DateTime.MaxValue);
// Jetzt prüfen: gibt es davon etwas im Jahr?
if (overlapStart <= overlapEnd && overlapStart <= yearEnd && overlapEnd >= yearStart)