From 40aacaea0a67ff129c61f534d67d6d9edb9beebf Mon Sep 17 00:00:00 2001 From: Kojo Date: Mon, 28 Apr 2025 18:59:16 +0200 Subject: [PATCH] =?UTF-8?q?DiakonischesWerkDinslakenSozio:=20Sozio-Vorbere?= =?UTF-8?q?itungen=20f=C3=BCrs=20GKV-Modul=20(auf=20zentrale=20Sozio-Rechn?= =?UTF-8?q?ungserstellung=20umgestellt,=20Datum-Spalte=20auf=20Rechnung,?= =?UTF-8?q?=20LN=20noch=20ein=20wenig=20angepasst)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomSoziotherapieInvoiceCreation.cs | 6 +- .../DiakonischesWerkDinslakenSozio.csproj | 2 +- .../Invoicing/CustomInvoiceFactory.cs | 2 +- .../CustomSoziotherapieInvoiceCreation.cs | 57 ++++ .../Invoicing/SoziotherapieInvoiceCreation.cs | 248 ------------------ .../LeistungsnachweisSoziotherapie.cs | 110 ++++---- ...LeistungsnachweisSoziotherapie.designer.cs | 70 ++--- .../SoziotherapieRechnung.Designer.cs | 108 +++++--- .../SoziotherapieRechnung.cs | 4 - 9 files changed, 233 insertions(+), 374 deletions(-) create mode 100644 ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/CustomSoziotherapieInvoiceCreation.cs delete mode 100644 ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/SoziotherapieInvoiceCreation.cs diff --git a/ReportImp/BeWoFuerDich/Invoicing/CustomSoziotherapieInvoiceCreation.cs b/ReportImp/BeWoFuerDich/Invoicing/CustomSoziotherapieInvoiceCreation.cs index 4737bdd68..f725c1290 100644 --- a/ReportImp/BeWoFuerDich/Invoicing/CustomSoziotherapieInvoiceCreation.cs +++ b/ReportImp/BeWoFuerDich/Invoicing/CustomSoziotherapieInvoiceCreation.cs @@ -24,7 +24,7 @@ namespace BeWoFuerDich.Invoicing } else { - if (sozioLeistung.Contains("probe")) + if (sozioLeistung.Contains("probatorik")) unitDescription = "GPos: 2001607"; else if (sozioLeistung.Contains("video")) { @@ -33,14 +33,14 @@ namespace BeWoFuerDich.Invoicing else if (duration > 30) unitDescription = "GPos: 2001615"; } - else if (sozioLeistung.Contains("telefon")) + else if (sozioLeistung.Contains("telefonat")) { if (duration <= 30) unitDescription = "GPos: 2001618"; else if (duration > 30) unitDescription = "GPos: 2001617"; } - else if (sozioLeistung.Contains("aufsuchend") || sozioLeistung.Contains("einrichtung")) + else if (sozioLeistung.Contains("einheit")) // Aufsuchende oder Büro-Einheit { if (duration <= 10) unitDescription = "GPos: 2001613"; diff --git a/ReportImp/DiakonischesWerkDinslakenSozio/DiakonischesWerkDinslakenSozio.csproj b/ReportImp/DiakonischesWerkDinslakenSozio/DiakonischesWerkDinslakenSozio.csproj index cddd51800..29e1a4002 100644 --- a/ReportImp/DiakonischesWerkDinslakenSozio/DiakonischesWerkDinslakenSozio.csproj +++ b/ReportImp/DiakonischesWerkDinslakenSozio/DiakonischesWerkDinslakenSozio.csproj @@ -58,7 +58,7 @@ - + Component diff --git a/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/CustomInvoiceFactory.cs b/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/CustomInvoiceFactory.cs index 4c8b6bcd4..9956fd298 100644 --- a/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/CustomInvoiceFactory.cs +++ b/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/CustomInvoiceFactory.cs @@ -12,7 +12,7 @@ namespace DiakonischesWerkDinslakenSozio.Invoicing { public override InvoiceCreation CreateInvoiceCreator(string specificId, string tenant, Dictionary> supportConcepts2ServiceRecords) { - return new SoziotherapieInvoiceCreation(); + return new CustomSoziotherapieInvoiceCreation(); } } } diff --git a/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/CustomSoziotherapieInvoiceCreation.cs b/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/CustomSoziotherapieInvoiceCreation.cs new file mode 100644 index 000000000..f3347a45b --- /dev/null +++ b/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/CustomSoziotherapieInvoiceCreation.cs @@ -0,0 +1,57 @@ +using BeWo.Service.Invoicing; +using BS.Shared.DataContracts; + +namespace DiakonischesWerkDinslakenSozio.Invoicing +{ + public class CustomSoziotherapieInvoiceCreation : SoziotherapieInvoiceCreation + { + + protected override string ErmittleGPosNummer(ServiceRecordDC serviceRecord, string sozioLeistung) + { + string unitDescription = ""; + var duration = serviceRecord.RoundedDuration; + + if (sozioLeistung.Contains("gruppe")) + { + if (duration <= 45) + unitDescription = "GPos: 2002678"; + else if (duration <= 60) + unitDescription = "GPos: 2002677"; + else + unitDescription = "GPos: 2002672"; + } + else + { + if (sozioLeistung.Contains("probe")) + unitDescription = "GPos: 2001607"; + else if (sozioLeistung.Contains("video")) + { + if (duration <= 30) + unitDescription = "GPos: 2001616"; + else if (duration > 30) + unitDescription = "GPos: 2001615"; + } + else if (sozioLeistung.Contains("telefon")) + { + if (duration <= 30) + unitDescription = "GPos: 2001618"; + else if (duration > 30) + unitDescription = "GPos: 2001617"; + } + else if (sozioLeistung.Contains("aufsuchend") || sozioLeistung.Contains("einrichtung")) + { + if (duration <= 10) + unitDescription = "GPos: 2001613"; + else if (duration <= 30) + unitDescription = "GPos: 2001612"; + else if (duration <= 45) + unitDescription = "GPos: 2001611"; + else + unitDescription = "GPos: 2001610"; + } + } + + return unitDescription; + } + } +} diff --git a/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/SoziotherapieInvoiceCreation.cs b/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/SoziotherapieInvoiceCreation.cs deleted file mode 100644 index dd466a56b..000000000 --- a/ReportImp/DiakonischesWerkDinslakenSozio/Invoicing/SoziotherapieInvoiceCreation.cs +++ /dev/null @@ -1,248 +0,0 @@ -using System; -using System.Collections.Generic; -using BeWo.Data.Entities; -using BeWo.Service.Invoicing; -using BS.Shared.Core; -using BS.Shared.DataContracts; -using BS.Shared.DataContracts.Compact; -using BS.Shared.Extensions; -using BS.Shared.Services; - -namespace DiakonischesWerkDinslakenSozio.Invoicing -{ - public class SoziotherapieInvoiceCreation : InvoiceCreation - { - 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); - - // Spitzabrechnung - if (invoicePeriod == null) - { - SetAmountAdvancePayments(invoice); - SetAmountEquityContribution(invoice); - } - - return invoice; - //} - //return null; - } - - public override IList CreateInvoiceItems(List serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, - Calculations calc) - { - var list = base.CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, scap, calc); - var ii = CreateHausbesuchspauschale(serviceRecordsInPeriod, invoicePeriod, scap); - list.AddRange(ii); - - return list; - } - - public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc) - { - // Es gibt 4 verschiedene Preise - jeweils für Einzel- bzw. Gruppenstunde - // sowie für Primär- und Ersatzkasse - // zusätzlich verschiedene GPos-Nummern für jede Leistung - dort häufig noch nach Dauer (<= 30 min und > 30min) unterschieden - - var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc); - ii.ItemDescription = iServiceRecord.ServiceDescription.Name; - - if (ii.ItemDescription.ToLower().Contains("gruppe")) - { - //if (iServiceRecord.RoundedDuration <= 45) - //{ - // ii.UnitDescription = "GPos: 2002678"; // 2 bis 5 Teilnehmer - //} - //else if (iServiceRecord.RoundedDuration <= 60) - //{ - // ii.UnitDescription = "GPos: 2002677"; // 2 bis 5 Teilnehmer - //} - //else - //{ - ii.UnitDescription = "GPos: 2002672"; // 2 bis 5 Teilnehmer - 90 Min - //} - // Gibt 2 Preise, einmal für Funktion Primärkasse und einmal für Funktion Ersatzkasse - var preisGruppe = GetGruppenPreis(scap.CostBearer2SupportConcept, iServiceRecord.Start.Value); - ii.AmountPerUnit = preisGruppe; - ii.AmountTotal = ii.AmountPerUnit * ii.UnitCount; - ii.GrossAmountTotal = ii.AmountTotal; - } - else - { - // Gibt 2 Preise, einmal für Funktion Primärkasse und einmal für Funktion Ersatzkasse - var preisEinzel = GetEinzelPreis(scap.CostBearer2SupportConcept, iServiceRecord.Start.Value); - ii.AmountPerUnit = preisEinzel; - ii.AmountTotal = ii.AmountPerUnit * ii.UnitCount; - ii.GrossAmountTotal = ii.AmountTotal; - - if (ii.ItemDescription.ToLower().Contains("video")) - { - if (iServiceRecord.RoundedDuration <= 30) - { - ii.UnitDescription = "GPos: 2001616"; - } - else - { - ii.UnitDescription = "GPos: 2001615"; - } - } - else if (ii.ItemDescription.ToLower().Contains("telefon")) - { - if (iServiceRecord.RoundedDuration <= 30) - { - ii.UnitDescription = "GPos: 2001618"; - } - else - { - ii.UnitDescription = "GPos: 2001617"; - } - } - else if (ii.ItemDescription.ToLower().Contains("aufsuchende einheit")) - { - if (iServiceRecord.RoundedDuration <= 30) - { - ii.UnitDescription = "GPos: 2001612 / 2009690"; - } - else - { - ii.UnitDescription = "GPos: 2001610 / 2009690"; - } - } - else if (ii.ItemDescription.ToLower().Contains("probatorik")) - { - if (ii.ItemDescription.ToLower().Contains("aufsuchend")) - { - ii.UnitDescription = "GPos: 2001607 / 2009690"; - } - else if (ii.ItemDescription.ToLower().Contains("büro")) - { - ii.UnitDescription = "GPos: 2001607"; - } - } - - else if (ii.ItemDescription.ToLower().Contains("büro-einheit")) - { - ii.UnitDescription = "GPos: 2001610"; - } - } - - return ii; - } - - public virtual IList CreateHausbesuchspauschale(List serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap) - { - IList items = new List(); - decimal hausbesuchspauschale = 8.53m; - // Gibt 2 Preise, einmal für Funktion Primärkasse und einmal für Funktion Ersatzkasse - hausbesuchspauschale = GetHausbesuchspauschale(scap.CostBearer2SupportConcept, invoicePeriod.StartDate); - int countHausbesuch = 0; - foreach (var sr in serviceRecordsInPeriod) - { - if (sr.ServiceDescription.Name.ToLower().Contains("hausbesuch") || sr.ServiceDescription.Name.ToLower().Contains("aufsuchend")) - { - countHausbesuch++; - } - } - - if (countHausbesuch > 0) - { - var invoiceItem = new InvoiceItem(); - - decimal anzahlHausbesuche = countHausbesuch; - - invoiceItem.AmountPerUnit = hausbesuchspauschale; - invoiceItem.UnitCount = anzahlHausbesuche; - invoiceItem.AmountTotal = anzahlHausbesuche * hausbesuchspauschale; - invoiceItem.ItemPeriodStart = invoicePeriod.StartDate; - invoiceItem.ItemPeriodEnd = invoicePeriod.EndDate; - invoiceItem.RateFactor = null; - invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal; - invoiceItem.ItemDescription = "Hausbesuchspauschale"; - invoiceItem.UnitDescription = "GPos: 2009690"; - if (scap != null) - invoiceItem.SupportConceptApprovalPeriodOid = scap.Oid; - - items.Add(invoiceItem); - } - return items; - } - - private decimal GetHausbesuchspauschale(CostBearer2SupportConcept c2s, DateTime dt) - { - String preisName = "Hausbesuchspauschale Primärkasse"; - - if (c2s.CostBearer.Organisation.Function != null) - { - if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse")) - { - preisName = "Hausbesuchspauschale Ersatzkasse"; - } - } - - return base.GetPreis(preisName, dt); - } - - private decimal GetGruppenPreis(CostBearer2SupportConcept c2s, DateTime dt) - { - String preisName = "Gruppenstunde Primärkasse"; - - if (c2s.CostBearer.Organisation.Function != null) - { - if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse")) - { - preisName = "Gruppenstunde Ersatzkasse"; - } - } - - return base.GetPreis(preisName, dt); - } - - private decimal GetEinzelPreis(CostBearer2SupportConcept c2s, DateTime dt) - { - String preisName = "Einzelstunde Primärkasse"; - - if (c2s.CostBearer.Organisation.Function != null) - { - if (c2s.CostBearer.Organisation.Function.Value.Contains("Ersatzkasse")) - { - preisName = "Einzelstunde Ersatzkasse"; - } - } - - return base.GetPreis(preisName, dt); - } - - public override IList CreateSummaryInvoiceItems(IList itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount) - { - return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, true, true); - } - - public override string GetSummaryItemKey(SupportConceptApprovalPeriod scap, InvoiceItem iitem, bool summaryPerMonth) - { - String key = String.Format("{0}_{1}_{2}", iitem.AmountPerUnit, iitem.RateFactor, iitem.ItemDescription); - if (summaryPerMonth) - { - key = String.Format("{0}_{1}_{2:yyyyMM}_{3}", iitem.AmountPerUnit, iitem.RateFactor, iitem.ItemPeriodStart, iitem.ItemDescription); - } - - return key; - } - } -} diff --git a/ReportImp/DiakonischesWerkDinslakenSozio/LeistungsnachweisSoziotherapie.cs b/ReportImp/DiakonischesWerkDinslakenSozio/LeistungsnachweisSoziotherapie.cs index cda07e0bc..24ca4859d 100644 --- a/ReportImp/DiakonischesWerkDinslakenSozio/LeistungsnachweisSoziotherapie.cs +++ b/ReportImp/DiakonischesWerkDinslakenSozio/LeistungsnachweisSoziotherapie.cs @@ -1,11 +1,8 @@ using System; -using System.Collections; -using System.ComponentModel; using BS.Shared.Core; using DevExpress.XtraReports.UI; using BeWo.Report.ReportObjects; using BeWo.Report; -using System.Collections.Generic; using BeWo.Data.Access; using BeWo.Data.Entities; using BeWo.Service.DCEntityMapper; @@ -53,74 +50,81 @@ namespace DiakonischesWerkDinslakenSozio s.GoalList += goal.Abbreviation; } } - } - if (s.ServiceDescription.Contains("Gruppe")) //die erstellen meist über Mehrfachbuchung + } + + var leistung = s.ServiceDescription.ToLower(); + + if (leistung.Contains("gruppe")) //die erstellen meist über Mehrfachbuchung { s.IsGroup = true; gesamtGruppe += s.Minutes; s.ServiceDescription = "G"; - s.Notice5 = "2002672"; + if (s.Minutes <= 45) + s.Notice5 = "2002678"; + else if (s.Minutes <= 60) + s.Notice5 = "2002677"; + else + s.Notice5 = "2002672"; } else { gesamt += s.Minutes; - } - if (s.ServiceDescription.Contains("Video")) - { - s.ServiceDescription = "V"; - if (s.Minutes <= 30) + if (leistung.Contains("video")) { - s.Notice5 = "2001616"; + s.ServiceDescription = "V"; + if (s.Minutes <= 30) + s.Notice5 = "2001616"; + else + s.Notice5 = "2001615"; } - else + else if (leistung.Contains("telefonat")) { - s.Notice5 = "2001615"; + s.ServiceDescription = "T"; + if (s.Minutes <= 30) + s.Notice5 = "2001618"; + else + s.Notice5 = "2001617"; } - } - else if (s.ServiceDescription.Contains("Telefon")) - { - s.ServiceDescription = "T"; - if (s.Minutes <= 30) + else if (leistung.Contains("aufsuchende einheit")) { - s.Notice5 = "2001618"; + s.ServiceDescription = "A"; + if (s.Minutes <= 10) + s.Notice5 = "2001613 / 2009690"; + else if (s.Minutes <= 30) + s.Notice5 = "2001612 / 2009690"; + else if (s.Minutes <= 45) + s.Notice5 = "2001611 / 2009690"; + else + s.Notice5 = "2001610 / 2009690"; + } - else + else if (leistung.Contains("probatorik")) { - s.Notice5 = "2001617"; + if (leistung.Contains("aufsuchend")) + { + s.ServiceDescription = "AP"; + s.Notice5 = "2001607 / 2009690"; + } + else if (leistung.Contains("büro")) + { + s.ServiceDescription = "P"; + s.Notice5 = "2001607"; + } } - } - else if (s.ServiceDescription.Contains("Aufsuchende Einheit")) - { - s.ServiceDescription = "A"; - if (s.Minutes <= 30) + else if (leistung.Contains("büro-einheit")) { - s.Notice5 = "2001612 / 2009690"; - } - else - { - s.Notice5 = "2001610 / 2009690"; - } - } - else if (s.ServiceDescription.Contains("Probatorik")) - { - if (s.ServiceDescription.ToLower().Contains("aufsuchend")) - { - s.ServiceDescription = "AP"; - s.Notice5 = "2001607 / 2009690"; - } - else if (s.ServiceDescription.ToLower().Contains("büro")) - { - s.ServiceDescription = "P"; - s.Notice5 = "2001607"; - } - } - - else if (s.ServiceDescription.Contains("Büro-Einheit")) - { - s.ServiceDescription = "E"; - s.Notice5 = "2001610"; - } + s.ServiceDescription = "E"; + if (s.Minutes <= 10) + s.Notice5 = "2001613"; + else if (s.Minutes <= 30) + s.Notice5 = "2001612"; + else if (s.Minutes <= 45) + s.Notice5 = "2001611"; + else + s.Notice5 = "2001610"; + } + } } } diff --git a/ReportImp/DiakonischesWerkDinslakenSozio/LeistungsnachweisSoziotherapie.designer.cs b/ReportImp/DiakonischesWerkDinslakenSozio/LeistungsnachweisSoziotherapie.designer.cs index bd03bcea3..957544086 100644 --- a/ReportImp/DiakonischesWerkDinslakenSozio/LeistungsnachweisSoziotherapie.designer.cs +++ b/ReportImp/DiakonischesWerkDinslakenSozio/LeistungsnachweisSoziotherapie.designer.cs @@ -76,6 +76,7 @@ namespace DiakonischesWerkDinslakenSozio this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand(); this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); this.ReportFooter = new DevExpress.XtraReports.UI.ReportFooterBand(); + this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel(); @@ -86,6 +87,8 @@ namespace DiakonischesWerkDinslakenSozio this.xrLabel23 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel15 = new DevExpress.XtraReports.UI.XRLabel(); this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); + this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox(); + this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel(); @@ -98,9 +101,6 @@ namespace DiakonischesWerkDinslakenSozio this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); this.fieldArt = new DevExpress.XtraReports.UI.CalculatedField(); this.fieldGroup = new DevExpress.XtraReports.UI.CalculatedField(); - this.xrLabel18 = new DevExpress.XtraReports.UI.XRLabel(); - this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel(); - this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox(); ((System.ComponentModel.ISupportInitialize)(this.xrTableServiceRecords1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit(); @@ -357,6 +357,8 @@ namespace DiakonischesWerkDinslakenSozio // // xrTableCell18 // + this.xrTableCell18.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "Services.EmployeeAbbr")}); this.xrTableCell18.Name = "xrTableCell18"; this.xrTableCell18.StylePriority.UsePadding = false; this.xrTableCell18.StylePriority.UseTextAlignment = false; @@ -557,6 +559,19 @@ namespace DiakonischesWerkDinslakenSozio this.ReportFooter.HeightF = 104.9584F; this.ReportFooter.Name = "ReportFooter"; this.ReportFooter.StylePriority.UseFont = false; + // + // xrLabel19 + // + this.xrLabel19.Font = new DevExpress.Drawing.DXFont("Arial", 9F); + this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); + this.xrLabel19.Name = "xrLabel19"; + this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel19.SizeF = new System.Drawing.SizeF(1097.458F, 17.99998F); + this.xrLabel19.StylePriority.UseBorders = false; + this.xrLabel19.StylePriority.UseFont = false; + this.xrLabel19.Text = "* Hinweis: Eine Einheit bei Einzeltherapie umfasst 60 Minuten, im Gruppenkontext " + + "90 Minuten. Die Einzeltherapie kann auch in Teileinheiten erbracht werden (bspw." + + " 0,5 oder 1,5)."; // // xrLabel10 // @@ -662,6 +677,24 @@ namespace DiakonischesWerkDinslakenSozio this.ReportHeader.Name = "ReportHeader"; this.ReportHeader.StylePriority.UseFont = false; // + // xrPictureBox2 + // + this.xrPictureBox2.ImageAlignment = DevExpress.XtraPrinting.ImageAlignment.MiddleCenter; + this.xrPictureBox2.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox2.ImageSource")); + this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(932.3333F, 0F); + this.xrPictureBox2.Name = "xrPictureBox2"; + this.xrPictureBox2.SizeF = new System.Drawing.SizeF(166.6667F, 112.5833F); + this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; + // + // xrLabel18 + // + this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(233.9999F, 84.00002F); + this.xrLabel18.Name = "xrLabel18"; + this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); + this.xrLabel18.SizeF = new System.Drawing.SizeF(233.9999F, 20F); + this.xrLabel18.StylePriority.UseFont = false; + this.xrLabel18.Text = "490 508 149"; + // // xrLabel5 // this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(233.9999F, 144F); @@ -771,37 +804,6 @@ namespace DiakonischesWerkDinslakenSozio this.fieldGroup.FieldType = DevExpress.XtraReports.UI.FieldType.Decimal; this.fieldGroup.Name = "fieldGroup"; // - // xrLabel18 - // - this.xrLabel18.LocationFloat = new DevExpress.Utils.PointFloat(233.9999F, 84.00002F); - this.xrLabel18.Name = "xrLabel18"; - this.xrLabel18.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel18.SizeF = new System.Drawing.SizeF(233.9999F, 20F); - this.xrLabel18.StylePriority.UseFont = false; - this.xrLabel18.Text = "490 508 149"; - // - // xrLabel19 - // - this.xrLabel19.Font = new DevExpress.Drawing.DXFont("Arial", 9F); - this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F); - this.xrLabel19.Name = "xrLabel19"; - this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel19.SizeF = new System.Drawing.SizeF(1097.458F, 17.99998F); - this.xrLabel19.StylePriority.UseBorders = false; - this.xrLabel19.StylePriority.UseFont = false; - this.xrLabel19.Text = "* Hinweis: Eine Einheit bei Einzeltherapie umfasst 60 Minuten, im Gruppenkontext " + - "90 Minuten. Die Einzeltherapie kann auch in Teileinheiten erbracht werden (bspw." + - " 0,5 oder 1,5)."; - // - // xrPictureBox2 - // - this.xrPictureBox2.ImageAlignment = DevExpress.XtraPrinting.ImageAlignment.MiddleCenter; - this.xrPictureBox2.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox2.ImageSource")); - this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(932.3333F, 0F); - this.xrPictureBox2.Name = "xrPictureBox2"; - this.xrPictureBox2.SizeF = new System.Drawing.SizeF(166.6667F, 112.5833F); - this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; - // // LeistungsnachweisSoziotherapie // this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { diff --git a/ReportImp/DiakonischesWerkDinslakenSozio/SoziotherapieRechnung.Designer.cs b/ReportImp/DiakonischesWerkDinslakenSozio/SoziotherapieRechnung.Designer.cs index 264b439f0..315bc3950 100644 --- a/ReportImp/DiakonischesWerkDinslakenSozio/SoziotherapieRechnung.Designer.cs +++ b/ReportImp/DiakonischesWerkDinslakenSozio/SoziotherapieRechnung.Designer.cs @@ -35,6 +35,7 @@ namespace DiakonischesWerkDinslakenSozio this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand(); this.ruleRateFactorNull = new DevExpress.XtraReports.UI.FormattingRule(); this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand(); + this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox(); this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand(); this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel(); this.xrLabel19 = new DevExpress.XtraReports.UI.XRLabel(); @@ -102,7 +103,8 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell(); this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell(); this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components); - this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox(); + this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell(); + this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell(); ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.xrRichText2)).BeginInit(); @@ -140,6 +142,15 @@ namespace DiakonischesWerkDinslakenSozio this.topMarginBand1.HeightF = 155.8333F; this.topMarginBand1.Name = "topMarginBand1"; // + // xrPictureBox2 + // + this.xrPictureBox2.ImageAlignment = DevExpress.XtraPrinting.ImageAlignment.MiddleCenter; + this.xrPictureBox2.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox2.ImageSource")); + this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(489.9163F, 43.25F); + this.xrPictureBox2.Name = "xrPictureBox2"; + this.xrPictureBox2.SizeF = new System.Drawing.SizeF(166.6667F, 112.5833F); + this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; + // // bottomMarginBand1 // this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] { @@ -169,11 +180,11 @@ namespace DiakonischesWerkDinslakenSozio // this.xrLabel19.BackColor = System.Drawing.Color.Transparent; this.xrLabel19.ForeColor = System.Drawing.Color.Gray; - this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(456.7837F, 4.999935F); + this.xrLabel19.LocationFloat = new DevExpress.Utils.PointFloat(456.7836F, 4.999948F); this.xrLabel19.Multiline = true; this.xrLabel19.Name = "xrLabel19"; this.xrLabel19.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel19.SizeF = new System.Drawing.SizeF(193.2162F, 56.24987F); + this.xrLabel19.SizeF = new System.Drawing.SizeF(193.9316F, 56.24987F); this.xrLabel19.StylePriority.UseBackColor = false; this.xrLabel19.StylePriority.UseFont = false; this.xrLabel19.StylePriority.UseForeColor = false; @@ -499,7 +510,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrLabel6.Multiline = true; this.xrLabel6.Name = "xrLabel6"; this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel6.SizeF = new System.Drawing.SizeF(649.9999F, 38.99988F); + this.xrLabel6.SizeF = new System.Drawing.SizeF(650.7152F, 38.99988F); this.xrLabel6.StylePriority.UseBackColor = false; this.xrLabel6.StylePriority.UseFont = false; this.xrLabel6.Text = "Abrechnung Soziotherapie Sitzungen gemäß $37a SGV, Versicherte(r): [CustomerLastN" + @@ -571,10 +582,10 @@ namespace DiakonischesWerkDinslakenSozio this.xrLabel2.CanShrink = true; this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 9F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); - this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 9.999974F); + this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 9.999954F); this.xrLabel2.Name = "xrLabel2"; this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel2.SizeF = new System.Drawing.SizeF(649.9999F, 20F); + this.xrLabel2.SizeF = new System.Drawing.SizeF(650.7152F, 20F); this.xrLabel2.StylePriority.UseBackColor = false; this.xrLabel2.StylePriority.UseFont = false; this.xrLabel2.Text = "Zahlungsbedingungen: 10 Tage netto"; @@ -595,12 +606,12 @@ namespace DiakonischesWerkDinslakenSozio // this.xrTable4.Font = new DevExpress.Drawing.DXFont("Arial", 9F, DevExpress.Drawing.DXFontStyle.Regular, DevExpress.Drawing.DXGraphicsUnit.Point, new DevExpress.Drawing.DXFontAdditionalProperty[] { new DevExpress.Drawing.DXFontAdditionalProperty("GdiCharSet", ((byte)(0)))}); - this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(9.536743E-05F, 75F); + this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0.0001179803F, 74.99998F); this.xrTable4.Name = "xrTable4"; this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRow10, this.xrTableRow14}); - this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 26F); + this.xrTable4.SizeF = new System.Drawing.SizeF(650.7151F, 26F); this.xrTable4.StylePriority.UseFont = false; // // xrTableRow10 @@ -672,12 +683,13 @@ namespace DiakonischesWerkDinslakenSozio this.xrTable6.Name = "xrTable6"; this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRow25}); - this.xrTable6.SizeF = new System.Drawing.SizeF(650.7153F, 25F); + this.xrTable6.SizeF = new System.Drawing.SizeF(650.7152F, 25F); this.xrTable6.StylePriority.UseFont = false; // // xrTableRow25 // this.xrTableRow25.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell8, this.xrTableCell40, this.xrTableCell42, this.xrTableCell20, @@ -704,7 +716,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell40.StylePriority.UseTextAlignment = false; this.xrTableCell40.Text = "Soziotherapie"; this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell40.Weight = 0.48703970276798481D; + this.xrTableCell40.Weight = 0.51232229738413171D; // // xrTableCell42 // @@ -722,7 +734,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell42.StylePriority.UsePadding = false; this.xrTableCell42.StylePriority.UseTextAlignment = false; this.xrTableCell42.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell42.Weight = 1.107949290423365D; + this.xrTableCell42.Weight = 0.80446167293422866D; // // xrTableCell20 // @@ -741,7 +753,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell20.StylePriority.UseTextAlignment = false; this.xrTableCell20.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; this.xrTableCell20.TextFormatString = "{0:0.##}"; - this.xrTableCell20.Weight = 0.22822139477225151D; + this.xrTableCell20.Weight = 0.24432999407550751D; // // xrTableCell44 // @@ -760,7 +772,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell44.StylePriority.UseTextAlignment = false; this.xrTableCell44.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; this.xrTableCell44.TextFormatString = "{0:}"; - this.xrTableCell44.Weight = 0.22822139477225151D; + this.xrTableCell44.Weight = 0.24432999407550746D; // // xrTableCell45 // @@ -779,7 +791,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell45.StylePriority.UseTextAlignment = false; this.xrTableCell45.Text = "xrTableCell45"; this.xrTableCell45.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell45.Weight = 0.31486369486210231D; + this.xrTableCell45.Weight = 0.3370885837560148D; // // xrTableCell47 // @@ -797,7 +809,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell47.StylePriority.UsePadding = false; this.xrTableCell47.StylePriority.UseTextAlignment = false; this.xrTableCell47.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell47.Weight = 0.40632358217756026D; + this.xrTableCell47.Weight = 0.43500300581858853D; // // GroupHeader1 // @@ -819,6 +831,7 @@ namespace DiakonischesWerkDinslakenSozio // xrTableRow23 // this.xrTableRow23.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] { + this.xrTableCell4, this.xrTableCell32, this.xrTableCell37, this.xrTableCell14, @@ -846,7 +859,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell32.StylePriority.UseTextAlignment = false; this.xrTableCell32.Text = "Positionsnummer"; this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell32.Weight = 0.48703975698113955D; + this.xrTableCell32.Weight = 0.54076287365702436D; // // xrTableCell37 // @@ -866,7 +879,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell37.StylePriority.UseTextAlignment = false; this.xrTableCell37.Text = "Bezeichnung"; this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; - this.xrTableCell37.Weight = 1.1079493430789218D; + this.xrTableCell37.Weight = 0.84911985612088026D; // // xrTableCell14 // @@ -886,7 +899,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell14.StylePriority.UseTextAlignment = false; this.xrTableCell14.Text = "Menge"; this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell14.Weight = 0.22822136142383243D; + this.xrTableCell14.Weight = 0.25789367520462336D; // // xrTableCell33 // @@ -906,7 +919,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell33.StylePriority.UseTextAlignment = false; this.xrTableCell33.Text = "Einheit"; this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell33.Weight = 0.22822136142383243D; + this.xrTableCell33.Weight = 0.25789367520462342D; // // xrTableCell36 // @@ -926,7 +939,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell36.StylePriority.UseTextAlignment = false; this.xrTableCell36.Text = "Preis"; this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell36.Weight = 0.31486374942651824D; + this.xrTableCell36.Weight = 0.355800850145237D; // // xrTableCell34 // @@ -946,7 +959,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell34.StylePriority.UseTextAlignment = false; this.xrTableCell34.Text = "Gesamtbetrag"; this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell34.Weight = 0.40632415697457513D; + this.xrTableCell34.Weight = 0.45915194469869791D; // // GroupFooter1 // @@ -962,7 +975,7 @@ namespace DiakonischesWerkDinslakenSozio this.xrTable1.Name = "xrTable1"; this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] { this.xrTableRow1}); - this.xrTable1.SizeF = new System.Drawing.SizeF(649.9999F, 25F); + this.xrTable1.SizeF = new System.Drawing.SizeF(650.7151F, 25F); this.xrTable1.StylePriority.UseFont = false; // // xrTableRow1 @@ -1007,20 +1020,53 @@ namespace DiakonischesWerkDinslakenSozio this.xrTableCell5.StylePriority.UsePadding = false; this.xrTableCell5.StylePriority.UseTextAlignment = false; this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight; - this.xrTableCell5.Weight = 0.40327538447920763D; + this.xrTableCell5.Weight = 0.40632306752692371D; // // bindingSource1 // this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.ServiceInvoiceRO); // - // xrPictureBox2 + // xrTableCell4 // - this.xrPictureBox2.ImageAlignment = DevExpress.XtraPrinting.ImageAlignment.MiddleCenter; - this.xrPictureBox2.ImageSource = new DevExpress.XtraPrinting.Drawing.ImageSource("img", resources.GetString("xrPictureBox2.ImageSource")); - this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(489.9163F, 43.25F); - this.xrPictureBox2.Name = "xrPictureBox2"; - this.xrPictureBox2.SizeF = new System.Drawing.SizeF(166.6667F, 112.5833F); - this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; + this.xrTableCell4.BackColor = System.Drawing.Color.Transparent; + this.xrTableCell4.BorderColor = System.Drawing.Color.DarkGray; + this.xrTableCell4.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) + | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell4.Font = new DevExpress.Drawing.DXFont("Arial", 9F); + this.xrTableCell4.Multiline = true; + this.xrTableCell4.Name = "xrTableCell4"; + this.xrTableCell4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); + this.xrTableCell4.StylePriority.UseBackColor = false; + this.xrTableCell4.StylePriority.UseBorderColor = false; + this.xrTableCell4.StylePriority.UseBorders = false; + this.xrTableCell4.StylePriority.UseFont = false; + this.xrTableCell4.StylePriority.UsePadding = false; + this.xrTableCell4.StylePriority.UseTextAlignment = false; + this.xrTableCell4.Text = "Datum"; + this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell4.Weight = 0.412479349453638D; + // + // xrTableCell8 + // + this.xrTableCell8.BorderColor = System.Drawing.Color.DarkGray; + this.xrTableCell8.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) + | DevExpress.XtraPrinting.BorderSide.Bottom))); + this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] { + new DevExpress.XtraReports.UI.XRBinding("Text", null, "ServiceInvoicePeriods.ServiceInvoiceItems.AccountingPeriodStart")}); + this.xrTableCell8.Font = new DevExpress.Drawing.DXFont("Arial", 9F); + this.xrTableCell8.Multiline = true; + this.xrTableCell8.Name = "xrTableCell8"; + this.xrTableCell8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 2, 2, 100F); + this.xrTableCell8.StylePriority.UseBorderColor = false; + this.xrTableCell8.StylePriority.UseBorders = false; + this.xrTableCell8.StylePriority.UseFont = false; + this.xrTableCell8.StylePriority.UsePadding = false; + this.xrTableCell8.StylePriority.UseTextAlignment = false; + this.xrTableCell8.Text = "xrTableCell8"; + this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; + this.xrTableCell8.TextFormatString = "{0:dd.MM.yyyy}"; + this.xrTableCell8.Weight = 0.39078561666036693D; // // SoziotherapieRechnung // @@ -1129,5 +1175,7 @@ namespace DiakonischesWerkDinslakenSozio private DevExpress.XtraReports.UI.XRTableCell xrTableCell3; private DevExpress.XtraReports.UI.XRPageInfo xrPageInfo2; private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox2; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell8; + private DevExpress.XtraReports.UI.XRTableCell xrTableCell4; } } diff --git a/ReportImp/DiakonischesWerkDinslakenSozio/SoziotherapieRechnung.cs b/ReportImp/DiakonischesWerkDinslakenSozio/SoziotherapieRechnung.cs index b92ca6d4d..6ec8d85ab 100644 --- a/ReportImp/DiakonischesWerkDinslakenSozio/SoziotherapieRechnung.cs +++ b/ReportImp/DiakonischesWerkDinslakenSozio/SoziotherapieRechnung.cs @@ -1,9 +1,5 @@ -using BeWo.Data.Access; -using BeWo.Data.Entities; using BeWo.Report; using BeWo.Report.ReportObjects; -using BS.Shared; -using BS.Shared.Core; using DevExpress.XtraReports.UI; using System; using System.Text;