FinanceRO - Bugfix SumApprovedHours für einzelne Bewilligungen mit Start- und Enddatum berücksichtigt

This commit is contained in:
2026-04-28 16:41:54 +02:00
parent 3e498e0e75
commit ce88c99384

View File

@@ -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;