From fd34ccd7f0dbd16c2418fbf65ff6d65b0d36b69e Mon Sep 17 00:00:00 2001 From: Alexandra Date: Mon, 29 Jul 2024 09:11:06 +0200 Subject: [PATCH] =?UTF-8?q?LwvKASpitzabrechnungRO=20-=20Anpassung=20Zeitra?= =?UTF-8?q?um=20f=C3=BCr=20Zwischenabrechnung=20nach=20einem=20Jahr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Report/ReportObjects/LwvKASpitzabrechnungRO.cs | 17 ++++++++++++----- ReportImp/PerspektivenEV/CustomReportCreator.cs | 11 ++++++----- .../Invoicing/CollectiveInvoiceCreationBthg.cs | 2 +- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Report/ReportObjects/LwvKASpitzabrechnungRO.cs b/Report/ReportObjects/LwvKASpitzabrechnungRO.cs index 7686cf3ef..22d82ca70 100644 --- a/Report/ReportObjects/LwvKASpitzabrechnungRO.cs +++ b/Report/ReportObjects/LwvKASpitzabrechnungRO.cs @@ -29,7 +29,7 @@ namespace BeWo.Report.ReportObjects public decimal SummeBetragErbracht { get; set; } - public static LwvKASpitzabrechnungRO Create(long c2sOid, long? scapOid, long? catOid) + public static LwvKASpitzabrechnungRO Create(long c2sOid, DateTime end, long? scapOid, long? catOid) { var ro = new LwvKASpitzabrechnungRO(); var c2s = DAOFactory.GenericDAO.LoadByID(c2sOid); @@ -37,6 +37,10 @@ namespace BeWo.Report.ReportObjects ro.CustomerDC = MapperFactory.CustomerDC_Customer.MapToNewDC(c2s.SupportConcept.Customer); ro.BewilligtStart = c2s.StartDate.Value; ro.BewilligtEnde = c2s.EndDate.Value; + if (end < ro.BewilligtEnde) + { + ro.BewilligtEnde = end; + } SupportConceptApprovalPeriodDC scap; var calc = PluginLoader.FindClass(); @@ -138,11 +142,14 @@ namespace BeWo.Report.ReportObjects var srList = c2s.ServiceRecords; foreach (var item in srList) { - String kwKey = String.Format("{0}_{1}", item.Start.Value.Year, GetKW(item.Start.Value)); - if (zeilenDict.ContainsKey(kwKey) && item.ServiceDescription.ServiceCategory.Oid == scap.ServiceCategory.ServiceCategoryOid) + if (item.Start <= end) { - var wz = zeilenDict[kwKey]; - wz.erbrachteStunden += item.RoundedDuration / 60; + String kwKey = String.Format("{0}_{1}", item.Start.Value.Year, GetKW(item.Start.Value)); + if (zeilenDict.ContainsKey(kwKey) && item.ServiceDescription.ServiceCategory.Oid == scap.ServiceCategory.ServiceCategoryOid) + { + var wz = zeilenDict[kwKey]; + wz.erbrachteStunden += item.RoundedDuration / 60; + } } } diff --git a/ReportImp/PerspektivenEV/CustomReportCreator.cs b/ReportImp/PerspektivenEV/CustomReportCreator.cs index 128069a2e..01d19ab07 100644 --- a/ReportImp/PerspektivenEV/CustomReportCreator.cs +++ b/ReportImp/PerspektivenEV/CustomReportCreator.cs @@ -42,13 +42,14 @@ namespace PerspektivenEV private XtraReport CreateLwvSpitzabrechnung(long queryOid, string queryReportId) { + // Parameter ergänzen var qro = base.CreateQueryRO(queryOid, queryReportId); - if (qro != null && qro.Rows.Count > 0) { long c2sOid = Int64.Parse(qro.Rows[0].Field1.ToString()); long? cat = Int64.Parse(qro.Rows[0].Field2.ToString()); - var ro = LwvKASpitzabrechnungRO.Create(c2sOid, null, cat); + DateTime end = DateTime.Today; + var ro = LwvKASpitzabrechnungRO.Create(c2sOid, end, null, cat); var report = new LwvKASpitzabrechnung(); report.SetReportDataSource(ro); @@ -115,7 +116,7 @@ namespace PerspektivenEV && sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Substring(sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Length - 2) == "KA") { var einzel = new LwvKASpitzabrechnung(); - var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, sip.SupportConceptApprovalPeriod.Oid.Value, null); + var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, ro.AccountingPeriodEnd, sip.SupportConceptApprovalPeriod.Oid.Value, null); einzel.SetReportDataSource(kaRo); einzel.CreateDocument(); anhang2.Pages.AddRange((einzel).Pages); @@ -237,7 +238,7 @@ namespace PerspektivenEV && sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Substring(sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Length - 2) == "KA") { var anhang2 = new LwvKASpitzabrechnung(); - var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, sip.SupportConceptApprovalPeriod.Oid.Value, null); + var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, ro.AccountingPeriodEnd, sip.SupportConceptApprovalPeriod.Oid.Value, null); anhang2.SetReportDataSource(kaRo); anhang2.CreateDocument(); ((XtraReport)anhang).Pages.AddRange(((XtraReport)anhang2).Pages); @@ -315,7 +316,7 @@ namespace PerspektivenEV && sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Substring(sip.SupportConceptApprovalPeriod.ServiceCategory.Abbreviation.Length - 2) == "KA") { var anhang2 = new LwvKASpitzabrechnung(); - var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, sip.SupportConceptApprovalPeriod.Oid.Value, null); + var kaRo = LwvKASpitzabrechnungRO.Create(sip.CostBearer2SupportConcept.Oid.Value, ro.AccountingPeriodEnd, sip.SupportConceptApprovalPeriod.Oid.Value, null); anhang2.SetReportDataSource(kaRo); anhang2.CreateDocument(); ((XtraReport)singleReport).Pages.AddRange(((XtraReport)anhang2).Pages); diff --git a/ReportImp/PerspektivenEV/Invoicing/CollectiveInvoiceCreationBthg.cs b/ReportImp/PerspektivenEV/Invoicing/CollectiveInvoiceCreationBthg.cs index e5eaa9309..4c1f819fe 100644 --- a/ReportImp/PerspektivenEV/Invoicing/CollectiveInvoiceCreationBthg.cs +++ b/ReportImp/PerspektivenEV/Invoicing/CollectiveInvoiceCreationBthg.cs @@ -339,7 +339,7 @@ namespace PerspektivenEV.Invoicing && supportConceptApprovalPeriod.EndDate.Value >= accountingPeriodStart.Value || supportConceptApprovalPeriod.StartDate.Value.AddMonths(11) <= accountingPeriodEnd.Value && supportConceptApprovalPeriod.StartDate.Value.AddMonths(11) >= accountingPeriodStart.Value)) { - var ro = LwvKASpitzabrechnungRO.Create(cb2sc.Oid.Value, supportConceptApprovalPeriod.SupportConceptApprovalPeriodOid, null); + var ro = LwvKASpitzabrechnungRO.Create(cb2sc.Oid.Value, end, supportConceptApprovalPeriod.SupportConceptApprovalPeriodOid, null); foreach (var pz in ro.Preiszeitraeume) { var jahr = serviceInvoicePeriod.Start.Value.Year;