Merge branch 'master' of ssh://float.ownsoft.de/git/beyondSoft/BeWo

This commit is contained in:
2026-06-18 14:18:09 +02:00
110 changed files with 5108 additions and 1338 deletions

View File

@@ -114,6 +114,14 @@ namespace BeWo.Report.ReportObjects
}
public List<ServiceRecordFLSOverviewDC> ServiceRecords { get; internal set; } = new List<ServiceRecordFLSOverviewDC>();
public String WochenString
{
get
{
return String.Format("{3}: KW {0}, {1:dd.MM.yy} - {2:dd.MM.yy}", KalenderWoche, WocheStart, WocheEnde, ObjectOid);
}
}
}
public static FLSSollIstReportRO Create(List<FLSAnalysisRootDC> dcList, FLSAnalysisConfigDC config)
@@ -197,15 +205,50 @@ namespace BeWo.Report.ReportObjects
{
if (!ws.SollStunden.HasValue)
{
ws.SollStunden = root.SollFLSPerWeek;
//ws.SollStunden = root.SollFLSPerWeek;
}
}
grpRo.IstGesamt = grpRo.IstGesamt / 60;
rootRo.IstGesamt += grpRo.IstGesamt;
rootRo.SollGesamt = grpRo.WochenSummen.Sum(w => w.SollStunden) ?? 0;
rootRo.Groups.Add(grpRo);
}
var woche2Soll = new Dictionary<string, decimal>();
foreach (var grp in rootRo.Groups)
{
foreach (var ws in grp.WochenSummen)
{
if (ws.SollStunden.HasValue)
{
if (!woche2Soll.ContainsKey(ws.WochenString))
{
woche2Soll.Add(ws.WochenString, 0);
}
woche2Soll[ws.WochenString] = ws.SollStunden.Value;
}
}
foreach (var ws in grp.WochenSummen)
{
if (!ws.SollStunden.HasValue)
{
if (woche2Soll.ContainsKey(ws.WochenString))
{
ws.SollStunden = woche2Soll[ws.WochenString];
}
else
{
ws.SollStunden = root.SollFLSPerWeek;
}
}
}
rootRo.SollGesamt = grp.WochenSummen.Sum(w => w.SollStunden) ?? 0;
}
rootRo.DifferenzSollIstGesamt = rootRo.IstGesamt - rootRo.SollGesamt;
if (rootRo.Groups.Count > 0)