From eabc49a50b76a197524ed83fff136fbfeee9f144 Mon Sep 17 00:00:00 2001 From: Marcel Hirschle Date: Thu, 25 Apr 2024 10:02:53 +0200 Subject: [PATCH] MH: Lebenswert Statistik Zeiterfassung --- ReportImp/LebensWert/LebensWert.csproj | 1 + .../CustomServiceRecordStatisticFactory.cs | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 ReportImp/LebensWert/Service/CustomServiceRecordStatisticFactory.cs diff --git a/ReportImp/LebensWert/LebensWert.csproj b/ReportImp/LebensWert/LebensWert.csproj index 7765d3e9d..5e7784fdb 100644 --- a/ReportImp/LebensWert/LebensWert.csproj +++ b/ReportImp/LebensWert/LebensWert.csproj @@ -99,6 +99,7 @@ RechnungNI.cs + Component diff --git a/ReportImp/LebensWert/Service/CustomServiceRecordStatisticFactory.cs b/ReportImp/LebensWert/Service/CustomServiceRecordStatisticFactory.cs new file mode 100644 index 000000000..bc715372c --- /dev/null +++ b/ReportImp/LebensWert/Service/CustomServiceRecordStatisticFactory.cs @@ -0,0 +1,56 @@ +using BeWo.Service.Plugins; +using BS.Shared.DataContracts; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LebensWert.Service +{ + public class CustomServiceRecordStatisticFactory : ServiceRecordStatisticFactory + { + + public override SupportConceptStatisticsDC CreateSupportConceptStatisticsImpl(long costBearer2SupportConceptOid, DateTime statisticsDate, long? ignoreServiceRecordOid) + { + var stats = base.CreateSupportConceptStatisticsImpl(costBearer2SupportConceptOid, statisticsDate, ignoreServiceRecordOid); + decimal factor = 1.2m; + + stats.ApprovedMinutesTillNow *= factor; + stats.IstTotalUntilThisMonth *= factor; + stats.MinutesApprovedPerMonth *= factor; + stats.MinutesApprovedPerWeek *= factor; + stats.MinutesApprovedTotal *= factor; + stats.MinutesFreePerMonthAverage *= factor; + stats.MinutesFreePerWeekAverage *= factor; + stats.MinutesOutOfApprovedPeriod *= factor; + stats.MinutesProvidedPerMonthAverage *= factor; + stats.MinutesProvidedPerWeekAverage *= factor; + stats.MinutesProvidedThisMonth *= factor; + stats.MinutesProvidedThisWeek *= factor; + stats.MinutesProvidedTotal *= factor; + stats.MinutesProvidedTotalRounded *= factor; + stats.SollTotalUntilThisMonth *= factor; + + foreach (var s in stats.PeriodStatistics) + { + s.AmountConsumedThisInterval *= factor; + s.AmountConsumedTotal *= factor; + s.ApprovedMinutesTillNow *= factor; + s.IstTotalUntilThisMonth *= factor; + s.MinutesApprovedPerMonth *= factor; + s.MinutesApprovedPerWeek *= factor; + s.MinutesApprovedTotal *= factor; + s.MinutesFreePerWeek *= factor; + s.MinutesOutOfApprovedPeriod *= factor; + s.MinutesProvidedThisMonth *= factor; + s.MinutesProvidedThisWeek *= factor; + s.MinutesProvidedTotal *= factor; + s.MinutesProvidedTotalRounded *= factor; + s.SollTotalUntilThisMonth *= factor; + } + + return stats; + } + } +}