FeidPartnerReports/Personalplanung - Finish (Beachtung Gruppenbuchung und Format)

SupportOID=167181
This commit is contained in:
2026-07-08 15:21:12 +02:00
parent 8659eca44e
commit 9caa7aa807
2 changed files with 517 additions and 214 deletions

View File

@@ -141,7 +141,7 @@ namespace FeidPartnerReports
var sc = cb2sc.SupportConcept;
if (sc == null || sc.IsActive == ActivationTypeId.Deleted || sc.IsActive == ActivationTypeId.Archived) continue;
var customer = sc.Customer;
if (customer.Person.FirstNameLastName.Contains("Giovanni"))
if (customer.Person.FirstNameLastName.Contains("Häusser") && empName.Contains("Alena"))
{
var test = 1;
}
@@ -170,14 +170,17 @@ namespace FeidPartnerReports
decimal avgGruppeGesamtStdProWoche = 0m;
try
{
var allGroupRecords = DAOFactory.SearchDAO.FindServiceRecordsInSpan(
cb2sc.Oid.Value,
new DateTimeSpan(serviceRecordStart, monthEnd));
decimal gruppeMinGesamt = allGroupRecords?
var allRecords = DAOFactory.SearchDAO.FindServiceRecordsInSpan(cb2sc.Oid.Value, new DateTimeSpan(serviceRecordStart, monthEnd));
// Gruppenbuchungen existieren pro beteiligtem MA als eigener Record mit gleicher GroupOid -> nur einmal zählen
decimal gruppeMinGesamt = allRecords?
.Where(sr => sr.GroupOid.HasValue)
.GroupBy(sr => sr.GroupOid.Value)
.Select(g => g.First())
.Sum(sr => sr.RoundedDuration) ?? 0m;
if (weeksInPeriod > 0)
{
avgGruppeGesamtStdProWoche = (gruppeMinGesamt / 60m) / weeksInPeriod;
}
}
catch { }
@@ -195,7 +198,12 @@ namespace FeidPartnerReports
enddatum = TakeEarliest(enddatum, customer.TerminationDate);
var kostentraeger = "";
try { kostentraeger = cb2sc.CostBearer?.Organisation?.Name ?? ""; } catch { }
try
{
kostentraeger = cb2sc.CostBearer?.Organisation?.Name ?? "";
kostentraeger = kostentraeger.Replace("Landeswohlfahrtsverband", "LWV");
}
catch { }
var wohnort = "";
try { wohnort = customer.Person?.Address?.Town ?? ""; } catch { }

File diff suppressed because it is too large Load Diff