From c5cb6e0533ec26e32163926abebcbb78206d6f4b Mon Sep 17 00:00:00 2001 From: HirschleM Date: Wed, 8 Apr 2026 16:05:39 +0200 Subject: [PATCH] =?UTF-8?q?MH:=20LebenshilfeStade=20Ministatistik=20f?= =?UTF-8?q?=C3=BCr=20Monatsbewilligungen=20korrigiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomServiceRecordStatisticFactory.cs | 53 ++++++++++--------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/ReportImp/LebenshilfeStade/Service/CustomServiceRecordStatisticFactory.cs b/ReportImp/LebenshilfeStade/Service/CustomServiceRecordStatisticFactory.cs index 68a021659..654866f62 100644 --- a/ReportImp/LebenshilfeStade/Service/CustomServiceRecordStatisticFactory.cs +++ b/ReportImp/LebenshilfeStade/Service/CustomServiceRecordStatisticFactory.cs @@ -24,41 +24,44 @@ namespace LebenshilfeStade.Service decimal factor = 1.2m; - stats.MinutesApprovedPerWeek *= factor; - stats.MinutesApprovedTotal *= factor; + stats.MinutesApprovedTotal = 0; foreach (var item in stats.PeriodStatistics) { // Bewilligt pro Woche/Gesamt - item.MinutesApprovedPerWeek *= factor; - item.MinutesApprovedTotal *= factor; - - DateTime dtPeriod = statisticsDate.Date; - if (item.SupportConceptApprovalPeriod.StartDate.HasValue && item.SupportConceptApprovalPeriod.StartDate > dtPeriod) + if (item.SupportConceptApprovalPeriod != null && item.SupportConceptApprovalPeriod.ApprovedBEInterval.HasValue && + item.SupportConceptApprovalPeriod.ApprovedBEInterval.Value == BS.Shared.SupportConceptApprovalInterval.Monthly) { - dtPeriod = item.SupportConceptApprovalPeriod.StartDate.Value; + item.MinutesApprovedTotal /= factor; } + stats.MinutesApprovedTotal += item.MinutesApprovedTotal; - TimeSpan tsPeriod = item.SupportConceptApprovalPeriod.EndDate.Value.Subtract(dtPeriod); - int daysPeriod = tsPeriod.Days + 1; - if (daysPeriod < 0) - daysPeriod = 0; + //DateTime dtPeriod = statisticsDate.Date; + //if (item.SupportConceptApprovalPeriod.StartDate.HasValue && item.SupportConceptApprovalPeriod.StartDate > dtPeriod) + //{ + // dtPeriod = item.SupportConceptApprovalPeriod.StartDate.Value; + //} - if (daysPeriod != 0) - { - item.MinutesFreePerWeek = (item.MinutesApprovedTotal - item.MinutesProvidedTotalRounded) / (daysPeriod / 7m); - } - else - { - item.MinutesFreePerWeek = item.MinutesApprovedTotal - item.MinutesProvidedTotalRounded; - } + //TimeSpan tsPeriod = item.SupportConceptApprovalPeriod.EndDate.Value.Subtract(dtPeriod); + //int daysPeriod = tsPeriod.Days + 1; + //if (daysPeriod < 0) + // daysPeriod = 0; + + //if (daysPeriod != 0) + //{ + // item.MinutesFreePerWeek = (item.MinutesApprovedTotal - item.MinutesProvidedTotalRounded) / (daysPeriod / 7m); + //} + //else + //{ + // item.MinutesFreePerWeek = item.MinutesApprovedTotal - item.MinutesProvidedTotalRounded; + //} } - decimal freeTotal = stats.MinutesApprovedTotal - stats.MinutesProvidedTotalRounded; - if (stats.MinutesFreePerWeekAverage > freeTotal) - stats.MinutesFreePerWeekAverage = freeTotal; - if (stats.MinutesFreePerWeekAverage < 0) - stats.MinutesFreePerWeekAverage = 0; + //decimal freeTotal = stats.MinutesApprovedTotal - stats.MinutesProvidedTotalRounded; + //if (stats.MinutesFreePerWeekAverage > freeTotal) + // stats.MinutesFreePerWeekAverage = freeTotal; + //if (stats.MinutesFreePerWeekAverage < 0) + // stats.MinutesFreePerWeekAverage = 0; return stats; }