diff --git a/ReportImp/VkmHamm/CustomerMitarbeiterstundenkontoBerechnung.cs b/ReportImp/VkmHamm/CustomerMitarbeiterstundenkontoBerechnung.cs index 0342692da..22be530a5 100644 --- a/ReportImp/VkmHamm/CustomerMitarbeiterstundenkontoBerechnung.cs +++ b/ReportImp/VkmHamm/CustomerMitarbeiterstundenkontoBerechnung.cs @@ -1,8 +1,9 @@ using System; using System.Collections.Generic; +using System.Linq; using BeWo.Data.Entities; using BeWo.Report.ReportObjects; - +using BS.Shared.Core; namespace VkmHamm { @@ -13,7 +14,7 @@ namespace VkmHamm return true; } - public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed) + public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed) { var dd = base.CreateDayDetail(date, ed); if (date.Year >= 2023) @@ -22,7 +23,6 @@ namespace VkmHamm dd.MaxHoursUntilBreak2 = 9; dd.BreakMinutes = 30; dd.BreakMinutes2 = 15; - } else { @@ -34,7 +34,169 @@ namespace VkmHamm return dd; } - public override bool AddServiceRecordToDuration(ServiceRecord item) + public override IList CreateDayDetails(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList recordsAll) + { + Dictionary dayToDetail = new Dictionary(); + + for (int i = berichtStart.Day; i <= berichtEnde.AddDays(-1).Day; i++) + { + MitarbeiterstundenkontoRO.DayDetail dd = CreateDayDetail(new DateTime(berichtStart.Year, berichtStart.Month, i), ed); + dayToDetail.Add(i, dd); + } + + foreach (var sr in recordsAll) + { + if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue) + { + var dd = dayToDetail[sr.Start.Value.Day]; + + if (!IsServiceRecordFehlzeit(sr) && AddServiceRecordToDuration(sr)) + { + decimal duration = GetDuration(sr, ed); + if (IsUrlaubAbsenceServiceRecord(sr)) + { + if (sr.RoundedDuration > 0) + { + dd.HoursInVacation += Math.Round(sr.RoundedDuration / 60, 2, MidpointRounding.AwayFromZero); + } + else + { + dd.HoursInVacation += 1; + } + } + else if (IsKrankAbsenceServiceRecord(sr)) + { + if (sr.RoundedDuration > 0) + { + dd.HoursSick += Math.Round(sr.RoundedDuration / 60, 2, MidpointRounding.AwayFromZero); + } + else + { + dd.HoursSick += 1; + } + } + else + { + dd.MinutesTotal += duration; + } + if (dd.ServiceRecords == null) + dd.ServiceRecords = new List(); + dd.ServiceRecords.Add(sr); + + CalculateSpecialHours(dd, sr, duration); + } + } + } + + //Berechne von bis Zeiten + foreach (var ddKeyValue in dayToDetail) + { + var dd = ddKeyValue.Value; + if (dd.ZusammenhaengendeZeitraeume == null) + { + dd.ZusammenhaengendeZeitraeume = new List(); + } + + if (dd.ServiceRecords != null) + { + var orderedList = dd.ServiceRecords.OrderBy(i => i.Start); + + DateTime lastEnd = DateTime.MinValue; + var gapCount = -1; + + foreach (var sr in orderedList) + { + if (sr.Start.HasValue && sr.Start.Value.Hour == 0 && sr.Start.Value.Second > 0) + { + continue; + } + decimal duration = GetDuration(sr, ed); + + + DateTime dtEnd = sr.Start.Value.AddMinutes((double)duration); + if (sr.Start > lastEnd) + { + gapCount++; + + } + if (dtEnd > lastEnd) + { + lastEnd = dtEnd; + } + + DateTimeSpan currentSpan = null; + if (gapCount + 1 > dd.ZusammenhaengendeZeitraeume.Count) + { + currentSpan = new DateTimeSpan(); + currentSpan.StartDateTime = DateTime.MaxValue; + currentSpan.EndDateTime = DateTime.MinValue; + dd.ZusammenhaengendeZeitraeume.Add(currentSpan); + } + else + { + currentSpan = dd.ZusammenhaengendeZeitraeume[gapCount]; + } + + if (sr.Start < currentSpan.StartDateTime) + { + currentSpan.StartDateTime = sr.Start.Value; + } + if (dtEnd > currentSpan.EndDateTime) + { + currentSpan.EndDateTime = dtEnd; + } + + if (gapCount == 0) + { + if (!dd.StartDateTime1.HasValue || sr.Start < dd.StartDateTime1) + { + dd.StartDateTime1 = sr.Start; + } + if (!dd.EndDateTime1.HasValue || dtEnd > dd.EndDateTime1) + { + dd.EndDateTime1 = dtEnd; + } + } + else if (gapCount == 1) + { + if (!dd.StartDateTime2.HasValue || sr.Start < dd.StartDateTime2) + { + dd.StartDateTime2 = sr.Start; + } + if (!dd.EndDateTime2.HasValue || dtEnd > dd.EndDateTime2) + { + dd.EndDateTime2 = dtEnd; + } + } + else if (gapCount == 2) + { + if (!dd.StartDateTime3.HasValue || sr.Start < dd.StartDateTime3) + { + dd.StartDateTime3 = sr.Start; + } + if (!dd.EndDateTime3.HasValue || dtEnd > dd.EndDateTime3) + { + dd.EndDateTime3 = dtEnd; + } + } + else + { + if (!dd.StartDateTime4.HasValue || sr.Start < dd.StartDateTime4) + { + dd.StartDateTime4 = sr.Start; + } + if (!dd.EndDateTime4.HasValue || dtEnd > dd.EndDateTime4) + { + dd.EndDateTime4 = dtEnd; + } + } + } + } + } + return dayToDetail.Values.OrderBy(dd => dd.Date).ToList(); + } + + public override bool AddServiceRecordToDuration(ServiceRecord item) { if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null) { @@ -58,46 +220,41 @@ namespace VkmHamm foreach (var item in groupFilteredRecords) { - if (!IsServiceRecordFehlzeit(item)) + if (item.Start.Value >= berichtsAnfang && item.Start.Value < berichtsEnde) { - if (item.Start.Value >= berichtsAnfang && item.Start.Value < berichtsEnde) + //if (AddServiceRecordToDuration(item)) + //{ + decimal duration = 0; + + if (item.GroupRoundedDuration.HasValue) { - //if (AddServiceRecordToDuration(item)) - //{ - decimal duration = 0; - - if (item.GroupRoundedDuration.HasValue) - { - duration = item.GroupRoundedDuration.Value; - } - else - { - duration = item.RoundedDuration; - } - - if (item.ServiceDescription != null && - item.ServiceDescription.ServiceCategory != null) - { - if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit") - { - arbeitszeit += duration; - } - else if (item.ServiceDescription.ServiceCategory.IsBillable) - { - flsGesamt += duration; - } - - } - sum.RecordsImBerichtszeitraum.Add(item); + duration = item.GroupRoundedDuration.Value; } + else + { + duration = item.RoundedDuration; + } + + if (item.ServiceDescription != null && + item.ServiceDescription.ServiceCategory != null) + { + if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit") + { + arbeitszeit += duration; + } + else if (item.ServiceDescription.ServiceCategory.IsBillable) + { + flsGesamt += duration; + } + + } + sum.RecordsImBerichtszeitraum.Add(item); } } - sum.IstAbrechenbar = flsGesamt; sum.IstNichtAbrechenbar = arbeitszeit - flsGesamt; - return sum; } @@ -110,5 +267,80 @@ namespace VkmHamm return list; } - } + // 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 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.Notice.ToLower().Contains("urlaub")) + { + return true; + } + return false; + } + + private bool IsKrankAbsenceServiceRecord(ServiceRecord item) + { + if (item.Notice.ToLower().Contains("krank")) + { + return true; + } + return false; + } + } } diff --git a/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.cs b/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.cs index 0c7dce210..0f4b5bc60 100644 --- a/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.cs +++ b/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.cs @@ -44,7 +44,21 @@ namespace VkmHamm { ed.UrlaubUndKrankheit += (day.HoursSick + day.HoursInVacation); } - + + foreach (var d in ed.Days) + { + if (d.ServiceRecords != null) + { + foreach (var sr in d.ServiceRecords) + { + if (d.Custom1 != null && d.Custom1.Length > 0) + { + d.Custom1 += ", "; + } + d.Custom1 += sr.Notice; + } + } + } } this.bindingSource1.DataSource = pRO; } diff --git a/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.designer.cs b/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.designer.cs index 5c0b33e8c..e774af077 100644 --- a/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.designer.cs +++ b/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.designer.cs @@ -34,6 +34,7 @@ namespace VkmHamm DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary(); DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary(); DevExpress.XtraReports.UI.XRSummary xrSummary4 = new DevExpress.XtraReports.UI.XRSummary(); + DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark(); this.Detail = new DevExpress.XtraReports.UI.DetailBand(); this.Detail1 = new DevExpress.XtraReports.UI.DetailBand(); this.xrTableDetail = new DevExpress.XtraReports.UI.XRTable(); @@ -97,7 +98,6 @@ namespace VkmHamm this.xrTableCell57 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell58 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell(); - this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); this.Title = new DevExpress.XtraReports.UI.XRControlStyle(); this.FieldCaption = new DevExpress.XtraReports.UI.XRControlStyle(); this.PageInfo = new DevExpress.XtraReports.UI.XRControlStyle(); @@ -115,6 +115,10 @@ namespace VkmHamm this.fieldSumHoliday2 = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldIstArbeitszeit = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldUeberstundenGesamt = new DevExpress.XtraReports.UI.CalculatedField(); + this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell13 = 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.xrTable2)).BeginInit(); @@ -132,7 +136,8 @@ namespace VkmHamm // // Detail1 // - this.Detail1.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Detail1.Font = new DevExpress.Drawing.DXFont("Arial", 9.75F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); this.Detail1.HeightF = 0F; this.Detail1.Name = "Detail1"; this.Detail1.StylePriority.UseFont = false; @@ -141,13 +146,14 @@ namespace VkmHamm // this.xrTableDetail.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.xrTableDetail.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableDetail.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); this.xrTableDetail.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); this.xrTableDetail.Name = "xrTableDetail"; this.xrTableDetail.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrTableDetail.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRowDetail}); - this.xrTableDetail.SizeF = new System.Drawing.SizeF(670F, 22F); + this.xrTableDetail.SizeF = new System.Drawing.SizeF(702.0001F, 22F); this.xrTableDetail.StylePriority.UseBorders = false; this.xrTableDetail.StylePriority.UseFont = false; this.xrTableDetail.StylePriority.UsePadding = false; @@ -160,6 +166,7 @@ namespace VkmHamm this.xrTableCell3, this.xrTableCell20, this.xrTableCell31, + this.xrTableCell12, this.xrTableCell67, this.xrTableCell27}); this.xrTableRowDetail.FormattingRules.Add(this.ruleIstFeiertagOderWE); @@ -176,7 +183,7 @@ namespace VkmHamm this.xrTableCell3.StylePriority.UsePadding = false; this.xrTableCell3.StylePriority.UseTextAlignment = false; this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell3.Weight = 0.090171325518485154D; + this.xrTableCell3.Weight = 0.069408200042972323D; this.xrTableCell3.XlsxFormatString = "ddd. dd.MM.yyyy"; // // xrTableCell20 @@ -185,17 +192,17 @@ namespace VkmHamm new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Days.ZeitraeumeString", "{0:HH:mm}")}); this.xrTableCell20.Name = "xrTableCell20"; this.xrTableCell20.Text = "xrTableCell20"; - this.xrTableCell20.Weight = 0.27051398343498156D; + this.xrTableCell20.Weight = 0.19453073128372625D; // // xrTableCell31 // this.xrTableCell31.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Days.fieldHours", "{0:0.00}")}); + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Days.Custom1", "{0:0.00}")}); this.xrTableCell31.Name = "xrTableCell31"; this.xrTableCell31.StylePriority.UseTextAlignment = false; this.xrTableCell31.Text = "xrTableCell31"; - this.xrTableCell31.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell31.Weight = 0.08115419554645896D; + this.xrTableCell31.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell31.Weight = 0.14418134482945264D; // // xrTableCell67 // @@ -205,7 +212,7 @@ namespace VkmHamm this.xrTableCell67.StylePriority.UseTextAlignment = false; this.xrTableCell67.Text = "xrTableCell67"; this.xrTableCell67.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell67.Weight = 0.081154197266340475D; + this.xrTableCell67.Weight = 0.074960972619981137D; // // xrTableCell27 // @@ -215,7 +222,7 @@ namespace VkmHamm this.xrTableCell27.StylePriority.UseTextAlignment = false; this.xrTableCell27.Text = "xrTableCell27"; this.xrTableCell27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell27.Weight = 0.08115417920758361D; + this.xrTableCell27.Weight = 0.074960844488805425D; // // ruleIstFeiertagOderWE // @@ -250,7 +257,7 @@ namespace VkmHamm // this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { this.xrTableDetail}); - this.Detail2.Font = new System.Drawing.Font("Arial", 8F); + this.Detail2.Font = new DevExpress.Drawing.DXFont("Arial", 8F); this.Detail2.HeightF = 22F; this.Detail2.Name = "Detail2"; this.Detail2.StylePriority.UseFont = false; @@ -259,7 +266,7 @@ namespace VkmHamm // this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { this.xrTableHeader}); - this.GroupHeader2.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.GroupHeader2.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); this.GroupHeader2.HeightF = 30F; this.GroupHeader2.Name = "GroupHeader2"; this.GroupHeader2.StylePriority.UseFont = false; @@ -274,7 +281,7 @@ namespace VkmHamm this.xrTableHeader.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrTableHeader.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRowHeader}); - this.xrTableHeader.SizeF = new System.Drawing.SizeF(670F, 30F); + this.xrTableHeader.SizeF = new System.Drawing.SizeF(702F, 30F); this.xrTableHeader.StylePriority.UseBackColor = false; this.xrTableHeader.StylePriority.UseBorders = false; this.xrTableHeader.StylePriority.UseFont = false; @@ -287,6 +294,7 @@ namespace VkmHamm this.xrTableRowHeader.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { this.xrTableCell5, this.xrTableCell2, + this.xrTableCell11, this.xrTableCell7, this.xrTableCell8, this.xrTableCell10}); @@ -301,7 +309,7 @@ namespace VkmHamm this.xrTableCell5.StylePriority.UseTextAlignment = false; this.xrTableCell5.Text = "Datum"; this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell5.Weight = 0.090171325629990237D; + this.xrTableCell5.Weight = 0.075142773670084775D; // // xrTableCell2 // @@ -309,7 +317,7 @@ namespace VkmHamm this.xrTableCell2.StylePriority.UseTextAlignment = false; this.xrTableCell2.Text = "Uhrzeit"; this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.xrTableCell2.Weight = 0.27051397637806085D; + this.xrTableCell2.Weight = 0.21060309066281205D; // // xrTableCell7 // @@ -343,7 +351,7 @@ namespace VkmHamm this.GroupHeader3.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { this.lblMonat, this.xrTable2}); - this.GroupHeader3.Font = new System.Drawing.Font("Arial", 10F); + this.GroupHeader3.Font = new DevExpress.Drawing.DXFont("Arial", 10F); this.GroupHeader3.HeightF = 120F; this.GroupHeader3.Level = 1; this.GroupHeader3.Name = "GroupHeader3"; @@ -354,7 +362,7 @@ namespace VkmHamm // this.lblMonat.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", null, "ReportStartDate", "Stundenkonto {0:MMMM yy}")}); - this.lblMonat.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold); + this.lblMonat.Font = new DevExpress.Drawing.DXFont("Arial", 14F, DevExpress.Drawing.DXFontStyle.Bold); this.lblMonat.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); this.lblMonat.Multiline = true; this.lblMonat.Name = "lblMonat"; @@ -390,7 +398,7 @@ namespace VkmHamm // // xrTableCell1 // - this.xrTableCell1.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.xrTableCell1.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); this.xrTableCell1.Name = "xrTableCell1"; this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrTableCell1.StylePriority.UseFont = false; @@ -404,7 +412,7 @@ namespace VkmHamm // this.xrTableCell25.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.FullName")}); - this.xrTableCell25.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.xrTableCell25.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); this.xrTableCell25.Multiline = true; this.xrTableCell25.Name = "xrTableCell25"; this.xrTableCell25.StylePriority.UseFont = false; @@ -422,7 +430,7 @@ namespace VkmHamm // // xrTableCell6 // - this.xrTableCell6.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.xrTableCell6.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); this.xrTableCell6.Name = "xrTableCell6"; this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrTableCell6.StylePriority.UseFont = false; @@ -455,7 +463,7 @@ namespace VkmHamm // // xrTableCell21 // - this.xrTableCell21.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.xrTableCell21.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); this.xrTableCell21.Name = "xrTableCell21"; this.xrTableCell21.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrTableCell21.StylePriority.UseFont = false; @@ -476,7 +484,7 @@ namespace VkmHamm // // xrTableCell28 // - this.xrTableCell28.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.xrTableCell28.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); this.xrTableCell28.Name = "xrTableCell28"; this.xrTableCell28.StylePriority.UseFont = false; this.xrTableCell28.StylePriority.UseTextAlignment = false; @@ -499,7 +507,7 @@ namespace VkmHamm this.GroupFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { this.xrTable4, this.xrTable1}); - this.GroupFooter2.Font = new System.Drawing.Font("Arial", 10F); + this.GroupFooter2.Font = new DevExpress.Drawing.DXFont("Arial", 10F); this.GroupFooter2.HeightF = 116.6667F; this.GroupFooter2.KeepTogether = true; this.GroupFooter2.Name = "GroupFooter2"; @@ -508,12 +516,12 @@ namespace VkmHamm // xrTable4 // this.xrTable4.Borders = DevExpress.XtraPrinting.BorderSide.None; - this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(110F, 0F); + this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); this.xrTable4.Name = "xrTable4"; this.xrTable4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRow9}); - this.xrTable4.SizeF = new System.Drawing.SizeF(560F, 22F); + this.xrTable4.SizeF = new System.Drawing.SizeF(702F, 22F); this.xrTable4.StylePriority.UseBorders = false; this.xrTable4.StylePriority.UseFont = false; this.xrTable4.StylePriority.UsePadding = false; @@ -524,6 +532,7 @@ namespace VkmHamm // this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { this.xrTableCell64, + this.xrTableCell13, this.cellSumMinutesTotalDecimal, this.cellSumHoursSickDecimal, this.cellSumHoursInVacationDecimal}); @@ -532,13 +541,14 @@ namespace VkmHamm // // xrTableCell64 // - this.xrTableCell64.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.xrTableCell64.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { + new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); this.xrTableCell64.Name = "xrTableCell64"; this.xrTableCell64.StylePriority.UseFont = false; this.xrTableCell64.StylePriority.UseTextAlignment = false; this.xrTableCell64.Text = "Summe:"; this.xrTableCell64.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell64.Weight = 0.26149405118689462D; + this.xrTableCell64.Weight = 0.34269287854672692D; // // cellSumMinutesTotalDecimal // @@ -552,7 +562,7 @@ namespace VkmHamm this.cellSumMinutesTotalDecimal.Summary = xrSummary1; this.cellSumMinutesTotalDecimal.Text = "cellSumMinutesTotalDecimal"; this.cellSumMinutesTotalDecimal.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellSumMinutesTotalDecimal.Weight = 0.081153321921416444D; + this.cellSumMinutesTotalDecimal.Weight = 0.0887955550193914D; // // cellSumHoursSickDecimal // @@ -567,7 +577,7 @@ namespace VkmHamm this.cellSumHoursSickDecimal.Summary = xrSummary2; this.cellSumHoursSickDecimal.Text = "cellSumHoursSickDecimal"; this.cellSumHoursSickDecimal.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellSumHoursSickDecimal.Weight = 0.081153328404945282D; + this.cellSumHoursSickDecimal.Weight = 0.0887957830303136D; // // cellSumHoursInVacationDecimal // @@ -583,14 +593,14 @@ namespace VkmHamm this.cellSumHoursInVacationDecimal.Summary = xrSummary3; this.cellSumHoursInVacationDecimal.Text = "cellSumHoursInVacationDecimal"; this.cellSumHoursInVacationDecimal.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.cellSumHoursInVacationDecimal.Weight = 0.081153321723263658D; + this.cellSumHoursInVacationDecimal.Weight = 0.0887955429096715D; // // xrTable1 // this.xrTable1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) | DevExpress.XtraPrinting.BorderSide.Right) | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 36.66667F); + this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 36.66668F); 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[] { @@ -598,7 +608,7 @@ namespace VkmHamm this.xrTableRow2, this.xrTableRow5, this.xrTableRow6}); - this.xrTable1.SizeF = new System.Drawing.SizeF(669.9999F, 80F); + this.xrTable1.SizeF = new System.Drawing.SizeF(700F, 80F); this.xrTable1.StylePriority.UseBorders = false; this.xrTable1.StylePriority.UseFont = false; this.xrTable1.StylePriority.UsePadding = false; @@ -784,7 +794,7 @@ namespace VkmHamm this.xrTableCell57, this.xrTableCell58, this.xrTableCell26}); - this.xrTableRow6.Font = new System.Drawing.Font("Arial", 10F, System.Drawing.FontStyle.Bold); + this.xrTableRow6.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); this.xrTableRow6.Name = "xrTableRow6"; this.xrTableRow6.StylePriority.UseFont = false; this.xrTableRow6.Weight = 0.8D; @@ -792,7 +802,7 @@ namespace VkmHamm // xrTableCell48 // this.xrTableCell48.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom))); - this.xrTableCell48.Font = new System.Drawing.Font("Arial", 10F); + this.xrTableCell48.Font = new DevExpress.Drawing.DXFont("Arial", 10F); this.xrTableCell48.Name = "xrTableCell48"; this.xrTableCell48.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 8, 0, 0, 100F); this.xrTableCell48.StylePriority.UseBorders = false; @@ -808,7 +818,7 @@ namespace VkmHamm this.xrTableCell57.Borders = DevExpress.XtraPrinting.BorderSide.Bottom; this.xrTableCell57.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Days.fieldHours")}); - this.xrTableCell57.Font = new System.Drawing.Font("Arial", 10F); + this.xrTableCell57.Font = new DevExpress.Drawing.DXFont("Arial", 10F); this.xrTableCell57.Name = "xrTableCell57"; this.xrTableCell57.StylePriority.UseBorders = false; this.xrTableCell57.StylePriority.UseFont = false; @@ -844,17 +854,13 @@ namespace VkmHamm this.xrTableCell26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; this.xrTableCell26.Weight = 0.11143081848591821D; // - // bindingSource1 - // - this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO); - // // Title // this.Title.BackColor = System.Drawing.Color.White; this.Title.BorderColor = System.Drawing.SystemColors.ControlText; this.Title.Borders = DevExpress.XtraPrinting.BorderSide.None; this.Title.BorderWidth = 1F; - this.Title.Font = new System.Drawing.Font("Times New Roman", 24F); + this.Title.Font = new DevExpress.Drawing.DXFont("Times New Roman", 24F); this.Title.ForeColor = System.Drawing.Color.Black; this.Title.Name = "Title"; // @@ -864,7 +870,7 @@ namespace VkmHamm this.FieldCaption.BorderColor = System.Drawing.SystemColors.ControlText; this.FieldCaption.Borders = DevExpress.XtraPrinting.BorderSide.None; this.FieldCaption.BorderWidth = 1F; - this.FieldCaption.Font = new System.Drawing.Font("Times New Roman", 10F, System.Drawing.FontStyle.Bold); + this.FieldCaption.Font = new DevExpress.Drawing.DXFont("Times New Roman", 10F, DevExpress.Drawing.DXFontStyle.Bold); this.FieldCaption.ForeColor = System.Drawing.Color.Black; this.FieldCaption.Name = "FieldCaption"; // @@ -874,7 +880,7 @@ namespace VkmHamm this.PageInfo.BorderColor = System.Drawing.SystemColors.ControlText; this.PageInfo.Borders = DevExpress.XtraPrinting.BorderSide.None; this.PageInfo.BorderWidth = 1F; - this.PageInfo.Font = new System.Drawing.Font("Times New Roman", 8F); + this.PageInfo.Font = new DevExpress.Drawing.DXFont("Times New Roman", 8F); this.PageInfo.ForeColor = System.Drawing.Color.Black; this.PageInfo.Name = "PageInfo"; // @@ -884,7 +890,7 @@ namespace VkmHamm this.DataField.BorderColor = System.Drawing.SystemColors.ControlText; this.DataField.Borders = DevExpress.XtraPrinting.BorderSide.None; this.DataField.BorderWidth = 1F; - this.DataField.Font = new System.Drawing.Font("Times New Roman", 8F); + this.DataField.Font = new DevExpress.Drawing.DXFont("Times New Roman", 8F); this.DataField.ForeColor = System.Drawing.SystemColors.ControlText; this.DataField.Name = "DataField"; // @@ -977,6 +983,38 @@ namespace VkmHamm this.fieldUeberstundenGesamt.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal; this.fieldUeberstundenGesamt.Name = "fieldUeberstundenGesamt"; // + // xrTableCell11 + // + this.xrTableCell11.Multiline = true; + this.xrTableCell11.Name = "xrTableCell11"; + this.xrTableCell11.StylePriority.UseTextAlignment = false; + this.xrTableCell11.Text = "Bemerkung"; + this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell11.Weight = 0.15609363170108931D; + // + // xrTableCell12 + // + this.xrTableCell12.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeDetailList.Days.fieldHours")}); + this.xrTableCell12.Multiline = true; + this.xrTableCell12.Name = "xrTableCell12"; + this.xrTableCell12.StylePriority.UseTextAlignment = false; + this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.xrTableCell12.TextFormatString = "{0:0.00}"; + this.xrTableCell12.Weight = 0.074960666911036589D; + // + // xrTableCell13 + // + this.xrTableCell13.Multiline = true; + this.xrTableCell13.Name = "xrTableCell13"; + this.xrTableCell13.StylePriority.UseTextAlignment = false; + this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.xrTableCell13.Weight = 0.14075006415021307D; + // + // bindingSource1 + // + this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.MitarbeiterstundenkontoRO); + // // Mitarbeiterarbeitszeitkonto // this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { @@ -998,10 +1036,10 @@ namespace VkmHamm this.fieldUeberstundenGesamt}); this.DataSource = this.bindingSource1; this.DisplayName = "Mitarbeiterstundenkonto"; - this.Font = new System.Drawing.Font("Arial", 8F); + this.Font = new DevExpress.Drawing.DXFont("Arial", 8F); this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { this.ruleIstFeiertagOderWE}); - this.Margins = new System.Drawing.Printing.Margins(75, 50, 50, 50); + this.Margins = new DevExpress.Drawing.DXMargins(75F, 50F, 50F, 50F); this.PageHeight = 1169; this.PageWidth = 827; this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; @@ -1010,7 +1048,9 @@ namespace VkmHamm this.FieldCaption, this.PageInfo, this.DataField}); - this.Version = "17.1"; + this.Version = "23.2"; + xrWatermark1.Id = "Watermark1"; + this.Watermarks.Add(xrWatermark1); ((System.ComponentModel.ISupportInitialize)(this.xrTableDetail)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableHeader)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit(); @@ -1104,5 +1144,8 @@ namespace VkmHamm private DevExpress.XtraReports.UI.XRTableCell xrTableCell9; private DevExpress.XtraReports.UI.XRTableCell xrTableCell16; private DevExpress.XtraReports.UI.XRTableCell xrTableCell19; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell12; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell11; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell13; } } diff --git a/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.resx b/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.resx index d25f3eba2..d58980a38 100644 --- a/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.resx +++ b/ReportImp/VkmHamm/Mitarbeiterarbeitszeitkonto.resx @@ -117,7 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - \ No newline at end of file diff --git a/ReportImp/VkmHamm/Properties/licenses.licx b/ReportImp/VkmHamm/Properties/licenses.licx index e69de29bb..d59547a61 100644 --- a/ReportImp/VkmHamm/Properties/licenses.licx +++ b/ReportImp/VkmHamm/Properties/licenses.licx @@ -0,0 +1 @@ +DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v23.2, Version=23.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a