From eefc9d20b6a1efcee3bd9873c1f6e9c959c302d7 Mon Sep 17 00:00:00 2001 From: Marcel Hirschle Date: Wed, 31 Jul 2024 13:38:28 +0200 Subject: [PATCH] =?UTF-8?q?MH:=20HpH=20Bersenbr=C3=BCck=20Finanzauswertung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReportImp/HPHBersenbrueck/Finanzauswertung.cs | 24 ++++++++++++++++++- ...eueAssistenzSelbstzahlerInvoiceCreation.cs | 2 +- .../HPHBersenbrueck/RechnungSelbstzahler.cs | 2 +- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/ReportImp/HPHBersenbrueck/Finanzauswertung.cs b/ReportImp/HPHBersenbrueck/Finanzauswertung.cs index 04dd7a8f1..64b53699e 100644 --- a/ReportImp/HPHBersenbrueck/Finanzauswertung.cs +++ b/ReportImp/HPHBersenbrueck/Finanzauswertung.cs @@ -13,6 +13,7 @@ using BeWo.Service.DCEntityMapper; using BeWo.Service.Invoicing; using BeWo.Service.ServiceImplementations; using BS.Shared.DataContracts.Compact; +using HPHBersenbrueck.Invoicing; namespace HphBersenbrueck { @@ -97,20 +98,41 @@ namespace HphBersenbrueck dict.Add(sc, scRo.ServiceRecords); - var creator = new InvoiceCreation(); + var factory = new CustomInvoiceFactory(); + + var creator = factory.CreateInvoiceCreator(null, null, dict); + + //String text = String.Format("Tenant={0}, Context=Null? {1}, Factory = {2}", tenant, // MultitenancyOperationContextExt.Current == null, factory); DateTimeSpan span = new DateTimeSpan(); span.StartDate = start; span.EndDate = end; + var invoices = creator.GenerateServiceInvoices(scRo.Costbearer2Supportconcept.CostBearer.CostBearerOid.Value, span, dict); if (invoices != null && invoices.Count == 1) { scRo.BillableAmountInReportTimeSpan = invoices[0].ClaimSum ?? 0; + if (!String.IsNullOrEmpty(invoices[0].InvoiceBase.InvoiceId) && invoices[0].InvoiceBase.InvoiceId.StartsWith("NQA")) + { + foreach (var sip in invoices[0].ServiceInvoicePeriods) + { + foreach (var item in sip.InvoiceItems) + { + if (item.ItemDescription.Contains("Assistenz")) + { + scRo.HourlyRate = item.AmountPerUnit; + scRo.RateFactor = 1.2m; + scRo.StundenNichtFehlkontakteInReportTimeSpan = item.UnitCount ?? 0; + } + } + } + } + } } diff --git a/ReportImp/HPHBersenbrueck/Invoicing/NeueAssistenzSelbstzahlerInvoiceCreation.cs b/ReportImp/HPHBersenbrueck/Invoicing/NeueAssistenzSelbstzahlerInvoiceCreation.cs index 9ab6e7b8a..827d1405b 100644 --- a/ReportImp/HPHBersenbrueck/Invoicing/NeueAssistenzSelbstzahlerInvoiceCreation.cs +++ b/ReportImp/HPHBersenbrueck/Invoicing/NeueAssistenzSelbstzahlerInvoiceCreation.cs @@ -18,7 +18,7 @@ namespace HPHBersenbrueck.Invoicing { public override void SetInvoiceId(ServiceInvoice invoice) { - invoice.InvoiceBase.InvoiceId = "Selbstzahler"; + invoice.InvoiceBase.InvoiceId = "NQA Selbstzahler"; invoice.InvoiceBase.InvoiceTypeText = "Selbstzahler"; } diff --git a/ReportImp/HPHBersenbrueck/RechnungSelbstzahler.cs b/ReportImp/HPHBersenbrueck/RechnungSelbstzahler.cs index 020624363..6e389b7c4 100644 --- a/ReportImp/HPHBersenbrueck/RechnungSelbstzahler.cs +++ b/ReportImp/HPHBersenbrueck/RechnungSelbstzahler.cs @@ -10,7 +10,7 @@ using DevExpress.XtraReports.UI; namespace HPHBersenbrueck { - [IDSpecificClass(Identifier = "Selbstzahler")] + [IDSpecificClass(Identifiers = new string[] { "Selbstzahler", "NQA Selbstzahler" })] public partial class RechnungSelbstzahler: XtraReport, IBeWoReport {