From 188c16d4676df5c4e5e8509e21bd21f0c2bdd9e2 Mon Sep 17 00:00:00 2001 From: Christian Date: Sun, 1 Sep 2024 20:47:02 +0200 Subject: [PATCH] =?UTF-8?q?Perseh=20Schnittstelle,=20diverse=20Todos=20f?= =?UTF-8?q?=C3=BCrs=20Release=20+=20Anpassungen=20Schulbegleitung=20Hildma?= =?UTF-8?q?nn/Kloss=20Betreuungszeiten?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BeWo/BeWo.csproj | 6 +- BeWo/BeWoApp.xaml.cs | 2 +- BeWo/LoginControl.xaml.cs | 31 +- .../Detail/Accounting/InvoiceOverview.xaml | 2 +- BeWo/View/Detail/MassnahmenTreeViewView.xaml | 20 +- .../Detail/MassnahmenTreeViewView.xaml.cs | 2 + BeWo/View/Detail/ServiceCategoryView.xaml | 2 +- BeWo/View/Detail/ServiceDescriptionView.xaml | 31 +- BeWo/View/Detail/UrlaubskontoView.xaml.cs | 41 +- .../ServiceRecordCreationView.xaml.cs | 30 +- .../Navigation/UserNavigationView.xaml.cs | 3 +- BeWo/View/StundenplanView.xaml | 13 +- BeWo/View/StundenplanView.xaml.cs | 35 +- BeWo/ViewModel/ArbeitszeitEintragVM.cs | 28 +- .../BeWoDatabaseTerminator/Program.cs | 53 +- Data/Mappings/SupportConceptHistory.hbm.xml | 1 + .../Mitarbeiterarbeitszeitkonto.designer.cs | 12 +- .../MitarbeiterstundenkontoBerechnung.cs | 2 +- ReportImp/AkggMid/LeistungsnachweisHelper.cs | 7 +- .../Club74SettlementInvoiceCreation.cs | 16 +- .../CustomServiceRecordStatisticFactory.cs | 2 +- .../ZeitdokumentationPlanIstUebersicht.cs | 3 +- .../CustomGroupDurationCalculator.cs | 22 + .../HPHBersenbrueck/HPHBersenbrueck.csproj | 1 + .../Invoicing/NeueAssistenzInvoiceCreation.cs | 31 +- ...hweisKompensatorischeAssistenz.Designer.cs | 2457 +++++++++-------- ...stungsnachweisKompensatorischeAssistenz.cs | 25 +- ...nachweisQualifizierteAssistenz.Designer.cs | 514 +++- ...LeistungsnachweisQualifizierteAssistenz.cs | 26 +- .../HphServiceRecordStatisticFactory.cs | 59 +- .../CustomReportCreator.cs | 14 +- ...CustomMitarbeiterstundenkontoBerechnung.cs | 13 + ReportImp/SHKService/SHKService.csproj | 1 + .../Service/CustomVacationService.cs | 30 + ...CustomMitarbeiterstundenkontoBerechnung.cs | 13 +- .../Mitarbeiterarbeitszeitkonto.cs | 3 +- ReportImp/SHKServiceSBD/SHKServiceSBD.csproj | 1 + .../Service/CustomVacationService.cs | 30 + .../CustomSettlementInvoiceCreation.cs | 29 +- .../Import/AvisImport/LvrAvisKlientGesamt.cs | 14 +- .../Import/AvisImport/LvrAvisMonatGesamt.cs | 10 +- ...hnitt.cs => LvrAvisTextAbschnittReader.cs} | 38 +- Service/Import/Perseh/PersehReader.cs | 241 +- Service/Import/TextAbschnitt.cs | 23 + Service/Import/TextAbschnittReader.cs | 42 + .../Invoicing/LWLSettlementInvoiceCreation.cs | 29 +- .../Invoicing/SettlementInvoiceCreation.cs | 12 +- Service/Plugins/PluginLoader.cs | 6 +- Service/Service.csproj | 4 +- Shared/DataContracts/Settlement2DC.cs | 3 + 50 files changed, 2483 insertions(+), 1550 deletions(-) create mode 100644 ReportImp/HPHBersenbrueck/Calculations/CustomGroupDurationCalculator.cs create mode 100644 ReportImp/SHKService/Service/CustomVacationService.cs create mode 100644 ReportImp/SHKServiceSBD/Service/CustomVacationService.cs rename Service/Import/AvisImport/{LvrAvisTextAbschnitt.cs => LvrAvisTextAbschnittReader.cs} (61%) create mode 100644 Service/Import/TextAbschnitt.cs create mode 100644 Service/Import/TextAbschnittReader.cs diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 0d83cb1d0..55268c179 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -16,7 +16,7 @@ true Internet true - false + true 8CA4066C36C87B745E4016FDA715A6DB16FCFFA9 @@ -43,12 +43,12 @@ de-DE BeWoPlaner ownSoft GmbH - 2.0.1.248 + 2.0.1.249 true publish.htm false true - 249 + 250 2.0.1.%2a false true diff --git a/BeWo/BeWoApp.xaml.cs b/BeWo/BeWoApp.xaml.cs index f498cd3c9..8b06c5bf3 100644 --- a/BeWo/BeWoApp.xaml.cs +++ b/BeWo/BeWoApp.xaml.cs @@ -50,7 +50,7 @@ namespace BeWo public static MainControl MainControl; public static string ShortVersion = "3.21"; - public static string Version = "Version 3.21.4"; + public static string Version = "Version 3.21.5"; public static int RenderTier = 0; diff --git a/BeWo/LoginControl.xaml.cs b/BeWo/LoginControl.xaml.cs index 2ff1abe2c..9bb349c0d 100644 --- a/BeWo/LoginControl.xaml.cs +++ b/BeWo/LoginControl.xaml.cs @@ -244,15 +244,19 @@ namespace BeWo //!!!!Wenn hier neue Keys hinzugefügt werden, muss das auch in der Klasse ChatController.HauptKlassen.Chat und im DatabaseTerminator gemacht werden!! - private static String PUB_KEY_X3 = "3082010A02820101009CD30CF05AE52E47B7725D3783B3686330EAD735261925E1BDBE35F170922FB7B84B4105ABA99E350858ECB12AC468870BA3E375E4E6F3A76271BA7981601FD7919A9FF3D0786771C8690E9591CFFEE699E9603C48CC7ECA4D7712249D471B5AEBB9EC1E37001C9CAC7BA705EACE4AEBBD41E53698B9CBFD6D3C9668DF232A42900C867467C87FA59AB8526114133F65E98287CBDBFA0E56F68689F3853F9786AFB0DC1AEF6B0D95167DC42BA065B299043675806BAC4AF31B9049782FA2964F2A20252904C674C0D031CD8F31389516BAA833B843F1B11FC3307FA27931133D2D36F8E3FCF2336AB93931C5AFC48D0D1D641633AAFA8429B6D40BC0D87DC3930203010001"; + private static String PUB_KEY_X3 = "9CD30CF05AE52E47B7725D3783B3686330EAD735261925E1BDBE35F170922FB7B84B4105ABA99E350858ECB12AC468870BA3E375E4E6F3A76271BA7981601FD7919A9FF3D0786771C8690E9591CFFEE699E9603C48CC7ECA4D7712249D471B5AEBB9EC1E37001C9CAC7BA705EACE4AEBBD41E53698B9CBFD6D3C9668DF232A42900C867467C87FA59AB8526114133F65E98287CBDBFA0E56F68689F3853F9786AFB0DC1AEF6B0D95167DC42BA065B299043675806BAC4AF31B9049782FA2964F2A20252904C674C0D031CD8F31389516BAA833B843F1B11FC3307FA27931133D2D36F8E3FCF2336AB93931C5AFC48D0D1D641633AAFA8429B6D40BC0D87DC3930203010001"; - private static String PUB_KEY_R3 = "3082010A0282010100BB021528CCF6A094D30F12EC8D5592C3F882F199A67A4288A75D26AAB52BB9C54CB1AF8E6BF975C8A3D70F4794145535578C9EA8A23919F5823C42A94E6EF53BC32EDB8DC0B05CF35938E7EDCF69F05A0B1BBEC094242587FA3771B313E71CACE19BEFDBE43B45524596A9C153CE34C852EEB5AEED8FDE6070E2A554ABB66D0E97A540346B2BD3BC66EB66347CFA6B8B8F572999F830175DBA726FFB81C5ADD286583D17C7E709BBF12BF786DCC1DA715DD446E3CCAD25C188BC60677566B3F118F7A25CE653FF3A88B647A5FF1318EA9809773F9D53F9CF01E5F5A6701714AF63A4FF99B3939DDC53A706FE48851DA169AE2575BB13CC5203F5ED51A18BDB150203010001"; + private static String PUB_KEY_R3 = "BB021528CCF6A094D30F12EC8D5592C3F882F199A67A4288A75D26AAB52BB9C54CB1AF8E6BF975C8A3D70F4794145535578C9EA8A23919F5823C42A94E6EF53BC32EDB8DC0B05CF35938E7EDCF69F05A0B1BBEC094242587FA3771B313E71CACE19BEFDBE43B45524596A9C153CE34C852EEB5AEED8FDE6070E2A554ABB66D0E97A540346B2BD3BC66EB66347CFA6B8B8F572999F830175DBA726FFB81C5ADD286583D17C7E709BBF12BF786DCC1DA715DD446E3CCAD25C188BC60677566B3F118F7A25CE653FF3A88B647A5FF1318EA9809773F9D53F9CF01E5F5A6701714AF63A4FF99B3939DDC53A706FE48851DA169AE2575BB13CC5203F5ED51A18BDB150203010001"; - private static String PUB_KEY_E1 = "04245C2DA22AFD1C4BA65D97732731ACB2A06962EF65E8A6B0F0AC4B9FFF1C0B700FD3982F4DFC0F009B37F074055732972E05EF2A4325A3FB6E342713F64F7E69D302995EEB244792C1249BE6B1218FC12481FC68CC1F69BA58F51922F774C616"; + private static String PUB_KEY_E1 = "245c2da22afd1c4ba65d97732731acb2a06962ef65e8a6b0f0ac4b9fff1c0b700fd3982f4dfc0f009b37f074055732972e05ef2a4325a3fb6e342713f64f7e69d302995eeb244792c1249be6b1218fc12481fc68cc1f69ba58f51922f774c616"; - private static String PUB_KEY_R11 = "3082010A0282010100BA87BC5C1B0039CBCA0ACDD46710F9013CA54EA561CB26CA52FB1501B7B928F5281EED27B324183967090C08ECE03AB03B770EBDF3E53954410C4EAE41D69974DE51DBEF7BFF58BDA8B713F6DE31D5F272C9726A0B8374959C4600641499F3B1D922D9CDA892AA1C267A3FFEEF58057B089581DB710F8EFBE33109BB09BE504D5F8F91763D5A9D9E83F2E9C466B3E106664348188065A037189A9B843297B1B2BDC4F815009D2788FBE26317966C9B27674BC4DB285E69C279F0495CE02450E1C4BCA105AC7B406D00B4C2413FA758B82FC55C9BA5BB099EF1FEEBB08539FDA80AEF45C478EB652AC2CF5F3CDEE35C4D1BF70B272BAA0B4277534F796A1D87D90203010001"; + private static String PUB_KEY_E5 = "0d0b3a8a6b618eb6efdc5f58e7c6424554ab63f66661480a2e5975b481023750b73f1679dc98eca1289772201c2ccfd57c52204e54785b84146bc090ae85ecc051413c5a877f064dd4fe60d1fa6c2de17d951088a208540f991a4ce6ea0aacd8"; - private static String PUB_KEY_R10 = "3082010A0282010100CF57E5E6C45412EDB447FEC92758764650288C1D3E88DF059DD5B51829BDDDB55ABFFAF6CEA3BEAF00214B625A5A3C012FC55803F689FF8E1143EBC1B5E01407968F6F1FD7E7BA8139097565B7C2AF185B372628E7A3F4072B6D1AFFAB58BC95AE40FFE9CB57C4B55B7F780D1861BC17E754C6BB4991CD6E18D18085EEA66536BC74EABC504CEAFC21F338169394BAB0D36B3806CD16127ACA5275C8AD76B2C29C5D98455C6F617BC62DEE3C13528601D957E6381CDF8DB51F92919AE74A1CCC45A87255F0B0E6A307ECFDA71B669E3F488B71847158C93AFAEF5EF25B442B3C74E78FB247C1076ACD9AB70D96F712812651540AEC61F6F7F5E2F28AC8950D8D0203010001"; + private static String PUB_KEY_E6 = "d9f19e4687f8217160a826eba3fab9eada1db912a7d426d95114b1617c7596bf220b391fd5bed10a46aa2d3c4a09842ebe409555e91940376675ed324e770449f8707bc318e7cef77110feac74d800d4ed6d1c731633109c3ab2ea6c62f4bdb8"; + + private static String PUB_KEY_R10 = "CF57E5E6C45412EDB447FEC92758764650288C1D3E88DF059DD5B51829BDDDB55ABFFAF6CEA3BEAF00214B625A5A3C012FC55803F689FF8E1143EBC1B5E01407968F6F1FD7E7BA8139097565B7C2AF185B372628E7A3F4072B6D1AFFAB58BC95AE40FFE9CB57C4B55B7F780D1861BC17E754C6BB4991CD6E18D18085EEA66536BC74EABC504CEAFC21F338169394BAB0D36B3806CD16127ACA5275C8AD76B2C29C5D98455C6F617BC62DEE3C13528601D957E6381CDF8DB51F92919AE74A1CCC45A87255F0B0E6A307ECFDA71B669E3F488B71847158C93AFAEF5EF25B442B3C74E78FB247C1076ACD9AB70D96F712812651540AEC61F6F7F5E2F28AC8950D8D0203010001"; + + private static String PUB_KEY_R11 = "BA87BC5C1B0039CBCA0ACDD46710F9013CA54EA561CB26CA52FB1501B7B928F5281EED27B324183967090C08ECE03AB03B770EBDF3E53954410C4EAE41D69974DE51DBEF7BFF58BDA8B713F6DE31D5F272C9726A0B8374959C4600641499F3B1D922D9CDA892AA1C267A3FFEEF58057B089581DB710F8EFBE33109BB09BE504D5F8F91763D5A9D9E83F2E9C466B3E106664348188065A037189A9B843297B1B2BDC4F815009D2788FBE26317966C9B27674BC4DB285E69C279F0495CE02450E1C4BCA105AC7B406D00B4C2413FA758B82FC55C9BA5BB099EF1FEEBB08539FDA80AEF45C478EB652AC2CF5F3CDEE35C4D1BF70B272BAA0B4277534F796A1D87D90203010001"; private bool PinPublicKey(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyerrors) @@ -263,15 +267,18 @@ namespace BeWo return false; bool chainContainsPk = false; - + foreach (var element in chain.ChainElements) { - String pk = element.Certificate.GetPublicKeyString(); - String testx3 = PUB_KEY_X3; - String testr3 = PUB_KEY_R3; - String teste1 = PUB_KEY_E1; - String r11 = PUB_KEY_R11; - if (pk == PUB_KEY_X3 || pk == PUB_KEY_R3 || pk == PUB_KEY_E1 || pk == PUB_KEY_R11 || pk == PUB_KEY_R10) + String pk = element.Certificate.GetPublicKeyString().ToLower(); + + if (pk.Contains(PUB_KEY_X3.ToLower()) || + pk.Contains(PUB_KEY_R3.ToLower()) || + pk.Contains(PUB_KEY_E1.ToLower()) || + pk.Contains(PUB_KEY_E5.ToLower()) || + pk.Contains(PUB_KEY_E6.ToLower()) || + pk.Contains(PUB_KEY_R10.ToLower()) || + pk.Contains(PUB_KEY_R11.ToLower())) { chainContainsPk = true; } diff --git a/BeWo/View/Detail/Accounting/InvoiceOverview.xaml b/BeWo/View/Detail/Accounting/InvoiceOverview.xaml index 221831d61..2b3d7eb51 100644 --- a/BeWo/View/Detail/Accounting/InvoiceOverview.xaml +++ b/BeWo/View/Detail/Accounting/InvoiceOverview.xaml @@ -65,7 +65,7 @@ - + diff --git a/BeWo/View/Detail/MassnahmenTreeViewView.xaml b/BeWo/View/Detail/MassnahmenTreeViewView.xaml index f13d7832b..4acc21489 100644 --- a/BeWo/View/Detail/MassnahmenTreeViewView.xaml +++ b/BeWo/View/Detail/MassnahmenTreeViewView.xaml @@ -82,10 +82,22 @@ + diff --git a/BeWo/View/Detail/MassnahmenTreeViewView.xaml.cs b/BeWo/View/Detail/MassnahmenTreeViewView.xaml.cs index 704f6ce8a..edafc87a9 100644 --- a/BeWo/View/Detail/MassnahmenTreeViewView.xaml.cs +++ b/BeWo/View/Detail/MassnahmenTreeViewView.xaml.cs @@ -341,10 +341,12 @@ namespace BeWo.View.Detail private void ToggleButton_Checked(object sender, RoutedEventArgs e) { Bearbeitungsmodus = true; + EditToggleButton.Content = "Bearbeiten deaktivieren"; } private void ToggleButton_Unchecked(object sender, RoutedEventArgs e) { Bearbeitungsmodus = false; + EditToggleButton.Content = "Bearbeiten aktivieren"; } private void StartCopyItem(SupportConceptGoalTreeItem _item, SupportConceptGoalTreeItem _copy) diff --git a/BeWo/View/Detail/ServiceCategoryView.xaml b/BeWo/View/Detail/ServiceCategoryView.xaml index 6b2153340..46c1eb10c 100644 --- a/BeWo/View/Detail/ServiceCategoryView.xaml +++ b/BeWo/View/Detail/ServiceCategoryView.xaml @@ -133,7 +133,7 @@ - + diff --git a/BeWo/View/Detail/ServiceDescriptionView.xaml b/BeWo/View/Detail/ServiceDescriptionView.xaml index e77962c57..936319620 100644 --- a/BeWo/View/Detail/ServiceDescriptionView.xaml +++ b/BeWo/View/Detail/ServiceDescriptionView.xaml @@ -16,8 +16,8 @@ - - + + @@ -26,9 +26,8 @@ - - + @@ -39,9 +38,9 @@ - + - + @@ -66,17 +65,17 @@ - @@ -112,7 +111,7 @@ - + @@ -140,7 +139,7 @@ - + diff --git a/BeWo/View/Detail/UrlaubskontoView.xaml.cs b/BeWo/View/Detail/UrlaubskontoView.xaml.cs index 4e4dfb56a..7c55c3a04 100755 --- a/BeWo/View/Detail/UrlaubskontoView.xaml.cs +++ b/BeWo/View/Detail/UrlaubskontoView.xaml.cs @@ -57,28 +57,31 @@ namespace BeWo.View.Detail } private void _YearPicker_EditValueChanged(object sender, EditValueChangedEventArgs e) { - if (_GridLeaveDays == null) + if (_YearPicker.SelectedItem != null) { - _GridLeaveDays = rootGrid.Resources["datagrid_leavedays"] as GridControl; - - WPFGridLeaveDays.Children.Add(_GridLeaveDays); - } - - var urlaubskonto = ServiceFacade.DoEmployeeServiceSync(s => s.ErstelleUrlaubskontoDarstellung(DataContract, (int)_YearPicker.SelectedItem)); - - if (urlaubskonto == null) - { - urlaubskonto = new List(); - urlaubskonto.Add(new UrlaubskontoDarstellungDC() + if (_GridLeaveDays == null) { - Erlaeuterung = "Es existiert kein Vertrag für ausgewähltes Jahr", - }); - button_openLeaveDayDialogue.Visibility = Visibility.Collapsed; - } - else - button_openLeaveDayDialogue.Visibility = Visibility.Visible; + _GridLeaveDays = rootGrid.Resources["datagrid_leavedays"] as GridControl; - _GridLeaveDays.ItemsSource = urlaubskonto; + WPFGridLeaveDays.Children.Add(_GridLeaveDays); + } + + var urlaubskonto = ServiceFacade.DoEmployeeServiceSync(s => s.ErstelleUrlaubskontoDarstellung(DataContract, (int)_YearPicker.SelectedItem)); + + if (urlaubskonto == null) + { + urlaubskonto = new List(); + urlaubskonto.Add(new UrlaubskontoDarstellungDC() + { + Erlaeuterung = "Es existiert kein Vertrag für ausgewähltes Jahr", + }); + button_openLeaveDayDialogue.Visibility = Visibility.Collapsed; + } + else + button_openLeaveDayDialogue.Visibility = Visibility.Visible; + + _GridLeaveDays.ItemsSource = urlaubskonto; + } } private void button_addLeaveDay_Click(object sender, RoutedEventArgs e) diff --git a/BeWo/View/Detail/Zeiterfassung/ServiceRecordCreationView.xaml.cs b/BeWo/View/Detail/Zeiterfassung/ServiceRecordCreationView.xaml.cs index 0e600dd2c..43e69af3c 100644 --- a/BeWo/View/Detail/Zeiterfassung/ServiceRecordCreationView.xaml.cs +++ b/BeWo/View/Detail/Zeiterfassung/ServiceRecordCreationView.xaml.cs @@ -13,11 +13,27 @@ namespace BeWo.View.Detail.Zeiterfassung { public partial class ServiceRecordCreationView { - + private DateTime _StartDatum; + private DateTime _EndDatum; - public DateTime StartDatum { get; set; } + public DateTime StartDatum + { + get { return _StartDatum; } + set + { + _StartDatum = value; + UpdateSelectedArbeitszeitVm(); + } + } - public DateTime EndDatum { get; set; } + public DateTime EndDatum { + get { return _EndDatum; } + set + { + _EndDatum = value; + UpdateSelectedArbeitszeitVm(); + } + } public SupportConceptCostBearerRelDC SupportConceptCostBearerRel { get; set; } @@ -44,7 +60,13 @@ namespace BeWo.View.Detail.Zeiterfassung private void UpdateSelectedArbeitszeitVm() { - SelectedArbeitszeitVM = ArbeitszeitListVM.VMList[0]; + foreach (var item in ArbeitszeitListVM.VMList) + { + if ((!item.GueltigVon.HasValue || item.GueltigVon <= EndDatum) && (!item.GueltigBis.HasValue || item.GueltigBis >= StartDatum)) + { + SelectedArbeitszeitVM = item; + } + } } diff --git a/BeWo/View/Navigation/UserNavigationView.xaml.cs b/BeWo/View/Navigation/UserNavigationView.xaml.cs index 3b664a537..ff709321c 100644 --- a/BeWo/View/Navigation/UserNavigationView.xaml.cs +++ b/BeWo/View/Navigation/UserNavigationView.xaml.cs @@ -54,7 +54,8 @@ namespace BeWo.View.Navigation { textblock_link.Visibility = Visibility.Collapsed; } - //###CB SERIENBRIEF mainNavigationView.MailMergeButton.Visibility = Visibility.Collapsed; + mainNavigationView.chkShowDeleted.Visibility = Visibility.Collapsed; + //###CB SERIENBRIEF mainNavigationView.MailMergeButton.Visibility = Visibility.Collapsed; } private void OnLoaded(object sender, RoutedEventArgs e) diff --git a/BeWo/View/StundenplanView.xaml b/BeWo/View/StundenplanView.xaml index d7b9a03c8..7439daaac 100644 --- a/BeWo/View/StundenplanView.xaml +++ b/BeWo/View/StundenplanView.xaml @@ -99,9 +99,13 @@ -