From 57b3fffd4f2ef0f92694ccbb0cc534cf296f7ca3 Mon Sep 17 00:00:00 2001 From: HirschleM Date: Wed, 2 Apr 2025 12:00:36 +0200 Subject: [PATCH] MH: Schubkraft SaveInterceptor + neu auf alt umgestellt --- .../ABCBetreuungenReports.csproj | 1 + .../Calculation/ABCCalculations.cs | 4 ++-- .../CustomReportCreator.cs | 2 +- .../Invoicing/CustomInvoiceCreation.cs | 4 ++-- .../CustomSettlementInvoiceCreation.cs | 4 ++-- .../Service/CustomSaveInterceptor.cs | 23 +++++++++++++++++++ .../ABCBetreuungenReports/SettlementReport.cs | 2 +- .../SettlementReport2.cs | 2 +- 8 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 ReportImp/ABCBetreuungenReports/Service/CustomSaveInterceptor.cs diff --git a/ReportImp/ABCBetreuungenReports/ABCBetreuungenReports.csproj b/ReportImp/ABCBetreuungenReports/ABCBetreuungenReports.csproj index 48bbb13ad..376a13487 100644 --- a/ReportImp/ABCBetreuungenReports/ABCBetreuungenReports.csproj +++ b/ReportImp/ABCBetreuungenReports/ABCBetreuungenReports.csproj @@ -83,6 +83,7 @@ Quittierungsbeleg.cs + Component diff --git a/ReportImp/ABCBetreuungenReports/Calculation/ABCCalculations.cs b/ReportImp/ABCBetreuungenReports/Calculation/ABCCalculations.cs index 1ebc7d025..4bb36862c 100644 --- a/ReportImp/ABCBetreuungenReports/Calculation/ABCCalculations.cs +++ b/ReportImp/ABCBetreuungenReports/Calculation/ABCCalculations.cs @@ -20,7 +20,7 @@ namespace ABCBetreuungenReports.Calculation if (scap.ApprovedBETotal.HasValue) { - if (org.Name.ToLower().Contains("neu")) + if (!org.Name.ToLower().Contains("alt")) return scap.ApprovedBETotal / 60 * 50; return scap.ApprovedBETotal; } @@ -64,7 +64,7 @@ namespace ABCBetreuungenReports.Calculation } - if (org.Name.ToLower().Contains("neu") && scap.ApprovedBEPerInterval.HasValue) + if (!org.Name.ToLower().Contains("alt") && scap.ApprovedBEPerInterval.HasValue) { var weeksInAP = Math.Round(Convert.ToDecimal(((pEnd.Value.Date - pStart.Value.Date).TotalDays + 1) / 7), 2); // Anzahl Wochen im Bewilligungszeitraum var months = weeksInAP / 4.35m; // 1 Monat hat bei denen Pauschal 4.35 Wochen, also Wochen im Bewilligungszeitraum / Wochen pro Monat diff --git a/ReportImp/ABCBetreuungenReports/CustomReportCreator.cs b/ReportImp/ABCBetreuungenReports/CustomReportCreator.cs index fa1566448..e4a5c30fe 100644 --- a/ReportImp/ABCBetreuungenReports/CustomReportCreator.cs +++ b/ReportImp/ABCBetreuungenReports/CustomReportCreator.cs @@ -95,7 +95,7 @@ namespace ABCBetreuungenReports //} // Klären, wann QB genommen werden soll - if (ro.Costbearer != null && ro.StartDate.Date >= new DateTime(2023, 10, 01) && ro.Costbearer.ToLower().Contains("neu")) + if (ro.Costbearer != null && ro.StartDate.Date >= new DateTime(2023, 10, 01) && !ro.Costbearer.ToLower().Contains("alt")) report = new Quittierungsbeleg(); else report = new Stundenzettel(); diff --git a/ReportImp/ABCBetreuungenReports/Invoicing/CustomInvoiceCreation.cs b/ReportImp/ABCBetreuungenReports/Invoicing/CustomInvoiceCreation.cs index 39f6cbd90..db84d4cbc 100644 --- a/ReportImp/ABCBetreuungenReports/Invoicing/CustomInvoiceCreation.cs +++ b/ReportImp/ABCBetreuungenReports/Invoicing/CustomInvoiceCreation.cs @@ -34,7 +34,7 @@ namespace ABCBetreuungenReports.Invoicing { var list = base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc); - if (scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.ToLower().Contains("neu")) + if (!scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.ToLower().Contains("alt")) { var crp = scap.CostBearer2SupportConcept.CostBearer.CostRatePeriods; @@ -75,7 +75,7 @@ namespace ABCBetreuungenReports.Invoicing public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc) { var invoiceItem = base.CreateInvoiceItem(iServiceRecord, scap, calc); - if (scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.ToLower().Contains("neu")) + if (!scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.ToLower().Contains("alt")) { var crp = scap.CostBearer2SupportConcept.CostBearer.CostRatePeriods; if (iServiceRecord.Start.HasValue && iServiceRecord.Start.Value.Date >= new DateTime(2023, 09, 01)) diff --git a/ReportImp/ABCBetreuungenReports/Invoicing/CustomSettlementInvoiceCreation.cs b/ReportImp/ABCBetreuungenReports/Invoicing/CustomSettlementInvoiceCreation.cs index 98be269a7..aa09b3965 100644 --- a/ReportImp/ABCBetreuungenReports/Invoicing/CustomSettlementInvoiceCreation.cs +++ b/ReportImp/ABCBetreuungenReports/Invoicing/CustomSettlementInvoiceCreation.cs @@ -45,7 +45,7 @@ namespace ABCBetreuungenReports.Invoicing invoiceItems.Add(ii); // ANPASSUNG - if (si.RecipientOrganisation.ToLower().Contains("neu")) + if (!si.RecipientOrganisation.ToLower().Contains("alt")) { InvoiceItemDC pauschalenItem = CreateKontaktpauschalenItem(ap, si.RecipientOrganisation); if (pauschalenItem != null) @@ -154,7 +154,7 @@ namespace ABCBetreuungenReports.Invoicing } public override void CalculateInvoiceItemAmounts(Settlement2DC si) { - if (si.RecipientOrganisation != null && si.RecipientOrganisation.ToLower().Contains("neu")) + if (si.RecipientOrganisation != null && !si.RecipientOrganisation.ToLower().Contains("alt")) { si.ApprovedFLS = si.ApprovedFLS != null ? si.ApprovedFLS / 50 * 60 : si.ApprovedFLS; si.ApprovedFLSWeekly = si.ApprovedFLSWeekly != null ? si.ApprovedFLSWeekly / 50 * 60 : si.ApprovedFLSWeekly; diff --git a/ReportImp/ABCBetreuungenReports/Service/CustomSaveInterceptor.cs b/ReportImp/ABCBetreuungenReports/Service/CustomSaveInterceptor.cs new file mode 100644 index 000000000..94691c499 --- /dev/null +++ b/ReportImp/ABCBetreuungenReports/Service/CustomSaveInterceptor.cs @@ -0,0 +1,23 @@ +using BeWo.Data.Entities; +using BeWo.Service.Plugins; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ABCBetreuungenReports.Service +{ + public class CustomSaveInterceptor : SaveInterceptor + { + public override void BeforeSaveServiceRecord(ServiceRecord sr) + { + if (sr.ServiceDescription.Name.ToLower().Contains("terminausfall pauschale")) + { + if (sr.Start.HasValue) + sr.End = sr.Start.Value.AddMinutes(50); + sr.RoundedDuration = 50; + } + } + } +} diff --git a/ReportImp/ABCBetreuungenReports/SettlementReport.cs b/ReportImp/ABCBetreuungenReports/SettlementReport.cs index 342fe13fd..92e712efc 100644 --- a/ReportImp/ABCBetreuungenReports/SettlementReport.cs +++ b/ReportImp/ABCBetreuungenReports/SettlementReport.cs @@ -18,7 +18,7 @@ namespace BeWo.ABCBetreuungenReports.Alt public void SetReportDataSource(SettlementRO pRO) { - if (pRO.RecipientOrganisation.ToLower().Contains("neu")) + if (!pRO.RecipientOrganisation.ToLower().Contains("alt")) { var fls = pRO.ApprovedFLS.Split(' ')[0]; pRO.ApprovedFLS = string.Format("{0:0.00} FLS", Convert.ToDecimal(fls) / 50 * 60); diff --git a/ReportImp/ABCBetreuungenReports/SettlementReport2.cs b/ReportImp/ABCBetreuungenReports/SettlementReport2.cs index aba485ee8..5b68cdc31 100644 --- a/ReportImp/ABCBetreuungenReports/SettlementReport2.cs +++ b/ReportImp/ABCBetreuungenReports/SettlementReport2.cs @@ -18,7 +18,7 @@ namespace BeWo.ABCBetreuungenReports public void SetReportDataSource(Settlement2RO pRO) { - //if (pRO.RecipientOrganisation.ToLower().Contains("neu")) + //if (!pRO.RecipientOrganisation.ToLower().Contains("alt")) //{ // var fls = pRO.ApprovedFLS.Split(' ')[0]; // pRO.ApprovedFLS = string.Format("{0:0.00} FLS", Convert.ToDecimal(fls) / 50 * 60);