From ebdeb8aa6d1693239e30573a7395d57602f8f392 Mon Sep 17 00:00:00 2001 From: Christian Date: Thu, 18 Dec 2025 23:47:02 +0100 Subject: [PATCH] =?UTF-8?q?Todos=20f=C3=BCr=20Version=203.29=20-=20Aktuell?= =?UTF-8?q?e=20Einstellung=20speichern=20in=20Stunden=C3=BCbersicht=20-=20?= =?UTF-8?q?Suchfeld=20Dokumentation=20in=20Stunden=C3=BCbersicht=20-=20Neu?= =?UTF-8?q?e=20Rechte=20"Mitarbeiter=20Abwesenheiten=20bearbeiten"=20und?= =?UTF-8?q?=20"Mitarbeiter=20=C3=9Cberstunden=20bearbeiten"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BeWo/BeWoApp.xaml.cs | 8 +- BeWo/Core/Config/AppSettings.cs | 16 +- BeWo/ServiceProxy/GeneratedCustomerService.cs | 11 + .../ServiceProxy/GeneratedStreamingService.cs | 26 ++ BeWo/View/Detail/AbsenceTimesView.xaml.cs | 16 ++ .../AccountingTransactionBookingView.xaml | 23 +- .../AccountingTransactionBookingView.xaml.cs | 11 +- BeWo/View/Detail/CustomerWohnhilfeView.xaml | 2 +- BeWo/View/Detail/EmployeeView.xaml | 2 +- BeWo/View/Detail/EmployeeView.xaml.cs | 20 ++ .../Report/FLSReport/FLSOverviewConfig.cs | 2 + BeWo/View/Report/FLSReport/FLSReportView.xaml | 14 +- .../Report/FLSReport/FLSReportView.xaml.cs | 263 ++++++++++++++---- Data/Security/UserRightHelper.cs | 8 + Host/Host.csproj.user | 2 +- Model/Changes_alle_fuer_neue_db.txt | 6 +- .../Reporting/CustomReportCreator.cs | 7 + Service/Plugins/DataImporter.cs | 13 +- Service/Plugins/PluginLoader.cs | 6 +- .../Plugins/StundenuebersichtAuswertung.cs | 67 ++++- Service/ServiceContracts/IStreamingService.cs | 4 + .../StreamingServiceImp.cs | 32 +++ Shared/BeWoEntityEnums.cs | 5 +- Shared/Core/EnumTranslations.cs | 2 + Shared/Core/UserSettingsUtils.cs | 116 ++++++++ Shared/DataContracts/FLSAnalysisConfigDC.cs | 13 + 26 files changed, 604 insertions(+), 91 deletions(-) diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index 4c7898ff7..e31db33c3 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -56,9 +56,9 @@ namespace BeWo public static LoginControl LoginControl; public static MainControl MainControl; - public static string ShortVersion = "3.28"; + public static string ShortVersion = "3.29"; - public static string Version = "Version 3.28"; + public static string Version = "Version 3.29"; public static int RenderTier = 0; public static bool IsInDesignMode = DesignerProperties.GetIsInDesignMode(new DependencyObject()); @@ -954,6 +954,8 @@ namespace BeWo UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.SchedulingViewType, ((int) _AppSettings.SchedulingViewType).ToString(), _LoggedOnUser.Settings); UserSettingsUtils.SetSettingValue(SettingsType.ApplicationSettings, SettingsKeys.OpenReportInNewWindow, _AppSettings.OpenReportInNewWindow ? "1" : "0", _LoggedOnUser.Settings); + UserSettingsUtils.SetDefaultFlsConfigSetting(_AppSettings.DefaultFlsAnalysisConfig, _LoggedOnUser.Settings); + string val = string.Empty; if (_AppSettings.StartupPanelOrder != null) { @@ -1312,6 +1314,8 @@ namespace BeWo _AppSettings.OpenReportInNewWindow = (i > 0); } + _AppSettings.DefaultFlsAnalysisConfig = UserSettingsUtils.GetDefaultFlsConfigSetting(settings, _LoggedOnUser.Employee.EmployeeOid); + _AppSettings.IsDirty = false; } diff --git a/BeWo/Core/Config/AppSettings.cs b/BeWo/Core/Config/AppSettings.cs index 4824f4ebd..4959276df 100644 --- a/BeWo/Core/Config/AppSettings.cs +++ b/BeWo/Core/Config/AppSettings.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using BeWo.View.Navigation.Filter; using BS.Shared; +using BS.Shared.DataContracts; using DevExpress.Xpf.Accordion; using DevExpress.Xpf.Scheduling; using DevExpress.XtraScheduler; @@ -49,6 +50,8 @@ namespace BeWo.Core.Config private ZeiterfassungsDauer mLetzteZeiterfassungsDauer = ZeiterfassungsDauer.Minuten; + private FLSAnalysisConfigDC _DefaultFlsAnalysisConfig = null; + public enum WindowStateType { Default, @@ -597,9 +600,20 @@ namespace BeWo.Core.Config if (mOpenReportInNewWindow != value) { mOpenReportInNewWindow = value; - IsDirty = true; + IsDirty = true; } } } + + public FLSAnalysisConfigDC DefaultFlsAnalysisConfig + { + get { return _DefaultFlsAnalysisConfig; } + set + { + _DefaultFlsAnalysisConfig = value; + IsDirty = true; + + } + } } } \ No newline at end of file diff --git a/BeWo/ServiceProxy/GeneratedCustomerService.cs b/BeWo/ServiceProxy/GeneratedCustomerService.cs index d70690468..10d180c20 100644 --- a/BeWo/ServiceProxy/GeneratedCustomerService.cs +++ b/BeWo/ServiceProxy/GeneratedCustomerService.cs @@ -523,6 +523,12 @@ namespace BeWo.ServiceProxy "t", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] System.Collections.Generic.List GetAllActiveCustomersForEmployee(bool fetchReferenceNumbers); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/GetSupportConceptCostBearerRelationById", ReplyAction="http://tempuri.org/ICustomerService/GetSupportConceptCostBearerRelationByIdRespon" + + "se")] + [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/ICustomerService/GetSupportConceptCostBearerRelationByIdBeWoFa" + + "ultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] + BS.Shared.DataContracts.SupportConceptCostBearerRelDC GetSupportConceptCostBearerRelationById(long oid); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/UpdateCustomer", ReplyAction="http://tempuri.org/ICustomerService/UpdateCustomerResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/ICustomerService/UpdateCustomerBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] long UpdateCustomer(BS.Shared.DataContracts.CustomerDC pCustomerDC); @@ -1409,6 +1415,11 @@ namespace BeWo.ServiceProxy return base.Channel.GetAllActiveCustomersForEmployee(fetchReferenceNumbers); } + public BS.Shared.DataContracts.SupportConceptCostBearerRelDC GetSupportConceptCostBearerRelationById(long oid) + { + return base.Channel.GetSupportConceptCostBearerRelationById(oid); + } + public long UpdateCustomer(BS.Shared.DataContracts.CustomerDC pCustomerDC) { return base.Channel.UpdateCustomer(pCustomerDC); diff --git a/BeWo/ServiceProxy/GeneratedStreamingService.cs b/BeWo/ServiceProxy/GeneratedStreamingService.cs index 112922bd1..65e0290b9 100644 --- a/BeWo/ServiceProxy/GeneratedStreamingService.cs +++ b/BeWo/ServiceProxy/GeneratedStreamingService.cs @@ -59,6 +59,11 @@ namespace BeWo.ServiceProxy [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/UploadPersehFile", ReplyAction="http://tempuri.org/IStreamingService/UploadPersehFileResponse")] [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IStreamingService/UploadPersehFileBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] BeWo.ServiceProxy.UploadPersehDocumentResult UploadPersehFile(BeWo.ServiceProxy.UploadPackage request); + + // CODEGEN: Der Nachrichtenvertrag wird generiert, da der Wrappername (UploadPackage) von Nachricht "UploadPackage" nicht mit dem Standardwert (UploadAviseFile) übereinstimmt. + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IStreamingService/UploadAviseFile", ReplyAction="http://tempuri.org/IStreamingService/UploadAviseFileResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BS.Shared.Core.BeWoFault), Action="http://tempuri.org/IStreamingService/UploadAviseFileBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BS.Shared.Core")] + BeWo.ServiceProxy.UploadImportFileResult UploadAviseFile(BeWo.ServiceProxy.UploadPackage request); } [System.Diagnostics.DebuggerStepThroughAttribute()] @@ -441,5 +446,26 @@ namespace BeWo.ServiceProxy BeWo.ServiceProxy.UploadPersehDocumentResult retVal = ((BeWo.ServiceProxy.IStreamingService)(this)).UploadPersehFile(inValue); return retVal.HilfeplanImportData; } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + BeWo.ServiceProxy.UploadImportFileResult BeWo.ServiceProxy.IStreamingService.UploadAviseFile(BeWo.ServiceProxy.UploadPackage request) + { + return base.Channel.UploadAviseFile(request); + } + + public string UploadAviseFile(System.Nullable BeWoFolderOid, int FileAttachmentTypeId, string FileName, string Notice, long ObjectOid, int TableID, System.IO.Stream Stream, out bool Success) + { + BeWo.ServiceProxy.UploadPackage inValue = new BeWo.ServiceProxy.UploadPackage(); + inValue.BeWoFolderOid = BeWoFolderOid; + inValue.FileAttachmentTypeId = FileAttachmentTypeId; + inValue.FileName = FileName; + inValue.Notice = Notice; + inValue.ObjectOid = ObjectOid; + inValue.TableID = TableID; + inValue.Stream = Stream; + BeWo.ServiceProxy.UploadImportFileResult retVal = ((BeWo.ServiceProxy.IStreamingService)(this)).UploadAviseFile(inValue); + Success = retVal.Success; + return retVal.ResultMessage; + } } } diff --git a/BeWo/View/Detail/AbsenceTimesView.xaml.cs b/BeWo/View/Detail/AbsenceTimesView.xaml.cs index c6ed81136..d0d3d276c 100644 --- a/BeWo/View/Detail/AbsenceTimesView.xaml.cs +++ b/BeWo/View/Detail/AbsenceTimesView.xaml.cs @@ -48,6 +48,22 @@ namespace BeWo.View.Detail } public bool CheckEnddate { get; set; } + public void SetReadOnly(bool ro) + { + if (ro) + { + GroupBoxNewAbsenceTime.Visibility = Visibility.Collapsed; + foreach (var col in DataGridAbsenceTimes.Columns) + { + if (col.Header == "") + { + col.Visible = false; + } + col.ReadOnly = true; + col.AllowEditing = DevExpress.Utils.DefaultBoolean.False; + } + } + } private void AddAbsenceTimes() { diff --git a/BeWo/View/Detail/AccountingTransactionBookingView.xaml b/BeWo/View/Detail/AccountingTransactionBookingView.xaml index 1b7449ac5..09ebbcc13 100644 --- a/BeWo/View/Detail/AccountingTransactionBookingView.xaml +++ b/BeWo/View/Detail/AccountingTransactionBookingView.xaml @@ -76,6 +76,8 @@ + + @@ -104,9 +106,24 @@ DeleteButtonVisibility="Collapsed" IsReadOnly="True" PopUpClick="popupedit_file_PopUpClick" /> +