Weitere IKs ermitteln

Orga Notizen Groupbox Style
This commit is contained in:
2024-10-21 16:09:52 +02:00
parent 915ebfbc6e
commit 7f8874f93c
12 changed files with 117 additions and 95 deletions

View File

@@ -491,7 +491,7 @@ namespace BeWo
Grid.SetRowSpan(_WaitLayer, 3);
grid_main.Children.Add(_WaitLayer);
Panel.SetZIndex(_WaitLayer, int.MaxValue);
_WaitLayer.RefreshUI();
//_WaitLayer.RefreshUI();
}
}

View File

@@ -11,10 +11,9 @@
Height="Auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Focusable="True"
Loaded="BeWoView_Loaded">
Focusable="True">
<Grid>
<Grid Loaded="BeWoView_Loaded">
<GroupBox
x:Name="groupbox_editArea"
Grid.Row="0"

View File

@@ -53,10 +53,6 @@ namespace BeWo.View.Detail.Accounting
_NewGkvAbrechnungPopUpView.CreateButtonClicked += NewGkvAbrechnungPopUpViewCreateButtonClicked;
_Viewmodel.DateTimeSpanFilter = yearMonthFilter.FilterSpan;
CheckRights();
RefreshGkvAbrechnungenList();
}
public DownloadLinkEngine DownloadLinkEngine { get; set; }
@@ -64,10 +60,6 @@ namespace BeWo.View.Detail.Accounting
private bool ShowAllInvoices => _Viewmodel.DateTimeSpanFilter is null;
private void CheckRights()
{
}
private void RefreshGkvAbrechnungenList()
{
var test = datagrid_gkvAbrechnungen;
@@ -388,6 +380,8 @@ namespace BeWo.View.Detail.Accounting
private void BeWoView_Loaded(object sender, RoutedEventArgs e)
{
_Viewmodel.FirePropertyChangedItself();
}
RefreshGkvAbrechnungenList();
}
}
}

View File

@@ -77,12 +77,13 @@
<Label
Grid.Row="0"
Grid.Column="0"
VerticalAlignment="Center"
Content="Rechnungszeitraum von" />
<dxe:DateEdit
Grid.Row="0"
Grid.Column="1"
Height="23"
Margin="3"
Margin="0,3,3,3"
BorderThickness="1"
EditValue="{val:ValidationBinding Path=AbrechnungsZeitraumStart}"
EditValueChanged="DateEdit_EditValueChanged"
@@ -90,12 +91,13 @@
<Label
Grid.Row="1"
Grid.Column="0"
VerticalAlignment="Center"
Content="Rechnungszeitraum bis" />
<dxe:DateEdit
Grid.Row="1"
Grid.Column="1"
Height="23"
Margin="3"
Margin="0,3,3,3"
BorderThickness="1"
EditValue="{val:ValidationBinding Path=AbrechnungsZeitraumEnde}"
EditValueChanged="DateEdit2_EditValueChanged"
@@ -109,26 +111,32 @@
<Label
Grid.Row="0"
Grid.Column="2"
Content="Organisation" />
Margin="3,0,0,0"
VerticalAlignment="Center"
ToolTip="Gesetzliche Krankenversicherung">
GKV:
</Label>
<uc:PopUpEdit
x:Name="popupedit_GkvSearch"
Grid.Row="0"
Grid.Column="3"
Height="23"
Margin="3"
Margin="0,3,3,3"
DeleteButtonVisibility="Collapsed"
IsReadOnly="True"
PopUpClick="popupedit_GkvSearch_PopUpClick" />
<Label
Grid.Row="0"
Grid.Column="4"
Content="Bemerkung" />
Margin="3,0,0,0"
VerticalAlignment="Center"
Content="Bemerkung:" />
<TextBox
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="5"
Height="50"
Margin="3"
Margin="0,3,3,3"
AcceptsReturn="True"
Text="{Binding Notice}"
TextWrapping="Wrap" />
@@ -221,6 +229,7 @@
<dxg:TableView
x:Name="gridView"
CellValueChanging="TableView_CellValueChanging"
EnableImmediatePosting="True"
ShowGroupPanel="False" />
</dxg:GridControl.View>
</dxg:GridControl>
@@ -250,18 +259,28 @@
Grid.ColumnSpan="2"
HorizontalAlignment="Right"
Orientation="Horizontal">
<StackPanel.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="..\..\..\Styles\ModernOrangeBlack.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</StackPanel.Resources>
<Button
x:Name="btn_create"
Margin="3"
Padding="5,0"
Click="btn_create_Click"
Content="Erstellen" />
Content="Erstellen"
IsEnabled="{Binding IsReady2Create}"
Style="{StaticResource PrimaryButton}" />
<Button
x:Name="btn_cancel"
Margin="3"
Padding="5,0"
Click="btn_cancel_Click"
Content="Abbrechen" />
Content="Abbrechen"
Style="{StaticResource PrimaryButton}" />
</StackPanel>
</Grid>
</GroupBox>

