From e0447d0a05276dde1c33759c76bdf2422774718d Mon Sep 17 00:00:00 2001 From: Lyndon Jetten Date: Tue, 12 Nov 2024 18:37:23 +0100 Subject: [PATCH] =?UTF-8?q?MoK:=20Intervallfinder=20=C3=BCberarbeitet=20&?= =?UTF-8?q?=20Bug=20gefixt,=20der=20zu=20einem=20Fehler=20beim=20Suchen=20?= =?UTF-8?q?nach=20freien=20Intervallen=20=C3=BCber=20mehrere=20Tage=20gef?= =?UTF-8?q?=C3=BChrt=20hatte,=20wenn=20die=20Enduhrzeit=20vor=20der=20Star?= =?UTF-8?q?tuhrzeit=20lag.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Berichte mit Parametern. Verbesserte Mitarbeiter-, Klienten-, Team-, und Organisationsdropdowns mit Suche. Quittierungsbelegresultate (zum Unterschreiben) wird wie die Zeiterfassung paginiert. FaC: neuer Kalender noch nicht fertig. --- BeWo/BeWoApp.xaml.cs | 14 +- BeWo/Core/Service/Cache.cs | 19 + BeWo/DebugConfig.cs | 2 +- .../ViewModel/SchedulerAppointmentListVM.cs | 3 +- BeWo/Scheduling/View/AppointmentEditView.xaml | 101 +-- .../View/AppointmentEditView.xaml.cs | 43 +- .../AppointmentRecurrenceEditView.xaml.cs | 1 - .../View/OpenAppointmentsView.xaml.cs | 2 +- BeWo/Scheduling/View/SchedulingView.xaml | 9 +- BeWo/Scheduling/View/SchedulingView.xaml.cs | 814 ++++++++++-------- .../ViewModel/AppointmentWindowVM.cs | 1 - .../ViewModel/SchedulingAppointmentListVM.cs | 2 + .../ViewModel/SchedulingAppointmentVM.cs | 14 +- BeWoPlanerMobil/BeWoPlanerMobil.csproj | 4 +- BeWoPlanerMobil/Content/style.css | 25 + BeWoPlanerMobil/Content/style.css.map | 2 +- BeWoPlanerMobil/Content/style.scss | 27 +- BeWoPlanerMobil/Controllers/MainController.cs | 6 +- .../Controllers/ReportController.cs | 581 +++++++------ .../Controllers/ReportViewerController.cs | 161 ++-- .../Controllers/SchedulerController.cs | 57 +- BeWoPlanerMobil/Models/MainModel.cs | 2 +- BeWoPlanerMobil/Models/ReportModel.cs | 62 +- BeWoPlanerMobil/Models/ReportViewerModel.cs | 11 +- BeWoPlanerMobil/Models/SchedulerModel.cs | 20 +- .../Scripts/ownSoft-Scripts/mobileUtils.js | 2 +- .../ownSoft-Scripts/utils/dropdown-search.js | 42 + .../ownSoft-Scripts/view-scripts/main.js | 101 ++- .../ownSoft-Scripts/view-scripts/report.js | 64 +- .../Service/ASPHibernateSessionManager.cs | 6 +- .../Service/MobileUpdInsInterceptor.cs | 1 - BeWoPlanerMobil/Util/HtmlHelperExtensions.cs | 276 +++++- .../MoKExtensions/TagBuilderExtensions.cs | 17 + .../Views/Customer/Customer.cshtml | 128 ++- .../Customer/CustomerBargeldkassen.cshtml | 89 +- .../Customer/CustomerBetreuungPartial.cshtml | 24 +- .../Customer/CustomerMedListPartial.cshtml | 18 +- .../Views/Customer/DocumentPartial.cshtml | 30 +- BeWoPlanerMobil/Views/Main/Main.cshtml | 16 +- .../Main/ServiceRecordListPartial.cshtml | 2 +- .../Views/Main/SingleBookingPartial.cshtml | 158 +--- ...ConfirmationReceiptSignaturePartial.cshtml | 2 +- .../QuittierungsbelegsPreviewPartial.cshtml | 11 +- .../QuittierungsbelegsResultPartial.cshtml | 189 +++- BeWoPlanerMobil/Views/Report/Report.cshtml | 353 +++----- .../BerichteFormPartialView.cshtml | 315 +++---- .../Views/ReportViewer/ReportViewer.cshtml | 14 +- .../ReportViewerFormPartial.cshtml | 127 ++- .../Scheduler/AppointmentFormPartial.cshtml | 6 +- .../AppointmentIntervalFinderPartial.cshtml | 40 +- ...ointmentIntervalFinderResultPartial.cshtml | 90 +- .../Views/Scheduler/Scheduler.cshtml | 21 +- .../Views/Shared/BeWoReportPartial.cshtml | 12 +- BeWoPlanerMobil/Views/Shared/_Layout.cshtml | 9 +- Data/Access/SearchDAO.cs | 206 ++++- Data/Entities/Signature.cs | 58 +- Data/Mappings/Signature.hbm.xml | 24 +- Data/UpdInsInterceptor.cs | 2 - Data/Utils/IntervalFinderHelper.cs | 153 +++- ...ServiceRecord.SignatureOid zu Signature.txt | 1 + Report/ReportObjects/ServicesOverviewRO.cs | 189 ++-- ReportImp/KcmGmbH/Properties/licenses.licx | 1 + .../DCEntityMapper/SignatureDC_Signature.cs | 4 +- Service/Plugins/PluginLoader.cs | 4 +- Service/ServiceContracts/IResourceService.cs | 4 + .../OperationsServiceImp.cs | 276 +++--- .../ResourceServiceImp.cs | 12 + Shared/BeWoEntityEnums.cs | 3 +- Shared/Core/DateTimeSpan.cs | 15 + Shared/Core/SettingsKeys.cs | 10 +- Shared/DataContracts/AbsenceReasonDC.cs | 4 +- .../ClientPartials/IMoKSearchableDC.cs | 7 + .../ClientPartials/SupportConceptGoalDC.cs | 2 - .../ClientPartials/CompactCustomerDC.cs | 16 +- .../ClientPartials/CompactCustomerTeamDC.cs | 2 +- .../ClientPartials/CompactEmployeeDC.cs | 19 +- .../ClientPartials/CompactGroupOfPeopleDC.cs | 1 - .../ClientPartials/CompactOrganisationDC.cs | 136 +-- .../ClientPartials/CompactSupportConceptDC.cs | 1 + .../Compact/ClientPartials/CompactTeamDC.cs | 66 +- Shared/DataContracts/EmployeeDC.cs | 5 +- Shared/Extensions/DateTimeExtensions.cs | 5 + Shared/Shared.csproj | 1 + 83 files changed, 2994 insertions(+), 2379 deletions(-) create mode 100644 BeWoPlanerMobil/Scripts/ownSoft-Scripts/utils/dropdown-search.js create mode 100644 BeWoPlanerMobil/Util/MoKExtensions/TagBuilderExtensions.cs create mode 100644 Model/Changes_2024_10_24 Fremdschlüssel von ServiceRecord.SignatureOid zu Signature.txt create mode 100644 Shared/DataContracts/ClientPartials/IMoKSearchableDC.cs diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index 68ff9b797..3116517e8 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -32,6 +32,7 @@ using BS.Shared.Core; using ChatController.HauptKlassen; using DevExpress.Xpf.Core; using DevExpress.Xpf.Grid; +using DevExpress.Xpf.Scheduling; using DevExpress.XtraScheduler; namespace BeWo @@ -839,8 +840,9 @@ namespace BeWo UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LastKassenSortOrder, _AppSettings.LastKassenSortOrder.ToString(), _LoggedOnUser.Settings); UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.LetzteZeiterfassungsDauer, ((int)_AppSettings.LetzteZeiterfassungsDauer).ToString(), _LoggedOnUser.Settings); UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulerViewType, ((int) _AppSettings.SchedulerViewType).ToString(), _LoggedOnUser.Settings); - UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulerTimelineViewDayCount, (_AppSettings.SchedulerTimelineViewDayCount).ToString(), _LoggedOnUser.Settings); + UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulerTimelineViewDayCount, _AppSettings.SchedulerTimelineViewDayCount.ToString(), _LoggedOnUser.Settings); UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulerDayViewDayCount, _AppSettings.SchedulerDayViewDayCount.ToString(), _LoggedOnUser.Settings); + UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulingViewType, ((int) _AppSettings.SchedulingViewType).ToString(), _LoggedOnUser.Settings); string val = string.Empty; if (_AppSettings.StartupPanelOrder != null) @@ -1062,6 +1064,12 @@ namespace BeWo } } + val = UserSettingsUtils.GetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulingViewType, settings); + if(int.TryParse(val, out var schedulingViewTypeInt)) + { + _AppSettings.SchedulingViewType = (ViewType)schedulingViewTypeInt; + } + _AppSettings.IsDirty = false; } @@ -1309,7 +1317,7 @@ namespace BeWo public static void LogMessage(string message) { #if DEBUG - if(_DebugMessageLogView == null) + if(_DebugMessageLogView is null) { _DebugMessageLogView = new DebugMessageLogView(); } @@ -1324,7 +1332,7 @@ namespace BeWo public static void LogMessage(string message, Color customColor) { #if DEBUG - if(_DebugMessageLogView == null) + if(_DebugMessageLogView is null) { _DebugMessageLogView = new DebugMessageLogView(); } diff --git a/BeWo/Core/Service/Cache.cs b/BeWo/Core/Service/Cache.cs index 2b4b7c043..73ff24fa9 100644 --- a/BeWo/Core/Service/Cache.cs +++ b/BeWo/Core/Service/Cache.cs @@ -611,6 +611,25 @@ namespace BeWo.Core.Service callback(_FilteredCustomers); } } + + private List _TeamRelatedCustomerOids; + + public void GetTeamRelatedCustomerOidsForEmployee(long employeeOid, bool forceReload, Action> callback) + { + if(_TeamRelatedCustomerOids is null || forceReload) + { + ServiceFacade.DoEmployeeServiceAsync(s => s.LoadTeamsRelatedCustomerOids(employeeOid), customerOids => + { + _TeamRelatedCustomerOids = customerOids; + callback?.Invoke(_TeamRelatedCustomerOids); + }); + } + else + { + callback?.Invoke(_TeamRelatedCustomerOids); + } + } + public void ClearFilteredCustomers() { _FilteredCustomers = null; diff --git a/BeWo/DebugConfig.cs b/BeWo/DebugConfig.cs index 904ee51c2..86dc0cf95 100644 --- a/BeWo/DebugConfig.cs +++ b/BeWo/DebugConfig.cs @@ -38,7 +38,7 @@ namespace BeWo public static DebugConfig SimpleAutoLogin => new DebugConfig() { DebugConfigMode = DebugConfigMode.SimpleAutoLogin, - AutoLogin = true + AutoLogin = !Environment.MachineName.Equals("OWNSOFT-JETTEN") }; public static DebugConfig FeatureWohnhilfe => new DebugConfig() diff --git a/BeWo/Scheduler/ViewModel/SchedulerAppointmentListVM.cs b/BeWo/Scheduler/ViewModel/SchedulerAppointmentListVM.cs index 77cf7f097..ab35d0705 100644 --- a/BeWo/Scheduler/ViewModel/SchedulerAppointmentListVM.cs +++ b/BeWo/Scheduler/ViewModel/SchedulerAppointmentListVM.cs @@ -45,8 +45,7 @@ namespace BeWo.Scheduler.ViewModel public SchedulerSettings GetDefaultSchedulerSettings() { - var settings = new SchedulerSettings(AppointmentKind.General, AppointmentViewType.WorkWeek); - return settings; + return new SchedulerSettings(AppointmentKind.General, AppointmentViewType.WorkWeek); } private BindingList _AppointmentList; diff --git a/BeWo/Scheduling/View/AppointmentEditView.xaml b/BeWo/Scheduling/View/AppointmentEditView.xaml index 8f59624a7..0768bec29 100644 --- a/BeWo/Scheduling/View/AppointmentEditView.xaml +++ b/BeWo/Scheduling/View/AppointmentEditView.xaml @@ -249,70 +249,51 @@ - - + + + - + - - - - - + - - - - + - - - - + - - - - - - - - - - - +