From 21d063474fcb720626ed08497998e7ae689393a6 Mon Sep 17 00:00:00 2001 From: Christian Date: Wed, 7 Jun 2023 09:45:20 +0200 Subject: [PATCH] SHK Service VertretungsMananger --- BeWoPlanerMobil/BeWoPlanerMobil.csproj | 15 +- BeWoPlanerMobil/Models/AbstractModel.cs | 4 +- Host/Host.csproj.user | 2 +- .../MitarbeiterstundenkontoBerechnung.cs | 1 + ReportImp/AkggMid/LeistungsnachweisHelper.cs | 18 ++ .../CaritasAhlen/Export/DiamantExporter.cs | 98 ++++++++- .../Export/CustomDataExporter.cs | 6 +- .../RechnungPflege.Designer.cs | 1 - .../ServiceInvoiceReport.Designer.cs | 1 - ...CustomMitarbeiterstundenkontoBerechnung.cs | 207 ++++++++++++++++++ ...MitarbeiterstundenkontoBerechnungMonate.cs | 21 ++ .../SHKServiceSBD/Properties/AssemblyInfo.cs | 36 +++ .../SHKServiceSBD/Properties/licenses.licx | 1 + ReportImp/SHKServiceSBD/SHKServiceSBD.csproj | 82 +++++++ .../SHK_Service_Logo_PNG_02-2021.png | Bin 0 -> 112344 bytes .../Service/CustomVertretungsManager.cs | 56 +++++ .../CustomServiceRecordValidator.cs | 17 ++ .../SeWo/MitarbeiterstundenkontoBerechnung.cs | 8 +- ReportImp/SeWo/Zeitzuschlagsbeleg.cs | 45 ++++ .../SehtMuenster/Budgetnachweis.Designer.cs | 6 +- ReportImp/SehtMuenster/Budgetnachweis.resx | 2 + Service/Plugins/PluginLoader.cs | 5 +- Service/SBD/VertretungsManager.cs | 115 ++++++++-- .../EmployeeServiceImp.cs | 77 +------ 24 files changed, 704 insertions(+), 120 deletions(-) create mode 100644 ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnung.cs create mode 100644 ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnungMonate.cs create mode 100644 ReportImp/SHKServiceSBD/Properties/AssemblyInfo.cs create mode 100644 ReportImp/SHKServiceSBD/Properties/licenses.licx create mode 100644 ReportImp/SHKServiceSBD/SHKServiceSBD.csproj create mode 100644 ReportImp/SHKServiceSBD/SHK_Service_Logo_PNG_02-2021.png create mode 100644 ReportImp/SHKServiceSBD/Service/CustomVertretungsManager.cs create mode 100644 ReportImp/SHKServiceSBD/Validation/CustomServiceRecordValidator.cs diff --git a/BeWoPlanerMobil/BeWoPlanerMobil.csproj b/BeWoPlanerMobil/BeWoPlanerMobil.csproj index 1bc5d8e9d..d2323abb6 100644 --- a/BeWoPlanerMobil/BeWoPlanerMobil.csproj +++ b/BeWoPlanerMobil/BeWoPlanerMobil.csproj @@ -61,6 +61,19 @@ prompt 4 false + ES2015 + React + ES6 + True + False + False + + + False + True + True + + @@ -5079,7 +5092,7 @@ - True + False False 8808 / diff --git a/BeWoPlanerMobil/Models/AbstractModel.cs b/BeWoPlanerMobil/Models/AbstractModel.cs index 64ab1652a..9b3553221 100644 --- a/BeWoPlanerMobil/Models/AbstractModel.cs +++ b/BeWoPlanerMobil/Models/AbstractModel.cs @@ -47,7 +47,9 @@ namespace BeWoPlanerMobil.Models var mandator = new MobileSessionFacade().OperationsService.GetMandator(); var showEmployeeSignatureSetting = MobileUtils.GetSettingValue(mandator.Settings, SettingsKeys.ShowSignature); - +#if DEBUG + showEmployeeSignatureSetting = "1"; +#endif return CheckRight(UserRightType.Analysis_ServiceOverview_View) && showEmployeeSignatureSetting != null && showEmployeeSignatureSetting.Equals("1"); } } diff --git a/Host/Host.csproj.user b/Host/Host.csproj.user index 769cd8b25..a0002e9f5 100644 --- a/Host/Host.csproj.user +++ b/Host/Host.csproj.user @@ -3,7 +3,7 @@ BeWo2.0 true - Release|Any CPU + Debug|Any CPU false diff --git a/Report/ReportObjects/MitarbeiterstundenkontoBerechnung.cs b/Report/ReportObjects/MitarbeiterstundenkontoBerechnung.cs index 9514258de..c7e0c4e39 100644 --- a/Report/ReportObjects/MitarbeiterstundenkontoBerechnung.cs +++ b/Report/ReportObjects/MitarbeiterstundenkontoBerechnung.cs @@ -1012,6 +1012,7 @@ namespace BeWo.Report.ReportObjects duration *= (prozent / 100); } + //System.Diagnostics.Debug.WriteLine("{0:0.##}", duration); if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null && item.ServiceDescription.ServiceCategory.IsBillable) diff --git a/ReportImp/AkggMid/LeistungsnachweisHelper.cs b/ReportImp/AkggMid/LeistungsnachweisHelper.cs index a2328827a..d90fed746 100644 --- a/ReportImp/AkggMid/LeistungsnachweisHelper.cs +++ b/ReportImp/AkggMid/LeistungsnachweisHelper.cs @@ -39,6 +39,24 @@ namespace AkggMid } } } + + if (ro.ApprovedFLSPerWeek == 0) + { + if (ro.CostBearer2SupportConceptList != null && ro.CostBearer2SupportConceptList.Count > 0) + { + var c2s = ro.CostBearer2SupportConceptList[0]; + + foreach (var scap in c2s.ApprovalPeriodList) + { + if (scap.StartDate <= ro.EndDate && scap.EndDate >= ro.StartDate && scap.ApprovedBEInterval.HasValue && scap.ApprovedBEPerInterval.HasValue && scap.ApprovedBEInterval.Value == BS.Shared.SupportConceptApprovalInterval.Weekly) + { + ro.ApprovedFLSPerWeek = scap.ApprovedBEPerInterval.Value; + } + } + } + + } + } public List ErstelleDummyRecords(ServicesOverviewRO pRO) { diff --git a/ReportImp/CaritasAhlen/Export/DiamantExporter.cs b/ReportImp/CaritasAhlen/Export/DiamantExporter.cs index 6b50150f1..6529ea46d 100644 --- a/ReportImp/CaritasAhlen/Export/DiamantExporter.cs +++ b/ReportImp/CaritasAhlen/Export/DiamantExporter.cs @@ -5,8 +5,12 @@ using System.IO; using System.Text; using BeWo.Data.Access; using BeWo.Data.Entities; +using BeWo.Service.DCEntityMapper; using BeWo.Service.Plugins; +using BS.Shared.Core; using BS.Shared.DataContracts; +using BS.Shared.DataContracts.Compact; +using CaritasAhlen.Invoicing; namespace CaritasAhlen.Export { @@ -210,9 +214,17 @@ namespace CaritasAhlen.Export { sb.AppendLine(); } - for (int i = 0; i < row.ItemArray.Length - 1; i++) + long oid = (long)row.ItemArray[0]; + decimal? betrag = null; + if (oid > 0) { - if (i > 0) + betrag = BerechneRechnungsbetrag(oid, date, date.AddMonths(1).AddDays(-1)); + } + + + for (int i = 1; i < row.ItemArray.Length - 1; i++) + { + if (i > 1) { sb.Append(","); } @@ -221,20 +233,35 @@ namespace CaritasAhlen.Export // sb.AppendLine(); //} var item = row[i]; - bool quote = i == 15 || i == 35; + bool quote = i == 16 || i == 36; - if (quote) + if (i == 15) // betrag { - sb.Append('"'); - sb.Append(item); - sb.Append('"'); + if (betrag.HasValue) + { + sb.Append(String.Format("{0:0.00}", betrag).Replace(",", ".")); + } + else + { + sb.Append(item); + } } else { - sb.Append(item); + if (quote) + { + sb.Append('"'); + sb.Append(item); + sb.Append('"'); + } + else + { + sb.Append(item); + } } + } - ErstelleKostenstellenZeilen(row, sb); + ErstelleKostenstellenZeilen(row, sb, betrag); } //F,0,050,,BEWO,DA,01012016,012016,iBelegNr1,Belegnr1,220001,,,,999.99, "Name AZ Abrechnung 01/2016 LVR",,,EUR,,,,,,,,,,,R,,, //G,0,1695,,,-999.99,"Name AZ Abrechnung 01/2016 LVR", @@ -242,16 +269,20 @@ namespace CaritasAhlen.Export return sb.ToString(); } - private static void ErstelleKostenstellenZeilen(DataRow row, StringBuilder sb) + private static void ErstelleKostenstellenZeilen(DataRow row, StringBuilder sb, decimal? betrag) { if (row.ItemArray.Length > 15) { - var betragObj = row[14]; + var betragObj = row[15]; decimal gesamtbetrag = 0; if (betragObj != null) { Decimal.TryParse(betragObj.ToString().Replace(".", ","), out gesamtbetrag); + if (!betrag.HasValue) + { + betrag = gesamtbetrag; + } } var kstItem = row[row.ItemArray.Length - 1]; @@ -261,7 +292,7 @@ namespace CaritasAhlen.Export sb.AppendLine(); sb.Append(String.Format("K,0,{0},,v,,,,", kst)); - sb.Append(String.Format("{0:0.00}", gesamtbetrag).Replace(",", ".")); + sb.Append(String.Format("{0:0.00}", betrag).Replace(",", ".")); sb.Append(",,4419,,,,,,"); } } @@ -405,6 +436,7 @@ order by p.`LastName`, p.FirstName String sql = @" (SELECT +cb2sc.Oid, 'F', '0', '005', @@ -495,6 +527,7 @@ WHERE c.`IsActive` <> 0 AND sc.`IsActive` <> 0 and (sr.`GeleisteteFLM` is not null)#ReplaceCustomerOid#) UNION (SELECT +0, 'F', '0', '005', @@ -587,6 +620,47 @@ and (sr.`GeleisteteFLM` is not null)#ReplaceCustomerOid#) ORDER BY Verwendung"; return sql; } + private static decimal? BerechneRechnungsbetrag(long c2sOid, DateTime start, DateTime end) + { + + var factory = new CustomInvoiceFactory(); + + + Dictionary> dict = new Dictionary>(); + var c2s = DAOFactory.GenericDAO.LoadByID(c2sOid); + var c2sDc = MapperFactory.SupportConceptCostBearerRelDC_CostBearer2SupportConcept.MapToNewDC(c2s); + + CompactSupportConceptDC sc = CreateCompactSupportConcept(c2sDc); + + + dict.Add(sc, MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDCs(c2s.ServiceRecords)); + + var creator = factory.CreateInvoiceCreator("Finanzauswertung", null, dict); + + DateTimeSpan span = new DateTimeSpan(); + span.StartDate = start; + span.EndDate = end; + + var invoices = creator.GenerateServiceInvoices(c2sDc.CostBearer.CostBearerOid.Value, span, dict); + + if (invoices != null && invoices.Count == 1) + { + return invoices[0].ClaimSum ?? 0; + } + return null; + } + + private static CompactSupportConceptDC CreateCompactSupportConcept(SupportConceptCostBearerRelDC c2s) + { + var dc = new CompactSupportConceptDC(); + dc.SupportConceptOid = c2s.SupportConcept.SupportConceptOid; + dc.CostBearerRelOids = new List(); + dc.CostBearerRelOids.Add(c2s.CostBearer2SupportConceptOid.Value); + //dc.IsApproved = c2s.ApprovedStartDate.HasValue && c2s.ApprovedEndDate.HasValue; + dc.IsApproved = true; + return dc; + } + private static String GetAbschlagszahlungenSql(DateTime date) { String sql = @" diff --git a/ReportImp/PerspektivenEV/Export/CustomDataExporter.cs b/ReportImp/PerspektivenEV/Export/CustomDataExporter.cs index cdb8aff4b..4ac1c576a 100644 --- a/ReportImp/PerspektivenEV/Export/CustomDataExporter.cs +++ b/ReportImp/PerspektivenEV/Export/CustomDataExporter.cs @@ -12,7 +12,11 @@ namespace PerspektivenEV.Export { public override QueryDC CreateQuery(QueryDC query) { - return DatevExporter.CreateQuery(query); + var q = DatevExporter.CreateQuery(query); + CreateBuchungsExportProtokollEintrag(q); + + return q; } + } } diff --git a/ReportImp/ProfEggersStiftung/RechnungPflege.Designer.cs b/ReportImp/ProfEggersStiftung/RechnungPflege.Designer.cs index f38ec4dc7..a528a97f1 100644 --- a/ReportImp/ProfEggersStiftung/RechnungPflege.Designer.cs +++ b/ReportImp/ProfEggersStiftung/RechnungPflege.Designer.cs @@ -111,7 +111,6 @@ namespace ProfEggersStiftung // xrLabel16 // this.xrLabel16.BackColor = System.Drawing.Color.Transparent; - this.xrLabel16.CanShrink = true; this.xrLabel16.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold); this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(250F, 35.75F); this.xrLabel16.Name = "xrLabel16"; diff --git a/ReportImp/ProfEggersStiftung/ServiceInvoiceReport.Designer.cs b/ReportImp/ProfEggersStiftung/ServiceInvoiceReport.Designer.cs index 88906e726..a45750d6a 100644 --- a/ReportImp/ProfEggersStiftung/ServiceInvoiceReport.Designer.cs +++ b/ReportImp/ProfEggersStiftung/ServiceInvoiceReport.Designer.cs @@ -84,7 +84,6 @@ namespace ProfEggersStiftung // xrLabel16 // this.xrLabel16.BackColor = System.Drawing.Color.Transparent; - this.xrLabel16.CanShrink = true; this.xrLabel16.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold); this.xrLabel16.LocationFloat = new DevExpress.Utils.PointFloat(250F, 35.75F); this.xrLabel16.Name = "xrLabel16"; diff --git a/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnung.cs b/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnung.cs new file mode 100644 index 000000000..176cf227f --- /dev/null +++ b/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnung.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using BeWo.Data.Entities; +using BeWo.Report.ReportObjects; + + +namespace SHKService +{ + public class CustomMitarbeiterstundenkontoBerechnung : MitarbeiterstundenkontoBerechnung + { + //public override bool AddServiceRecordToDuration(ServiceRecord item) + //{ + // if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null) + // { + // if (item.ServiceDescription.Name != "Pause" && item.ServiceDescription.Name != "Zeitabzug") + // { + // if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit") + // { + // return true; + // } + // } + // } + // return false; + //} + + //protected override ServiceRecordSummary BerechneStunden(MitarbeiterstundenkontoRO.EmployeeDetail empDetail, IList groupFilteredRecords, DateTime berichtsAnfang, + // DateTime berichtsEnde) + //{ + // decimal flsGesamt = 0; + // decimal arbeitszeit = 0; + + // var sum = new ServiceRecordSummary(); + // sum.RecordsImBerichtszeitraum = new List(); + // //base.CorrectOverlappingTimes(groupFilteredRecords); + + // foreach (var item in groupFilteredRecords) + // { + // if (!IsServiceRecordFehlzeit(item)) + // { + // if (item.Start.Value >= berichtsAnfang && item.Start.Value < berichtsEnde) + // { + // //if (AddServiceRecordToDuration(item)) + // //{ + // decimal duration = 0; + + // if (item.GroupRoundedDuration.HasValue) + // { + // duration = item.GroupRoundedDuration.Value; + // } + // else + // { + // duration = item.RoundedDuration; + // } + + // if (item.ServiceDescription != null && + // item.ServiceDescription.ServiceCategory != null) + // { + // if (item.ServiceDescription.ServiceCategory.Name == "Arbeitszeit") + // { + + // if (item.ServiceDescription.Name != "Pause") + // { + // if (item.ServiceDescription.Name != "Zeitabzug") + // arbeitszeit += duration; + // else + // arbeitszeit -= duration; + // } + // else + // { + // //arbeitszeit -= duration; + // } + // } + // else if (item.ServiceDescription.ServiceCategory.IsBillable) + // { + // flsGesamt += duration; + // } + + // } + // sum.RecordsImBerichtszeitraum.Add(item); + // } + // } + // } + + // sum.IstAbrechenbar = flsGesamt; + // sum.IstNichtAbrechenbar = arbeitszeit - flsGesamt; + + // return sum; + //} + + //public override MitarbeiterstundenkontoRO.EmployeeDetail BerechneUeberstundenBis(MitarbeiterstundenkontoRO.EmployeeDetail edOrig, IList records, DateTime monat, out decimal? ueberstunden, + // out decimal alteExtraUeberstunden) + //{ + // return base.BerechneUeberstundenBis(edOrig, records, monat, out ueberstunden, out alteExtraUeberstunden); + //} + + //public override IList CreateDayDetails(DateTime berichtStart, DateTime berichtEnde, MitarbeiterstundenkontoRO.EmployeeDetail ed, IList recordsAll) + //{ + // var list = base.CreateDayDetails(berichtStart, berichtEnde, ed, recordsAll); + // foreach (var dd in list) + // { + // dd.MinutesTotal = 0; + // dd.SpecialHours = 0; + // dd.PauseInMinuten = 0; + + // foreach (var sr in recordsAll) + // { + // if (sr.Start.HasValue && sr.Start >= berichtStart && sr.Start < berichtEnde && sr.End.HasValue && sr.Start.Value.Day == dd.Date.Day) + // { + // decimal duration = GetDuration(sr); + + // if (sr.ServiceDescription.Name == "Pause") + // { + // dd.PauseInMinuten += (decimal)sr.DurationMinutes; + + // } + // else if (sr.ServiceDescription.ServiceCategory.Name == "Arbeitszeit") + // { + // if (sr.ServiceDescription.Name != "Zeitabzug") + // dd.MinutesTotal += (decimal)sr.DurationMinutes; + // else + // dd.MinutesTotal -= (decimal)sr.DurationMinutes; + // } + // else if (sr.ServiceDescription.Name != "Arbeitszeit" && + // sr.ServiceDescription.ServiceCategory.IsBillable) + // { + // dd.SpecialHours += (decimal)sr.DurationMinutes; + // } + // } + // } + + // if (dd.PauseInMinuten > 0) + // { + // dd.MinutesTotal -= dd.PauseInMinuten; + // if (dd.MinutesTotal < 0) + // { + // dd.MinutesTotal = 0; + // } + // } + // } + // return list; + //} + + //private decimal GetDuration(ServiceRecord sr) + //{ + // decimal duration = 0; + + // if (sr.GroupRoundedDuration.HasValue) + // { + // duration = sr.GroupRoundedDuration.Value; + // } + // else + // { + // duration = sr.RoundedDuration; + // } + + // return duration; + //} + + //public override bool SollPauseBerechnen() + //{ + // return true; + //} + + //public override bool ShouldCreateDayDetails() + //{ + // return true; + //} + + //public override MitarbeiterstundenkontoRO.DayDetail CreateDayDetail(DateTime date, MitarbeiterstundenkontoRO.EmployeeDetail ed) + //{ + // var dd = base.CreateDayDetail(date, ed); + // dd.MaxHoursUntilBreak = null; + // dd.MaxHoursUntilBreak2 = null; + // dd.BreakMinutes = null; + // dd.BreakMinutes2 = null; + // return dd; + //} + + //public override decimal BerechnePauseMinuten(IList srListAlle) + //{ + // var srList = srListAlle.Where(s => s.ServiceDescription.ServiceCategory.Name == "Arbeitszeit"); + // decimal pausenZeit = 0; + + // List pausen = new List(); + // List nichtpausen = new List(); + + // foreach (var sr in srList) + // { + // if (sr.ServiceDescription.Name == "Pause") + // { + // pausen.Add(sr); + // } + // else + // { + // nichtpausen.Add(sr); + // } + // } + + // foreach (var pause in pausen) + // { + // pausenZeit += pause.RoundedDuration; + // } + // return pausenZeit; + //} + } +} \ No newline at end of file diff --git a/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnungMonate.cs b/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnungMonate.cs new file mode 100644 index 000000000..6faae53a0 --- /dev/null +++ b/ReportImp/SHKServiceSBD/CustomMitarbeiterstundenkontoBerechnungMonate.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; +using BeWo.Report; +using BeWo.Data.Entities; +using BeWo.Report.ReportObjects; + + +namespace SHKService +{ + public class CustomMitarbeiterstundenkontoBerechnungMonate : MitarbeiterstundenkontoBerechnungMonate + { + + public override MitarbeiterstundenkontoBerechnung CreateMitarbeiterstundenkontoBerechnung() + { + return new CustomMitarbeiterstundenkontoBerechnung(); + } + + } +} diff --git a/ReportImp/SHKServiceSBD/Properties/AssemblyInfo.cs b/ReportImp/SHKServiceSBD/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..930888dd6 --- /dev/null +++ b/ReportImp/SHKServiceSBD/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("KundeXyz")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("KundeXyz")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("c1fed668-adb9-47e0-b589-1389618e1b6e")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// indem Sie "*" wie unten gezeigt eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ReportImp/SHKServiceSBD/Properties/licenses.licx b/ReportImp/SHKServiceSBD/Properties/licenses.licx new file mode 100644 index 000000000..c7fd819d5 --- /dev/null +++ b/ReportImp/SHKServiceSBD/Properties/licenses.licx @@ -0,0 +1 @@ +DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/ReportImp/SHKServiceSBD/SHKServiceSBD.csproj b/ReportImp/SHKServiceSBD/SHKServiceSBD.csproj new file mode 100644 index 000000000..a455a87cd --- /dev/null +++ b/ReportImp/SHKServiceSBD/SHKServiceSBD.csproj @@ -0,0 +1,82 @@ + + + + + Debug + AnyCPU + {4C29CCFD-4B7A-44CC-B6DD-39AEBA2E4DFE} + Library + Properties + SHKServiceSBD + 5344902949_Reports + v4.7.2 + 512 + + + + true + full + false + ..\..\Host\bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\..\Host\bin\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + {B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE} + Data + + + {40d8b312-ea64-49e3-a31a-5e57ed4d5654} + Report + + + {094331c3-ecee-4c89-bbfd-4c9ded89f0ef} + Service + + + {2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4} + Shared + + + + + + + + + + + \ No newline at end of file diff --git a/ReportImp/SHKServiceSBD/SHK_Service_Logo_PNG_02-2021.png b/ReportImp/SHKServiceSBD/SHK_Service_Logo_PNG_02-2021.png new file mode 100644 index 0000000000000000000000000000000000000000..665ad459da6cc6636d66d880260fd91804068e7b GIT binary patch literal 112344 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

