MH: Mittelpunkt Samstagsstunden Korrektur
This commit is contained in:
@@ -6,6 +6,7 @@ using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
|
||||
using BS.Shared.Core;
|
||||
using BS.Shared.Extensions;
|
||||
using DevExpress.XtraReports.UI;
|
||||
|
||||
namespace Mittelpunkt
|
||||
@@ -50,17 +51,14 @@ namespace Mittelpunkt
|
||||
{
|
||||
foreach (var sr in day.ServiceRecords)
|
||||
{
|
||||
if (sr.Start.HasValue && sr.End.HasValue && (sr.Start.Value.Date.DayOfWeek == DayOfWeek.Saturday || sr.End.Value.Date.DayOfWeek == DayOfWeek.Saturday))
|
||||
{
|
||||
var start = sr.Start.Value.TimeOfDay;
|
||||
var ende = sr.End.Value.TimeOfDay;
|
||||
if (start > ende || ende.Hours > endeDerSamstagszeit) // Wenn Ende erst am nächsten Tag ist ODER nach 21 Uhr auf Ende der Samstagszeit setzen
|
||||
ende = new TimeSpan(0, endeDerSamstagszeit, 0, 0, 0);
|
||||
if (start.Hours < startDerSamstagszeit)
|
||||
start = new TimeSpan(0, startDerSamstagszeit, 0, 0, 0);
|
||||
var d1 = sr.Start.Value;
|
||||
|
||||
ed.Custom1 += (ende - start).Hours;
|
||||
}
|
||||
var saturday = d1.GetNextDayOfWeek(DayOfWeek.Saturday);
|
||||
var unroundedEnd = d1.AddMinutes(sr.DurationMinutes);
|
||||
var saturdayStart = new DateTime(saturday.Year, saturday.Month, saturday.Day, 13, 0, 0);
|
||||
var saturdayEnd = new DateTime(saturday.Year, saturday.Month, saturday.Day, 21, 0, 0);
|
||||
|
||||
ed.Custom1 += Math.Round((decimal)d1.GetIntersectingMinutes(unroundedEnd, saturdayStart, saturdayEnd) / 60, 2, MidpointRounding.AwayFromZero);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ using System;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.Core;
|
||||
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace Mittelpunkt
|
||||
{
|
||||
@@ -33,18 +33,15 @@ namespace Mittelpunkt
|
||||
{
|
||||
foreach (var sr in day.ServiceRecords)
|
||||
{
|
||||
if (sr.Start.HasValue && sr.End.HasValue && (sr.Start.Value.Date.DayOfWeek == DayOfWeek.Saturday || sr.End.Value.Date.DayOfWeek == DayOfWeek.Saturday))
|
||||
{
|
||||
var start = sr.Start.Value.TimeOfDay;
|
||||
var ende = sr.End.Value.TimeOfDay;
|
||||
if (start > ende || ende.Hours > endeDerSamstagszeit) // Wenn Ende erst am nächsten Tag ist ODER nach 21 Uhr auf Ende der Samstagszeit setzen
|
||||
ende = new TimeSpan(0, endeDerSamstagszeit, 0, 0, 0);
|
||||
if (start.Hours < startDerSamstagszeit)
|
||||
start = new TimeSpan(0, startDerSamstagszeit, 0, 0, 0);
|
||||
var d1 = sr.Start.Value;
|
||||
|
||||
emp.Custom1 += (ende - start).Hours;
|
||||
}
|
||||
}
|
||||
var saturday = d1.GetNextDayOfWeek(DayOfWeek.Saturday);
|
||||
var unroundedEnd = d1.AddMinutes(sr.DurationMinutes);
|
||||
var saturdayStart = new DateTime(saturday.Year, saturday.Month, saturday.Day, 13, 0, 0);
|
||||
var saturdayEnd = new DateTime(saturday.Year, saturday.Month, saturday.Day, 21, 0, 0);
|
||||
|
||||
emp.Custom1 += Math.Round((decimal)d1.GetIntersectingMinutes(unroundedEnd, saturdayStart, saturdayEnd) / 60, 2, MidpointRounding.AwayFromZero);
|
||||
}
|
||||
}
|
||||
|
||||
// Custom2 Sonntagsarbeit
|
||||
|
||||
@@ -2,7 +2,7 @@ using System;
|
||||
using BeWo.Report;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BS.Shared.Core;
|
||||
|
||||
using BS.Shared.Extensions;
|
||||
|
||||
namespace Mittelpunkt
|
||||
{
|
||||
@@ -35,17 +35,14 @@ namespace Mittelpunkt
|
||||
{
|
||||
foreach (var sr in day.ServiceRecords)
|
||||
{
|
||||
if (sr.Start.HasValue && sr.End.HasValue && (sr.Start.Value.Date.DayOfWeek == DayOfWeek.Saturday || sr.End.Value.Date.DayOfWeek == DayOfWeek.Saturday))
|
||||
{
|
||||
var start = sr.Start.Value.TimeOfDay;
|
||||
var ende = sr.End.Value.TimeOfDay;
|
||||
if (start > ende || ende.Hours > endeDerSamstagszeit) // Wenn Ende erst am nächsten Tag ist ODER nach 21 Uhr auf Ende der Samstagszeit setzen
|
||||
ende = new TimeSpan(0, endeDerSamstagszeit, 0, 0, 0);
|
||||
if (start.Hours < startDerSamstagszeit)
|
||||
start = new TimeSpan(0, startDerSamstagszeit, 0, 0, 0);
|
||||
var d1 = sr.Start.Value;
|
||||
|
||||
detail.EmployeeDetail.Custom1 += (ende - start).Hours;
|
||||
}
|
||||
var saturday = d1.GetNextDayOfWeek(DayOfWeek.Saturday);
|
||||
var unroundedEnd = d1.AddMinutes(sr.DurationMinutes);
|
||||
var saturdayStart = new DateTime(saturday.Year, saturday.Month, saturday.Day, 13, 0, 0);
|
||||
var saturdayEnd = new DateTime(saturday.Year, saturday.Month, saturday.Day, 21, 0, 0);
|
||||
|
||||
detail.EmployeeDetail.Custom1 += Math.Round((decimal)d1.GetIntersectingMinutes(unroundedEnd, saturdayStart, saturdayEnd) / 60, 2, MidpointRounding.AwayFromZero);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user