From cfd1583dc95d71bf4f7c0d038175755639752836 Mon Sep 17 00:00:00 2001 From: Marcel Hirschle Date: Mon, 6 Mar 2023 15:02:18 +0100 Subject: [PATCH] MH: BeWo Walz Genehmigungskennzeichen auf Sammelrechnung --- .../ServiceInvoiceReport.Designer.cs | 37 ++++++++++++++ .../BeWoWalzPaiva/ServiceInvoiceReport.cs | 50 ++++++++++++++++++- 2 files changed, 86 insertions(+), 1 deletion(-) diff --git a/ReportImp/BeWoWalzPaiva/ServiceInvoiceReport.Designer.cs b/ReportImp/BeWoWalzPaiva/ServiceInvoiceReport.Designer.cs index 99b6cf4e4..8fcffd41c 100644 --- a/ReportImp/BeWoWalzPaiva/ServiceInvoiceReport.Designer.cs +++ b/ReportImp/BeWoWalzPaiva/ServiceInvoiceReport.Designer.cs @@ -82,6 +82,8 @@ namespace BeWoWalzPaiva this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand(); this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); + this.lblGenehmigungskennzeichen = new DevExpress.XtraReports.UI.XRLabel(); + this.lblGenehmigungskennzeichenValue = new DevExpress.XtraReports.UI.XRLabel(); ((System.ComponentModel.ISupportInitialize)(this.rtAnschrift1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit(); @@ -150,6 +152,8 @@ namespace BeWoWalzPaiva // Page1 // this.Page1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { + this.lblGenehmigungskennzeichenValue, + this.lblGenehmigungskennzeichen, this.lblIKNummer, this.xrLabel11, this.xrLabel10, @@ -704,6 +708,37 @@ namespace BeWoWalzPaiva // this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO); // + // lblGenehmigungskennzeichen + // + this.lblGenehmigungskennzeichen.BackColor = System.Drawing.Color.Transparent; + this.lblGenehmigungskennzeichen.CanShrink = true; + this.lblGenehmigungskennzeichen.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblGenehmigungskennzeichen.LocationFloat = new DevExpress.Utils.PointFloat(0F, 255F); + this.lblGenehmigungskennzeichen.Multiline = true; + this.lblGenehmigungskennzeichen.Name = "lblGenehmigungskennzeichen"; + this.lblGenehmigungskennzeichen.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblGenehmigungskennzeichen.SizeF = new System.Drawing.SizeF(220F, 20.00002F); + this.lblGenehmigungskennzeichen.StylePriority.UseBackColor = false; + this.lblGenehmigungskennzeichen.StylePriority.UseFont = false; + this.lblGenehmigungskennzeichen.Text = "Genehmigungskennzeichen: "; + this.lblGenehmigungskennzeichen.Visible = false; + this.lblGenehmigungskennzeichen.WordWrap = false; + // + // lblGenehmigungskennzeichenValue + // + this.lblGenehmigungskennzeichenValue.BackColor = System.Drawing.Color.Transparent; + this.lblGenehmigungskennzeichenValue.CanShrink = true; + this.lblGenehmigungskennzeichenValue.Font = new System.Drawing.Font("Verdana", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblGenehmigungskennzeichenValue.LocationFloat = new DevExpress.Utils.PointFloat(220F, 255F); + this.lblGenehmigungskennzeichenValue.Multiline = true; + this.lblGenehmigungskennzeichenValue.Name = "lblGenehmigungskennzeichenValue"; + this.lblGenehmigungskennzeichenValue.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.lblGenehmigungskennzeichenValue.SizeF = new System.Drawing.SizeF(225F, 20.00002F); + this.lblGenehmigungskennzeichenValue.StylePriority.UseBackColor = false; + this.lblGenehmigungskennzeichenValue.StylePriority.UseFont = false; + this.lblGenehmigungskennzeichenValue.Visible = false; + this.lblGenehmigungskennzeichenValue.WordWrap = false; + // // ServiceInvoiceReport // this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { @@ -785,5 +820,7 @@ namespace BeWoWalzPaiva private DevExpress.XtraReports.UI.XRLabel xrLabel6; private DevExpress.XtraReports.UI.XRRichText rtAnschrift1; private DevExpress.XtraReports.UI.XRLabel lblIKNummer; + private DevExpress.XtraReports.UI.XRLabel lblGenehmigungskennzeichen; + private DevExpress.XtraReports.UI.XRLabel lblGenehmigungskennzeichenValue; } } diff --git a/ReportImp/BeWoWalzPaiva/ServiceInvoiceReport.cs b/ReportImp/BeWoWalzPaiva/ServiceInvoiceReport.cs index 4b19fa848..5d6d8b92f 100644 --- a/ReportImp/BeWoWalzPaiva/ServiceInvoiceReport.cs +++ b/ReportImp/BeWoWalzPaiva/ServiceInvoiceReport.cs @@ -3,7 +3,8 @@ using BeWo.Data.Access; using BeWo.Data.Entities; using BeWo.Report; using BeWo.Report.ReportObjects; - +using BS.Shared.Core; +using BS.Shared.Extensions; using DevExpress.XtraReports.UI; namespace BeWoWalzPaiva @@ -18,6 +19,7 @@ namespace BeWoWalzPaiva public void SetReportDataSource(ServiceInvoiceRO pRO) { // Achtung! 2 Rechnungen in einer - anderes Logo, Betreff und IKNr. bei Soziotherapie + // MH, Ergänzung: Bei Kostenträger Bahn BKK zusätzlich das Genehmigungskennzeichen aus Varfields logoSoziotherapie.Location = logoBeWo.Location; logoSoziotherapie.Visible = false; @@ -32,6 +34,10 @@ namespace BeWoWalzPaiva lblIKNummer.Visible = true; lblBetreff.Text = String.Format("Abrechnung Soziotherapieleistungen für {0} {1}", pRO.CustomerSalutation, pRO.CustomerName); } + if (org.Name == "Bahn BKK") + { + SetzeGenehmigungskennzeichen(pRO); + } } DateTime start = pRO.AccountingPeriodStart; @@ -47,5 +53,47 @@ namespace BeWoWalzPaiva this.bindingSource1.DataSource = pRO; } + + private void SetzeGenehmigungskennzeichen(ServiceInvoiceRO pRO) + { + string kennzeichen = null; + + Customer c = null; + if (pRO.CustomerOid.HasValue) + { + c = DAOFactory.GenericDAO.LoadByID(pRO.CustomerOid.Value); + } + if (c == null) + { + if (pRO.ServiceInvoicePeriods.Count > 0) + { + var c2s = pRO.ServiceInvoicePeriods[0].CostBearer2SupportConcept; + c = c2s.SupportConcept.Customer; + } + } + + if (c != null) + { + foreach (var vv in c.VarFieldValueList) + { + var varFieldValue = Utils.XMLDeserializeFromString(vv.SerializedValue, Type.GetType(vv.TypeName)); + if (varFieldValue != null) + { + switch (vv.VarFieldDefOid) + { + case 1: // Lastschriftmandat + kennzeichen = varFieldValue.ToString(); + break; + } + } + } + if (!kennzeichen.IsNullOrEmpty()) + { + lblGenehmigungskennzeichen.Visible = true; + lblGenehmigungskennzeichenValue.Visible = true; + lblGenehmigungskennzeichenValue.Text = kennzeichen; + } + } + } } } \ No newline at end of file