diff --git a/ReportImp/BetreutesWohnenAmRheinReports/ServicesOverviewReport.cs b/ReportImp/BetreutesWohnenAmRheinReports/ServicesOverviewReport.cs index b0e817274..90245c7e3 100644 --- a/ReportImp/BetreutesWohnenAmRheinReports/ServicesOverviewReport.cs +++ b/ReportImp/BetreutesWohnenAmRheinReports/ServicesOverviewReport.cs @@ -28,24 +28,55 @@ namespace BeWo.BetreutesWohnenAmRheinReports { List servicesBillable = new List(); - foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services) + if (pRO.Services.Any(s => s.ServiceCategory != "Fehlkontakt")) { - if (s.IsBillable || s.ServiceCategory == "Fehlkontakt") + foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services) { - ServicesOverviewRO.CreateSignatureString(s); - - if (!cats.ContainsKey(s.ServiceCategory)) + if (s.IsBillable && s.ServiceCategory != "Fehlkontakt") { - cats.Add(s.ServiceCategory, s.ServiceCategory); + ServicesOverviewRO.CreateSignatureString(s); + + if (!cats.ContainsKey(s.ServiceCategory)) + { + cats.Add(s.ServiceCategory, s.ServiceCategory); + } + + s.Notice = ""; + + if (s.IsGroup) + { + s.Notice = String.Format("{0} Teilnehmer, {1} Betreuer", s.CustomerCount, s.EmployeeCount); + } + servicesBillable.Add(s); } - - s.Notice = ""; - - if (s.IsGroup) + if (s.ServiceCategory == "Fehlkontakt") + pRO.TotalFLMBillable -= s.Minutes; + } + } + else + { + lblTitle.Text = "Quittierungsbeleg über Fehlkontakte"; + foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services) + { + if (s.IsBillable || s.ServiceCategory == "Fehlkontakt") { - s.Notice = String.Format("{0} Teilnehmer, {1} Betreuer", s.CustomerCount, s.EmployeeCount); + if (s.ServiceCategory == "Fehlkontakt" && !s.IsBillable) + pRO.TotalFLMBillable += s.Minutes; + ServicesOverviewRO.CreateSignatureString(s); + + if (!cats.ContainsKey(s.ServiceCategory)) + { + cats.Add(s.ServiceCategory, s.ServiceCategory); + } + + s.Notice = ""; + + if (s.IsGroup) + { + s.Notice = String.Format("{0} Teilnehmer, {1} Betreuer", s.CustomerCount, s.EmployeeCount); + } + servicesBillable.Add(s); } - servicesBillable.Add(s); } } diff --git a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/BetreuungsserviceFuerAlltagUndWohnen.csproj b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/BetreuungsserviceFuerAlltagUndWohnen.csproj index f2cd358c7..de232b902 100644 --- a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/BetreuungsserviceFuerAlltagUndWohnen.csproj +++ b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/BetreuungsserviceFuerAlltagUndWohnen.csproj @@ -70,6 +70,12 @@ MitarbeiterstundenkontoJahr.cs + + Component + + + Quittierungsbeleg.cs + Component @@ -133,6 +139,10 @@ Designer + + Quittierungsbeleg.cs + Designer + Quittierungsbeleg67.cs Designer diff --git a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/CustomMitarbeiterstundenkontoBerechnung.cs b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/CustomMitarbeiterstundenkontoBerechnung.cs index 7924e7c48..87ca587b4 100644 --- a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/CustomMitarbeiterstundenkontoBerechnung.cs +++ b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/CustomMitarbeiterstundenkontoBerechnung.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using BeWo.Data.Entities; using BeWo.Report.ReportObjects; @@ -29,9 +30,12 @@ namespace BetreuungsserviceFuerAlltagUndWohnen { if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null) { - if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit") + if (item.ServiceDescription.Name != "Pause") { - return true; + if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit") + { + return true; + } } } return false; @@ -71,7 +75,10 @@ namespace BetreuungsserviceFuerAlltagUndWohnen { if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit") { - arbeitszeit += duration; + if (item.ServiceDescription.Name != "Pause") + { + arbeitszeit += duration; + }; } else if (item.ServiceDescription.ServiceCategory.IsBillable) { @@ -91,5 +98,95 @@ namespace BetreuungsserviceFuerAlltagUndWohnen return sum; } + public override IList CreateDayDetails(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList recordsAll) + { + var list = base.CreateDayDetails(berichtStart, berichtEnde, ed, recordsAll); + foreach (var dd in list) + { + dd.MinutesTotal = 0; + dd.SpecialHours = 0; + dd.PauseInMinuten = 0; + + foreach (var sr in recordsAll) + { + if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue && sr.Start.Value.Day == dd.Date.Day) + { + decimal duration = GetDuration(sr); + + if (sr.ServiceDescription.Name == "Pause") + { + dd.PauseInMinuten += (decimal)sr.DurationMinutes; + + } + else if (sr.ServiceDescription.ServiceCategory.Name == "Arbeitszeit") + { + dd.MinutesTotal += (decimal)sr.DurationMinutes; + } + else if (sr.ServiceDescription.Name != "Arbeitszeit" && + sr.ServiceDescription.ServiceCategory.IsBillable) + { + dd.SpecialHours += (decimal)sr.DurationMinutes; + } + } + } + + if (dd.PauseInMinuten > 0) + { + dd.MinutesTotal -= dd.PauseInMinuten; + if (dd.MinutesTotal < 0) + { + dd.MinutesTotal = 0; + } + } + } + return list; + } + + private decimal GetDuration(ServiceRecord sr) + { + decimal duration = 0; + + if (sr.GroupRoundedDuration.HasValue) + { + duration = sr.GroupRoundedDuration.Value; + } + else + { + duration = sr.RoundedDuration; + } + + return duration; + } + + public override bool SollPauseBerechnen() + { + return true; + } + public override decimal BerechnePauseMinuten(IList srListAlle) + { + var srList = srListAlle.Where(s => s.ServiceDescription.ServiceCategory.Name == "Arbeitszeit"); + decimal pausenZeit = 0; + + List pausen = new List(); + List nichtpausen = new List(); + + foreach (var sr in srList) + { + if (sr.ServiceDescription.Name == "Pause") + { + pausen.Add(sr); + } + else + { + nichtpausen.Add(sr); + } + } + + foreach (var pause in pausen) + { + pausenZeit += pause.RoundedDuration; + } + return pausenZeit; + } } } diff --git a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/Quittierungsbeleg67.Designer.cs b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/Quittierungsbeleg67.Designer.cs index a40aee42e..2de5daf77 100644 --- a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/Quittierungsbeleg67.Designer.cs +++ b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/Quittierungsbeleg67.Designer.cs @@ -769,7 +769,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrLabel1, this.xrPictureBox1, this.xrLabel17}); - this.GroupFooter1.HeightF = 270F; + this.GroupFooter1.HeightF = 322.0833F; this.GroupFooter1.KeepTogether = true; this.GroupFooter1.Name = "GroupFooter1"; // @@ -777,7 +777,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen // this.xrLabel18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", null, "CustomerSignatureDate", "{0:dd.MM.yyyy,}")}); - this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(129.4998F, 227F); + this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(131.4998F, 274.9167F); this.xrLabel18.Name = "xrLabel18"; this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrLabel18.SizeF = new System.Drawing.SizeF(100F, 23F); @@ -787,7 +787,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen // this.xrPictureBox2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Image", null, "CustomerSignature")}); - this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(230F, 214.5F); + this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(232F, 262.4167F); this.xrPictureBox2.Name = "xrPictureBox2"; this.xrPictureBox2.SizeF = new System.Drawing.SizeF(136.8472F, 35.50002F); this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; @@ -796,7 +796,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen // this.lblUnterschriftKlient.Borders = DevExpress.XtraPrinting.BorderSide.Top; this.lblUnterschriftKlient.Font = new System.Drawing.Font("Arial", 10F); - this.lblUnterschriftKlient.LocationFloat = new DevExpress.Utils.PointFloat(94.99999F, 250F); + this.lblUnterschriftKlient.LocationFloat = new DevExpress.Utils.PointFloat(96.99996F, 297.9167F); this.lblUnterschriftKlient.Name = "lblUnterschriftKlient"; this.lblUnterschriftKlient.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); this.lblUnterschriftKlient.SizeF = new System.Drawing.SizeF(271.8472F, 20F); @@ -812,7 +812,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen // this.lblUnterschriftMitarbeiter.Borders = DevExpress.XtraPrinting.BorderSide.Top; this.lblUnterschriftMitarbeiter.Font = new System.Drawing.Font("Arial", 10F); - this.lblUnterschriftMitarbeiter.LocationFloat = new DevExpress.Utils.PointFloat(398.31F, 250F); + this.lblUnterschriftMitarbeiter.LocationFloat = new DevExpress.Utils.PointFloat(400.31F, 297.9167F); this.lblUnterschriftMitarbeiter.Name = "lblUnterschriftMitarbeiter"; this.lblUnterschriftMitarbeiter.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); this.lblUnterschriftMitarbeiter.SizeF = new System.Drawing.SizeF(336.6944F, 19.99998F); @@ -1203,7 +1203,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen // this.xrPictureBox1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Image", null, "EmployeeSignature")}); - this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(535.6389F, 214.5F); + this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(537.6389F, 262.4167F); this.xrPictureBox1.Name = "xrPictureBox1"; this.xrPictureBox1.Scripts.OnBeforePrint = "xrPictureBox1_BeforePrint"; this.xrPictureBox1.SizeF = new System.Drawing.SizeF(199.3611F, 35.50002F); @@ -1213,7 +1213,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen // this.xrLabel17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { new DevExpress.XtraReports.UI.XRBinding("Text", null, "EmployeeSignatureDate", "{0:dd.MM.yyyy,}")}); - this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(435.1388F, 227F); + this.xrLabel17.LocationFloat = new DevExpress.Utils.PointFloat(437.1388F, 274.9167F); this.xrLabel17.Name = "xrLabel17"; this.xrLabel17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); this.xrLabel17.SizeF = new System.Drawing.SizeF(100F, 23F); diff --git a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/ServiceInvoiceReport.cs b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/ServiceInvoiceReport.cs index b58b44ef9..25f00727c 100644 --- a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/ServiceInvoiceReport.cs +++ b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/ServiceInvoiceReport.cs @@ -25,8 +25,9 @@ namespace BetreuungsserviceFuerAlltagUndWohnen hourlyRate = invoiceItem.HourlyRate.Value; } } - lblGesamtFLS.Text = string.Format("{0:0.00}", flsGesamt); - lblGesamtforderung.Text = string.Format("{0:0.00} Stunden x {1:c}", flsGesamt * (1 + pRO.InvoiceBase.SupportConceptCostBearerRelDc.CostBearer.ActualRateFactor / 100), hourlyRate); + var fls = flsGesamt * (1 + pRO.InvoiceBase.SupportConceptCostBearerRelDc.CostBearer.ActualRateFactor / 100); + lblGesamtFLS.Text = string.Format("{0:0.00}", fls); + lblGesamtforderung.Text = string.Format("{0:0.00} Stunden x {1:c}", fls, hourlyRate); DateTime start = pRO.AccountingPeriodStart; DateTime end = pRO.AccountingPeriodEnd; diff --git a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport.Designer.cs b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport.Designer.cs index cda953d3a..87cc3ea68 100644 --- a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport.Designer.cs +++ b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport.Designer.cs @@ -99,6 +99,8 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel(); + this.tcSummeUnitCount = new DevExpress.XtraReports.UI.XRTableCell(); + this.summeUnitCount = new DevExpress.XtraReports.UI.CalculatedField(); this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); @@ -268,7 +270,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrLabel_RecipientStreet, this.RecipientPostCodeAndTown}); this.GroupHeader1.Font = new System.Drawing.Font("Verdana", 10F); - this.GroupHeader1.HeightF = 436.2084F; + this.GroupHeader1.HeightF = 421.6251F; this.GroupHeader1.Name = "GroupHeader1"; this.GroupHeader1.StylePriority.UseFont = false; // @@ -280,7 +282,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrLabel35.SizeF = new System.Drawing.SizeF(123.25F, 22.20834F); this.xrLabel35.StylePriority.UseFont = false; this.xrLabel35.StylePriority.UseTextAlignment = false; - this.xrLabel35.Text = "[InvoiceDate]"; + this.xrLabel35.Text = "[InvoiceDate!dd.MM.yyyy]"; this.xrLabel35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; // // xrTable2 @@ -288,7 +290,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrTable2.BorderColor = System.Drawing.Color.Black; this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) | DevExpress.XtraPrinting.BorderSide.Right))); - this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 407.7501F); + this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 393.1667F); this.xrTable2.Name = "xrTable2"; this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRow1}); @@ -395,11 +397,11 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.lblFLSBewilligtProWoche.Multiline = true; this.lblFLSBewilligtProWoche.Name = "lblFLSBewilligtProWoche"; this.lblFLSBewilligtProWoche.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblFLSBewilligtProWoche.SizeF = new System.Drawing.SizeF(649.9998F, 43.04163F); + this.lblFLSBewilligtProWoche.SizeF = new System.Drawing.SizeF(649.9998F, 28.45834F); this.lblFLSBewilligtProWoche.StylePriority.UseBackColor = false; this.lblFLSBewilligtProWoche.StylePriority.UseFont = false; this.lblFLSBewilligtProWoche.Text = "Vom [AccountingStartDateString] bis [AccountingEndDateString]: [ApprovedFLSWeekly" + - "] FLS pro Woche \r\nSumme bewilligter Stunden: [ApprovedFLS]"; + "] FLS pro Woche "; this.lblFLSBewilligtProWoche.WordWrap = false; // // lblFLSBewilligtGesamt @@ -878,7 +880,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrTable5.Name = "xrTable5"; this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRow3}); - this.xrTable5.SizeF = new System.Drawing.SizeF(649.9998F, 28.45831F); + this.xrTable5.SizeF = new System.Drawing.SizeF(649.9995F, 28.45831F); this.xrTable5.StylePriority.UseBorderColor = false; this.xrTable5.StylePriority.UseBorders = false; // @@ -886,6 +888,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt // this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { this.xrTableCell9, + this.tcSummeUnitCount, this.xrTableCell10, this.xrTableCell11, this.xrTableCell12}); @@ -895,8 +898,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt // xrTableCell9 // this.xrTableCell9.BorderColor = System.Drawing.Color.Black; - this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) - | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom))); this.xrTableCell9.CanShrink = true; this.xrTableCell9.Name = "xrTableCell9"; this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); @@ -907,7 +909,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrTableCell9.StylePriority.UseTextAlignment = false; this.xrTableCell9.Text = "="; this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.xrTableCell9.Weight = 0.28835124628067238D; + this.xrTableCell9.Weight = 0.20928719268846285D; // // xrTableCell10 // @@ -923,7 +925,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrTableCell10.StylePriority.UsePadding = false; this.xrTableCell10.StylePriority.UseTextAlignment = false; this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; - this.xrTableCell10.Weight = 0.13953332215382283D; + this.xrTableCell10.Weight = 0.1395333675720522D; // // xrTableCell11 // @@ -937,7 +939,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrTableCell11.StylePriority.UsePadding = false; this.xrTableCell11.StylePriority.UseTextAlignment = false; this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; - this.xrTableCell11.Weight = 0.26974355844350961D; + this.xrTableCell11.Weight = 0.26974355844350967D; // // xrTableCell12 // @@ -953,7 +955,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrTableCell12.StylePriority.UsePadding = false; this.xrTableCell12.StylePriority.UseTextAlignment = false; this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; - this.xrTableCell12.Weight = 0.26974355844350961D; + this.xrTableCell12.Weight = 0.26974305884298722D; // // xrLabel2 // @@ -964,6 +966,24 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.xrLabel2.StylePriority.UseFont = false; this.xrLabel2.Text = "Höhe der erhaltenen Abschlagszahlungen im Abrechnungszeitraum:"; // + // tcSummeUnitCount + // + this.tcSummeUnitCount.BorderColor = System.Drawing.Color.Black; + this.tcSummeUnitCount.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.tcSummeUnitCount.Name = "tcSummeUnitCount"; + this.tcSummeUnitCount.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); + this.tcSummeUnitCount.StylePriority.UseBorderColor = false; + this.tcSummeUnitCount.StylePriority.UseBorders = false; + this.tcSummeUnitCount.StylePriority.UsePadding = false; + this.tcSummeUnitCount.StylePriority.UseTextAlignment = false; + this.tcSummeUnitCount.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.tcSummeUnitCount.Weight = 0.079064045595411914D; + // + // summeUnitCount + // + this.summeUnitCount.Expression = "Sum([InvoiceItems.UnitCount])"; + this.summeUnitCount.Name = "summeUnitCount"; + // // bindingSource1 // this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.SettlementRO); @@ -979,6 +999,8 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt this.GroupHeader1, this.DetailReport, this.GroupFooter1}); + this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] { + this.summeUnitCount}); this.DataSource = this.bindingSource1; this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung"; this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { @@ -1070,5 +1092,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt private DevExpress.XtraReports.UI.XRLabel xrLabel35; private DevExpress.XtraReports.UI.XRTableCell xrTableCell13; private DevExpress.XtraReports.UI.XRTableCell xrTableCell14; + private DevExpress.XtraReports.UI.XRTableCell tcSummeUnitCount; + private DevExpress.XtraReports.UI.CalculatedField summeUnitCount; } } diff --git a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport.cs b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport.cs index 683d89027..95bed9e02 100644 --- a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport.cs +++ b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport.cs @@ -77,9 +77,15 @@ namespace BetreuungsserviceFuerAlltagUndWohnen.Alt } } } - - this.bindingSource1.DataSource = pRO; + var summeUnitCount = 0.0m; + foreach (var ii in pRO.InvoiceItems) + { + summeUnitCount += ii.UnitCount.Value; + } + tcSummeUnitCount.Text = string.Format("{0:0.00}", summeUnitCount); + + this.bindingSource1.DataSource = pRO; } private String GetCustomerId(SettlementRO pRO) diff --git a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport2.Designer.cs b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport2.Designer.cs index f43a1fedc..31ae76b8f 100644 --- a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport2.Designer.cs +++ b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport2.Designer.cs @@ -85,6 +85,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrTable1 = new DevExpress.XtraReports.UI.XRTable(); this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow(); this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); @@ -100,7 +101,8 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell(); - this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell(); + this.tcSummeUnitCount = new DevExpress.XtraReports.UI.XRTableCell(); + this.summeUnitCount = new DevExpress.XtraReports.UI.CalculatedField(); this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); @@ -270,7 +272,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrLabel_RecipientStreet, this.RecipientPostCodeAndTown}); this.GroupHeader1.Font = new System.Drawing.Font("Verdana", 10F); - this.GroupHeader1.HeightF = 439.7501F; + this.GroupHeader1.HeightF = 428.2917F; this.GroupHeader1.Name = "GroupHeader1"; this.GroupHeader1.StylePriority.UseFont = false; // @@ -279,7 +281,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrTable2.BorderColor = System.Drawing.Color.Black; this.xrTable2.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) | DevExpress.XtraPrinting.BorderSide.Right))); - this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0.0007629395F, 411.2917F); + this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 399.8334F); this.xrTable2.Name = "xrTable2"; this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRow1}); @@ -385,7 +387,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrLabel35.SizeF = new System.Drawing.SizeF(123.25F, 22.20834F); this.xrLabel35.StylePriority.UseFont = false; this.xrLabel35.StylePriority.UseTextAlignment = false; - this.xrLabel35.Text = "[InvoiceDate]"; + this.xrLabel35.Text = "[InvoiceDate!dd.MM.yyyy]"; this.xrLabel35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; // // xrLabel8 @@ -455,11 +457,11 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.lblFLSBewilligtProWoche.Multiline = true; this.lblFLSBewilligtProWoche.Name = "lblFLSBewilligtProWoche"; this.lblFLSBewilligtProWoche.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.lblFLSBewilligtProWoche.SizeF = new System.Drawing.SizeF(690.9993F, 37.8334F); + this.lblFLSBewilligtProWoche.SizeF = new System.Drawing.SizeF(690.9994F, 26.37509F); this.lblFLSBewilligtProWoche.StylePriority.UseBackColor = false; this.lblFLSBewilligtProWoche.StylePriority.UseFont = false; this.lblFLSBewilligtProWoche.Text = "Vom [AccountingStartDate!dd.MM.yyyy] bis [AccountingEndDate!dd.MM.yyyy]: [Approve" + - "dFLSWeekly!0.00] FLS pro Woche \r\nSumme bewilligter Stunden: [ApprovedFLS] "; + "dFLSWeekly!0.00] FLS pro Woche "; this.lblFLSBewilligtProWoche.WordWrap = false; // // xrLabel21 @@ -752,6 +754,21 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrTableCell5.Text = "Ab [PeriodStartDate!MMMM yyyy]: "; this.xrTableCell5.Weight = 0.20928719203487828D; // + // xrTableCell14 + // + this.xrTableCell14.BorderColor = System.Drawing.Color.Black; + this.xrTableCell14.Borders = DevExpress.XtraPrinting.BorderSide.Right; + this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.UnitCount", "{0:0.00}")}); + this.xrTableCell14.Name = "xrTableCell14"; + this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); + this.xrTableCell14.StylePriority.UseBorderColor = false; + this.xrTableCell14.StylePriority.UseBorders = false; + this.xrTableCell14.StylePriority.UsePadding = false; + this.xrTableCell14.StylePriority.UseTextAlignment = false; + this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; + this.xrTableCell14.Weight = 0.10076790663579949D; + // // xrTableCell6 // this.xrTableCell6.BorderColor = System.Drawing.Color.Black; @@ -879,7 +896,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrTable4.Name = "xrTable4"; this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRow3}); - this.xrTable4.SizeF = new System.Drawing.SizeF(649.9998F, 28.45831F); + this.xrTable4.SizeF = new System.Drawing.SizeF(650.0005F, 28.45831F); this.xrTable4.StylePriority.UseBorderColor = false; this.xrTable4.StylePriority.UseBorders = false; // @@ -887,6 +904,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen // this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { this.xrTableCell9, + this.tcSummeUnitCount, this.xrTableCell10, this.xrTableCell11, this.xrTableCell12}); @@ -896,8 +914,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen // xrTableCell9 // this.xrTableCell9.BorderColor = System.Drawing.Color.Black; - this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) - | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell9.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom))); this.xrTableCell9.CanShrink = true; this.xrTableCell9.Name = "xrTableCell9"; this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); @@ -908,7 +925,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrTableCell9.StylePriority.UseTextAlignment = false; this.xrTableCell9.Text = "="; this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.xrTableCell9.Weight = 0.31005448359312382D; + this.xrTableCell9.Weight = 0.20928657888877744D; // // xrTableCell10 // @@ -924,7 +941,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrTableCell10.StylePriority.UsePadding = false; this.xrTableCell10.StylePriority.UseTextAlignment = false; this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; - this.xrTableCell10.Weight = 0.11783008484137141D; + this.xrTableCell10.Weight = 0.11782835789281063D; // // xrTableCell11 // @@ -938,7 +955,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrTableCell11.StylePriority.UsePadding = false; this.xrTableCell11.StylePriority.UseTextAlignment = false; this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft; - this.xrTableCell11.Weight = 0.26974355844350961D; + this.xrTableCell11.Weight = 0.26974351302527944D; // // xrTableCell12 // @@ -954,22 +971,25 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.xrTableCell12.StylePriority.UsePadding = false; this.xrTableCell12.StylePriority.UseTextAlignment = false; this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; - this.xrTableCell12.Weight = 0.26974355844350961D; + this.xrTableCell12.Weight = 0.26974519349979564D; // - // xrTableCell14 + // tcSummeUnitCount // - this.xrTableCell14.BorderColor = System.Drawing.Color.Black; - this.xrTableCell14.Borders = DevExpress.XtraPrinting.BorderSide.Right; - this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceItems.UnitCount", "{0:0.00}")}); - this.xrTableCell14.Name = "xrTableCell14"; - this.xrTableCell14.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); - this.xrTableCell14.StylePriority.UseBorderColor = false; - this.xrTableCell14.StylePriority.UseBorders = false; - this.xrTableCell14.StylePriority.UsePadding = false; - this.xrTableCell14.StylePriority.UseTextAlignment = false; - this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight; - this.xrTableCell14.Weight = 0.10076790663579949D; + this.tcSummeUnitCount.BorderColor = System.Drawing.Color.Black; + this.tcSummeUnitCount.Borders = ((DevExpress.XtraPrinting.BorderSide)((DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.tcSummeUnitCount.Name = "tcSummeUnitCount"; + this.tcSummeUnitCount.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 2, 0, 0, 100F); + this.tcSummeUnitCount.StylePriority.UseBorderColor = false; + this.tcSummeUnitCount.StylePriority.UseBorders = false; + this.tcSummeUnitCount.StylePriority.UsePadding = false; + this.tcSummeUnitCount.StylePriority.UseTextAlignment = false; + this.tcSummeUnitCount.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.tcSummeUnitCount.Weight = 0.10076905135173184D; + // + // summeUnitCount + // + this.summeUnitCount.Expression = "Sum([InvoiceItems.UnitCount])"; + this.summeUnitCount.Name = "summeUnitCount"; // // bindingSource1 // @@ -987,7 +1007,8 @@ namespace BetreuungsserviceFuerAlltagUndWohnen this.DetailReport, this.GroupFooter1}); this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] { - this.fieldApprovedFLSWithFactor}); + this.fieldApprovedFLSWithFactor, + this.summeUnitCount}); this.DataSource = this.bindingSource1; this.ExportOptions.PrintPreview.DefaultFileName = "Spitzabrechnung"; this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { @@ -1080,5 +1101,7 @@ namespace BetreuungsserviceFuerAlltagUndWohnen private DevExpress.XtraReports.UI.XRTableCell xrTableCell3; private DevExpress.XtraReports.UI.XRTableCell xrTableCell4; private DevExpress.XtraReports.UI.XRTableCell xrTableCell14; + private DevExpress.XtraReports.UI.XRTableCell tcSummeUnitCount; + private DevExpress.XtraReports.UI.CalculatedField summeUnitCount; } } diff --git a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport2.cs b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport2.cs index 12bd895d2..b5070cc22 100644 --- a/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport2.cs +++ b/ReportImp/BetreuungsserviceFuerAlltagUndWohnen/SettlementReport2.cs @@ -29,7 +29,8 @@ namespace BetreuungsserviceFuerAlltagUndWohnen pRO.ApprovedFLS = string.Format("{0:0.00}", bewilligung.ApprovedBETotal); var stundenProWoche = 0.0m; decimal wochen = Convert.ToDecimal((bewilligung.EndDate - bewilligung.StartDate).Value.TotalDays / 7); - pRO.ApprovedFLSWeekly = bewilligung.ApprovedBETotal.Value / wochen; + if (pRO.ApprovedFLSWeekly == null || pRO.ApprovedFLSWeekly == 0) + pRO.ApprovedFLSWeekly = bewilligung.ApprovedBETotal.Value / wochen; } if (String.IsNullOrEmpty(pRO.Notice)) @@ -38,14 +39,17 @@ namespace BetreuungsserviceFuerAlltagUndWohnen } decimal rateFactor = 1; - + var summeUnitCount = 0.0m; foreach (var ii in pRO.InvoiceItems) { + summeUnitCount += ii.UnitCount.Value; if (ii.RateFactor.HasValue) { rateFactor = (100 + ii.RateFactor.Value) / 100; } } + tcSummeUnitCount.Text = string.Format("{0:0.00}", summeUnitCount); + pRO.RateFactor = (double)rateFactor; this.bindingSource1.DataSource = pRO; diff --git a/ReportImp/BzhEssenGGmbH/Quittierungsbeleg.Designer.cs b/ReportImp/BzhEssenGGmbH/Quittierungsbeleg.Designer.cs index 7ac000bac..81892e075 100644 --- a/ReportImp/BzhEssenGGmbH/Quittierungsbeleg.Designer.cs +++ b/ReportImp/BzhEssenGGmbH/Quittierungsbeleg.Designer.cs @@ -80,6 +80,7 @@ namespace BeWo.Report.DefaultReports this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand(); this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand(); + this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel(); this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox(); this.lblUnterschriftKlient = new DevExpress.XtraReports.UI.XRLabel(); @@ -119,7 +120,6 @@ namespace BeWo.Report.DefaultReports this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox(); this.xrLabel17 = new DevExpress.XtraReports.UI.XRLabel(); this.fieldKontaktArt = new DevExpress.XtraReports.UI.CalculatedField(); - this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel(); ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); @@ -775,6 +775,21 @@ namespace BeWo.Report.DefaultReports this.GroupFooter1.KeepTogether = true; this.GroupFooter1.Name = "GroupFooter1"; // + // xrLabel19 + // + this.xrLabel19.Font = new System.Drawing.Font("Arial", 10F); + this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(0F, 59.99997F); + this.xrLabel19.Name = "xrLabel19"; + this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); + this.xrLabel19.SizeF = new System.Drawing.SizeF(320F, 20F); + this.xrLabel19.StylePriority.UseBackColor = false; + this.xrLabel19.StylePriority.UseBorders = false; + this.xrLabel19.StylePriority.UseFont = false; + this.xrLabel19.StylePriority.UsePadding = false; + this.xrLabel19.StylePriority.UseTextAlignment = false; + this.xrLabel19.Text = "F = Fehlkontakt"; + this.xrLabel19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + // // xrLabel18 // this.xrLabel18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { @@ -1229,21 +1244,6 @@ namespace BeWo.Report.DefaultReports this.fieldKontaktArt.FieldType = DevExpress.XtraReports.UI.FieldType.String; this.fieldKontaktArt.Name = "fieldKontaktArt"; // - // xrLabel19 - // - this.xrLabel19.Font = new System.Drawing.Font("Arial", 10F); - this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(0F, 59.99997F); - this.xrLabel19.Name = "xrLabel19"; - this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 2, 0, 0, 100F); - this.xrLabel19.SizeF = new System.Drawing.SizeF(320F, 20F); - this.xrLabel19.StylePriority.UseBackColor = false; - this.xrLabel19.StylePriority.UseBorders = false; - this.xrLabel19.StylePriority.UseFont = false; - this.xrLabel19.StylePriority.UsePadding = false; - this.xrLabel19.StylePriority.UseTextAlignment = false; - this.xrLabel19.Text = "F = Fehlkontakt"; - this.xrLabel19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - // // Quittierungsbeleg // this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { diff --git a/ReportImp/BzhEssenGGmbH/Quittierungsbeleg.cs b/ReportImp/BzhEssenGGmbH/Quittierungsbeleg.cs index 89d5e75b1..2a6066e84 100644 --- a/ReportImp/BzhEssenGGmbH/Quittierungsbeleg.cs +++ b/ReportImp/BzhEssenGGmbH/Quittierungsbeleg.cs @@ -35,9 +35,9 @@ namespace BeWo.Report.DefaultReports foreach (var sd in pRO.Services) { - if (sd.IsBillable || sd.ServiceCategory == "Fehlkontakt") + if (sd.IsBillable || sd.ServiceDescription == "Fehlkontakt") { - if (sd.ServiceCategory == "Fehlkontakt") + if (sd.ServiceDescription == "Fehlkontakt") sd.Notice5 = "F"; else if (sd.IsGroup) sd.Notice5 = "GR";