From bc5530e08654df3b278141ce29b4ed7eab5b0bca Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Tue, 15 Oct 2024 09:41:14 +0200 Subject: [PATCH 01/13] Jahresansicht --- BeWo/DebugConfig.cs | 2 +- BeWo/View/Controls/YearMonthFilter.xaml | 5 +++-- BeWo/View/Controls/YearMonthFilter.xaml.cs | 12 +++++++++++- .../Detail/Accounting/GkvAbrechnungOverview.xaml | 1 + 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/BeWo/DebugConfig.cs b/BeWo/DebugConfig.cs index c7dde3a75..134fbe7fe 100644 --- a/BeWo/DebugConfig.cs +++ b/BeWo/DebugConfig.cs @@ -24,7 +24,7 @@ namespace BeWo { #if DEBUG - return _CurrentConfig ?? (_CurrentConfig = SimpleAutoLogin); + return _CurrentConfig ?? (_CurrentConfig = Feature_Dakota); #endif diff --git a/BeWo/View/Controls/YearMonthFilter.xaml b/BeWo/View/Controls/YearMonthFilter.xaml index a437793f7..06d9c2196 100644 --- a/BeWo/View/Controls/YearMonthFilter.xaml +++ b/BeWo/View/Controls/YearMonthFilter.xaml @@ -1,7 +1,8 @@  + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + x:Name="root"> @@ -22,7 +23,7 @@ Grid.Column="1" Margin="8,0,0,0" Content="Nach Monat filtern" - IsChecked="True" + IsChecked="{Binding Path=FilterMonth, ElementName=root}" IsEnabled="{Binding Path=IsChecked, ElementName=checkbox_yearfilter}" /> public partial class YearMonthFilter : UserControl { - public YearMonthFilter() + public bool FilterMonth + { + get { return (bool)GetValue(FilterMonthProperty); } + set { SetValue(FilterMonthProperty, value); } + } + + public static readonly DependencyProperty FilterMonthProperty = + DependencyProperty.Register("FilterMonth", typeof(bool), typeof(YearMonthFilter), new PropertyMetadata(true)); + + public YearMonthFilter() { this.InitializeComponent(); this.InitDateCombos(); diff --git a/BeWo/View/Detail/Accounting/GkvAbrechnungOverview.xaml b/BeWo/View/Detail/Accounting/GkvAbrechnungOverview.xaml index 8aace39ea..d0a1a4837 100644 --- a/BeWo/View/Detail/Accounting/GkvAbrechnungOverview.xaml +++ b/BeWo/View/Detail/Accounting/GkvAbrechnungOverview.xaml @@ -46,6 +46,7 @@ Margin="3,0,0,3" HorizontalAlignment="Left" VerticalAlignment="Bottom" + FilterMonth="False" FilterSpanChanged="YearMonthFilter_FilterSpanChanged" /> Date: Tue, 15 Oct 2024 09:42:30 +0200 Subject: [PATCH 02/13] missed file --- BeWo/View/Controls/YearMonthFilter.xaml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BeWo/View/Controls/YearMonthFilter.xaml.cs b/BeWo/View/Controls/YearMonthFilter.xaml.cs index b029d8c6d..8b054451a 100644 --- a/BeWo/View/Controls/YearMonthFilter.xaml.cs +++ b/BeWo/View/Controls/YearMonthFilter.xaml.cs @@ -65,7 +65,7 @@ namespace BeWo.View private void FireFilterSpanChanged() { - if (this.FilterSpanChanged != null) + if (this.FilterSpanChanged != null && IsLoaded) { this.FilterSpanChanged(this, new EventArgs(this.FilterSpan)); } From 77f1f84597da1a75cd81ee396f521e98d2e0a213 Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Tue, 15 Oct 2024 10:15:39 +0200 Subject: [PATCH 03/13] Absender Bezeichnung gesetzt Empfang Bezeichnung muss Datenannahmestelle sein Filter nach Abrechnungscode + Tarifkennzeichen, statt nur Tarifkennzeichen --- Dakota/Logic/DakotaKTDReader.cs | 2 +- Service/ServiceImplementations/AccountingServiceImp.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dakota/Logic/DakotaKTDReader.cs b/Dakota/Logic/DakotaKTDReader.cs index 310866b2f..e6c0f0466 100644 --- a/Dakota/Logic/DakotaKTDReader.cs +++ b/Dakota/Logic/DakotaKTDReader.cs @@ -88,7 +88,7 @@ namespace Dakota.Logic if (datenannahmestellen_2.Count() == 1) return GetIKNummern(datenannahmestellen_2.First(), kostentrager, ikkrankenkasse); - var datenannahmestellen_3 = datenannahmestellen.Where(x => x.Tarifkennzeichen == tarifkennzeichen); + var datenannahmestellen_3 = datenannahmestellen_2.Where(x => x.Tarifkennzeichen == tarifkennzeichen); if (datenannahmestellen_3.Count() == 1) return GetIKNummern(datenannahmestellen_3.First(), kostentrager, ikkrankenkasse); diff --git a/Service/ServiceImplementations/AccountingServiceImp.cs b/Service/ServiceImplementations/AccountingServiceImp.cs index bf3a1c9a6..24be85664 100644 --- a/Service/ServiceImplementations/AccountingServiceImp.cs +++ b/Service/ServiceImplementations/AccountingServiceImp.cs @@ -1021,8 +1021,8 @@ namespace BeWo.Service.ServiceImplementations protokoll.Dateityp = "Nutzdatendatei"; protokoll.Dateiname = protokoll.Transfername; - protokoll.AbsenderBezeichnung = "TestAbsBez"; - protokoll.EmpfangerBezeichnung = "TestEmpBez"; + protokoll.AbsenderBezeichnung = "ownSoft GmbH"; + protokoll.EmpfangerBezeichnung = orga.Name; } catch (DakotaException de) { From 38f5e294a30d1321f7326fc374595eea0ab9cd03 Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Tue, 15 Oct 2024 12:14:55 +0200 Subject: [PATCH 04/13] Column MinWidth bei Organisation --- BeWo/View/Detail/OrganisationView.xaml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/BeWo/View/Detail/OrganisationView.xaml b/BeWo/View/Detail/OrganisationView.xaml index 1cd2b851a..08eeb662d 100644 --- a/BeWo/View/Detail/OrganisationView.xaml +++ b/BeWo/View/Detail/OrganisationView.xaml @@ -277,7 +277,7 @@ - + - + @@ -654,6 +672,7 @@ + From 66555f7c2b8edd8ad95d8cf585e9a8d5628c75bd Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Tue, 15 Oct 2024 13:50:24 +0200 Subject: [PATCH 08/13] BezDatenannahmestelle bei Protokoll --- Service/ServiceImplementations/AccountingServiceImp.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Service/ServiceImplementations/AccountingServiceImp.cs b/Service/ServiceImplementations/AccountingServiceImp.cs index b850be87d..d2b500d67 100644 --- a/Service/ServiceImplementations/AccountingServiceImp.cs +++ b/Service/ServiceImplementations/AccountingServiceImp.cs @@ -1022,7 +1022,7 @@ namespace BeWo.Service.ServiceImplementations protokoll.Dateiname = protokoll.Transfername; protokoll.AbsenderBezeichnung = "ownSoft GmbH"; - protokoll.EmpfangerBezeichnung = orga.Name; + protokoll.EmpfangerBezeichnung = orga.BezDatenannahmestelle; } catch (DakotaException de) { From 1c19e8d12faf5e2f9c06b47f53eff2ef7c17c59e Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Tue, 15 Oct 2024 14:13:26 +0200 Subject: [PATCH 09/13] Wertet Kurzbeschreibung der Datenannahmestelle aus --- Dakota/DakotaValidator.cs | 4 ++-- Dakota/Logic/DakotaKTDReader.cs | 15 ++++++++++++--- Host/GkvAbrechnungView.aspx.cs | 1 + .../AccountingServiceImp.cs | 6 +++--- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Dakota/DakotaValidator.cs b/Dakota/DakotaValidator.cs index abae6914b..edf6b48e7 100644 --- a/Dakota/DakotaValidator.cs +++ b/Dakota/DakotaValidator.cs @@ -65,8 +65,8 @@ namespace Dakota throw new DakotaException(error); } - public static bool ValidateIKNumbers(Organisation orga) - => ValidateIKNumbers(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse); + public static bool ValidateOrganisationInformations(Organisation orga) + => ValidateIKNumbers(orga.IKDatenannahmestelle, orga.IKKostentrager, orga.IKKrankenkasse) && !string.IsNullOrEmpty(orga.BezDatenannahmestelle); private static bool ValidateIKNumbers(params string[] iks) => iks?.All(ValidateIKNumber) ?? false; diff --git a/Dakota/Logic/DakotaKTDReader.cs b/Dakota/Logic/DakotaKTDReader.cs index e6c0f0466..27af3edcb 100644 --- a/Dakota/Logic/DakotaKTDReader.cs +++ b/Dakota/Logic/DakotaKTDReader.cs @@ -44,14 +44,23 @@ namespace Dakota.Logic /// Item1:Datenannahmestelle - /// Item2:Kostenträger - /// Item3:Krankenkasse - public Tuple Resolve(string ikkrankenkasse, string abrechnungscode, string tarifkennzeichen) + public Tuple Resolve(string ikkrankenkasse, string abrechnungscode, string tarifkennzeichen) { foreach (var kv in FileDictionary) { - var search = GetIKNummern(kv.Value, ikkrankenkasse, abrechnungscode, tarifkennzeichen); + var dict = kv.Value; + + var search = GetIKNummern(dict, ikkrankenkasse, abrechnungscode, tarifkennzeichen); if (search is object) - return search; + { + var datenannahmestelle = search.Item1; + + var bez = dict[datenannahmestelle].SegmentIDK.Kurzbezeichnung; + + return new Tuple(datenannahmestelle, search.Item2, search.Item3, bez); + } + } return null; diff --git a/Host/GkvAbrechnungView.aspx.cs b/Host/GkvAbrechnungView.aspx.cs index 077c25651..5e0e8439d 100644 --- a/Host/GkvAbrechnungView.aspx.cs +++ b/Host/GkvAbrechnungView.aspx.cs @@ -269,6 +269,7 @@ namespace Host response.IKDatenannahmestelle = resolved.Item1; response.IKKostentrager = resolved.Item2; response.IKKrankenkasse = resolved.Item3; + response.BezDatenannahmestelle = resolved.Item4; } SendResponse(response); diff --git a/Service/ServiceImplementations/AccountingServiceImp.cs b/Service/ServiceImplementations/AccountingServiceImp.cs index d2b500d67..92034611f 100644 --- a/Service/ServiceImplementations/AccountingServiceImp.cs +++ b/Service/ServiceImplementations/AccountingServiceImp.cs @@ -936,7 +936,7 @@ namespace BeWo.Service.ServiceImplementations DakotaValidator.ValidateOrganisation(orga); - if (!DakotaValidator.ValidateIKNumbers(orga)) + if (!DakotaValidator.ValidateOrganisationInformations(orga)) { var res = SendApp8GetIKRequest(orga); @@ -952,8 +952,8 @@ namespace BeWo.Service.ServiceImplementations orga.IKKostentrager = res.IKKostentrager; orga.BezDatenannahmestelle = res.BezDatenannahmestelle; - if (!DakotaValidator.ValidateIKNumbers(orga)) - throw new DakotaException($"Für die Organisation \"{orga.Name}\" konnten die hinterlegten IKs nicht verifiziert werden: \"{orga.IKDatenannahmestelle}\", \"{orga.IKKostentrager}\", \"{orga.IKKrankenkasse}\"", "Interner Fehler"); + if (!DakotaValidator.ValidateOrganisationInformations(orga)) + throw new DakotaException($"Für die Organisation \"{orga.Name}\" konnten die hinterlegten IKs nicht verifiziert werden: \"{orga.BezDatenannahmestelle}\", \"{orga.IKDatenannahmestelle}\", \"{orga.IKKostentrager}\", \"{orga.IKKrankenkasse}\"", "Interner Fehler"); DAOFactory.GenericDAO.Update(orga); From fc6821ba683ba680970acdaa537211926ed96819 Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Tue, 15 Oct 2024 14:54:34 +0200 Subject: [PATCH 10/13] Gkv Abrechnung Rechte: View, Create, Send, Delete --- BeWo/BeWoApp.xaml | 2 +- BeWo/DebugConfig.cs | 2 +- .../Accounting/GkvAbrechnungOverview.xaml | 6 +- BeWo/View/Master/FinanceView.xaml | 208 +++++++++++++----- BeWo/View/Master/FinanceView.xaml.cs | 19 -- BeWoDakota.sln | 15 ++ Data/Security/UserRightHelper.cs | 4 + Shared/BeWoEntityEnums.cs | 5 + Shared/Core/EnumTranslations.cs | 7 +- 9 files changed, 185 insertions(+), 83 deletions(-) diff --git a/BeWo/BeWoApp.xaml b/BeWo/BeWoApp.xaml index 551e2f6c4..8ae49c75d 100644 --- a/BeWo/BeWoApp.xaml +++ b/BeWo/BeWoApp.xaml @@ -93,7 +93,7 @@ - +