MH: FFS Stundenkontoanpassung
This commit is contained in:
@@ -52,7 +52,7 @@ namespace FreundeskreisSuchthilfe.Alt
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
protected override ServiceRecordSummary BerechneStunden(MitarbeiterstundenkontoRO.EmployeeDetail empDetail, IList<ServiceRecord> groupFilteredRecords, DateTime berichtsAnfang,
|
||||
DateTime berichtsEnde)
|
||||
{
|
||||
|
||||
@@ -21,6 +21,31 @@ namespace FreundeskreisSuchthilfe.Alt
|
||||
var msb = new CustomMitarbeiterstundenkontoBerechnung();
|
||||
msb.CreateReport(pRO);
|
||||
|
||||
var reportMonth = pRO.ReportStartDate.Month;
|
||||
|
||||
foreach (var empDetail in pRO.EmployeeDetailList)
|
||||
{
|
||||
foreach (var abs in empDetail.Employee.AbsenceTimes)
|
||||
{
|
||||
if (abs.AbsenceReason.Description.ToLower() == "mehrarbeitsausgleich")
|
||||
{
|
||||
// Wenn kein Startdate, dann ReportStartdate. Wenn Startdate VOR ReportEnddate, dann ReportStartdate. Wenn beides nicht einfach normales Absence-Startdate
|
||||
var absStart = !abs.Start.HasValue ? pRO.ReportStartDate : abs.Start.Value < pRO.ReportStartDate ? pRO.ReportStartDate : abs.Start.Value;
|
||||
// Wenn kein Enddate, dann ReportEnddate. Wenn Enddate NACH ReportEnddate, dann ReportEnddate. Wenn beides nicht einfach normales Absence-Enddate
|
||||
var absEnd = !abs.End.HasValue ? pRO.ReportEndDate : abs.End.Value > pRO.ReportEndDate ? pRO.ReportEndDate : abs.End.Value;
|
||||
|
||||
while (absStart <= absEnd && empDetail.WeeklyFLS.HasValue)
|
||||
{
|
||||
empDetail.FlsSoll -= empDetail.WeeklyFLS.Value / empDetail.ArbeitstageProWoche;
|
||||
empDetail.FlsDiff += empDetail.WeeklyFLS.Value / empDetail.ArbeitstageProWoche;
|
||||
pRO.FlsSollGesamt -= empDetail.WeeklyFLS.Value / empDetail.ArbeitstageProWoche;
|
||||
pRO.FlsDiffGesamt += empDetail.WeeklyFLS.Value / empDetail.ArbeitstageProWoche;
|
||||
absStart = absStart.AddDays(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user