diff --git a/ReportImp/BeWoAuxilio/BeWoAuxilio.csproj b/ReportImp/BeWoAuxilio/BeWoAuxilio.csproj
index 3a58ccc1c..381bb7bb3 100644
--- a/ReportImp/BeWoAuxilio/BeWoAuxilio.csproj
+++ b/ReportImp/BeWoAuxilio/BeWoAuxilio.csproj
@@ -73,6 +73,7 @@
+
Component
diff --git a/ReportImp/BeWoAuxilio/CustomMitarbeiterstundenkontoBerechnung.cs b/ReportImp/BeWoAuxilio/CustomMitarbeiterstundenkontoBerechnung.cs
index 64d316a7d..56297c331 100644
--- a/ReportImp/BeWoAuxilio/CustomMitarbeiterstundenkontoBerechnung.cs
+++ b/ReportImp/BeWoAuxilio/CustomMitarbeiterstundenkontoBerechnung.cs
@@ -158,5 +158,13 @@ namespace BeWo.BeWoAuxilio
emp.Custom1 += (duration / 60);
}
}
- }
+
+ public override bool IstAnrechenbareAbsenceTime(AbsenceTime item)
+ {
+ if (item.AbsenceReason.Description != null && item.AbsenceReason.Description.ToLower().Contains("freizeitausgleich"))
+ return false;
+ else
+ return base.IstAnrechenbareAbsenceTime(item);
+ }
+ }
}
diff --git a/ReportImp/BeWoAuxilio/CustomVacationService.cs b/ReportImp/BeWoAuxilio/CustomVacationService.cs
new file mode 100644
index 000000000..1abde561f
--- /dev/null
+++ b/ReportImp/BeWoAuxilio/CustomVacationService.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using BeWo.Service.Core;
+using BeWo.Service.Plugins;
+using BS.Shared.Core;
+using BS.Shared.DataContracts;
+using Utils = BS.Shared.Core.Utils;
+
+namespace BeWoAuxilio.Service
+{
+ public class CustomVacationService : VacationService
+ {
+ public override List GetFeiertage(int year, string bundesland)
+ {
+ var list = base.GetFeiertage(year, bundesland);
+ list.Add(new FeiertagDC() { Datum = new DateTime(year, 12, 31), Name = "Silvester" });
+
+ return list;
+ }
+
+ public override decimal GetFeiertagsFaktor(DateTime start)
+ {
+ if (start.Date.Month == 12 && (start.Date.Day == 24 || start.Date.Day == 31))
+ return 0.5m;
+ else
+ return base.GetFeiertagsFaktor(start);
+ }
+ }
+}
diff --git a/ReportImp/BeWoAuxilio/Mitarbeiterstundenkonto.cs b/ReportImp/BeWoAuxilio/Mitarbeiterstundenkonto.cs
index 9b77b79fb..ef17e4ad3 100644
--- a/ReportImp/BeWoAuxilio/Mitarbeiterstundenkonto.cs
+++ b/ReportImp/BeWoAuxilio/Mitarbeiterstundenkonto.cs
@@ -21,6 +21,20 @@ namespace BeWo.BeWoAuxilio
var msb = new CustomMitarbeiterstundenkontoBerechnung();
msb.CreateReport(pRO);
+ foreach (var emp in pRO.EmployeeDetailList)
+ {
+ if (emp.SollProTag != 0)
+ {
+ var urlaubKrankheit = 0m;
+ if (emp.TageUrlaub.HasValue)
+ urlaubKrankheit += emp.TageUrlaub.Value * emp.SollProTag;
+ if (emp.TageKrankheit.HasValue)
+ urlaubKrankheit += emp.TageKrankheit.Value * emp.SollProTag;
+
+ emp.UrlaubUndKrankheit = urlaubKrankheit;
+ }
+ }
+
this.bindingSource1.DataSource = pRO;
}
diff --git a/ReportImp/BetreutesWohnenWoellReports/Properties/licenses.licx b/ReportImp/BetreutesWohnenWoellReports/Properties/licenses.licx
index e69de29bb..d59547a61 100644
--- a/ReportImp/BetreutesWohnenWoellReports/Properties/licenses.licx
+++ b/ReportImp/BetreutesWohnenWoellReports/Properties/licenses.licx
@@ -0,0 +1 @@
+DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/ReportImp/BetreutesWohnenWoellReports/SettlementReport2.cs b/ReportImp/BetreutesWohnenWoellReports/SettlementReport2.cs
index dbf704e5e..9ece9ea1f 100644
--- a/ReportImp/BetreutesWohnenWoellReports/SettlementReport2.cs
+++ b/ReportImp/BetreutesWohnenWoellReports/SettlementReport2.cs
@@ -6,6 +6,7 @@ using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using BS.Shared.Extensions;
+using System.Linq;
namespace BeWo.BetreutesWohnenWoellReports
{
@@ -19,15 +20,34 @@ namespace BeWo.BetreutesWohnenWoellReports
public void SetReportDataSource(Settlement2RO pRO)
{
decimal rateFactor = 1;
- bool assistenzRechnung = false;
+ bool assistenzRechnung = false;
- foreach (var ii in pRO.InvoiceItems)
+ if (pRO.InvoiceItems.Any(ii => ii.RateFactor.HasValue))
+ {
+ if (pRO.InvoiceItems.Any(ii => ii.RateFactor.Value == 20))
+ {
+ rateFactor = 1.2m;
+ pRO.RateFactorText2 = String.Format("{0:0.00}", rateFactor);
+ }
+ else if (pRO.InvoiceItems.Any(ii => ii.RateFactor.Value == 0))
+ {
+ rateFactor = 1m;
+ pRO.RateFactorText2 = String.Format("{0:0.00}", rateFactor);
+ }
+ }
+ else
+ {
+ rateFactor = 1m;
+ pRO.RateFactorText2 = String.Format("{0:0.00}", rateFactor);
+ }
+
+ foreach (var ii in pRO.InvoiceItems)
{
- if (ii.RateFactor.HasValue)
- {
- rateFactor = (100 + ii.RateFactor.Value) / 100;
- pRO.RateFactorText2 = String.Format("{0:0.00}", rateFactor);
- }
+ //if (ii.RateFactor.HasValue)
+ //{
+ // rateFactor = (100 + ii.RateFactor.Value) / 100;
+ // pRO.RateFactorText2 = String.Format("{0:0.00}", rateFactor);
+ //}
if (!pRO.FehlkontakteString.IsNullOrEmpty() && ii.RateFactor == 0)
{