View File

@@ -180,6 +180,7 @@ namespace BeWo.View.Detail.Accounting
invoiceBaseVMs.Add(invoiceBaseVM);
}
ViewModel.InvoiceBases = invoiceBaseVMs;
ViewModel.InvoiceBases.ListChanged += (s, e) => ViewModel.FirePropertyIsReady2CreateChanged();
grid_newInvoices.ItemsSource = ViewModel.InvoiceBases;
this.gridView.BestFitColumns();
});

View File

@@ -605,7 +605,7 @@
Click="IKNumber_Button_Click"
Style="{StaticResource PrimaryButtonSmall}"
Visibility="{Binding Converter={StaticResource UserPermission2VisibleConverter}, ConverterParameter={x:Static core:SettingsKeys.AllowGkvAbrechnung}}">
Ergänzen
Weitere IK's ermitteln
</Button>
<TextBox
Grid.Row="1"
@@ -678,20 +678,11 @@
</StackPanel>
</Grid>
</GroupBox>
<Grid Grid.Row="3" Grid.ColumnSpan="4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="2"
Content="Notizen" />
<GroupBox
Grid.Row="3" Grid.ColumnSpan="4"
Header="Notizen"
Margin="0,8,0,0"
Style="{StaticResource ObjectEditGroupBox}">
<TextBox
Grid.Row="2"
Grid.Column="0"
@@ -703,7 +694,7 @@
Text="{Binding Path=Notice, UpdateSourceTrigger=PropertyChanged}"
TextWrapping="Wrap"
VerticalScrollBarVisibility="Visible" />
</Grid>
</GroupBox>
</Grid>
</GroupBox>
</ScrollViewer>

View File

@@ -100,7 +100,8 @@
Name="tabitem_overviewinvoice"
Header="Rechnungsübersicht"
Selector.Selected="tabitem_overviewinvoice_Selected" />
<TabItem Name="tabitem_gkvabrechnung" Header="GKV-Abrechnungen">
<TabItem Name="tabitem_gkvabrechnung" Header="GKV-Abrechnungen"
Selector.Selected="tabitem_gkvabrechnung_Selected">
<TabItem.Visibility>
<MultiBinding Converter="{StaticResource BooleanAndVisibilityMultiConverter}">
<Binding
@@ -113,7 +114,6 @@
Path="Itself" />
</MultiBinding>
</TabItem.Visibility>
<accounting:GkvAbrechnungOverview />
</TabItem>
<TabItem
Name="tabitem_bargeldverwaltung"

View File

