MH: VKM Hamm Stundenkonto Hotfix
This commit is contained in:
@@ -277,7 +277,7 @@ namespace VkmHamm
|
||||
{
|
||||
base.CreateEmployeeDetails(ro);
|
||||
|
||||
if (ro.EmployeeDetailList.Count > 0)
|
||||
if (ro.ReportStartDate >= new DateTime(2024, 02, 01) && ro.EmployeeDetailList.Count > 0)
|
||||
{
|
||||
foreach (var ed in ro.EmployeeDetailList)
|
||||
{
|
||||
@@ -304,9 +304,9 @@ namespace VkmHamm
|
||||
if (ed.Ueberstunden > toleranzstundenVorFaktor.Value)
|
||||
{
|
||||
var ueberstundenFuerFaktor = ed.Ueberstunden.Value - toleranzstundenVorFaktor.Value;
|
||||
ed.Custom15 = ueberstundenFuerFaktor * (1 + toleranzstundenVorFaktor.Value / ed.SollProWoche);
|
||||
ed.Custom15 = ueberstundenFuerFaktor * 1.25m; // Auf Stunden, die den Korridor überschritten haben, kommt der Faktor 1,25 drauf
|
||||
|
||||
ed.Ueberstunden = toleranzstundenVorFaktor;
|
||||
ed.Ueberstunden = toleranzstundenVorFaktor; // Überstunden werden dann auf die Korridorstunden gesetzt, da die Stunden mit Faktor extra dargestellt werden
|
||||
ed.UeberstundenGesamt += (ed.Ueberstunden + ed.Custom15) - (ed.Ueberstunden + ueberstundenFuerFaktor);
|
||||
}
|
||||
}
|
||||
@@ -317,6 +317,9 @@ namespace VkmHamm
|
||||
}
|
||||
protected override decimal? BerechneUeberstunden(MitarbeiterstundenkontoRO.EmployeeDetail ed, decimal? ueberstundenStd, Contract contract, DateTime start, DateTime ende)
|
||||
{
|
||||
if (start < new DateTime(2024, 02, 01))
|
||||
return ueberstundenStd;
|
||||
|
||||
if (ed.UeberstundenVormonat == null)
|
||||
ed.UeberstundenVormonat = 0;
|
||||
if (ed.UeberstundenGesamt == null)
|
||||
@@ -328,7 +331,7 @@ namespace VkmHamm
|
||||
{
|
||||
var toleranzstundenVorFaktor = contract.ProbationPeriod2.Value;
|
||||
var ueberstundenFuerFaktor = ueberstunden - toleranzstundenVorFaktor;
|
||||
var bonusDurchKorridorStunden = ueberstundenFuerFaktor * (1 + toleranzstundenVorFaktor / ed.SollProWoche) - ueberstundenFuerFaktor;
|
||||
var bonusDurchKorridorStunden = ueberstundenFuerFaktor * 1.25m - ueberstundenFuerFaktor;
|
||||
|
||||
ed.UeberstundenGesamt += ueberstunden + bonusDurchKorridorStunden + ed.UeberstundenVormonat;
|
||||
|
||||
@@ -399,21 +402,21 @@ namespace VkmHamm
|
||||
|
||||
private bool IsUrlaubAbsenceServiceRecord(ServiceRecord item)
|
||||
{
|
||||
if (item.Notice != null && item.Notice.Length > 0 && item.Notice.Trim().ToLower() == "urlaub")
|
||||
if (item.Start.HasValue && item.Start.Value >= new DateTime(2024, 04, 1) && item.Notice != null && item.Notice.Length > 0 && item.Notice.Trim().ToLower() == "urlaub")
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
private bool IsKrankAbsenceServiceRecord(ServiceRecord item)
|
||||
{
|
||||
if (item.Notice != null && item.Notice.Length > 0 && item.Notice.Trim().ToLower() == "krank")
|
||||
if (item.Start.HasValue && item.Start.Value >= new DateTime(2024, 04, 1) && item.Notice != null && item.Notice.Length > 0 && item.Notice.Trim().ToLower() == "krank")
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
public virtual bool IsServiceRecordFehlzeit(ServiceRecord sr)
|
||||
{
|
||||
if (sr.Notice != null && sr.Notice.Length > 0 && (sr.Notice.Trim().ToLower() == "krank" || sr.Notice.Trim().ToLower() == "urlaub"))
|
||||
if (sr.Start.HasValue && sr.Start.Value >= new DateTime(2024, 04, 1) && sr.Notice != null && sr.Notice.Length > 0 && (sr.Notice.Trim().ToLower() == "krank" || sr.Notice.Trim().ToLower() == "urlaub"))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,10 @@ namespace VkmHamm
|
||||
{
|
||||
ed.Regelarbeitszeit = String.Format("{0:0.00} Stunden pro Woche", c.WeeklyTotalHours);
|
||||
}
|
||||
}
|
||||
|
||||
tcStundenkorridor.Text = String.Format("{0:0.00}", c.ProbationPeriod2);
|
||||
|
||||
}
|
||||
|
||||
ed.UrlaubUndKrankheit = 0;
|
||||
foreach (var day in ed.Days)
|
||||
|
||||
@@ -124,6 +124,9 @@ namespace VkmHamm
|
||||
this.fieldSumHoliday2 = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.fieldIstArbeitszeit = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.fieldUeberstundenGesamt = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.xrTableRow7 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||
this.tcStundenkorridor = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
|
||||
@@ -399,7 +402,7 @@ namespace VkmHamm
|
||||
this.lblMonat,
|
||||
this.xrTable2});
|
||||
this.GroupHeader3.Font = new DevExpress.Drawing.DXFont("Arial", 10F);
|
||||
this.GroupHeader3.HeightF = 120F;
|
||||
this.GroupHeader3.HeightF = 136.6667F;
|
||||
this.GroupHeader3.Level = 1;
|
||||
this.GroupHeader3.Name = "GroupHeader3";
|
||||
this.GroupHeader3.PageBreak = DevExpress.XtraReports.UI.PageBreak.BeforeBand;
|
||||
@@ -427,8 +430,9 @@ namespace VkmHamm
|
||||
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
||||
this.xrTableRow1,
|
||||
this.xrTableRow8,
|
||||
this.xrTableRow10});
|
||||
this.xrTable2.SizeF = new System.Drawing.SizeF(552.2002F, 54F);
|
||||
this.xrTableRow10,
|
||||
this.xrTableRow7});
|
||||
this.xrTable2.SizeF = new System.Drawing.SizeF(623.0334F, 72F);
|
||||
this.xrTable2.StylePriority.UseBorders = false;
|
||||
this.xrTable2.StylePriority.UseFont = false;
|
||||
this.xrTable2.StylePriority.UsePadding = false;
|
||||
@@ -453,7 +457,7 @@ namespace VkmHamm
|
||||
this.xrTableCell1.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell1.Text = "Mitarbeiter/in:";
|
||||
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell1.Weight = 0.138246012405208D;
|
||||
this.xrTableCell1.Weight = 0.24072693199653611D;
|
||||
//
|
||||
// xrTableCell25
|
||||
//
|
||||
@@ -465,7 +469,7 @@ namespace VkmHamm
|
||||
this.xrTableCell25.StylePriority.UseFont = false;
|
||||
this.xrTableCell25.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell25.Weight = 0.49791629021026568D;
|
||||
this.xrTableCell25.Weight = 0.47703886236140913D;
|
||||
//
|
||||
// xrTableRow8
|
||||
//
|
||||
@@ -485,7 +489,7 @@ namespace VkmHamm
|
||||
this.xrTableCell6.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell6.Text = "Regelarbeitszeit:";
|
||||
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell6.Weight = 0.138246012405208D;
|
||||
this.xrTableCell6.Weight = 0.24072693199653611D;
|
||||
//
|
||||
// cellRegelarbeitszeit
|
||||
//
|
||||
@@ -496,7 +500,7 @@ namespace VkmHamm
|
||||
this.cellRegelarbeitszeit.StylePriority.UseTextAlignment = false;
|
||||
this.cellRegelarbeitszeit.Text = "cellRegelarbeitszeit";
|
||||
this.cellRegelarbeitszeit.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.cellRegelarbeitszeit.Weight = 0.49791629021026573D;
|
||||
this.cellRegelarbeitszeit.Weight = 0.47703886236140919D;
|
||||
//
|
||||
// xrTableRow10
|
||||
//
|
||||
@@ -518,7 +522,7 @@ namespace VkmHamm
|
||||
this.xrTableCell21.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell21.Text = "Soll-Stunden:";
|
||||
this.xrTableCell21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell21.Weight = 0.138246012405208D;
|
||||
this.xrTableCell21.Weight = 0.24072693199653611D;
|
||||
//
|
||||
// xrTableCell24
|
||||
//
|
||||
@@ -527,7 +531,7 @@ namespace VkmHamm
|
||||
this.xrTableCell24.Name = "xrTableCell24";
|
||||
this.xrTableCell24.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell24.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell24.Weight = 0.17215478017129932D;
|
||||
this.xrTableCell24.Weight = 0.12036345318862508D;
|
||||
//
|
||||
// xrTableCell28
|
||||
//
|
||||
@@ -537,7 +541,7 @@ namespace VkmHamm
|
||||
this.xrTableCell28.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell28.Text = "Arbeitstage diesen Monat:";
|
||||
this.xrTableCell28.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell28.Weight = 0.213129273221085D;
|
||||
this.xrTableCell28.Weight = 0.21404195164570988D;
|
||||
//
|
||||
// xrTableCell23
|
||||
//
|
||||
@@ -547,7 +551,7 @@ namespace VkmHamm
|
||||
this.xrTableCell23.StylePriority.UseFont = false;
|
||||
this.xrTableCell23.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell23.Weight = 0.11263223681788141D;
|
||||
this.xrTableCell23.Weight = 0.14263345752707424D;
|
||||
//
|
||||
// GroupFooter2
|
||||
//
|
||||
@@ -784,7 +788,7 @@ namespace VkmHamm
|
||||
this.xrTableCell32.StylePriority.UseBorders = false;
|
||||
this.xrTableCell32.StylePriority.UsePadding = false;
|
||||
this.xrTableCell32.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell32.Text = "Korridorstunden";
|
||||
this.xrTableCell32.Text = "Korridorstunden mit Faktor";
|
||||
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||
this.xrTableCell32.Weight = 0.22133305845875073D;
|
||||
//
|
||||
@@ -1082,6 +1086,35 @@ namespace VkmHamm
|
||||
this.fieldUeberstundenGesamt.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal;
|
||||
this.fieldUeberstundenGesamt.Name = "fieldUeberstundenGesamt";
|
||||
//
|
||||
// xrTableRow7
|
||||
//
|
||||
this.xrTableRow7.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||
this.xrTableCell36,
|
||||
this.tcStundenkorridor});
|
||||
this.xrTableRow7.Name = "xrTableRow7";
|
||||
this.xrTableRow7.Weight = 0.75540991165010141D;
|
||||
//
|
||||
// tcStundenkorridor
|
||||
//
|
||||
this.tcStundenkorridor.Multiline = true;
|
||||
this.tcStundenkorridor.Name = "tcStundenkorridor";
|
||||
this.tcStundenkorridor.StylePriority.UseTextAlignment = false;
|
||||
this.tcStundenkorridor.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.tcStundenkorridor.Weight = 0.47703886236140919D;
|
||||
//
|
||||
// xrTableCell36
|
||||
//
|
||||
this.xrTableCell36.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold);
|
||||
this.xrTableCell36.Multiline = true;
|
||||
this.xrTableCell36.Name = "xrTableCell36";
|
||||
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||
this.xrTableCell36.StylePriority.UseFont = false;
|
||||
this.xrTableCell36.StylePriority.UsePadding = false;
|
||||
this.xrTableCell36.StylePriority.UseTextAlignment = false;
|
||||
this.xrTableCell36.Text = "Monatlicher Stundenkorridor:";
|
||||
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||
this.xrTableCell36.Weight = 0.24072693199653614D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
|
||||
@@ -1224,5 +1257,8 @@ namespace VkmHamm
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell30;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
|
||||
private DevExpress.XtraReports.UI.XRTableRow xrTableRow7;
|
||||
private DevExpress.XtraReports.UI.XRTableCell tcStundenkorridor;
|
||||
private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ namespace VkmHamm
|
||||
this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||
@@ -55,6 +56,7 @@ namespace VkmHamm
|
||||
this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
|
||||
@@ -68,6 +70,7 @@ namespace VkmHamm
|
||||
this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell48 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell51 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
|
||||
this.lblMonat = new DevExpress.XtraReports.UI.XRLabel();
|
||||
this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand();
|
||||
@@ -80,9 +83,6 @@ namespace VkmHamm
|
||||
this.fieldFLS = new DevExpress.XtraReports.UI.CalculatedField();
|
||||
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||
@@ -201,6 +201,13 @@ namespace VkmHamm
|
||||
this.xrTableCell25.Text = "xrTableCell25";
|
||||
this.xrTableCell25.Weight = 0.09017132551848514D;
|
||||
//
|
||||
// xrTableCell8
|
||||
//
|
||||
this.xrTableCell8.Multiline = true;
|
||||
this.xrTableCell8.Name = "xrTableCell8";
|
||||
this.xrTableCell8.Text = "[Custom15!0.00]";
|
||||
this.xrTableCell8.Weight = 0.09017132551848514D;
|
||||
//
|
||||
// xrTableCell24
|
||||
//
|
||||
this.xrTableCell24.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
@@ -318,6 +325,13 @@ namespace VkmHamm
|
||||
this.xrTableCell13.Text = "Überstd. neu";
|
||||
this.xrTableCell13.Weight = 0.090171327991870776D;
|
||||
//
|
||||
// xrTableCell7
|
||||
//
|
||||
this.xrTableCell7.Multiline = true;
|
||||
this.xrTableCell7.Name = "xrTableCell7";
|
||||
this.xrTableCell7.Text = "Korridorstunden mit Faktor";
|
||||
this.xrTableCell7.Weight = 0.090171327991870776D;
|
||||
//
|
||||
// xrTableCell14
|
||||
//
|
||||
this.xrTableCell14.Name = "xrTableCell14";
|
||||
@@ -422,6 +436,10 @@ namespace VkmHamm
|
||||
this.xrTableCell51.Name = "xrTableCell51";
|
||||
this.xrTableCell51.Weight = 0.085078439807117892D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
|
||||
//
|
||||
// ReportHeader
|
||||
//
|
||||
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||
@@ -528,24 +546,6 @@ namespace VkmHamm
|
||||
this.bottomMarginBand1.HeightF = 30F;
|
||||
this.bottomMarginBand1.Name = "bottomMarginBand1";
|
||||
//
|
||||
// xrTableCell7
|
||||
//
|
||||
this.xrTableCell7.Multiline = true;
|
||||
this.xrTableCell7.Name = "xrTableCell7";
|
||||
this.xrTableCell7.Text = "Korridorstunden";
|
||||
this.xrTableCell7.Weight = 0.090171327991870776D;
|
||||
//
|
||||
// xrTableCell8
|
||||
//
|
||||
this.xrTableCell8.Multiline = true;
|
||||
this.xrTableCell8.Name = "xrTableCell8";
|
||||
this.xrTableCell8.Text = "[Custom15!0.00]";
|
||||
this.xrTableCell8.Weight = 0.09017132551848514D;
|
||||
//
|
||||
// bindingSource1
|
||||
//
|
||||
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO);
|
||||
//
|
||||
// Mitarbeiterstundenkonto
|
||||
//
|
||||
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||
|
||||
Reference in New Issue
Block a user