From ce88c993848e5f79dcf8574f3dad190b35b77a4c Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 28 Apr 2026 16:41:54 +0200 Subject: [PATCH] =?UTF-8?q?FinanceRO=20-=20Bugfix=20SumApprovedHours=20f?= =?UTF-8?q?=C3=BCr=20einzelne=20Bewilligungen=20mit=20Start-=20und=20Endda?= =?UTF-8?q?tum=20ber=C3=BCcksichtigt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Report/ReportObjects/FinanceRO.cs | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/Report/ReportObjects/FinanceRO.cs b/Report/ReportObjects/FinanceRO.cs index 7fe00c880..6bf4e8ecb 100644 --- a/Report/ReportObjects/FinanceRO.cs +++ b/Report/ReportObjects/FinanceRO.cs @@ -322,7 +322,13 @@ namespace BeWo.Report.ReportObjects } if (ro.SupportConceptApprovalPeriod != null) { - ro.ApprovedHoursInReportTimeSpan = calc.GetApprovedHoursForPeriod(ro.SupportConceptApprovalPeriod, costRateDcs, start, effectiveEnd) ?? 0; + var periodStart = start; + if (ro.SupportConceptApprovalPeriod.StartDate.HasValue && (!periodStart.HasValue || ro.SupportConceptApprovalPeriod.StartDate.Value > periodStart.Value)) + periodStart = ro.SupportConceptApprovalPeriod.StartDate; + var periodEnd = effectiveEnd; + if (ro.SupportConceptApprovalPeriod.EndDate.HasValue && (!periodEnd.HasValue || ro.SupportConceptApprovalPeriod.EndDate.Value < periodEnd.Value)) + periodEnd = ro.SupportConceptApprovalPeriod.EndDate; + ro.ApprovedHoursInReportTimeSpan = calc.GetApprovedHoursForPeriod(ro.SupportConceptApprovalPeriod, costRateDcs, periodStart, periodEnd) ?? 0; } else { @@ -359,7 +365,6 @@ namespace BeWo.Report.ReportObjects } decimal stundensatz = 0; - var hcr = costRateDcs.GetCostRatePeriodForDate(CostRatePeriodType.HourlyRate, srDc.Start.Value); if (hcr != null && hcr.CostRateValue.HasValue) { @@ -367,7 +372,6 @@ namespace BeWo.Report.ReportObjects } var betrag = billable * stundensatz; - ro.AmountNichtFehlkontakteInReportTimeSpan += betrag; } } @@ -411,11 +415,7 @@ namespace BeWo.Report.ReportObjects try { var dc = new ServiceRecordDC(); - - //DAOFactory.SearchDAO.GetSqlResult("SELECT Oid, Version, Start, End, DistanceInMeter, CostBearer2SupportConceptOid, Betrag, ServiceDescriptionOid, RoundedDuration, GroupEmployeeCount, GroupPersonCount, GroupRoundedDuration, GroupOid FROM servicerecord"); - - dc.ServiceRecordOid = (long?)sqlRow[0]; dc.ServiceRecordVersion = (long?)sqlRow[1]; dc.Start = (DateTime?)sqlRow[2]; @@ -445,7 +445,6 @@ namespace BeWo.Report.ReportObjects dc.ServiceDescription = serviceDict[sdOid.Value]; } dc.RoundedDuration = (decimal)sqlRow[8]; - dc.GroupEmployeeCount = (int?)sqlRow[9]; dc.GroupPersonCount = (int?)sqlRow[10]; dc.GroupRoundedDuration = (decimal?)sqlRow[11]; @@ -455,7 +454,6 @@ namespace BeWo.Report.ReportObjects } catch (Exception e) { - throw; } @@ -554,7 +552,6 @@ namespace BeWo.Report.ReportObjects public void CalculateBillableAmountInReportTimeSpan() { CalculateBillableAmountInReportTimeSpan("Finanzauswertung"); - } public void CalculateBillableAmountInReportTimeSpan(String invoiceCreatorId) @@ -657,7 +654,6 @@ namespace BeWo.Report.ReportObjects { scRo.BillableAmountInReportTimeSpan = invoices[0].ClaimSum ?? 0; } - } } @@ -714,7 +710,6 @@ namespace BeWo.Report.ReportObjects .CostBearer2SupportConceptOid.Value); var bookingList = c2s.AccountingTransactions; - bookingList = bookingList.Where(i => i.GueltigkeitsDatum.HasValue && i.GueltigkeitsDatum.Value.Date <= end && i.GueltigkeitsDatum >= start).ToList(); decimal abschlZahlungen = 0;