@@ -287,7 +287,15 @@ namespace BeWo.View.Master
}
}
private void BeWoView_Loaded(object sender, RoutedEventArgs e)
private void tabitem_gkvabrechnung_Selected(object sender, RoutedEventArgs e)
{
if (!_OpenViews.ContainsKey(tabitem_gkvabrechnung) || _SavePerformed)
{
AddView(tabitem_gkvabrechnung, new GkvAbrechnungOverview());
}
}
private void BeWoView_Loaded(object sender, RoutedEventArgs e)
{
if(_AlreadyLoaded && DataContext is BaseVM vm)
{

View File

@@ -365,6 +365,10 @@ namespace BeWo.ViewModel
}
}
public void FirePropertyIsReady2CreateChanged()
=> FirePropertyChanged(nameof(IsReady2Create));
public bool IsReady2Create
=> InvoiceBases?.Where(x => x.IsChecked).Any() ?? false;
public GkvState GetState()
{

View File

@@ -5,53 +5,56 @@ using BS.Shared.DataContracts.GkvAbrechnung;
namespace BeWo.ViewModel.ListViewModel
{
public class GkvAbrechnungListVM : AbstractDCListMapperVM<GkvAbrechnungDC, GkvAbrechnungVM>
{
public static string PropertyName_DateTimeSpanFilter = "DateTimeSpanFilter";
public class GkvAbrechnungListVM : AbstractDCListMapperVM<GkvAbrechnungDC, GkvAbrechnungVM>
{
public static string PropertyName_DateTimeSpanFilter = "DateTimeSpanFilter";
public static string PropertyName_FilterResultAmountSum = "FilterResultAmountSum";
public static string PropertyName_FilterResultAmountNotPaidSum = "FilterResultAmountNotPaidSum";
public static string PropertyName_FilterResultAmountSum = "FilterResultAmountSum";
public static string PropertyName_FilterResultAmountNotPaidSum = "FilterResultAmountNotPaidSum";
private DateTimeSpan _DateTimeSpanFilter;
private DateTimeSpan _DateTimeSpanFilter;
public GkvAbrechnungListVM(List<GkvAbrechnungDC> pDCList) : base(pDCList)
{
this.VMList.ListChanged += (s, e) => this.FirePropertyChanged(PropertyName_FilterResultAmountSum);
this.VMList.ListChanged += (s, e) => this.FirePropertyChanged(PropertyName_FilterResultAmountNotPaidSum);
}
public GkvAbrechnungListVM() : this(null)
{
public GkvAbrechnungListVM(List<GkvAbrechnungDC> pDCList) : base(pDCList)
{
this.VMList.ListChanged += (s, e) => this.FirePropertyChanged(PropertyName_FilterResultAmountSum);
this.VMList.ListChanged += (s, e) => this.FirePropertyChanged(PropertyName_FilterResultAmountNotPaidSum);
}
public GkvAbrechnungListVM() : this(null)
{
}
}
public DateTimeSpan DateTimeSpanFilter
{
get
{
return this._DateTimeSpanFilter;
}
public DateTimeSpan DateTimeSpanFilter
{
get
{
return this._DateTimeSpanFilter;
}
set
{
if (this.AreDifferent(this._DateTimeSpanFilter, value))
{
this._DateTimeSpanFilter = value;
this.FirePropertyChanged(PropertyName_DateTimeSpanFilter);
}
}
}
set
{
if (this.AreDifferent(this._DateTimeSpanFilter, value))
{
this._DateTimeSpanFilter = value;
this.FirePropertyChanged(PropertyName_DateTimeSpanFilter);
}
}
}
internal void UpdateList(IList<GkvAbrechnungDC> dcList)
{
this.VMList.Clear();
internal void UpdateList(IList<GkvAbrechnungDC> dcList)
{
VMList.Clear();
foreach (var dc in dcList)
{
VMList.Add(CreateVM(dc));
}
if (dcList is object)
foreach (var dc in dcList)
{
VMList.Add(CreateVM(dc));
}
this.FirePropertyChanged(PropertyName_FilterResultAmountSum);
this.FirePropertyChanged(PropertyName_FilterResultAmountNotPaidSum);
}
}
FirePropertyChanged(PropertyName_FilterResultAmountSum);
FirePropertyChanged(PropertyName_FilterResultAmountNotPaidSum);
}
internal void ClearList() => UpdateList(null);
}
}

View File

@@ -1,2 +1,5 @@
ALTER TABLE `organisation`
CHANGE COLUMN `Verfahrensstufe` `Verfahrensstufe` INT NULL DEFAULT '1' ;
UPDATE `organisation`
SET `Verfahrensstufe` = 1;

View File

@@ -10,6 +10,21 @@ namespace BS.Shared.Core
{
public static class DakotaValidator
{
public static string ValidateCustomer(string insuranceNumber, string versichertenStatus)
{
bool valid_number = IsVersichertennummerValid(insuranceNumber);
bool valid_status = IsVersichertenstatusValid(versichertenStatus);
if (!valid_number && !valid_status)
return $"Versichtertennummer & -status des {Translation.Translator.Translate("Klient/in")} ungültig.";
else if (!valid_number)
return $"Versichertennummer des {Translation.Translator.Translate("Klient/in")} ungültig";
else if (!valid_status)
return $"Versichertenstatus des {Translation.Translator.Translate("Klient/in")} ungültig";
return null;
}
public static bool IsMandatorValid(string ik_leistungserbringer)
=> IsIKNumberValid(ik_leistungserbringer);
public static bool IsOrganisationInformationValid(string ik_datenannahmestelle, string ik_kostentrager, string ik_krankenkasse, string bez_datenannahmestelle)
@@ -62,20 +77,5 @@ namespace BS.Shared.Core
return true;
}
public static string ValidateCustomer(string insuranceNumber, string versichertenStatus)
{
bool valid_number = IsVersichertennummerValid(insuranceNumber);
bool valid_status = IsVersichertenstatusValid(versichertenStatus);
if (!valid_number && !valid_status)
return "Versichtertennummer & -status ungültig.";
else if (!valid_number)
return "Versichertennummer ungültig";
else if (!valid_status)
return "Versichertenstatus ungültig";
return null;
}
}
}