From f1f434d506f60a44e3909cc90d4b690012a8b041 Mon Sep 17 00:00:00 2001 From: HirschleM Date: Tue, 5 Nov 2024 15:36:46 +0100 Subject: [PATCH 1/2] =?UTF-8?q?MH:=20LH=20Stade=20MID=20Verf=C3=BCgungszei?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LebenshilfeStadeMID.csproj | 11 +--- ReportImp/LebenshilfeStadeMID/SbdRechnung.cs | 6 +-- .../Service/CustomSaveInterceptor.cs | 50 +++++++++++++++++-- 3 files changed, 51 insertions(+), 16 deletions(-) diff --git a/ReportImp/LebenshilfeStadeMID/LebenshilfeStadeMID.csproj b/ReportImp/LebenshilfeStadeMID/LebenshilfeStadeMID.csproj index 346d35ecd..ca2530e2f 100644 --- a/ReportImp/LebenshilfeStadeMID/LebenshilfeStadeMID.csproj +++ b/ReportImp/LebenshilfeStadeMID/LebenshilfeStadeMID.csproj @@ -31,6 +31,7 @@ 4 + @@ -39,6 +40,7 @@ + @@ -67,12 +69,6 @@ Quittierungsbeleg.cs - - Component - - - SbdLeistungsnachweisAbrechnung.cs - Component @@ -110,9 +106,6 @@ Quittierungsbeleg.cs Designer - - SbdLeistungsnachweisAbrechnung.cs - SbdRechnung.cs Designer diff --git a/ReportImp/LebenshilfeStadeMID/SbdRechnung.cs b/ReportImp/LebenshilfeStadeMID/SbdRechnung.cs index ef64409f8..648337a3d 100644 --- a/ReportImp/LebenshilfeStadeMID/SbdRechnung.cs +++ b/ReportImp/LebenshilfeStadeMID/SbdRechnung.cs @@ -25,10 +25,10 @@ namespace LebenshilfeStadeMID SetzeBetraege(pRO); - var subReport = new LeistungsnachweisAbrechnung(); - subReport.SetReportDataSource(pRO); + //var subReport = new LeistungsnachweisAbrechnung(); + //subReport.SetReportDataSource(pRO); - this.xrSubreport1.ReportSource = subReport; + //this.xrSubreport1.ReportSource = subReport; this.bindingSource1.DataSource = pRO; diff --git a/ReportImp/LebenshilfeStadeMID/Service/CustomSaveInterceptor.cs b/ReportImp/LebenshilfeStadeMID/Service/CustomSaveInterceptor.cs index 500ce0020..fd61c7da4 100644 --- a/ReportImp/LebenshilfeStadeMID/Service/CustomSaveInterceptor.cs +++ b/ReportImp/LebenshilfeStadeMID/Service/CustomSaveInterceptor.cs @@ -15,22 +15,64 @@ namespace LebenshilfeStadeMID.Service public override void BeforeSaveServiceRecord(ServiceRecord sr) { // Wenn "Schulbegleitender Dienst" dokumentiert wird muss EIN MAL PRO TAG eine Verfügungszeit pauschal eingetragen werden. - if (sr.ServiceDescription.ServiceCategory.Name == "Schulbegleitender Dienst" && sr.Start.HasValue && sr.CustomerOid.HasValue) + if (sr.ServiceDescription.ServiceCategory.Name == "Schulbegleitender Dienst" && sr.Start.HasValue && sr.SupportConcept != null) { - var span = new DateTimeSpan() { StartDate = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, sr.Start.Value.Day), EndDate = sr.Start.Value.Date.AddDays(1).AddTicks(-1) }; - var eintraegeAmTag = DAOFactory.SearchDAO.FindCustomerServiceRecords(sr.CustomerOid.Value, span, null, BS.Shared.ServiceRecordTypeId.DefaultActivity, true); + // Alle Einträge des Tages holen, für den dokumentiert wird + var span = new DateTimeSpan() { StartDate = new DateTime(sr.Start.Value.Year, sr.Start.Value.Month, sr.Start.Value.Day), EndDate = sr.Start.Value.Date.AddDays(1) }; + var eintraegeAmTag = DAOFactory.SearchDAO.FindCustomerServiceRecords(sr.SupportConcept.Customer.Oid.Value, span, null, BS.Shared.ServiceRecordTypeId.DefaultActivity, true); // Wenn es noch keinen Eintrag für den Klienten gibt muss die halbe Stunden Verfügungszeit gespeichert werden if (eintraegeAmTag != null && eintraegeAmTag.Count == 0) { - + ErstelleVerfuegungszeit(sr); } // Wenn es schon welche gibt prüfen, ob da Verfügungszeit bei ist else if (eintraegeAmTag != null && eintraegeAmTag.Count > 0) { + // Gibt es keinen, neuen erstellen + if (eintraegeAmTag.Any(e => e.ServiceDescription.Name.ToLower().Contains("verfügungszeit"))) + { + // nix + } + else + ErstelleVerfuegungszeit(sr); } } } + + private void ErstelleVerfuegungszeit(ServiceRecord serviceRecord) + { + ServiceRecord verfuegungszeit = new ServiceRecord() + { + Betrag = null, + CostBearer2SupportConcept = serviceRecord.CostBearer2SupportConcept, + CostBearer2SupportConceptOid = serviceRecord.CostBearer2SupportConceptOid, + Customer = serviceRecord.SupportConcept.Customer, + CustomerOid = serviceRecord.SupportConcept.Customer.Oid, + DistanceInMeter = null, + Employee = serviceRecord.Employee, + EmployeeOid = serviceRecord.Oid, + Group = null, + GroupEmployeeCount = null, + GroupOid = null, + GroupPersonCount = null, + GroupRoundedDuration = null, + InsTs = DateTime.Now, + InsUser = "System", + IP = serviceRecord.IP, + IsActive = BS.Shared.ActivationTypeId.Active, + IsCreatedInMobileClient = false, + ServiceRecordType = BS.Shared.ServiceRecordTypeId.DefaultActivity, + SupportConcept = serviceRecord.SupportConcept, + RoundedDuration = 30, + ServiceDescription = DAOFactory.SearchDAO.FindServiceDescriptionForCategory(serviceRecord.ServiceDescription.ServiceCategory.Oid.Value).FirstOrDefault(sr => sr.Name == "Verfügungszeit"), + Start = serviceRecord.Start.Value.AddMinutes((int)serviceRecord.RoundedDuration), + End = serviceRecord.Start.Value.AddMinutes((int)serviceRecord.RoundedDuration + 30), + DurationInStunden = BS.Shared.ZeiterfassungsDauer.Minuten, + }; + + DAOFactory.GenericDAO.Insert(verfuegungszeit); + } } } From 46e8772df1bb8e676ce9df3189dd970b99604b35 Mon Sep 17 00:00:00 2001 From: HirschleM Date: Tue, 5 Nov 2024 15:37:05 +0100 Subject: [PATCH 2/2] host --- Host/Host.csproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Host/Host.csproj b/Host/Host.csproj index 9b74ec34a..4c94bce6c 100644 --- a/Host/Host.csproj +++ b/Host/Host.csproj @@ -55,6 +55,7 @@ false + False @@ -65,6 +66,7 @@ +