From 08bd0a598b0ba7dd7365338d2e406e406bb171ae Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 28 Apr 2026 11:52:52 +0200 Subject: [PATCH] Mitarbeiterauslastung - Summe beinhaltet nur noch die Bewilligungen vom Monatsende --- .../DefaultReports/Mitarbeiterauslastung.cs | 3 - .../Mitarbeiterauslastung.designer.cs | 201 +++++++++--------- Report/ReportObjects/AuslastungBerechnung.cs | 5 + .../ReportObjects/MitarbeiterauslastungRO.cs | 4 + 4 files changed, 109 insertions(+), 104 deletions(-) diff --git a/Report/DefaultReports/Mitarbeiterauslastung.cs b/Report/DefaultReports/Mitarbeiterauslastung.cs index a14940daf..9b7c12d6a 100644 --- a/Report/DefaultReports/Mitarbeiterauslastung.cs +++ b/Report/DefaultReports/Mitarbeiterauslastung.cs @@ -8,8 +8,6 @@ namespace BeWo.Report.DefaultReports [IDSpecificClass(Identifier = "Mitarbeiterauslastung")] public partial class Mitarbeiterauslastung : DevExpress.XtraReports.UI.XtraReport, IBeWoReport { - - public Mitarbeiterauslastung() { InitializeComponent(); @@ -22,6 +20,5 @@ namespace BeWo.Report.DefaultReports this.bindingSource1.DataSource = pRO; } - } } diff --git a/Report/DefaultReports/Mitarbeiterauslastung.designer.cs b/Report/DefaultReports/Mitarbeiterauslastung.designer.cs index b51eb01a6..10c29477a 100644 --- a/Report/DefaultReports/Mitarbeiterauslastung.designer.cs +++ b/Report/DefaultReports/Mitarbeiterauslastung.designer.cs @@ -42,6 +42,7 @@ namespace BeWo.Report.DefaultReports this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand(); this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand(); this.Detail2 = new DevExpress.XtraReports.UI.DetailBand(); @@ -52,13 +53,8 @@ namespace BeWo.Report.DefaultReports this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell(); this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand(); - this.xrTable1 = new DevExpress.XtraReports.UI.XRTable(); - this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow(); - this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell(); - this.cellSollGesamt = new DevExpress.XtraReports.UI.XRTableCell(); this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); this.lblMonat = new DevExpress.XtraReports.UI.XRLabel(); this.pageFooterBand1 = new DevExpress.XtraReports.UI.PageFooterBand(); @@ -73,14 +69,18 @@ namespace BeWo.Report.DefaultReports this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); this.fieldTotalSC = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldTotalEmp = new DevExpress.XtraReports.UI.CalculatedField(); - this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); - this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTable2 = new DevExpress.XtraReports.UI.XRTable(); ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); // // Detail @@ -195,6 +195,15 @@ namespace BeWo.Report.DefaultReports this.xrTableCell28.Text = "xrTableCell28"; this.xrTableCell28.Weight = 0.090171325518485085D; // + // xrTableCell8 + // + this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.FreiProWoche")}); + this.xrTableCell8.Multiline = true; + this.xrTableCell8.Name = "xrTableCell8"; + this.xrTableCell8.TextFormatString = "{0:0.00}"; + this.xrTableCell8.Weight = 0.090171325518485085D; + // // DetailReport // this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { @@ -279,7 +288,7 @@ namespace BeWo.Report.DefaultReports // xrTableCell1 // this.xrTableCell1.Name = "xrTableCell1"; - this.xrTableCell1.Text = "Kostenträger"; + this.xrTableCell1.Text = "Kostentr�ger"; this.xrTableCell1.Weight = 0.15329125478030678D; // // xrTableCell9 @@ -289,70 +298,21 @@ namespace BeWo.Report.DefaultReports this.xrTableCell9.Text = "Bewilligt/Woche"; this.xrTableCell9.Weight = 0.090171325937473845D; // + // xrTableCell7 + // + this.xrTableCell7.Multiline = true; + this.xrTableCell7.Name = "xrTableCell7"; + this.xrTableCell7.Text = "Frei/Woche"; + this.xrTableCell7.Weight = 0.090171325937473845D; + // // GroupFooter1 // this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { - this.xrTable1}); - this.GroupFooter1.HeightF = 61.04164F; + this.xrTable2}); + this.GroupFooter1.HeightF = 61.04167F; this.GroupFooter1.Level = 1; this.GroupFooter1.Name = "GroupFooter1"; // - // xrTable1 - // - this.xrTable1.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { - new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); - this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); - this.xrTable1.Name = "xrTable1"; - this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { - this.xrTableRow1}); - this.xrTable1.SizeF = new System.Drawing.SizeF(697F, 25F); - this.xrTable1.StylePriority.UseBorders = false; - this.xrTable1.StylePriority.UseFont = false; - this.xrTable1.StylePriority.UsePadding = false; - this.xrTable1.StylePriority.UseTextAlignment = false; - this.xrTable1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - // - // xrTableRow1 - // - this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { - this.xrTableCell35, - this.xrTableCell38, - this.xrTableCell6, - this.cellSollGesamt, - this.xrTableCell10}); - this.xrTableRow1.Name = "xrTableRow1"; - this.xrTableRow1.Weight = 1D; - // - // xrTableCell35 - // - this.xrTableCell35.Name = "xrTableCell35"; - this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); - this.xrTableCell35.StylePriority.UseFont = false; - this.xrTableCell35.StylePriority.UsePadding = false; - this.xrTableCell35.StylePriority.UseTextAlignment = false; - this.xrTableCell35.Text = "Gesamt"; - this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell35.Weight = 0.18034254096455143D; - // - // xrTableCell38 - // - this.xrTableCell38.Name = "xrTableCell38"; - this.xrTableCell38.Weight = 0.15329111579090118D; - // - // xrTableCell6 - // - this.xrTableCell6.Name = "xrTableCell6"; - this.xrTableCell6.Weight = 0.1249972614437581D; - // - // cellSollGesamt - // - this.cellSollGesamt.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.ApprovedHoursPerWeek", "{0:0.00}")}); - this.cellSollGesamt.Name = "cellSollGesamt"; - this.cellSollGesamt.Text = "cellSollGesamt"; - this.cellSollGesamt.Weight = 0.0849316752773914D; - // // ReportHeader // this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { @@ -473,36 +433,75 @@ namespace BeWo.Report.DefaultReports this.fieldTotalEmp.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal; this.fieldTotalEmp.Name = "fieldTotalEmp"; // - // xrTableCell7 - // - this.xrTableCell7.Multiline = true; - this.xrTableCell7.Name = "xrTableCell7"; - this.xrTableCell7.Text = "Frei/Woche"; - this.xrTableCell7.Weight = 0.090171325937473845D; - // - // xrTableCell8 - // - this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.FreiProWoche")}); - this.xrTableCell8.Multiline = true; - this.xrTableCell8.Name = "xrTableCell8"; - this.xrTableCell8.TextFormatString = "{0:0.00}"; - this.xrTableCell8.Weight = 0.090171325518485085D; - // // bindingSource1 // this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterauslastungRO); // - // xrTableCell10 + // xrTableCell15 // - this.xrTableCell10.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.SupportConceptDetailList.FreiProWoche")}); - this.xrTableCell10.Multiline = true; - this.xrTableCell10.Name = "xrTableCell10"; + this.xrTableCell15.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FreiProWoche")}); + this.xrTableCell15.Multiline = true; + this.xrTableCell15.Name = "xrTableCell15"; xrSummary1.FormatString = "{0:0.00}"; - xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Group; - this.xrTableCell10.Summary = xrSummary1; - this.xrTableCell10.Weight = 0.0849316752773914D; + this.xrTableCell15.Summary = xrSummary1; + this.xrTableCell15.Weight = 0.0849316752773914D; + // + // xrTableCell14 + // + this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.ApprovedHoursPerWeek", "{0:0.00}")}); + this.xrTableCell14.Name = "xrTableCell14"; + this.xrTableCell14.Text = "cellSollGesamt"; + this.xrTableCell14.Weight = 0.0849316752773914D; + // + // xrTableCell13 + // + this.xrTableCell13.Name = "xrTableCell13"; + this.xrTableCell13.Weight = 0.1249972614437581D; + // + // xrTableCell12 + // + this.xrTableCell12.Name = "xrTableCell12"; + this.xrTableCell12.Weight = 0.15329111579090118D; + // + // xrTableCell11 + // + this.xrTableCell11.Name = "xrTableCell11"; + this.xrTableCell11.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); + this.xrTableCell11.StylePriority.UseFont = false; + this.xrTableCell11.StylePriority.UsePadding = false; + this.xrTableCell11.StylePriority.UseTextAlignment = false; + this.xrTableCell11.Text = "Gesamt (zum Monatsende)"; + this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell11.Weight = 0.18034254096455143D; + // + // xrTableRow2 + // + this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell11, + this.xrTableCell12, + this.xrTableCell13, + this.xrTableCell14, + this.xrTableCell15}); + this.xrTableRow2.Name = "xrTableRow2"; + this.xrTableRow2.Weight = 1D; + // + // xrTable2 + // + this.xrTable2.Font = new DevExpress.Drawing.DXFont("Arial", 8F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); + this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrTable2.Name = "xrTable2"; + this.xrTable2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow2}); + this.xrTable2.SizeF = new System.Drawing.SizeF(697F, 25F); + this.xrTable2.StylePriority.UseBorders = false; + this.xrTable2.StylePriority.UseFont = false; + this.xrTable2.StylePriority.UsePadding = false; + this.xrTable2.StylePriority.UseTextAlignment = false; + this.xrTable2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; // // Mitarbeiterauslastung // @@ -532,8 +531,8 @@ namespace BeWo.Report.DefaultReports this.Watermarks.Add(xrWatermark1); ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); } @@ -566,11 +565,6 @@ namespace BeWo.Report.DefaultReports private DevExpress.XtraReports.UI.XRTableCell xrTableCell9; private DevExpress.XtraReports.UI.XRTableCell xrTableCell19; private DevExpress.XtraReports.UI.XRTableCell xrTableCell28; - private DevExpress.XtraReports.UI.XRTable xrTable1; - private DevExpress.XtraReports.UI.XRTableRow xrTableRow1; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell35; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell38; - private DevExpress.XtraReports.UI.XRTableCell cellSollGesamt; private DevExpress.XtraReports.UI.DetailReportBand DetailReport1; private DevExpress.XtraReports.UI.DetailBand Detail2; private DevExpress.XtraReports.UI.GroupHeaderBand GroupHeader2; @@ -581,9 +575,14 @@ namespace BeWo.Report.DefaultReports private DevExpress.XtraReports.UI.XRLabel xrLabel2; private DevExpress.XtraReports.UI.XRTableCell xrTableCell1; private DevExpress.XtraReports.UI.XRTableCell xrTableCell2; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell6; private DevExpress.XtraReports.UI.XRTableCell xrTableCell8; private DevExpress.XtraReports.UI.XRTableCell xrTableCell7; - private DevExpress.XtraReports.UI.XRTableCell xrTableCell10; + private DevExpress.XtraReports.UI.XRTable xrTable2; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell11; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell12; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell13; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell14; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell15; } } diff --git a/Report/ReportObjects/AuslastungBerechnung.cs b/Report/ReportObjects/AuslastungBerechnung.cs index 0f539a461..d0a37525b 100644 --- a/Report/ReportObjects/AuslastungBerechnung.cs +++ b/Report/ReportObjects/AuslastungBerechnung.cs @@ -45,6 +45,8 @@ namespace BeWo.Report.ReportObjects scd.IstKw5 /= 60; scd.IstKw6 /= 60; + if (scd.EndDate.HasValue && scd.EndDate.Value.AddDays(1) >= ro.ReportEndDate) + { empDetail.DirectIst += scd.DirectIst; empDetail.MittelbarIst += scd.MittelbarIst; empDetail.ApprovedHoursPerWeekTotal += scd.ApprovedHoursPerWeekTotal; @@ -55,6 +57,9 @@ namespace BeWo.Report.ReportObjects empDetail.ApprovedHoursPerMonth += scd.ApprovedHoursPerMonth; empDetail.ApprovedHoursPerMonthWithRateFactorTotal += scd.ApprovedHoursPerMonthWithRateFactorTotal; empDetail.ApprovedHoursPerMonthWithRateFactor += scd.ApprovedHoursPerMonthWithRateFactor; + empDetail.FreiProWoche += scd.FreiProWoche; + empDetail.FreiProMonat += scd.FreiProMonat; + } } } } diff --git a/Report/ReportObjects/MitarbeiterauslastungRO.cs b/Report/ReportObjects/MitarbeiterauslastungRO.cs index b84332ab3..1c8311408 100644 --- a/Report/ReportObjects/MitarbeiterauslastungRO.cs +++ b/Report/ReportObjects/MitarbeiterauslastungRO.cs @@ -249,6 +249,10 @@ namespace BeWo.Report.ReportObjects public String AbsenceTimeString { get; set; } + public decimal FreiProWoche { get; set; } + + public decimal FreiProMonat { get; set; } + public List SupportConceptDetailList { get { return scDetailList; }