From 6e7d610ea94e5712bac5be60148753867f9d9545 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Tue, 1 Jul 2025 14:38:37 +0200 Subject: [PATCH] =?UTF-8?q?SBBMainzReports/LeistungsbestaetigungRlpTs=20-?= =?UTF-8?q?=20f=C3=BCr=20Tagesst=C3=A4tte=20neuer=20QB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LeistungsbestaetigungRlpTs.cs | 68 ++++++++++ .../LeistungsbestaetigungRlpTs.resx | 120 ++++++++++++++++++ .../SBBMainzReports/SBBMainzReportCreator.cs | 11 +- .../SBBMainzReports/SBBMainzReports.csproj | 12 ++ 4 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 ReportImp/SBBMainzReports/LeistungsbestaetigungRlpTs.cs create mode 100644 ReportImp/SBBMainzReports/LeistungsbestaetigungRlpTs.resx diff --git a/ReportImp/SBBMainzReports/LeistungsbestaetigungRlpTs.cs b/ReportImp/SBBMainzReports/LeistungsbestaetigungRlpTs.cs new file mode 100644 index 000000000..1b318b25c --- /dev/null +++ b/ReportImp/SBBMainzReports/LeistungsbestaetigungRlpTs.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text.RegularExpressions; +using BeWo.Report; +using BeWo.Report.ReportObjects; +using BS.Shared.Core; +using DevExpress.XtraReports.UI; + +namespace SBBMainzReports +{ + public partial class LeistungsbestaetigungRlpTs : XtraReport, IBeWoReport + { + public LeistungsbestaetigungRlpTs() + { + InitializeComponent(); + } + + public void SetReportDataSource(ServicesOverviewRO pRO) + { + + // Get calling method name + //StackTrace stackTrace = new StackTrace(); + //Debug.WriteLine(stackTrace.GetFrame(1).GetMethod().Name); + + bool hatGruppen = false; + + //if (pRO == null) + // return; + + if (pRO.Services != null) + { + lblTage.Text = pRO.Services.Count(s => s.ServiceDescription.Contains("Anwesenheitstag")).ToString(); + } + + bindingSource1.DataSource = pRO; + } + + + private void picSignature_BeforePrint(object sender, System.ComponentModel.CancelEventArgs e) + { + XRPictureBox xrBox = sender as XRPictureBox; + //var test = this.GetCurrent + string base64String = xrBox.Tag as string; + if (!String.IsNullOrWhiteSpace(base64String)) + { + var base64Data = Regex.Match(base64String, @"data:image/(?.+?),(?.+)").Groups["data"].Value; + var binData = Convert.FromBase64String(base64Data); + Image img = ByteArrayToImage(binData); + xrBox.Image = Utils.CropImage(img); + } + else + { + xrBox.Image = null; + } + } + + public Image ByteArrayToImage(byte[] byteArrayIn) + { + using(var memoryStream = new MemoryStream(byteArrayIn)) + { + return Image.FromStream(memoryStream); + } + } + } +} diff --git a/ReportImp/SBBMainzReports/LeistungsbestaetigungRlpTs.resx b/ReportImp/SBBMainzReports/LeistungsbestaetigungRlpTs.resx new file mode 100644 index 000000000..d58980a38 --- /dev/null +++ b/ReportImp/SBBMainzReports/LeistungsbestaetigungRlpTs.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ReportImp/SBBMainzReports/SBBMainzReportCreator.cs b/ReportImp/SBBMainzReports/SBBMainzReportCreator.cs index 71b667d05..7b0cdd711 100644 --- a/ReportImp/SBBMainzReports/SBBMainzReportCreator.cs +++ b/ReportImp/SBBMainzReports/SBBMainzReportCreator.cs @@ -54,15 +54,23 @@ namespace SBBMainzReports ServicesOverviewRO bewoRo = ServicesOverviewRO.CopyFromRO(ro); ServicesOverviewRO jugendamtRo = ServicesOverviewRO.CopyFromRO(ro); ServicesOverviewRO asdRo = ServicesOverviewRO.CopyFromRO(ro); + ServicesOverviewRO tsRo = ServicesOverviewRO.CopyFromRO(ro); bewoRo.TotalFLMBillable = 0; jugendamtRo.TotalFLMBillable = 0; asdRo.TotalFLMBillable = 0; + tsRo.TotalFLMBillable = 0; if (ro.Services != null) { foreach (ServicesOverviewRO.ServiceDetail s in ro.Services) { - if (ro.Costbearer.ToLower().Contains("jugendamt der landeshauptstadt mainz") + if (s.ServiceCategory.Contains("Tagesstätte")) + { + tsRo.Services.Add(s); + tsRo.TotalFLMBillable += s.Minutes; + tsRo.TotalFLMBillable += s.Minutes / 60; + } + else if (ro.Costbearer.ToLower().Contains("jugendamt der landeshauptstadt mainz") || ro.Costbearer.Equals("Landeshauptstadt Wiesbaden Amt für Soziale Arbeit und ambulante Erziehungshilfen")) //&& (s.ServiceCategory.ToLower().Contains("spfh") || s.ServiceCategory.ToLower().Contains("erziehungsbeistand"))) { @@ -95,6 +103,7 @@ namespace SBBMainzReports { report = AddReportToReport(report, bewoRo); } + report = AddReportToReport(report, tsRo); report = AddReportToReport(report, jugendamtRo); report = AddReportToReport(report, asdRo); report = AddReportToReport(report, asdRo); diff --git a/ReportImp/SBBMainzReports/SBBMainzReports.csproj b/ReportImp/SBBMainzReports/SBBMainzReports.csproj index eeaab5999..b6f6363fb 100644 --- a/ReportImp/SBBMainzReports/SBBMainzReports.csproj +++ b/ReportImp/SBBMainzReports/SBBMainzReports.csproj @@ -34,12 +34,14 @@ false + + @@ -74,6 +76,12 @@ CustomerDataReport.cs + + Component + + + LeistungsbestaetigungRlpTs.cs + Component @@ -125,6 +133,10 @@ CustomerDataReport.cs + + LeistungsbestaetigungRlpTs.cs + Designer + LeistungsbestaetigungRLP.cs