dK2TE*NW^8`7SL}V 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 yFK9?0dQ SucheVertreter(VertreterSucheFilterDC filter) + { + //var vertretungsListe = CreateVertretungsListe(filter.StartDate, filter.EndDate); + + //// EmployeeOids der Mitarbeiter, die einen abwesenden Mitarbeiter vertreten + //var ausgewaehlteVertreter = vertretungsListe.Where(vertretungsItem => vertretungsItem.VertretungsStatus != VertretungsStatus.KlientKrank && + // vertretungsItem.Vertreter != null && + // vertretungsItem.Vertreter.ActivationType == ActivationTypeId.Active).Select(item => item.Vertreter.EmployeeOid); + + //// EmployeeOids der Betreuer abwesender Klienten, die nicht schon einen anderen Klienten vertreten + //var employeeOids = vertretungsListe.Where(vertretungsItem => vertretungsItem.Employee != null && + // vertretungsItem.VertretungsStatus == VertretungsStatus.KlientKrank && + // !ausgewaehlteVertreter.Contains(vertretungsItem.Employee.EmployeeOid)).Select(s => s.Employee.EmployeeOid); + + //// EmployeeOids von abwesenden Mitarbeitern + //var abwesenendeEmployeeOids = vertretungsListe.Where(vertretungsItem => vertretungsItem.VertretungsStatus != VertretungsStatus.KlientKrank && + // vertretungsItem.Employee != null).Select(item => item.Employee.EmployeeOid); + + //employeeOids = employeeOids.Where(e => !abwesenendeEmployeeOids.Contains(e)); + var team = DAOFactory.GenericDAO.GetAllActive().Where(t => t.Name == "Vertretungsplanung").FirstOrDefault(); + if (team != null) + { + var allEmps = team.MemberList; + var list = MapperFactory.CompactVertreterEmployeeDC_VertreterEmployee.MapToNewDCs(allEmps); + + + if (filter.CustomerOid.HasValue && filter.VerwendeEntfernungssuche) + { + GetDistanceForVertreterEmployees(filter.CustomerOid.Value, ref list, allEmps); + } + return list; + } + return base.SucheVertreter(filter); + } + } +} diff --git a/ReportImp/SHKServiceSBD/Validation/CustomServiceRecordValidator.cs b/ReportImp/SHKServiceSBD/Validation/CustomServiceRecordValidator.cs new file mode 100644 index 000000000..3a3bca5dd --- /dev/null +++ b/ReportImp/SHKServiceSBD/Validation/CustomServiceRecordValidator.cs @@ -0,0 +1,17 @@ +using BeWo.Service.Plugins; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SHKService.Validation +{ + class CustomServiceRecordValidator : ServiceRecordValidator + { + public override string[] GetIgnoreCategoriesForOverlappingCheck() + { + return new[] { "Arbeitszeit" }; + } + } +} diff --git a/ReportImp/SeWo/MitarbeiterstundenkontoBerechnung.cs b/ReportImp/SeWo/MitarbeiterstundenkontoBerechnung.cs index a68a2b728..9544cbe86 100644 --- a/ReportImp/SeWo/MitarbeiterstundenkontoBerechnung.cs +++ b/ReportImp/SeWo/MitarbeiterstundenkontoBerechnung.cs @@ -103,12 +103,8 @@ namespace BeWo.SeWo } //if (item.ServiceDescription != null && item.ServiceDescription.ServiceCategory != null) //{ - // var p = item.ServiceDescription.ServiceCategory.ProzentStundenkonto ?? item.ServiceDescription.ServiceCategory.ProzentAbrechnung; - // if (item.ServiceDescription.ProzentStundenkonto.HasValue) - // { - // p = item.ServiceDescription.ProzentStundenkonto.Value; - // } - + // var p = item.ServiceDescription.ServiceCategory.ProzentAbrechnung; + // if (p != 100 && p > 0) // { // item.RoundedDuration *= (p / 100); diff --git a/ReportImp/SeWo/Zeitzuschlagsbeleg.cs b/ReportImp/SeWo/Zeitzuschlagsbeleg.cs index 3a72c1b3f..5d2005bc7 100644 --- a/ReportImp/SeWo/Zeitzuschlagsbeleg.cs +++ b/ReportImp/SeWo/Zeitzuschlagsbeleg.cs @@ -235,6 +235,27 @@ namespace BeWo.SeWo duration = sr.RoundedDuration; } + if (IsKrankheitAbsenceServiceRecord(sr) || IsUrlaubAbsenceServiceRecord(sr)) + { + return 0; + } + + + if (sr.ServiceDescription != null && sr.ServiceDescription.ServiceCategory != null) + { + var p = sr.ServiceDescription.ServiceCategory.ProzentStundenkonto ?? sr.ServiceDescription.ServiceCategory.ProzentAbrechnung; + if (sr.ServiceDescription.ProzentStundenkonto.HasValue) + { + p = sr.ServiceDescription.ProzentStundenkonto.Value; + } + + if (p != 100 && p > 0) + { + duration *= (p / 100); + } + } + + //if (sr.ServiceDescription.ServiceCategory.Name == "SeWo Ruf" || sr.ServiceDescription.ServiceCategory.Name == "SeWo Notdienst") //{ // var p = sr.ServiceDescription.ServiceCategory.Percentage; @@ -269,6 +290,30 @@ namespace BeWo.SeWo return duration; } + private bool IsKrankheitAbsenceServiceRecord(ServiceRecord item) + { + if (item.ServiceDescription.Name.ToLower().Contains("krankheit")) + { + return true; + } + if (item.ServiceDescription.Name.ToLower().Contains("corona")) + { + return true; + } + return false; + } + + private bool IsUrlaubAbsenceServiceRecord(ServiceRecord item) + { + if (item.ServiceDescription.Name.ToLower().Contains("urlaub")) + { + return true; + } + + return false; + } + + public virtual Zeitverteilung BerechneZuschlag(ServiceRecord sr) { Zeitverteilung zv = new Zeitverteilung(); diff --git a/ReportImp/SehtMuenster/Budgetnachweis.Designer.cs b/ReportImp/SehtMuenster/Budgetnachweis.Designer.cs index f82738357..d946d6d38 100644 --- a/ReportImp/SehtMuenster/Budgetnachweis.Designer.cs +++ b/ReportImp/SehtMuenster/Budgetnachweis.Designer.cs @@ -162,7 +162,7 @@ namespace SehtMuenster // // xrLine2 // - this.xrLine2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 221.2551F); + this.xrLine2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 250.4218F); this.xrLine2.Name = "xrLine2"; this.xrLine2.SizeF = new System.Drawing.SizeF(270F, 9.75F); // @@ -174,7 +174,7 @@ namespace SehtMuenster this.xrLabel12.Multiline = true; this.xrLabel12.Name = "xrLabel12"; this.xrLabel12.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F); - this.xrLabel12.SizeF = new System.Drawing.SizeF(663.125F, 162.7291F); + this.xrLabel12.SizeF = new System.Drawing.SizeF(663.125F, 203.5419F); this.xrLabel12.StylePriority.UseBackColor = false; this.xrLabel12.StylePriority.UseFont = false; this.xrLabel12.Text = resources.GetString("xrLabel12.Text"); @@ -481,7 +481,7 @@ namespace SehtMuenster this.xrLabel12, this.xrCheckBox2, this.xrCheckBox1}); - this.GroupFooter2.HeightF = 311.2133F; + this.GroupFooter2.HeightF = 260.1718F; this.GroupFooter2.Level = 1; this.GroupFooter2.Name = "GroupFooter2"; this.GroupFooter2.StylePriority.UseFont = false; diff --git a/ReportImp/SehtMuenster/Budgetnachweis.resx b/ReportImp/SehtMuenster/Budgetnachweis.resx index 1ce07b901..1d2a46e91 100644 --- a/ReportImp/SehtMuenster/Budgetnachweis.resx +++ b/ReportImp/SehtMuenster/Budgetnachweis.resx @@ -125,6 +125,8 @@ nach §§ 75 ff. SGB XII eingehalten wurden und alle hier gemachten Angaben anha Mit freundlichen Grüßen Im Auftrag + + [CreatorName] Leitung Ambulanter Dienst diff --git a/Service/Plugins/PluginLoader.cs b/Service/Plugins/PluginLoader.cs index 73623890a..b3ca37855 100644 --- a/Service/Plugins/PluginLoader.cs +++ b/Service/Plugins/PluginLoader.cs @@ -144,7 +144,7 @@ namespace BeWo.Service.Plugins //t = "9975231461"; // Selwo //t = "8181286349"; // BeWo am Rhein //t = "4595275645"; // Eigenständig - //t = "7912635399"; // Prof. Dr. Eggers Stiftung + t = "7912635399"; // Prof. Dr. Eggers Stiftung //t = "3549726254"; // Socia //t = "1992495802"; // Monvita //t = "7381352241"; // Ressource e.V. @@ -169,7 +169,7 @@ namespace BeWo.Service.Plugins //t = "8275654834"; // Twg Jonathan //t = "6586058528"; // Freundeskreis Suchtkrankenhilfe e.V. (FFS) //t = "2632162696"; // Hand in Hand (ehemals Pro BeWo Düren) - t = "6340891020"; // Caritas Ahlen + //t = "6340891020"; // Caritas Ahlen //t = "3659854106"; // alpha e.V. //t = "5809130435"; // Lebenshilfe Kusel //t = "3367947706"; // PaS Mönchengladbach @@ -346,6 +346,7 @@ namespace BeWo.Service.Plugins //t = "3226307161"; // Roman Roger Puth //t = "3522103738"; // AWO Münsterland-Recklinghausen //t = "5592509446"; // Kontakt Verein für psychosoziale Hilfen e.V + //t = "5344902949"; // SHK Service GmbH SBD return t; #else diff --git a/Service/SBD/VertretungsManager.cs b/Service/SBD/VertretungsManager.cs index e2b9d5c0d..e7bc13387 100644 --- a/Service/SBD/VertretungsManager.cs +++ b/Service/SBD/VertretungsManager.cs @@ -6,7 +6,7 @@ using System.Text; using BeWo.Data.Access; using BeWo.Data.Entities; using BeWo.Service.DCEntityMapper; - +using BeWo.Service.ServiceUtils.DistanceCalculator; using BS.Shared; using BS.Shared.Core; using BS.Shared.DataContracts; @@ -17,7 +17,7 @@ using Employee = BeWo.Data.Entities.Employee; namespace BeWo.Service.SBD { - internal class VertretungsManager + public class VertretungsManager { private static List LoadContactInformationForEntity(long entityOid) where T : BeWoEntityBase { @@ -26,7 +26,69 @@ namespace BeWo.Service.SBD return MapperFactory.ContactDC_Contact.MapToNewDCs(entity.Contacts); } - public List CreateSubstitutions(DateTime start, DateTime end) + public virtual List SucheVertreter(VertreterSucheFilterDC filter) + { + var vertretungsListe = CreateVertretungsListe(filter.StartDate, filter.EndDate); + + // EmployeeOids der Mitarbeiter, die einen abwesenden Mitarbeiter vertreten + var ausgewaehlteVertreter = vertretungsListe.Where(vertretungsItem => vertretungsItem.VertretungsStatus != VertretungsStatus.KlientKrank && + vertretungsItem.Vertreter != null && + vertretungsItem.Vertreter.ActivationType == ActivationTypeId.Active).Select(item => item.Vertreter.EmployeeOid); + + // EmployeeOids der Betreuer abwesender Klienten, die nicht schon einen anderen Klienten vertreten + var employeeOids = vertretungsListe.Where(vertretungsItem => vertretungsItem.Employee != null && + vertretungsItem.VertretungsStatus == VertretungsStatus.KlientKrank && + !ausgewaehlteVertreter.Contains(vertretungsItem.Employee.EmployeeOid)).Select(s => s.Employee.EmployeeOid); + + // EmployeeOids von abwesenden Mitarbeitern + var abwesenendeEmployeeOids = vertretungsListe.Where(vertretungsItem => vertretungsItem.VertretungsStatus != VertretungsStatus.KlientKrank && + vertretungsItem.Employee != null).Select(item => item.Employee.EmployeeOid); + + employeeOids = employeeOids.Where(e => !abwesenendeEmployeeOids.Contains(e)); + + var allEmps = DAOFactory.GenericDAO.GetActiveByIDs(employeeOids).ToList(); + var list = MapperFactory.CompactVertreterEmployeeDC_VertreterEmployee.MapToNewDCs(allEmps); + + //Setze Betreuungszeiten + foreach (var vertreter in list) + { + foreach (var item in vertretungsListe) + { + if (item.Employee != null && item.Employee.EmployeeOid == vertreter.EmployeeOid) + { + //if (vertreter.Arbeitszeit == null) + //{ + // vertreter.Arbeitszeit = new List(); + //} + + //if (vertreter.Arbeitszeit.Count == 0) + //{ + // vertreter.Arbeitszeit.Add(new ArbeitszeitDC + // { + // Eintraege = new List() + // }); + //} + //vertreter.Arbeitszeit[0].Eintraege.AddRange(item.Arbeitszeiten); + vertreter.Arbeitszeit = new List(); + vertreter.Arbeitszeit.Add( + new ArbeitszeitDC + { + Eintraege = item.Arbeitszeiten.ToList() + }); + } + } + } + + if (filter.CustomerOid.HasValue && filter.VerwendeEntfernungssuche) + { + GetDistanceForVertreterEmployees(filter.CustomerOid.Value, ref list, allEmps); + } + + return list; + + } + + public virtual List CreateSubstitutions(DateTime start, DateTime end) { Dictionary employeeIsAbsenceDict = new Dictionary(); Dictionary customerIsAbsenceDict = new Dictionary(); @@ -465,7 +527,7 @@ namespace BeWo.Service.SBD } } - public List CreateVertretungsListe(DateTime start, DateTime end) + public virtual List CreateVertretungsListe(DateTime start, DateTime end) { return CreateSubstitutions(start, end); } @@ -503,7 +565,7 @@ namespace BeWo.Service.SBD } } - private static void SetSBDInformation(VertretungsItemDC vertretungsItem, Customer customer, Employee employee, bool isEmployeeAbsenceTime) + public virtual void SetSBDInformation(VertretungsItemDC vertretungsItem, Customer customer, Employee employee, bool isEmployeeAbsenceTime) { vertretungsItem.CustomerPflege = customer.Pflege ? "Ja" : "Nein"; vertretungsItem.CustomerToilettengang = customer.Toilettengang ? "Ja" : "Nein"; @@ -874,7 +936,7 @@ namespace BeWo.Service.SBD } - private static void SetSubstitutionColor(VertretungsItemDC vertretungsItem) + public virtual void SetSubstitutionColor(VertretungsItemDC vertretungsItem) { switch (vertretungsItem.VertretungsStatus) { @@ -918,7 +980,7 @@ namespace BeWo.Service.SBD } } - private static void SetTeamleitung(BeWoEntityBase employee, VertretungsItemDC item) + public virtual void SetTeamleitung(BeWoEntityBase employee, VertretungsItemDC item) { if (employee.Oid == null) { @@ -944,7 +1006,7 @@ namespace BeWo.Service.SBD item.Teamleitung = sb.ToString(); } - private static void SetzeSchule(VertretungsItemDC newItem, Customer customer) + public virtual void SetzeSchule(VertretungsItemDC newItem, Customer customer) { if (customer != null) { @@ -973,7 +1035,7 @@ namespace BeWo.Service.SBD return absenceTime.Start < dateTime.Date.AddDays(1) && absenceTime.End >= dateTime.Date; } - private static void AddKrankheitsZeitraumAndMeldungToItem(VertretungsItemDC item, AbsenceTimeDC absenceTime) + public virtual void AddKrankheitsZeitraumAndMeldungToItem(VertretungsItemDC item, AbsenceTimeDC absenceTime) { if (!absenceTime.Start.HasValue || !absenceTime.End.HasValue) { @@ -1029,7 +1091,7 @@ namespace BeWo.Service.SBD } } - private static bool GetIsSubstitutedCompletely(IEnumerable assistanceTimes, Vertretung substitution, DateTime dateTime) + public virtual bool GetIsSubstitutedCompletely(IEnumerable assistanceTimes, Vertretung substitution, DateTime dateTime) { var isSubstituted = true; @@ -1052,7 +1114,7 @@ namespace BeWo.Service.SBD return isSubstituted; } - private static void GetVertretungsstatus(VertretungsItemDC vertretungsItem, DateTime dateTime, DateTime absenceTimeStartDate, Customer customer) + public virtual void GetVertretungsstatus(VertretungsItemDC vertretungsItem, DateTime dateTime, DateTime absenceTimeStartDate, Customer customer) { MigriereSubstitutionStatus(customer); @@ -1087,7 +1149,7 @@ namespace BeWo.Service.SBD } } - private static string GetEmployeeAddressInfo(long employeeOid) + public virtual string GetEmployeeAddressInfo(long employeeOid) { var result = string.Empty; @@ -1137,7 +1199,7 @@ namespace BeWo.Service.SBD return result; } - private static bool IsAbsenceTimeInAssistanceTime(DateTime currentDate, ArbeitszeitEintrag assistanceTime, AbsenceTime absenceTime) + public virtual bool IsAbsenceTimeInAssistanceTime(DateTime currentDate, ArbeitszeitEintrag assistanceTime, AbsenceTime absenceTime) { if (currentDate.DayOfWeek != DateTimeUtils.ConvertAppointmentDayOfWeekToDayOfWeek(assistanceTime.Tag) || absenceTime.Start == null) { @@ -1156,7 +1218,7 @@ namespace BeWo.Service.SBD return assistanceTimeDates.Start.IsIntervalOverlappingWithAbsenceTimeInterval(assistanceTimeDates.End, absenceTime.Start.Value, absenceTimeEnd); } - private static bool IsAbsenceTimeInAssistanceTime(DateTime currentDate, ArbeitszeitEintragDC assistanceTime, AbsenceTime absenceTime) + public virtual bool IsAbsenceTimeInAssistanceTime(DateTime currentDate, ArbeitszeitEintragDC assistanceTime, AbsenceTime absenceTime) { if (currentDate.DayOfWeek != DateTimeUtils.ConvertAppointmentDayOfWeekToDayOfWeek(assistanceTime.Tag) || absenceTime.Start == null) { @@ -1179,7 +1241,7 @@ namespace BeWo.Service.SBD return assistanceTimeDates.Start.IsIntervalOverlappingWithAbsenceTimeInterval(assistanceTimeDates.End, absenceTime.Start.Value, absenceTimeEnd); } - private static List GetAssistanceTimesForCustomer(Customer customer, Employee employee, AbsenceTime absenceTime, DateTime start, DateTime end) + public virtual List GetAssistanceTimesForCustomer(Customer customer, Employee employee, AbsenceTime absenceTime, DateTime start, DateTime end) { var assistanceTimeEntries = new List(); @@ -1230,7 +1292,7 @@ namespace BeWo.Service.SBD return assistanceTimeEntries; } - private static bool IsArbeitszeitValid(Arbeitszeit arbeitszeit, DateTime time) + public virtual bool IsArbeitszeitValid(Arbeitszeit arbeitszeit, DateTime time) { if (arbeitszeit.GueltigVon == null && arbeitszeit.GueltigBis == null) { @@ -1255,7 +1317,7 @@ namespace BeWo.Service.SBD return false; } - private static List GetSchoolAssistanceTimes(Customer customer, DateTime start, DateTime end, AbsenceTime absenceTime) + public virtual List GetSchoolAssistanceTimes(Customer customer, DateTime start, DateTime end, AbsenceTime absenceTime) { var allSchoolAssistanceTimes = new List(); @@ -1284,5 +1346,24 @@ namespace BeWo.Service.SBD return schoolAssistanceTimes; } + + protected void GetDistanceForVertreterEmployees(long customerOid, ref List list, IList employees) + { + var customer = DAOFactory.GenericDAO.LoadByID(customerOid); + var school = customer.Customer2OrganisationList.FirstOrDefault(f => f.ValueList.Any(b => b.Entry.Type == ValueListEntryType.EnvironmentOrganisationType && b.Entry.Value.Equals("Schule"))); + + var origin = new Address[] { school.Person.Address }; + var destinations = employees.Select(x => x.Person.Address).ToArray(); + + var matrix = AddressRouteManager.GetMatrix(origin, destinations); + + Employee empl; AddressRoute route; + foreach (var employee in list) + { + empl = employees.FirstOrDefault(e => e.Person.Oid.Value == employee.PersonOid); + route = matrix.GetRoute(school.Person.Address, empl.Person.Address); + employee.AddressRoute = MapperFactory.AddressRouteDC_AddressRoute.MapToNewDC(route); + } + } } } diff --git a/Service/ServiceImplementations/EmployeeServiceImp.cs b/Service/ServiceImplementations/EmployeeServiceImp.cs index 0e0125b4b..4e7c765ae 100644 --- a/Service/ServiceImplementations/EmployeeServiceImp.cs +++ b/Service/ServiceImplementations/EmployeeServiceImp.cs @@ -1470,64 +1470,10 @@ namespace BeWo.Service.ServiceImplementations { try { - var vertretungsManager = new VertretungsManager(); - var vertretungsListe = vertretungsManager.CreateVertretungsListe(filter.StartDate, filter.EndDate); + var s = PluginLoader.FindClass(); - // EmployeeOids der Mitarbeiter, die einen abwesenden Mitarbeiter vertreten - var ausgewaehlteVertreter = vertretungsListe.Where(vertretungsItem => vertretungsItem.VertretungsStatus != VertretungsStatus.KlientKrank && - vertretungsItem.Vertreter != null && - vertretungsItem.Vertreter.ActivationType == ActivationTypeId.Active).Select(item => item.Vertreter.EmployeeOid); - - // EmployeeOids der Betreuer abwesender Klienten, die nicht schon einen anderen Klienten vertreten - var employeeOids = vertretungsListe.Where(vertretungsItem => vertretungsItem.Employee != null && - vertretungsItem.VertretungsStatus == VertretungsStatus.KlientKrank && - !ausgewaehlteVertreter.Contains(vertretungsItem.Employee.EmployeeOid)).Select(s => s.Employee.EmployeeOid); + return s.SucheVertreter(filter); - // EmployeeOids von abwesenden Mitarbeitern - var abwesenendeEmployeeOids = vertretungsListe.Where(vertretungsItem => vertretungsItem.VertretungsStatus != VertretungsStatus.KlientKrank && - vertretungsItem.Employee != null).Select(item => item.Employee.EmployeeOid); - - employeeOids = employeeOids.Where(e => !abwesenendeEmployeeOids.Contains(e)); - - var allEmps = DAOFactory.GenericDAO.GetActiveByIDs(employeeOids).ToList(); - var list = MapperFactory.CompactVertreterEmployeeDC_VertreterEmployee.MapToNewDCs(allEmps); - - //Setze Betreuungszeiten - foreach (var vertreter in list) - { - foreach (var item in vertretungsListe) - { - if (item.Employee != null && item.Employee.EmployeeOid == vertreter.EmployeeOid) - { - //if (vertreter.Arbeitszeit == null) - //{ - // vertreter.Arbeitszeit = new List(); - //} - - //if (vertreter.Arbeitszeit.Count == 0) - //{ - // vertreter.Arbeitszeit.Add(new ArbeitszeitDC - // { - // Eintraege = new List() - // }); - //} - //vertreter.Arbeitszeit[0].Eintraege.AddRange(item.Arbeitszeiten); - vertreter.Arbeitszeit = new List(); - vertreter.Arbeitszeit.Add( - new ArbeitszeitDC - { - Eintraege = item.Arbeitszeiten.ToList() - }); - } - } - } - - if (filter.CustomerOid.HasValue && filter.VerwendeEntfernungssuche) - { - GetDistanceForVertreterEmployees(filter.CustomerOid.Value, ref list, allEmps); - } - - return list; } catch (Exception e) { @@ -1535,24 +1481,7 @@ namespace BeWo.Service.ServiceImplementations } } - private void GetDistanceForVertreterEmployees(long customerOid, ref List list, List employees) - { - var customer = DAOFactory.GenericDAO.LoadByID(customerOid); - var school = customer.Customer2OrganisationList.FirstOrDefault(f => f.ValueList.Any(b => b.Entry.Type == ValueListEntryType.EnvironmentOrganisationType && b.Entry.Value.Equals("Schule"))); - - var origin = new Address[] { school.Person.Address }; - var destinations = employees.Select(x => x.Person.Address).ToArray(); - - var matrix = AddressRouteManager.GetMatrix(origin, destinations); - - Employee empl; AddressRoute route; - foreach (var employee in list) - { - empl = employees.FirstOrDefault(e => e.Person.Oid.Value == employee.PersonOid); - route = matrix.GetRoute(school.Person.Address, empl.Person.Address); - employee.AddressRoute = MapperFactory.AddressRouteDC_AddressRoute.MapToNewDC(route); - } - } + public List LoadEmployeeTokenRelationsByOid(IEnumerable pOids) {