From 6e8fbc0b343a263a9d97d5ae7290b325070eb99a Mon Sep 17 00:00:00 2001 From: Alexandra Date: Wed, 4 Oct 2023 17:05:40 +0200 Subject: [PATCH] =?UTF-8?q?DiakonieKKKleve/Calculations/GroupDurationCalcu?= =?UTF-8?q?lator=20f=C3=BCr=20Soziotherapie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Calculations/GroupDurationCalculator.cs | 26 +++++++++++++++++++ .../DiakonieKKKleve/DiakonieKKKleve.csproj | 1 + .../DiakoneKKKleveBeWo67InvoiceCreation.cs | 2 +- .../DiakoneKKKleveDefaultInvoiceCreation.cs | 4 +-- ...koneKKKleveSoziotherapieInvoiceCreation.cs | 8 +++--- .../RechnungMitEigenbeteiligung.cs | 2 +- .../Reporting/DkkkAnnualReportFactory.cs | 2 +- 7 files changed, 36 insertions(+), 9 deletions(-) create mode 100644 ReportImp/DiakonieKKKleve/Calculations/GroupDurationCalculator.cs diff --git a/ReportImp/DiakonieKKKleve/Calculations/GroupDurationCalculator.cs b/ReportImp/DiakonieKKKleve/Calculations/GroupDurationCalculator.cs new file mode 100644 index 000000000..3c6554860 --- /dev/null +++ b/ReportImp/DiakonieKKKleve/Calculations/GroupDurationCalculator.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.Plugins; +using BS.Shared.Core; +using BS.Shared.DataContracts; + +namespace DiakonieKKKleve.Calculations +{ + public class CustomGroupDurationCalculator : GroupDurationCalculator + { + public override void CalculateGroupDuration(ServiceRecordGroup group) + { + base.CalculateGroupDuration(group); + + foreach (var sr in group.ServiceRecordList) + { + if (sr.ServiceDescription.ServiceCategory.Name.ToLower().Contains("therapieeinheit")) + { + sr.RoundedDuration = sr.GroupRoundedDuration.Value; + } + } + } + } +} diff --git a/ReportImp/DiakonieKKKleve/DiakonieKKKleve.csproj b/ReportImp/DiakonieKKKleve/DiakonieKKKleve.csproj index e3582d67c..907aa761d 100644 --- a/ReportImp/DiakonieKKKleve/DiakonieKKKleve.csproj +++ b/ReportImp/DiakonieKKKleve/DiakonieKKKleve.csproj @@ -63,6 +63,7 @@ + Component diff --git a/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveBeWo67InvoiceCreation.cs b/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveBeWo67InvoiceCreation.cs index 0c1d42e83..734296b8f 100644 --- a/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveBeWo67InvoiceCreation.cs +++ b/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveBeWo67InvoiceCreation.cs @@ -18,7 +18,7 @@ namespace DiakonieKKKleve.Invoicing } public override IList CreateSummaryInvoiceItems(IList itemList, - DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth) + DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc, bool summaryPerMonth) { var newlist = new List(); diff --git a/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveDefaultInvoiceCreation.cs b/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveDefaultInvoiceCreation.cs index 988c0d0b9..96fb06394 100644 --- a/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveDefaultInvoiceCreation.cs +++ b/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveDefaultInvoiceCreation.cs @@ -12,7 +12,7 @@ namespace DiakonieKKKleve.Invoicing { public class DiakoneKKKleveDefaultInvoiceCreation : InvoiceCreation { - public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc) + public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc) { var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc); //alle Preise außer LVR werden inkl. Faktor von denen eingetragen - funktioniert natürlich nicht für Fehlkontakte :-( @@ -27,7 +27,7 @@ namespace DiakonieKKKleve.Invoicing } public override IList CreateSummaryInvoiceItems(IList itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, - Calculations calc) + BS.Shared.Services.Calculations calc) { return itemList; } diff --git a/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveSoziotherapieInvoiceCreation.cs b/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveSoziotherapieInvoiceCreation.cs index e42c7d236..cece89778 100644 --- a/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveSoziotherapieInvoiceCreation.cs +++ b/ReportImp/DiakonieKKKleve/Invoicing/DiakoneKKKleveSoziotherapieInvoiceCreation.cs @@ -71,7 +71,7 @@ namespace DiakonieKKKleve.Invoicing invoice.AmountEquityContribution = equity; } - public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc) + public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc) { var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc); @@ -116,7 +116,7 @@ namespace DiakonieKKKleve.Invoicing return ii; } - public virtual InvoiceItem CreateInvoiceItemFactor(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc) + public virtual InvoiceItem CreateInvoiceItemFactor(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc) { var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc); @@ -133,7 +133,7 @@ namespace DiakonieKKKleve.Invoicing } public override IList CreateInvoiceItems(List serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, - Calculations calc) + BS.Shared.Services.Calculations calc) { var list = new List(); //if (scap.CostBearer2SupportConcept.CostBearer.Organisation.Name.Contains("Techniker Krankenkasse")) @@ -261,7 +261,7 @@ namespace DiakonieKKKleve.Invoicing return items; } - public override IList CreateSummaryInvoiceItems(IList itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount) + public override IList CreateSummaryInvoiceItems(IList itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount) { return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, true, true); } diff --git a/ReportImp/DiakonieKKKleve/RechnungMitEigenbeteiligung.cs b/ReportImp/DiakonieKKKleve/RechnungMitEigenbeteiligung.cs index e2001725c..5326f2a2c 100644 --- a/ReportImp/DiakonieKKKleve/RechnungMitEigenbeteiligung.cs +++ b/ReportImp/DiakonieKKKleve/RechnungMitEigenbeteiligung.cs @@ -52,7 +52,7 @@ namespace DiakonieKKKleve if (pRO.ServiceInvoicePeriods.Count > 0) { var c2s = pRO.ServiceInvoicePeriods[0].CostBearer2SupportConcept; - Calculations clc = Calculations.GetInstance(c2s.CostBearer.ID); + BS.Shared.Services.Calculations clc = BS.Shared.Services.Calculations.GetInstance(c2s.CostBearer.ID); var relDc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(c2s); bewilligt = clc.GetApprovedHoursTotal(relDc, false) ?? 0; diff --git a/ReportImp/DiakonieKKKleve/Reporting/DkkkAnnualReportFactory.cs b/ReportImp/DiakonieKKKleve/Reporting/DkkkAnnualReportFactory.cs index d84f00bc5..d9d858d25 100644 --- a/ReportImp/DiakonieKKKleve/Reporting/DkkkAnnualReportFactory.cs +++ b/ReportImp/DiakonieKKKleve/Reporting/DkkkAnnualReportFactory.cs @@ -182,7 +182,7 @@ namespace DiakonieKKKleve.Reporting if (!customerOid2Hours.ContainsKey(customerOid)) customerOid2Hours.Add(customerOid, 0); - var calc = PluginLoader.FindClass(c2s.CostBearer.ID) ?? Calculations.GetInstance(c2s.CostBearer.ID); + var calc = PluginLoader.FindClass(c2s.CostBearer.ID) ?? BS.Shared.Services.Calculations.GetInstance(c2s.CostBearer.ID); SupportConceptCostBearerRelDC relDC = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(c2s);