MH: AWO Münsterland AZ-Nachweis

This commit is contained in:
2024-01-08 16:57:52 +01:00
parent e7a0b9681d
commit 18dd63b2af

View File

@@ -6,6 +6,7 @@ using System.Linq;
using BeWo.Report;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;
using BS.Shared.Extensions;
using DevExpress.XtraReports.UI;
namespace AWOMuensterlandRecklinghausen
@@ -46,8 +47,20 @@ namespace AWOMuensterlandRecklinghausen
List<MitarbeiterstundenkontoRO.DayDetail> wochenSummaries = new List<MitarbeiterstundenkontoRO.DayDetail>();
Dictionary<string, decimal> ueberstundenDict = new Dictionary<string, decimal>();
foreach (var day in ed.Days)
// Durch Überschneidungskappungen haben manche Einträge 0 Stunden. Die werden für die Übersicht entfernt
for (int i = ed.Days.Count - 1; i >= 0; i--)
{
if (ed.Days[i].MinutesTotal == 0 && ed.Days[i].EndDateTime1 != null)
ed.Days.RemoveAt(i);
}
decimal ueberstundenProTagGesamt = 0;
//foreach (var day in ed.Days)
for (int i = 0; i < ed.Days.Count; i++)
{
var day = ed.Days[i];
bool abwesend = false;
if (day.IstFeiertag)
{
@@ -100,6 +113,7 @@ namespace AWOMuensterlandRecklinghausen
// splitten der Sollarbeitszeit auf mehrere Einträge
decimal ueberstunden = 0;
ueberstunden = day.MinutesTotal - day.SollStunden;
ueberstundenProTagGesamt += ueberstunden;
if (!ueberstundenDict.ContainsKey(day.Custom5))
{
ueberstundenDict[day.Custom5] = ueberstunden;
@@ -108,11 +122,17 @@ namespace AWOMuensterlandRecklinghausen
{
ueberstunden = day.MinutesTotal + ueberstundenDict[day.Custom5];
day.Custom5 = "";
}
day.Custom3 = string.Format("{0:0.00}", ueberstunden);
if (i + 1 < ed.Days.Count && ed.Days[i + 1].Date.Date != day.Date.Date)
{
day.Custom3 = string.Format("{0:0.00}", ueberstundenProTagGesamt);
ueberstundenProTagGesamt = 0;
}
}
ed.Custom1 = sbStunden;
ed.Custom2 = aaStunden;
}