MH: vkm Hamm Stundenkonto
This commit is contained in:
@@ -304,20 +304,6 @@ namespace VkmHamm
|
||||
{
|
||||
foreach (var ed in ro.EmployeeDetailList)
|
||||
{
|
||||
// Da deren Abwesenheiten ServiceRecords (Arbeitszeit) sind und die trotzdem vom Soll abgezogen werden, hat man die Stunden von der Abwesenheit doppelt.
|
||||
// Daher muss nochmal die Anzahl Stunden von Abweseneheiten von den Überstunden abgezogen werden..
|
||||
// >>> Mittlerweile wird die Zeit nicht mehr addiert, daher muss der Abzug raus, weil er sonst doppelt ist.
|
||||
//if (ed.TageKrankheit.HasValue)
|
||||
//{
|
||||
// ed.Ueberstunden -= ed.TageKrankheit.Value * ed.SollProTag;
|
||||
// ed.UeberstundenGesamt -= ed.TageKrankheit.Value * ed.SollProTag;
|
||||
//}
|
||||
//if (ed.TageUrlaub.HasValue)
|
||||
//{
|
||||
// ed.Ueberstunden -= ed.TageUrlaub.Value * ed.SollProTag;
|
||||
// ed.UeberstundenGesamt -= ed.TageUrlaub.Value * ed.SollProTag;
|
||||
//}
|
||||
|
||||
var contract = GetContractForDate(ed.Employee, ro.ReportStartDate, ro.ReportEndDate);
|
||||
if (contract != null)
|
||||
{
|
||||
@@ -345,7 +331,7 @@ namespace VkmHamm
|
||||
if (start < new DateTime(2024, 02, 01))
|
||||
return ueberstundenStd;
|
||||
|
||||
if (start >= new DateTime(2024, 04, 01))
|
||||
if (start.Month == 10 || start.Month == 11)
|
||||
{ };
|
||||
|
||||
if (ed.UeberstundenVormonat == null)
|
||||
@@ -353,6 +339,13 @@ namespace VkmHamm
|
||||
if (ed.UeberstundenGesamt == null)
|
||||
ed.UeberstundenGesamt = 0;
|
||||
|
||||
// Überstundeneinträge mit einbeziehen
|
||||
var overtimes = ed.Employee.Overtimes.Where(o => o.Date.HasValue && o.Date.Value.Month == start.Month && o.Date.Value.Year == start.Year).ToList();
|
||||
foreach (var item in overtimes)
|
||||
{
|
||||
ed.UeberstundenVormonat += item.Betrag;
|
||||
}
|
||||
|
||||
var ueberstunden = ueberstundenStd - ed.UeberstundenVormonat;
|
||||
|
||||
|
||||
@@ -370,64 +363,6 @@ namespace VkmHamm
|
||||
return ueberstundenStd;
|
||||
}
|
||||
|
||||
// public override void CreateEmployeeDetails(MitarbeiterstundenkontoRO ro)
|
||||
// {
|
||||
// // Anpassung: a) Abwesenheiten durch Servicerecords
|
||||
|
||||
// base.CreateEmployeeDetails(ro);
|
||||
|
||||
// foreach (var ed in ro.EmployeeDetailList)
|
||||
// {
|
||||
// var c = GetContractForDate(ed.Employee, ro.ReportStartDate, ro.ReportEndDate);
|
||||
// if (c != null)
|
||||
// {
|
||||
// AbsenceTimeHours athYear = GetAbwesenheitenDurchServiceRecords(ed, c, ed.AllServiceRecords, new DateTime(ro.ReportStartDate.Year, 1, 1), ro.ReportEndDate);
|
||||
// ed.UrlaubGesamtImAktuellenJahr = athYear.StundenUrlaub;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// protected override AbsenceTimeHours GetAbwesenheitenDurchServiceRecords(MitarbeiterstundenkontoRO.EmployeeDetail empDetail, Contract c, IList<ServiceRecord> groupFilteredRecords,
|
||||
//DateTime berichtsAnfang, DateTime berichtsEnde)
|
||||
// {
|
||||
// var test = empDetail.EmploymentType?.Name;
|
||||
|
||||
// AbsenceTimeHours ath = new AbsenceTimeHours();
|
||||
// if (c != null)
|
||||
// {
|
||||
// foreach (var item in groupFilteredRecords)
|
||||
// {
|
||||
// if (item.Start.Value >= berichtsAnfang && item.Start.Value < berichtsEnde)
|
||||
// {
|
||||
// if (IsUrlaubAbsenceServiceRecord(item))
|
||||
// {
|
||||
// if (item.RoundedDuration > 0)
|
||||
// {
|
||||
// ath.StundenUrlaub += Math.Round(item.RoundedDuration / 60, 2, MidpointRounding.AwayFromZero);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// ath.StundenUrlaub += 1;
|
||||
// }
|
||||
// }
|
||||
// else if (IsUrlaubAbsenceServiceRecord(item))
|
||||
// {
|
||||
// if (item.RoundedDuration > 0)
|
||||
// {
|
||||
// ath.StundenKrankheit += Math.Round(item.RoundedDuration / 60 , 2, MidpointRounding.AwayFromZero);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// ath.StundenKrankheit += 1;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// return ath;
|
||||
// }
|
||||
|
||||
private bool IsUrlaubAbsenceServiceRecord(ServiceRecord item)
|
||||
{
|
||||
if (item.Start.HasValue && item.Start.Value >= new DateTime(2024, 04, 1) && item.Notice != null && item.Notice.Length > 0 && item.Notice.Trim().ToLower() == "urlaub")
|
||||
|
||||
Reference in New Issue
Block a user