From fd164962f23381b18e46bec83507884729f689a8 Mon Sep 17 00:00:00 2001 From: Christian Date: Thu, 15 Dec 2022 23:16:04 +0100 Subject: [PATCH] cb --- BeWo/Core/Service/GoalService.cs | 4 +- BeWo/Core/Service/SupportConceptService.cs | 10 +- .../Scheduler/ViewModel/CustomFieldStorage.cs | 1 + .../ViewModel/SchedulerAppointmentVM.cs | 41 +- .../Controls/ValueListEntryEditControl.xaml | 27 +- .../ValueListEntryEditControl.xaml.cs | 64 +- BeWo/View/Detail/CustomerView.xaml | 17 +- .../Detail/MassnahmenTreeViewView.xaml.cs | 4 +- BeWo/View/Detail/SupportConceptView.xaml | 5 +- BeWo/View/Master/AdministrationView.xaml | 1 + BeWo/View/Master/AdministrationView.xaml.cs | 4 + .../Navigation/EmployeeNavigationView.xaml | 9 +- .../Navigation/EmployeeNavigationView.xaml.cs | 22 +- BeWo/View/Navigation/UserNavigationView.xaml | 10 +- BeWo/ViewModel/CustomerVM.cs | 36 +- BeWo/ViewModel/ServiceRecordVM.cs | 11 + BeWo/ViewModel/SupportConceptVM.cs | 12 +- BeWo/ViewModel/TaskVM.cs | 21 + BeWo/ViewModel/ValueListEntryVM.cs | 65 +- BeWo/app.config | 4 +- BeWoAllReports.sln | 54 +- BeWoPlanerMobil/Controllers/MainController.cs | 12 +- BeWoPlanerMobil/Models/MainModel.cs | 2 +- Data/Access/SearchDAO.cs | 2 +- Data/Entities/Person.cs | 3 + Data/Entities/SchedulerAppointment.cs | 2 + Data/Entities/ServiceDescription.cs | 2 + Data/Entities/ValueListEntry.cs | 2 + Data/Mappings/Person.hbm.xml | 4 +- Data/Mappings/SchedulerAppointment.hbm.xml | 1 + Data/Mappings/ServiceDescription.hbm.xml | 4 +- Data/Mappings/ValueListEntry.hbm.xml | 1 + Model/Changes_2022_12_15.txt | 9 + .../MitarbeiterstundenkontoBerechnung.cs | 47 +- Report/ReportObjects/ServicesOverviewRO.cs | 35 +- ReportImp/BzhEssenGGmbH/BzhEssenGGmbH.csproj | 3 + .../JahresauswertungHelper.cs | 2 +- ...ahresauswertungMissinglist2022.Designer.cs | 2 +- .../JahresauswertungMissinglist2022.cs | 3 +- .../Quittierungsbeleg.cs | 4 +- .../Export/MicosExporter.cs | 2 +- .../IlkaLinkAmbulanteHilfen.csproj | 1 + .../CustomServiceRecordStatisticFactory.cs | 102 ++ .../AllgemeineRechnung.Designer.cs | 982 ++++++++++++++ .../AllgemeineRechnung.cs | 149 +++ .../AllgemeineRechnung.resx | 214 +++ .../CustomReportCreator.cs | 92 +- .../Export/DatevExporter.cs | 71 +- .../BesondereWohnformInvoiceCreation.cs | 244 ++++ .../Invoicing/CustomGeneralInvoiceCreation.cs | 57 + .../Invoicing/CustomInvoiceFactory.cs | 21 +- .../Invoicing/CustomInvoiceNumberGenerator.cs | 6 +- .../LebenshilfeFrankfurtOder.csproj | 32 + ...tungsnachweisBesondereWohnform.Designer.cs | 788 +++++++++++ .../LeistungsnachweisBesondereWohnform.cs | 176 +++ .../LeistungsnachweisBesondereWohnform.resx | 363 +++++ .../RechnungBesondereWohnform.Designer.cs | 1182 +++++++++++++++++ .../RechnungBesondereWohnform.cs | 237 ++++ .../RechnungBesondereWohnform.resx | 214 +++ .../MitMenschenWuppertal/FLSListReport.cs | 6 +- .../Fahrtkostenauswertung.cs | 2 +- .../MuellestumpeReports.csproj | 3 + .../Invoicing/PflegeInvoiceCreation.cs | 33 +- .../KilometerauswertungsReport.designer.cs | 13 +- .../SeWo/MitarbeiterstundenkontoBerechnung.cs | 9 + ReportImp/ToprakGmbH/Quittierungsbeleg.cs | 2 +- .../Invoicing/CustomInvoiceFactory.cs | 16 +- .../Invoicing/DefaultInvoiceCreation.cs | 11 +- Service/DCEntityMapper/PersonDC_Person.cs | 8 +- ...dulerAppointmentDC_SchedulerAppointment.cs | 32 +- ...ServiceDescriptionDC_ServiceDescription.cs | 2 + .../DCEntityMapper/TextModuleDC_TextModule.cs | 2 +- .../ValueListEntryDC_ValueListEntry.cs | 3 + Service/Invoicing/GeneralInvoiceCreation.cs | 28 + Service/Invoicing/InvoiceFactory.cs | 6 + Service/Plugins/PluginLoader.cs | 8 +- Service/Plugins/TranslationDictionary.cs | 2 +- Service/Security/SecurityUtils.cs | 30 +- Service/Service.csproj | 1 + .../ServiceContracts/IOperationsService.cs | 6 +- .../AccountingServiceImp.cs | 5 + .../OperationsServiceImp.cs | 36 +- Shared/BeWoEntityEnums.cs | 7 +- Shared/Core/EnumTranslations.cs | 6 + .../ClientPartials/ValueListEntryDC.cs | 21 +- Shared/DataContracts/PersonDC.cs | 5 +- .../DataContracts/SchedulerAppointmentDC.cs | 5 +- Shared/DataContracts/ServiceDescriptionDC.cs | 3 + Shared/DataContracts/TaskDC.cs | 3 + Shared/DataContracts/ValueListEntryDC.cs | 3 + Shared/Services/Calculations.cs | 8 +- 91 files changed, 5596 insertions(+), 224 deletions(-) create mode 100644 Model/Changes_2022_12_15.txt create mode 100644 ReportImp/IlkaLinkAmbulanteHilfen/Statistics/CustomServiceRecordStatisticFactory.cs create mode 100644 ReportImp/LebenshilfeFrankfurtOder/AllgemeineRechnung.Designer.cs create mode 100644 ReportImp/LebenshilfeFrankfurtOder/AllgemeineRechnung.cs create mode 100644 ReportImp/LebenshilfeFrankfurtOder/AllgemeineRechnung.resx create mode 100644 ReportImp/LebenshilfeFrankfurtOder/Invoicing/BesondereWohnformInvoiceCreation.cs create mode 100644 ReportImp/LebenshilfeFrankfurtOder/Invoicing/CustomGeneralInvoiceCreation.cs create mode 100644 ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisBesondereWohnform.Designer.cs create mode 100644 ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisBesondereWohnform.cs create mode 100644 ReportImp/LebenshilfeFrankfurtOder/LeistungsnachweisBesondereWohnform.resx create mode 100644 ReportImp/LebenshilfeFrankfurtOder/RechnungBesondereWohnform.Designer.cs create mode 100644 ReportImp/LebenshilfeFrankfurtOder/RechnungBesondereWohnform.cs create mode 100644 ReportImp/LebenshilfeFrankfurtOder/RechnungBesondereWohnform.resx create mode 100644 Service/Invoicing/GeneralInvoiceCreation.cs diff --git a/BeWo/Core/Service/GoalService.cs b/BeWo/Core/Service/GoalService.cs index a2925b21c..d26a97c62 100644 --- a/BeWo/Core/Service/GoalService.cs +++ b/BeWo/Core/Service/GoalService.cs @@ -311,7 +311,9 @@ namespace BeWo.Core.Service copyVe.TypeDescription = ve.TypeDescription; copyVe.ValueListEntryOid = ve.ValueListEntryOid; copyVe.ValueListEntryVersion = ve.ValueListEntryVersion; - if (ve.Parent != null) + copyVe.CatalogOid = ve.CatalogOid; + copyVe.CatalogItem = ve.CatalogItem; + if (ve.Parent != null) { copyVe.Parent = ve.Parent; } diff --git a/BeWo/Core/Service/SupportConceptService.cs b/BeWo/Core/Service/SupportConceptService.cs index ed7fac0ea..40137c3f7 100644 --- a/BeWo/Core/Service/SupportConceptService.cs +++ b/BeWo/Core/Service/SupportConceptService.cs @@ -17,6 +17,14 @@ namespace BeWo.Core.Service if (allGoalsAndCategories != null) { + foreach (var goal in allGoalsAndCategories) + { + if (goal.CatalogOid.HasValue) + { + var catalogItem = Cache.GetInstance().GetValueListEntry(ValueListEntryType.MassnahmenKatalog, goal.CatalogOid.Value); + goal.CatalogItem = catalogItem; + } + } var ziele = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalCategoryType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalCategoryType)).OrderBy(s => s.DisplayName).ToList(); var massnahmen = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalType)).OrderBy(s => s.DisplayName).ToList(); var goalCategoryDict = new Dictionary(); @@ -72,7 +80,7 @@ namespace BeWo.Core.Service foreach (var goal in massnahmen) { var kind = new SupportConceptGoalDC { GoalEntryDC = goal, CheckRecursive = false }; - + CheckIfSelected(kind, selectedGoals); if (goal.ParentOid != null && goalCategoryDict.ContainsKey(goal.ParentOid.Value)) diff --git a/BeWo/Scheduler/ViewModel/CustomFieldStorage.cs b/BeWo/Scheduler/ViewModel/CustomFieldStorage.cs index bfd9ada68..7649bb7ae 100644 --- a/BeWo/Scheduler/ViewModel/CustomFieldStorage.cs +++ b/BeWo/Scheduler/ViewModel/CustomFieldStorage.cs @@ -58,6 +58,7 @@ namespace BeWo.Scheduler.ViewModel public DateTime? DueDate { get; set; } public DateTime? CompletedDate { get; set; } public string CompletedNotice { get; set; } + public string CompletedUser { get; set; } public string TaskDescription { get; set; } public long? SchedulerAppointmentOid { get; set; } diff --git a/BeWo/Scheduler/ViewModel/SchedulerAppointmentVM.cs b/BeWo/Scheduler/ViewModel/SchedulerAppointmentVM.cs index 960299982..b70be57bc 100644 --- a/BeWo/Scheduler/ViewModel/SchedulerAppointmentVM.cs +++ b/BeWo/Scheduler/ViewModel/SchedulerAppointmentVM.cs @@ -34,7 +34,8 @@ namespace BeWo.Scheduler.ViewModel public static string PropertyName_DueDate = nameof(DueDate); public static string PropertyName_CompletedDate = nameof(CompletedDate); public static string PropertyName_CompletedNotice = nameof(CompletedNotice); - public static string PropertyName_TaskDescription = nameof(TaskDescription); + public static string PropertyName_CompletedUser = nameof(CompletedUser); + public static string PropertyName_TaskDescription = nameof(TaskDescription); private bool _AllDay; private string _Description; @@ -55,7 +56,8 @@ namespace BeWo.Scheduler.ViewModel private bool _IsTask; private string _TaskDescription; private string _CompletedNotice; - private DateTime? _CompletedDate; + private string _CompletedUser; + private DateTime? _CompletedDate; private DateTime? _DueDate; private DateTime? _DueTime; private bool _HasServiceRecordEntry; @@ -121,7 +123,8 @@ namespace BeWo.Scheduler.ViewModel TaskDescription = customFieldStorage.TaskDescription; CompletedDate = customFieldStorage.CompletedDate; CompletedNotice = customFieldStorage.CompletedNotice; - SupportConceptList = customFieldStorage.SupportConceptList; + CompletedUser = customFieldStorage.CompletedUser; + SupportConceptList = customFieldStorage.SupportConceptList; } } @@ -490,7 +493,28 @@ namespace BeWo.Scheduler.ViewModel } } - public DateTime? CompletedDate + public string CompletedUser + { + get => _CompletedUser; + + set + { + if (AreDifferent(_CompletedUser, value)) + { + _CompletedUser = value; + + if (IsAbsenceTime) + { + return; + } + + StoreDirtyInformation(AreDifferent(DataContract.CompletedUser, value), nameof(CompletedUser)); + FirePropertyChanged(nameof(CompletedUser)); + } + } + } + + public DateTime? CompletedDate { get => _CompletedDate; @@ -626,7 +650,8 @@ namespace BeWo.Scheduler.ViewModel _IsTask = pDataContract.IsTask; _TaskDescription = pDataContract.TaskDescription; _CompletedNotice = pDataContract.CompletedNotice; - _CompletedDate = pDataContract.CompletedDate; + _CompletedUser = pDataContract.CompletedUser; + _CompletedDate = pDataContract.CompletedDate; _SupportConceptList = pDataContract.SupportConceptList ?? new List(); _HasServiceRecordEntry = pDataContract.HasServiceRecordEntry; @@ -660,7 +685,8 @@ namespace BeWo.Scheduler.ViewModel pDataContract.IsTask = _IsTask; pDataContract.TaskDescription = _TaskDescription; pDataContract.CompletedNotice = _CompletedNotice; - pDataContract.CompletedDate = _CompletedDate; + pDataContract.CompletedUser = _CompletedUser; + pDataContract.CompletedDate = _CompletedDate; pDataContract.SupportConceptList = _SupportConceptList; pDataContract.HasServiceRecordEntry = _HasServiceRecordEntry; pDataContract.ActivationType = _IsArchived ? ActivationTypeId.Archived : ActivationTypeId.Active; @@ -722,7 +748,8 @@ namespace BeWo.Scheduler.ViewModel Equals(CompletedDate, obj.CompletedDate) && Equals(DueDate, obj.DueDate) && Equals(CompletedNotice, obj.CompletedNotice) && - customFieldsAreEqual && + Equals(CompletedUser, obj.CompletedUser) && + customFieldsAreEqual && CustomerList.AreEqual(obj.CustomerList) && Equals(Description, obj.Description) && EmployeeList.AreEqual(obj.EmployeeList) && diff --git a/BeWo/View/Controls/ValueListEntryEditControl.xaml b/BeWo/View/Controls/ValueListEntryEditControl.xaml index e30d42c7f..57bccde61 100644 --- a/BeWo/View/Controls/ValueListEntryEditControl.xaml +++ b/BeWo/View/Controls/ValueListEntryEditControl.xaml @@ -14,18 +14,29 @@ + + -