From 2e6fdb3c8e817a7b7499c96f7360dc8d59c6d543 Mon Sep 17 00:00:00 2001 From: Christian Date: Fri, 8 Sep 2023 15:52:55 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Drucken=20Rechnungs=C3=BCbersicht,=20Start-?= =?UTF-8?q?Enddatum=20bei=20Betreuung=20Zuordnung,=20Speichern=20der=20let?= =?UTF-8?q?zten=20Module=20beim=20Mandator,=20diverse=20Anpassungen=20Schu?= =?UTF-8?q?lbegleitung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SBDUtils/SBDUtils.cs | 13 +- .../SchulbegleitenderDienstCustomerView.xaml | 2 +- .../SchulbegleitenderDienstEmployeeView.xaml | 2 +- .../VertretungsMainViewV2.xaml | 2 +- .../VertretungsMainViewV2.xaml.cs | 37 +- .../VertretungsSearchView.xaml.cs | 36 +- BeWo/ServiceProxy/Generated.cs | 43 + .../Controls/ComboBoxTreeViewControl.xaml | 6 +- .../Controls/ComboBoxTreeViewControl.xaml.cs | 121 ++ .../Detail/Accounting/InvoiceOverview.xaml | 19 +- .../Detail/Accounting/InvoiceOverview.xaml.cs | 71 + BeWo/View/Detail/CustomerView.xaml | 4 +- BeWo/View/StundenplanView.xaml | 5 +- BeWo/View/StundenplanView.xaml.cs | 6 +- BeWo/ViewModel/ArbeitszeitVM.cs | 34 +- BeWo/ViewModel/CustomerEmployeeRelationVM.cs | 41 + BeWo/ViewModel/InvoiceBaseVM.cs | 16 + .../ListViewModel/ServiceRecordListVM.cs | 15 +- BeWoPlanerMobil/BeWoPlanerMobil.csproj.user | 2 +- Data/Entities/Employee2Customer.cs | 7 +- Data/Entities/Mandator.cs | 2 + Data/Mappings/Employee2Customer.hbm.xml | 2 + Data/Mappings/Mandator.hbm.xml | 4 +- Model/Changes_alle_fuer_neue_db.txt | 6 + .../MitarbeiterstundenkontoBerechnung.cs | 4 +- ...CustomMitarbeiterstundenkontoBerechnung.cs | 78 +- .../DieLebenslotsen/DieLebenslotsen.csproj | 3 + ReportImp/Fortis/Fortis.csproj | 9 + .../Fortis/Quittierungsbeleg.Designer.cs | 1375 +++++++++++++++++ ReportImp/Fortis/Quittierungsbeleg.cs | 70 + ReportImp/Fortis/Quittierungsbeleg.resx | 123 ++ .../CustomReportCreator.cs | 4 +- .../Invoicing/FudInvoiceCreation.cs | 10 +- ...CustomMitarbeiterstundenkontoBerechnung.cs | 134 +- .../Mitarbeiterarbeitszeitkonto.designer.cs | 25 +- .../SHKServiceSBD/SBDCharacteristicsReport.cs | 54 +- ReportImp/SHKServiceSBD/SHKServiceSBD.csproj | 1 + .../Service/CustomOperationService.cs | 96 ++ .../Service/CustomVertretungsManager.cs | 37 +- .../ServiceContracts/IReportService.cs | 4 + .../ReportServiceImp.cs | 5 + Service/Configuration/AppSettings.cs | 1 - ...erEmployeeRelDC_Employee2CustomerMapper.cs | 4 + Service/Invoicing/ApprovalPeriod.cs | 2 + .../LWLBeWo67SettlementInvoiceCreation.cs | 8 +- .../Invoicing/LWLSettlementInvoiceCreation.cs | 3 +- Service/Plugins/OperationService.cs | 5 +- .../OperationsServiceImp.cs | 20 +- .../CustomerEmployeeRelationDC.cs | 9 +- 49 files changed, 2480 insertions(+), 100 deletions(-) create mode 100644 ReportImp/Fortis/Quittierungsbeleg.Designer.cs create mode 100644 ReportImp/Fortis/Quittierungsbeleg.cs create mode 100644 ReportImp/Fortis/Quittierungsbeleg.resx create mode 100644 ReportImp/SHKServiceSBD/Service/CustomOperationService.cs diff --git a/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs b/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs index 0c640759d..fbbf82fa2 100644 --- a/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs +++ b/BeWo/SchulbegleitenderDienst/SBDUtils/SBDUtils.cs @@ -16,7 +16,12 @@ namespace BeWo.SchulbegleitenderDienst.SBDUtils foreach (var viewModel in viewModels) { - if(viewModel.VertretungsStatus != VertretungsStatus.KlientKrank) + if (viewModel.Customer != null && viewModel.Customer.LastName == "Dau" || viewModel.Customer.LastName == "Sawan") + { + int tet = 0; + } + + if (viewModel.VertretungsStatus != VertretungsStatus.KlientKrank) { var substitutionStartingDayCountCondition = SubstitutionStartingDayCountCondition(viewModel); @@ -64,6 +69,10 @@ namespace BeWo.SchulbegleitenderDienst.SBDUtils foreach (var viewModel in viewModels) { + if (viewModel.Customer != null && viewModel.Customer.LastName == "Dau" || viewModel.Customer.LastName == "Sawan") + { + int tet = 0; + } var isCustomerAbsenceWeekView = viewModel.WeekDayDictionary.Where(w => w.Value != null).All(a => a.Value.VertretungsStatus == VertretungsStatus.KlientKrank); var isSubstitutionUnwanted = viewModel.WeekDayDictionary.Where(w => w.Value != null).All(a => SubstitutionStartingDayCountCondition(a.Value) || a.Value.Vertretung?.VertretenderMitarbeiterOid != null || a.Value.Customer != null && a.Value.Customer.SubstitutionNeed == SubstitutionNeed.NoSubstitutionWanted); @@ -83,7 +92,7 @@ namespace BeWo.SchulbegleitenderDienst.SBDUtils } } - return new WeeklySubstitutionListObject(employeeSubstitutionList, customerSubstitutionList, customerSubstitutionList); + return new WeeklySubstitutionListObject(employeeSubstitutionList, customerSubstitutionList, unwantedSubstitutionList); } } diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstCustomerView.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstCustomerView.xaml index 438d40057..0804536b6 100644 --- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstCustomerView.xaml +++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstCustomerView.xaml @@ -22,7 +22,7 @@ - + diff --git a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstEmployeeView.xaml b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstEmployeeView.xaml index 794e62012..dfc1e024a 100644 --- a/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstEmployeeView.xaml +++ b/BeWo/SchulbegleitenderDienst/SchulbegleitenderDienstEmployeeView.xaml @@ -27,7 +27,7 @@ - + diff --git a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml index 2fb0aac03..b7740882b 100644 --- a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml +++ b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml @@ -843,7 +843,7 @@ - + diff --git a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml.cs b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml.cs index bab3689a0..dc06857b2 100644 --- a/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml.cs +++ b/BeWo/SchulbegleitenderDienst/VertretungsMainViewV2.xaml.cs @@ -640,15 +640,42 @@ namespace BeWo.SchulbegleitenderDienst } } + private void GridDataControlWochenansichtMitarbeiter_OnShowGridMenu(object sender, GridMenuEventArgs e) + { + + var barButtonItem2 = new BarButtonItem { Content = "Steckbrief anzeigen" }; + barButtonItem2.ItemClick += ShowCharacteristics; + e.Customizations.Add(barButtonItem2); + + //var selectedViewModel = (TagesansichtVM)GridDataControlWochenansichtMitarbeiter.SelectedItem; + + + } + private void ShowCharacteristics(object sender, RoutedEventArgs e) { - var selectedItem = GridControlTagesansichtMitarbeiter.SelectedItem; + CompactCustomerDC selectedCustomer = null; - if(selectedItem != null) + if (ScrollViewerTagesansicht.Visibility == Visibility.Visible) { - var selectedTagesansichtVM = (TagesansichtVM) selectedItem; - - var url = $"{BeWoApp.SiteOfOrigin}/ReportView.aspx?type={ReportTypes.SBDCharacteristics}&customerOid={selectedTagesansichtVM.Customer.CustomerOid}"; + TagesansichtVM selectedItem = GridControlTagesansichtMitarbeiter.SelectedItem as TagesansichtVM; + if (selectedItem != null) + { + selectedCustomer = selectedItem.Customer; + } + } + else if (ScrollViewerWochenansicht.Visibility == Visibility.Visible) + { + WochenansichtVM selectedItem = GridDataControlWochenansichtMitarbeiter.SelectedItem as WochenansichtVM; + if (selectedItem != null) + { + selectedCustomer = selectedItem.Customer; + } + } + if(selectedCustomer != null) + { + + var url = $"{BeWoApp.SiteOfOrigin}/ReportView.aspx?type={ReportTypes.SBDCharacteristics}&customerOid={selectedCustomer.CustomerOid}"; //var tempToken = string.Empty; diff --git a/BeWo/SchulbegleitenderDienst/VertretungsSearchView.xaml.cs b/BeWo/SchulbegleitenderDienst/VertretungsSearchView.xaml.cs index cbdfccd2e..fe91aa0f4 100644 --- a/BeWo/SchulbegleitenderDienst/VertretungsSearchView.xaml.cs +++ b/BeWo/SchulbegleitenderDienst/VertretungsSearchView.xaml.cs @@ -166,25 +166,27 @@ namespace BeWo.SchulbegleitenderDienst var end = _Tagesansicht.Datum; var assistanceTime = _Tagesansicht.AssistanceTimeEntry; - - var assistanceTimeDates = DateTimeUtils.GetAssistanceTimeComparisonDateTime(assistanceTime.UhrzeitVon, assistanceTime.UhrzeitBis, start); - - start = assistanceTimeDates.Start; - - end = assistanceTimeDates.End; - - if (_Tagesansicht.Vertretung != null) + if (assistanceTime != null) { - start = _Tagesansicht.Vertretung.VertretungsZeitraumVon; - end = _Tagesansicht.Vertretung.VertretungsZeitraumBis; + var assistanceTimeDates = DateTimeUtils.GetAssistanceTimeComparisonDateTime(assistanceTime.UhrzeitVon, assistanceTime.UhrzeitBis, start); + + start = assistanceTimeDates.Start; + + end = assistanceTimeDates.End; + + if (_Tagesansicht.Vertretung != null) + { + start = _Tagesansicht.Vertretung.VertretungsZeitraumVon; + end = _Tagesansicht.Vertretung.VertretungsZeitraumBis; + } + + + start = currentDate.Date; + end = currentDate.Date; + + SubstitutionStart = start; + SubstitutionEnd = end; } - - - start = currentDate.Date; - end = currentDate.Date; - - SubstitutionStart = start; - SubstitutionEnd = end; } private void RootGroupBox_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) diff --git a/BeWo/ServiceProxy/Generated.cs b/BeWo/ServiceProxy/Generated.cs index db334954b..10109f040 100644 --- a/BeWo/ServiceProxy/Generated.cs +++ b/BeWo/ServiceProxy/Generated.cs @@ -1668,6 +1668,7 @@ namespace BeWo.ServiceProxy [System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.Employee2SchedulerAppointmentDC))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] + [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List>))] [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary))] @@ -4909,6 +4910,13 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/GetAllActiveEmployeeAbsenceTimesInIntervalBeW" + "oFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] System.Collections.Generic.List GetAllActiveEmployeeAbsenceTimesInInterval(System.DateTime start, System.DateTime end, long employeeOid, System.Collections.Generic.List selectedEmployeeOids); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/CheckResourceAvailabilityWithEmployeeInformat" + + "ion", ReplyAction="http://tempuri.org/IResourceService/CheckResourceAvailabilityWithEmployeeInformat" + + "ionResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/CheckResourceAvailabilityWithEmployeeInformat" + + "ionBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + System.Collections.Generic.Dictionary> CheckResourceAvailabilityWithEmployeeInformation(System.DateTime start, System.DateTime end, System.Collections.Generic.List resourceOids, System.Nullable selectedAppointmentOid, System.Nullable recurrenceId, int occurrenceIndex, bool shouldSkipResourceAvailability); } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] @@ -5234,6 +5242,11 @@ namespace BeWo.ServiceProxy { return base.Channel.GetAllActiveEmployeeAbsenceTimesInInterval(start, end, employeeOid, selectedEmployeeOids); } + + public System.Collections.Generic.Dictionary> CheckResourceAvailabilityWithEmployeeInformation(System.DateTime start, System.DateTime end, System.Collections.Generic.List resourceOids, System.Nullable selectedAppointmentOid, System.Nullable recurrenceId, int occurrenceIndex, bool shouldSkipResourceAvailability) + { + return base.Channel.CheckResourceAvailabilityWithEmployeeInformation(start, end, resourceOids, selectedAppointmentOid, recurrenceId, occurrenceIndex, shouldSkipResourceAvailability); + } } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] @@ -5518,6 +5531,17 @@ namespace BeWo.ServiceProxy "ult", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] System.Collections.Generic.Dictionary GetDiagiosisStringsForICD10Codes(System.Collections.Generic.List icd10Codes); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteSignature", ReplyAction="http://tempuri.org/IOperationsService/DeleteSignatureResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteSignatureBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + void DeleteSignature(long signatureOid, long serviceRecordOid); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/CheckForConfirmationReceiptSignatureForServ" + + "iceRecord", ReplyAction="http://tempuri.org/IOperationsService/CheckForConfirmationReceiptSignatureForServ" + + "iceRecordResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/CheckForConfirmationReceiptSignatureForServ" + + "iceRecordBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + bool CheckForConfirmationReceiptSignatureForServiceRecord(long serviceRecordOid, BS.Shared.SignatureType signatureType); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/VertretungsMitarbeiterListeWoechentlich", ReplyAction="http://tempuri.org/IOperationsService/VertretungsMitarbeiterListeWoechentlichResp" + "onse")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/VertretungsMitarbeiterListeWoechentlichBeWo" + @@ -6968,6 +6992,16 @@ namespace BeWo.ServiceProxy return base.Channel.GetDiagiosisStringsForICD10Codes(icd10Codes); } + public void DeleteSignature(long signatureOid, long serviceRecordOid) + { + base.Channel.DeleteSignature(signatureOid, serviceRecordOid); + } + + public bool CheckForConfirmationReceiptSignatureForServiceRecord(long serviceRecordOid, BS.Shared.SignatureType signatureType) + { + return base.Channel.CheckForConfirmationReceiptSignatureForServiceRecord(serviceRecordOid, signatureType); + } + public System.Collections.Generic.List VertretungsMitarbeiterListeWoechentlich(System.DateTime start, System.DateTime ende) { return base.Channel.VertretungsMitarbeiterListeWoechentlich(start, ende); @@ -8993,6 +9027,10 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateKalenderReportWithAbsenceTimesBeWoFaultFa" + "ult", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] System.IO.MemoryStream CreateKalenderReportWithAbsenceTimes(System.Collections.Generic.List appointmentOids, System.Nullable employeeOid, System.Collections.Generic.List serientermine, System.Collections.Generic.List selectedDates, System.Collections.Generic.List mehrtaegigeTermine, System.Collections.Generic.List absenceTimeOids); + + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IReportService/CreateInvoiceListReport", ReplyAction="http://tempuri.org/IReportService/CreateInvoiceListReportResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IReportService/CreateInvoiceListReportBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + System.IO.MemoryStream CreateInvoiceListReport(System.Collections.Generic.List invoiceBaseOids); } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] @@ -9108,6 +9146,11 @@ namespace BeWo.ServiceProxy { return base.Channel.CreateKalenderReportWithAbsenceTimes(appointmentOids, employeeOid, serientermine, selectedDates, mehrtaegigeTermine, absenceTimeOids); } + + public System.IO.MemoryStream CreateInvoiceListReport(System.Collections.Generic.List invoiceBaseOids) + { + return base.Channel.CreateInvoiceListReport(invoiceBaseOids); + } } [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")] diff --git a/BeWo/View/Controls/ComboBoxTreeViewControl.xaml b/BeWo/View/Controls/ComboBoxTreeViewControl.xaml index e6a0e38b0..c42da9e74 100644 --- a/BeWo/View/Controls/ComboBoxTreeViewControl.xaml +++ b/BeWo/View/Controls/ComboBoxTreeViewControl.xaml @@ -31,7 +31,7 @@ - +