From ee55f9e8274d4e48afb31454590af46651fb1b87 Mon Sep 17 00:00:00 2001 From: HirschleM Date: Thu, 18 Dec 2025 09:16:04 +0100 Subject: [PATCH] MH: FlexibleJugendarbeitFrankfurtEV Kilometerabrechnungen --- .../FlexibleJugendarbeitFrankfurtEV.csproj | 2 ++ .../Invoicing/FahrtkostenInvoiceCreation.cs | 21 +++++++++++++++++++ .../Kilometerabrechnung.Designer.cs | 10 ++++++--- .../ServiceInvoiceReport.Designer.cs | 8 +++++-- 4 files changed, 36 insertions(+), 5 deletions(-) diff --git a/ReportImp/FlexibleJugendarbeitFrankfurtEV/FlexibleJugendarbeitFrankfurtEV.csproj b/ReportImp/FlexibleJugendarbeitFrankfurtEV/FlexibleJugendarbeitFrankfurtEV.csproj index f84895be0..ffb618752 100644 --- a/ReportImp/FlexibleJugendarbeitFrankfurtEV/FlexibleJugendarbeitFrankfurtEV.csproj +++ b/ReportImp/FlexibleJugendarbeitFrankfurtEV/FlexibleJugendarbeitFrankfurtEV.csproj @@ -31,6 +31,7 @@ 4 + @@ -39,6 +40,7 @@ + diff --git a/ReportImp/FlexibleJugendarbeitFrankfurtEV/Invoicing/FahrtkostenInvoiceCreation.cs b/ReportImp/FlexibleJugendarbeitFrankfurtEV/Invoicing/FahrtkostenInvoiceCreation.cs index 2752e87b2..99f09f1dd 100644 --- a/ReportImp/FlexibleJugendarbeitFrankfurtEV/Invoicing/FahrtkostenInvoiceCreation.cs +++ b/ReportImp/FlexibleJugendarbeitFrankfurtEV/Invoicing/FahrtkostenInvoiceCreation.cs @@ -18,6 +18,25 @@ namespace FlexibleJugendarbeitFrankfurtEV.Invoicing invoice.InvoiceBase.InvoiceId = "Kilometer"; invoice.InvoiceBase.InvoiceTypeText = "Kilometerabrechnung"; } + public override IList CreateInvoiceItems(List serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc) + { + var list = new List(); + foreach (ServiceRecordDC iServiceRecord in serviceRecordsInPeriod) + { + if (iServiceRecord.ServiceDescription.Category.IsBillable) + { + InvoiceItem invoiceItem = CreateInvoiceItem(iServiceRecord, scap, calc); + if (invoiceItem != null) + { + list.Add(invoiceItem); + } + iServiceRecord.AlreadyAccounted = true; + } + } + + return CreateSummaryInvoiceItems(list, invoicePeriod, scap, calc); + } + public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc) { var invoiceItem = base.CreateInvoiceItem(iServiceRecord, scap, calc); @@ -31,5 +50,7 @@ namespace FlexibleJugendarbeitFrankfurtEV.Invoicing return invoiceItem; } + + } } diff --git a/ReportImp/FlexibleJugendarbeitFrankfurtEV/Kilometerabrechnung.Designer.cs b/ReportImp/FlexibleJugendarbeitFrankfurtEV/Kilometerabrechnung.Designer.cs index 35c2b0c6f..debe212d6 100644 --- a/ReportImp/FlexibleJugendarbeitFrankfurtEV/Kilometerabrechnung.Designer.cs +++ b/ReportImp/FlexibleJugendarbeitFrankfurtEV/Kilometerabrechnung.Designer.cs @@ -30,6 +30,7 @@ namespace FlexibleJugendarbeitFrankfurtEV { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Kilometerabrechnung)); + DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark(); this.Detail = new DevExpress.XtraReports.UI.DetailBand(); this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule(); @@ -570,7 +571,7 @@ namespace FlexibleJugendarbeitFrankfurtEV this.xrTableCell44.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) | DevExpress.XtraPrinting.BorderSide.Bottom))); this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:0.##}")}); + new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Hours")}); this.xrTableCell44.Font = new DevExpress.Drawing.DXFont("Arial", 11F); this.xrTableCell44.Name = "xrTableCell44"; this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); @@ -581,6 +582,7 @@ namespace FlexibleJugendarbeitFrankfurtEV this.xrTableCell44.StylePriority.UseTextAlignment = false; this.xrTableCell44.Text = "xrTableCell44"; this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell44.TextFormatString = "{0:0.00}"; this.xrTableCell44.Weight = 0.29689806855222606D; // // xrTableCell45 @@ -589,7 +591,7 @@ namespace FlexibleJugendarbeitFrankfurtEV this.xrTableCell45.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) | DevExpress.XtraPrinting.BorderSide.Bottom))); this.xrTableCell45.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.Hours")}); + new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate")}); this.xrTableCell45.Font = new DevExpress.Drawing.DXFont("Arial", 11F); this.xrTableCell45.Name = "xrTableCell45"; this.xrTableCell45.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); @@ -600,7 +602,7 @@ namespace FlexibleJugendarbeitFrankfurtEV this.xrTableCell45.StylePriority.UseTextAlignment = false; this.xrTableCell45.Text = "xrTableCell45"; this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.xrTableCell45.TextFormatString = "{0:0.##}"; + this.xrTableCell45.TextFormatString = "{0:c}"; this.xrTableCell45.Weight = 0.3109308074601721D; // // xrTableCell47 @@ -687,6 +689,8 @@ namespace FlexibleJugendarbeitFrankfurtEV this.PageWidth = 827; this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; this.Version = "23.2"; + xrWatermark1.Id = "Watermark1"; + this.Watermarks.Add(xrWatermark1); ((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit(); diff --git a/ReportImp/FlexibleJugendarbeitFrankfurtEV/ServiceInvoiceReport.Designer.cs b/ReportImp/FlexibleJugendarbeitFrankfurtEV/ServiceInvoiceReport.Designer.cs index 3840f88bb..8866c7fc6 100644 --- a/ReportImp/FlexibleJugendarbeitFrankfurtEV/ServiceInvoiceReport.Designer.cs +++ b/ReportImp/FlexibleJugendarbeitFrankfurtEV/ServiceInvoiceReport.Designer.cs @@ -30,6 +30,7 @@ namespace FlexibleJugendarbeitFrankfurtEV { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ServiceInvoiceReport)); + DevExpress.XtraReports.UI.XRWatermark xrWatermark1 = new DevExpress.XtraReports.UI.XRWatermark(); this.Detail = new DevExpress.XtraReports.UI.DetailBand(); this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule(); @@ -569,7 +570,7 @@ namespace FlexibleJugendarbeitFrankfurtEV this.xrTableCell44.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) | DevExpress.XtraPrinting.BorderSide.Bottom))); this.xrTableCell44.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate", "{0:0.##}")}); + new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.HourlyRate")}); this.xrTableCell44.Font = new DevExpress.Drawing.DXFont("Arial", 11F); this.xrTableCell44.Name = "xrTableCell44"; this.xrTableCell44.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); @@ -580,6 +581,7 @@ namespace FlexibleJugendarbeitFrankfurtEV this.xrTableCell44.StylePriority.UseTextAlignment = false; this.xrTableCell44.Text = "xrTableCell44"; this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; + this.xrTableCell44.TextFormatString = "{0:c}"; this.xrTableCell44.Weight = 0.29689806855222606D; // // xrTableCell45 @@ -599,7 +601,7 @@ namespace FlexibleJugendarbeitFrankfurtEV this.xrTableCell45.StylePriority.UseTextAlignment = false; this.xrTableCell45.Text = "xrTableCell45"; this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; - this.xrTableCell45.TextFormatString = "{0:0.##}"; + this.xrTableCell45.TextFormatString = "{0:0.00}"; this.xrTableCell45.Weight = 0.3109308074601721D; // // xrTableCell47 @@ -686,6 +688,8 @@ namespace FlexibleJugendarbeitFrankfurtEV this.PageWidth = 827; this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; this.Version = "23.2"; + xrWatermark1.Id = "Watermark1"; + this.Watermarks.Add(xrWatermark1); ((System.ComponentModel.ISupportInitialize)(this.xrRichText1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();