From 8d293ee62c8b9cf6c839290e047fda29407a57ee Mon Sep 17 00:00:00 2001 From: Kojo Date: Mon, 30 Dec 2024 21:31:05 +0100 Subject: [PATCH] PaSMoenchengladbach: Heiligabend kein Feiertag, Heiligabend und Silvester halbe Arbeitstage --- .../PaSMoenchengladbach.csproj | 232 +++++++++--------- ...CustomMitarbeiterstundenkontoBerechnung.cs | 16 ++ .../Service/CustomVacationService.cs | 21 ++ 3 files changed, 154 insertions(+), 115 deletions(-) create mode 100644 ReportImp/PaSMoenchengladbach/Reporting/CustomMitarbeiterstundenkontoBerechnung.cs create mode 100644 ReportImp/PaSMoenchengladbach/Service/CustomVacationService.cs diff --git a/ReportImp/PaSMoenchengladbach/PaSMoenchengladbach.csproj b/ReportImp/PaSMoenchengladbach/PaSMoenchengladbach.csproj index 3db408c7b..b340f1bac 100644 --- a/ReportImp/PaSMoenchengladbach/PaSMoenchengladbach.csproj +++ b/ReportImp/PaSMoenchengladbach/PaSMoenchengladbach.csproj @@ -1,116 +1,118 @@ - - - - - Debug - AnyCPU - {EA3C4BE1-6128-4FC9-8194-3C4202233371} - Library - Properties - PaSMoenchengladbach - 3367947706_Reports - v4.7.2 - 512 - - - - true - full - false - ..\..\CustomerDlls\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - ..\..\CustomerDlls\ - TRACE - prompt - 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Component - - - ServicesOverviewReport.cs - - - Component - - - SettlementReport.cs - - - Component - - - SettlementReport2.cs - - - - - - - ServicesOverviewReport.cs - - - SettlementReport.cs - Designer - - - SettlementReport2.cs - Designer - - - - - {B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE} - Data - - - {40D8B312-EA64-49E3-A31A-5E57ED4D5654} - Report - - - {094331c3-ecee-4c89-bbfd-4c9ded89f0ef} - Service - - - {2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4} - Shared - - - - - - - + + + + + Debug + AnyCPU + {EA3C4BE1-6128-4FC9-8194-3C4202233371} + Library + Properties + PaSMoenchengladbach + 3367947706_Reports + v4.7.2 + 512 + + + + true + full + false + ..\..\CustomerDlls\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\..\CustomerDlls\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Component + + + ServicesOverviewReport.cs + + + + Component + + + SettlementReport.cs + + + Component + + + SettlementReport2.cs + + + + + + + ServicesOverviewReport.cs + + + SettlementReport.cs + Designer + + + SettlementReport2.cs + Designer + + + + + {B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE} + Data + + + {40D8B312-EA64-49E3-A31A-5E57ED4D5654} + Report + + + {094331c3-ecee-4c89-bbfd-4c9ded89f0ef} + Service + + + {2F50B83D-A3F0-4EC4-979A-3F9B7E3D8ED4} + Shared + + + + + + + \ No newline at end of file diff --git a/ReportImp/PaSMoenchengladbach/Reporting/CustomMitarbeiterstundenkontoBerechnung.cs b/ReportImp/PaSMoenchengladbach/Reporting/CustomMitarbeiterstundenkontoBerechnung.cs new file mode 100644 index 000000000..c37fe6445 --- /dev/null +++ b/ReportImp/PaSMoenchengladbach/Reporting/CustomMitarbeiterstundenkontoBerechnung.cs @@ -0,0 +1,16 @@ +using System; +using BeWo.Report.ReportObjects; + +namespace PaSMoenchengladbach.Reporting +{ + public class CustomMitarbeiterstundenkontoBerechnung : MitarbeiterstundenkontoBerechnung + { + public override decimal GetFeiertagsFaktor(DateTime start) + { + if (start.Month == 12 && (start.Day == 24 || start.Day == 31)) + return 0.5m; + + return base.GetFeiertagsFaktor(start); + } + } +} diff --git a/ReportImp/PaSMoenchengladbach/Service/CustomVacationService.cs b/ReportImp/PaSMoenchengladbach/Service/CustomVacationService.cs new file mode 100644 index 000000000..490b73803 --- /dev/null +++ b/ReportImp/PaSMoenchengladbach/Service/CustomVacationService.cs @@ -0,0 +1,21 @@ +using System.Collections.Generic; +using System.Linq; +using BeWo.Service.Plugins; +using BS.Shared.DataContracts; + +namespace PaSMoenchengladbach.Service +{ + public class CustomVacationService : VacationService + { + public override List GetFeiertage(int year, string bundesland) + { + var feiertage = base.GetFeiertage(year, bundesland); + + var weihnachten = feiertage.FirstOrDefault(f => f.Name == "Heilig Abend"); + if (weihnachten != null) + feiertage.Remove(weihnachten); + + return feiertage; + } + } +}