diff --git a/ReportImp/WahlEv/Invoicing/InvoiceCreationNachStunden.cs b/ReportImp/WahlEv/Invoicing/InvoiceCreationNachStunden.cs index 73d69099d..4c9afbc5e 100644 --- a/ReportImp/WahlEv/Invoicing/InvoiceCreationNachStunden.cs +++ b/ReportImp/WahlEv/Invoicing/InvoiceCreationNachStunden.cs @@ -49,8 +49,12 @@ namespace WahlEv.Invoicing { var sip = inv.ServiceInvoicePeriodList[0]; + decimal leistungsabrechnungUnitCount = 0; + foreach (var ip in inv.ServiceInvoicePeriodList) + leistungsabrechnungUnitCount += ip.InvoiceItemList.Sum(i => i.UnitCount.Value); + // Pauschale Sonderzahlung, die für alle gleich ist, die die Funktion "Kostenträger" haben - var pitem = CreateSonderZahlungPauschal(costBearer); + var pitem = CreateSonderZahlungPauschal(costBearer, leistungsabrechnungUnitCount); if (pitem != null) { sip.InvoiceItemList.Add(pitem); @@ -195,27 +199,27 @@ namespace WahlEv.Invoicing return 0; } - private InvoiceItem CreateSonderZahlungPauschal(CostBearer costBearer) + private InvoiceItem CreateSonderZahlungPauschal(CostBearer costBearer, decimal unitCount) { var function = costBearer.Organisation.Function; - if (function != null && function.Value.ToLower().Contains("kostenträger")) + if (function != null && function.Value.ToLower().Contains("kostenträger") && unitCount > 0) { var pauschale = GetPreis("Sonderzahlung laut Tarif", accountingPeriodStart.Value); return new InvoiceItem() { AccountingInterval = AccountingIntervalType.FlatRate, AmountPerUnit = pauschale, - AmountTotal = pauschale, + AmountTotal = pauschale * unitCount, ApprovalUnit = AccountingIntervalType.FlatRate, - ApprovedPerUnit = pauschale, - GrossAmountTotal = pauschale, + ApprovedPerUnit = pauschale * unitCount, + GrossAmountTotal = pauschale * unitCount, ItemDescription = "Sonderzahlung laut Tarif", ItemPeriodStart = accountingPeriodStart, ItemPeriodEnd = accountingPeriodEnd, - MaxApprovedAmount = pauschale, - MaxApprovedUnitCount = 1, + MaxApprovedAmount = pauschale * unitCount, + MaxApprovedUnitCount = unitCount, RateFactor = null, - UnitCount = 1, + UnitCount = unitCount, UnitDescription = "Sonderzahlung laut Tarif" }; } diff --git a/ReportImp/WahlEv/Properties/licenses.licx b/ReportImp/WahlEv/Properties/licenses.licx index e69de29bb..d59547a61 100644 --- a/ReportImp/WahlEv/Properties/licenses.licx +++ b/ReportImp/WahlEv/Properties/licenses.licx @@ -0,0 +1 @@ +DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a