From 7ff77ebbd31de4ded0c2f24f04456f09ec38d810 Mon Sep 17 00:00:00 2001 From: HirschleM Date: Thu, 31 Jul 2025 16:40:56 +0200 Subject: [PATCH] =?UTF-8?q?MH:=20M=C3=BCnchner=20Aidshilfe=20Rechnungsdesi?= =?UTF-8?q?gn=20+=20Eigenanteil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Invoicing/CustomInvoiceCreation.cs | 28 ++- .../ServiceInvoiceReport.Designer.cs | 178 +++++++++++++++--- .../ServiceInvoiceReport.cs | 7 + 3 files changed, 190 insertions(+), 23 deletions(-) diff --git a/ReportImp/MuenchenerAidsHilfeEV/Invoicing/CustomInvoiceCreation.cs b/ReportImp/MuenchenerAidsHilfeEV/Invoicing/CustomInvoiceCreation.cs index b087a34c8..173830b80 100644 --- a/ReportImp/MuenchenerAidsHilfeEV/Invoicing/CustomInvoiceCreation.cs +++ b/ReportImp/MuenchenerAidsHilfeEV/Invoicing/CustomInvoiceCreation.cs @@ -28,8 +28,34 @@ namespace MuenchenerAidsHilfeEV.Invoicing // invoice.InvoiceBase.InvoiceTypeText = "Sammelrechnung Bezirk"; //} - + public override ServiceInvoice CreateSingleInvoice(int invoiceCounter, CostBearer costBearer, DateTimeSpan invoicePeriod, CompactSupportConceptDC supportConcept, List serviceRecords) + { + if (supportConcept.IsApproved) + { + var invoice = new ServiceInvoice(); + var supportConceptList = new List { supportConcept }; + + + SetSenderInformation(invoice); + SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList); + SetSingleInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConcept); + + SetRecipientInformation(invoice, costBearer); + + SetServiceInvoicePeriods(invoice, invoice.InvoiceBase.CostBearer2SupportConcept, invoicePeriod, + serviceRecords); + + SetServiceInvoicePeriodAmounts(invoice); + + // Eigenanteile abziehen + SetAmountEquityContribution(invoice); + + return invoice; + } + + return null; + } public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod, IList supportConceptList) { diff --git a/ReportImp/MuenchenerAidsHilfeEV/ServiceInvoiceReport.Designer.cs b/ReportImp/MuenchenerAidsHilfeEV/ServiceInvoiceReport.Designer.cs index 4b2fa6587..efa65f60c 100644 --- a/ReportImp/MuenchenerAidsHilfeEV/ServiceInvoiceReport.Designer.cs +++ b/ReportImp/MuenchenerAidsHilfeEV/ServiceInvoiceReport.Designer.cs @@ -95,8 +95,17 @@ namespace MuenchenerAidsHilfeEV this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell(); this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand(); this.ReportFooter2 = new DevExpress.XtraReports.UI.ReportFooterBand(); - this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel(); + this.xrTable4 = new DevExpress.XtraReports.UI.XRTable(); + this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell(); + this.rowEigenanteil = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell(); + this.rowEndbetrag = new DevExpress.XtraReports.UI.XRTableRow(); + this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell(); this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); ((System.ComponentModel.ISupportInitialize)(this.xrRichText4)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText3)).BeginInit(); @@ -106,6 +115,7 @@ namespace MuenchenerAidsHilfeEV ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); // @@ -808,30 +818,14 @@ namespace MuenchenerAidsHilfeEV // ReportFooter2 // this.ReportFooter2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { - this.xrLabel1, + this.xrTable4, this.xrLabel15}); - this.ReportFooter2.HeightF = 111.4583F; + this.ReportFooter2.HeightF = 139.2501F; this.ReportFooter2.Name = "ReportFooter2"; // - // xrLabel1 - // - this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { - new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim", "Gesamtsumme: {0}")}); - this.xrLabel1.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.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(420.9967F, 0F); - this.xrLabel1.Name = "xrLabel1"; - this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 5, 0, 0, 100F); - this.xrLabel1.SizeF = new System.Drawing.SizeF(255.8333F, 25F); - this.xrLabel1.StylePriority.UseFont = false; - this.xrLabel1.StylePriority.UsePadding = false; - this.xrLabel1.StylePriority.UseTextAlignment = false; - this.xrLabel1.Text = "xrLabel1"; - this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - // // xrLabel15 // - this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 51.95827F); + this.xrLabel15.LocationFloat = new DevExpress.Utils.PointFloat(0F, 79.75005F); this.xrLabel15.Multiline = true; this.xrLabel15.Name = "xrLabel15"; this.xrLabel15.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); @@ -839,6 +833,136 @@ namespace MuenchenerAidsHilfeEV this.xrLabel15.StylePriority.UseFont = false; this.xrLabel15.Text = "Zahlung sofort nach Rechnungserhalt ohne Abzug.\r\n\r\nDiese Rechnung wurde maschinel" + "l erstellt und ist ohne Unterschrift gültig."; + // + // xrTable4 + // + this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrTable4.Name = "xrTable4"; + this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { + this.xrTableRow10, + this.rowEigenanteil, + this.rowEndbetrag}); + this.xrTable4.SizeF = new System.Drawing.SizeF(677F, 60F); + this.xrTable4.StylePriority.UseFont = false; + // + // xrTableRow10 + // + this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell6, + this.xrTableCell7}); + this.xrTableRow10.Name = "xrTableRow10"; + this.xrTableRow10.Weight = 0.800001037599002D; + // + // xrTableCell6 + // + this.xrTableCell6.Borders = DevExpress.XtraPrinting.BorderSide.None; + 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, 2, 2, 100F); + this.xrTableCell6.StylePriority.UseBorderColor = false; + this.xrTableCell6.StylePriority.UseBorders = false; + this.xrTableCell6.StylePriority.UseFont = false; + this.xrTableCell6.StylePriority.UsePadding = false; + this.xrTableCell6.StylePriority.UseTextAlignment = false; + this.xrTableCell6.Text = "Gesamtsumme:"; + this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell6.Weight = 2.36096722486632D; + // + // xrTableCell7 + // + this.xrTableCell7.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrTableCell7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "GrossClaim")}); + this.xrTableCell7.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrTableCell7.Name = "xrTableCell7"; + this.xrTableCell7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); + this.xrTableCell7.StylePriority.UseBorderColor = false; + this.xrTableCell7.StylePriority.UseBorders = false; + this.xrTableCell7.StylePriority.UseFont = false; + this.xrTableCell7.StylePriority.UsePadding = false; + this.xrTableCell7.StylePriority.UseTextAlignment = false; + this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.xrTableCell7.Weight = 0.63903258078000413D; + // + // rowEigenanteil + // + this.rowEigenanteil.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell9, + this.xrTableCell17}); + this.rowEigenanteil.Name = "rowEigenanteil"; + this.rowEigenanteil.Weight = 0.800001037599002D; + // + // xrTableCell9 + // + this.xrTableCell9.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrTableCell9.Multiline = true; + this.xrTableCell9.Name = "xrTableCell9"; + this.xrTableCell9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); + this.xrTableCell9.StylePriority.UseBorderColor = false; + this.xrTableCell9.StylePriority.UseBorders = false; + this.xrTableCell9.StylePriority.UsePadding = false; + this.xrTableCell9.StylePriority.UseTextAlignment = false; + this.xrTableCell9.Text = "abzuziehender gezahlter Eigenanteil:"; + this.xrTableCell9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell9.Weight = 2.36096722486632D; + // + // xrTableCell17 + // + this.xrTableCell17.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "AmountEquityContribution")}); + this.xrTableCell17.Multiline = true; + this.xrTableCell17.Name = "xrTableCell17"; + this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); + this.xrTableCell17.StylePriority.UseBorderColor = false; + this.xrTableCell17.StylePriority.UseBorders = false; + this.xrTableCell17.StylePriority.UsePadding = false; + this.xrTableCell17.StylePriority.UseTextAlignment = false; + this.xrTableCell17.Text = "xrTableCell17"; + this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.xrTableCell17.Weight = 0.63903258078000413D; + // + // rowEndbetrag + // + this.rowEndbetrag.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell18, + this.xrTableCell19}); + this.rowEndbetrag.Name = "rowEndbetrag"; + this.rowEndbetrag.Weight = 0.800001037599002D; + // + // xrTableCell18 + // + this.xrTableCell18.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrTableCell18.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrTableCell18.Multiline = true; + this.xrTableCell18.Name = "xrTableCell18"; + this.xrTableCell18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); + this.xrTableCell18.StylePriority.UseBorderColor = false; + this.xrTableCell18.StylePriority.UseBorders = false; + this.xrTableCell18.StylePriority.UseFont = false; + this.xrTableCell18.StylePriority.UsePadding = false; + this.xrTableCell18.StylePriority.UseTextAlignment = false; + this.xrTableCell18.Text = "Endbetrag:"; + this.xrTableCell18.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell18.Weight = 2.36096722486632D; + // + // xrTableCell19 + // + this.xrTableCell19.Borders = DevExpress.XtraPrinting.BorderSide.None; + this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "NetClaim")}); + this.xrTableCell19.Font = new DevExpress.Drawing.DXFont("Arial", 10F, DevExpress.Drawing.DXFontStyle.Bold); + this.xrTableCell19.Multiline = true; + this.xrTableCell19.Name = "xrTableCell19"; + this.xrTableCell19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); + this.xrTableCell19.StylePriority.UseBorderColor = false; + this.xrTableCell19.StylePriority.UseBorders = false; + this.xrTableCell19.StylePriority.UseFont = false; + this.xrTableCell19.StylePriority.UsePadding = false; + this.xrTableCell19.StylePriority.UseTextAlignment = false; + this.xrTableCell19.Text = "xrTableCell19"; + this.xrTableCell19.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; + this.xrTableCell19.Weight = 0.63903258078000413D; // // bindingSource1 // @@ -860,7 +984,7 @@ namespace MuenchenerAidsHilfeEV new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] { this.ruleRateFactorNull}); - this.Margins = new DevExpress.Drawing.DXMargins(75F, 60F, 91F, 100F); + this.Margins = new DevExpress.Drawing.DXMargins(73F, 60F, 91F, 100F); this.PageHeight = 1169; this.PageWidth = 827; this.PaperKind = DevExpress.Drawing.Printing.DXPaperKind.A4; @@ -875,6 +999,7 @@ namespace MuenchenerAidsHilfeEV ((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); @@ -946,7 +1071,16 @@ namespace MuenchenerAidsHilfeEV private DevExpress.XtraReports.UI.XRTableCell xrTableCell36; private DevExpress.XtraReports.UI.XRTableCell xrTableCell34; private DevExpress.XtraReports.UI.ReportFooterBand ReportFooter2; - private DevExpress.XtraReports.UI.XRLabel xrLabel1; private DevExpress.XtraReports.UI.XRLabel xrLabel15; + private DevExpress.XtraReports.UI.XRTable xrTable4; + private DevExpress.XtraReports.UI.XRTableRow xrTableRow10; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell6; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell7; + private DevExpress.XtraReports.UI.XRTableRow rowEigenanteil; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell9; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell17; + private DevExpress.XtraReports.UI.XRTableRow rowEndbetrag; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell18; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell19; } } diff --git a/ReportImp/MuenchenerAidsHilfeEV/ServiceInvoiceReport.cs b/ReportImp/MuenchenerAidsHilfeEV/ServiceInvoiceReport.cs index 7cecad4c1..aefdb9ebb 100644 --- a/ReportImp/MuenchenerAidsHilfeEV/ServiceInvoiceReport.cs +++ b/ReportImp/MuenchenerAidsHilfeEV/ServiceInvoiceReport.cs @@ -72,6 +72,13 @@ namespace MuenchenerAidsHilfeEV pRO.InvoiceDate = String.Format("{0:dd.MM.yyyy}", pRO.InvoiceDateTime); pRO.AccountingPeriodStart = pRO.InvoiceBase.SupportConceptCostBearerRelDc.StartDate.Value; pRO.AccountingPeriodEnd = pRO.InvoiceBase.SupportConceptCostBearerRelDc.EndDate.Value; + + if (pRO.AmountAdvancedPayments == null || pRO.AmountEquityContribution != null && pRO.AmountEquityContribution == "0,00 €") + { + rowEigenanteil.Visible = false; + rowEndbetrag.Visible = false; + } + this.bindingSource1.DataSource = pRO; } }