From 2812484f76ffe1f5cbf605ee567be0ab3c70bb55 Mon Sep 17 00:00:00 2001 From: Marcel Hirschle Date: Fri, 7 Jun 2024 14:15:09 +0200 Subject: [PATCH] MH: Schubkraft Gesamtstunden in Bewilligung richtig berechnet --- .../Calculation/ABCCalculations.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ReportImp/ABCBetreuungenReports/Calculation/ABCCalculations.cs b/ReportImp/ABCBetreuungenReports/Calculation/ABCCalculations.cs index a5464a475..1ebc7d025 100644 --- a/ReportImp/ABCBetreuungenReports/Calculation/ABCCalculations.cs +++ b/ReportImp/ABCBetreuungenReports/Calculation/ABCCalculations.cs @@ -12,12 +12,16 @@ namespace ABCBetreuungenReports.Calculation public override decimal? GetApprovedHoursForPeriod(SupportConceptApprovalPeriodDC scap, List costRatePeriods, DateTime? pStart, DateTime? pEnd) { - + var scapEnt = + DAOFactory.GenericDAO.LoadByID(scap.SupportConceptApprovalPeriodOid.Value); + var org = scapEnt.CostBearer2SupportConcept.CostBearer.Organisation; decimal weeksPerMonth = 4.3m; if (scap.ApprovedBETotal.HasValue) { + if (org.Name.ToLower().Contains("neu")) + return scap.ApprovedBETotal / 60 * 50; return scap.ApprovedBETotal; } @@ -59,15 +63,12 @@ namespace ABCBetreuungenReports.Calculation start = start.AddMonths(1); } - var scapEnt = - DAOFactory.GenericDAO.LoadByID(scap.SupportConceptApprovalPeriodOid.Value); - var org = scapEnt.CostBearer2SupportConcept.CostBearer.Organisation; if (org.Name.ToLower().Contains("neu") && scap.ApprovedBEPerInterval.HasValue) { - var month = Math.Round(Convert.ToDecimal(((pEnd.Value.Date - pStart.Value.Date).TotalDays + 1) / 7), 2); - month /= 4.35m; - return scap.ApprovedBEPerInterval.Value * 4.35m * Math.Round(month, 2); + var weeksInAP = Math.Round(Convert.ToDecimal(((pEnd.Value.Date - pStart.Value.Date).TotalDays + 1) / 7), 2); // Anzahl Wochen im Bewilligungszeitraum + var months = weeksInAP / 4.35m; // 1 Monat hat bei denen Pauschal 4.35 Wochen, also Wochen im Bewilligungszeitraum / Wochen pro Monat + return (scap.ApprovedBEPerInterval.Value / 60 * 50) * 4.35m * Math.Round(months, 2); // Bew. Stunden pro Woche * Wochen pro Monat = Stunden pro Monat, dann Stunden pro Monat * Anzahl Monate } if (org.Name != "Landkreis Osnabrück")