IK Leistungserbringer von MandatorView

This commit is contained in:
2023-11-29 14:15:20 +01:00
parent 14daf9bc45
commit 2bfc0d8425
10 changed files with 85 additions and 37 deletions

View File

@@ -9,8 +9,9 @@
VerticalAlignment="Stretch" Focusable="True">
<Grid x:Name="root">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
@@ -20,9 +21,14 @@
<ColumnDefinition Width="Auto" SharedSizeGroup="g1" />
<ColumnDefinition Width="*" MaxWidth="420" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Grid.Row="0" Margin="3" VerticalAlignment="Center">Name</Label>
<TextBox Grid.Column="1" Grid.Row="0" Margin="3" Height="23" Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" />
<GroupBox Margin="3 20 3 3" Grid.Row="1" Grid.ColumnSpan="2" Header="Adresse" Style="{StaticResource ObjectEditGroupBox}">
<Label Grid.Column="0" Grid.Row="1" Margin="3" VerticalAlignment="Center">IK Nummer (Leistungserbringer)</Label>
<TextBox Grid.Column="1" Grid.Row="1" Margin="3" Height="23" Text="{Binding Path=IKLeistungserbringer, UpdateSourceTrigger=PropertyChanged}" />
<GroupBox Margin="3 20 3 3" Grid.Row="2" Grid.ColumnSpan="2" Header="Adresse" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -45,7 +51,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" Grid.Row="2" Grid.ColumnSpan="2" Header="Einstellungen" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="3" Grid.ColumnSpan="2" Header="Einstellungen" Style="{StaticResource ObjectEditGroupBox}">
<Grid x:Name="EinstellungenGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -81,7 +87,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" Grid.Row="3" Grid.ColumnSpan="2" Header="{markup:Translate Zeiterfassung}" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="4" Grid.ColumnSpan="2" Header="{markup:Translate Zeiterfassung}" Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -126,7 +132,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" Grid.Row="4" Grid.ColumnSpan="2" Header="Rechnungsnummer" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" Grid.Row="5" Grid.ColumnSpan="2" Header="Rechnungsnummer" Style="{StaticResource ObjectEditGroupBox}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -169,7 +175,7 @@
</Grid>
</GroupBox>
<GroupBox Margin="3 20 3 3" x:Name="GroupOwnChatSettings" Grid.Row="5" Grid.ColumnSpan="2" Header="{markup:Translate ownChat Einstellungen}" Style="{StaticResource ObjectEditGroupBox}">
<GroupBox Margin="3 20 3 3" x:Name="GroupOwnChatSettings" Grid.Row="6" Grid.ColumnSpan="2" Header="{markup:Translate ownChat Einstellungen}" Style="{StaticResource ObjectEditGroupBox}">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View File

@@ -39,6 +39,8 @@ namespace BeWo.ViewModel
public static string PropertyName_ZeiterfassungsSchwellwert = "ZeiterfassungsSchwellwert";
public static string PropertyName_IKLeistungserbringer = "";
private long _BeWoClientType;
private string _ClientId;
@@ -71,6 +73,8 @@ namespace BeWo.ViewModel
private string _Apikey;
private string _IKLeistungserbringer;
public MandatorVM(IList<InvoiceNumberVM> invoiceNumberList, MandatorDC pDC) : base(pDC, true)
{
_InvoiceNumberList = new BindingList<InvoiceNumberVM>(invoiceNumberList);
@@ -434,6 +438,21 @@ namespace BeWo.ViewModel
}
}
public string IKLeistungserbringer
{
get { return this._IKLeistungserbringer; }
set
{
if (this.AreDifferent(this._IKLeistungserbringer, value))
{
this._IKLeistungserbringer = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.IKLeistungserbringer, value), nameof(IKLeistungserbringer));
this.FirePropertyChanged(nameof(IKLeistungserbringer));
}
}
}
protected override void InitByDataContract(MandatorDC pDataContract)
{
this._Name = pDataContract.Name;
@@ -446,6 +465,7 @@ namespace BeWo.ViewModel
this._Street = pDataContract.Street;
this._Settings = pDataContract.Settings;
this._Apikey = pDataContract.Apikey;
this._IKLeistungserbringer = pDataContract.IKLeistungserbringer;
if (_Settings == null)
{
@@ -499,6 +519,7 @@ namespace BeWo.ViewModel
pDataContract.Street = this._Street;
pDataContract.Settings = this._Settings;
pDataContract.Apikey = this._Apikey;
pDataContract.IKLeistungserbringer = this._IKLeistungserbringer;
return pDataContract;
}

View File

@@ -16,7 +16,7 @@ namespace Dakota.Logic
{
public static class DakotaFileCreator
{
public static DakotaFile GenerateDakotaFile(List<InfoCreatorParameter> paras, InfoCreatorParameter2 para2)
public static DakotaFile GenerateDakotaFile(List<InfoCreatorParameter> paras, InfoCreatorParameterFix para2)
{
Reset();

View File

@@ -26,7 +26,7 @@ namespace Dakota.Logic
public string Belegnummer => "444444test";
}
public struct InfoCreatorParameter2
public struct InfoCreatorParameterFix
{
private string _month;
private string Absenderklassifikation => "SL";
@@ -38,6 +38,7 @@ namespace Dakota.Logic
public DateTime Created { get; set; }
public Mandator Mandator { get; set; }
public string IKLeistungserbringer => Mandator.IKLeistungserbringer;
// SL
// Stellen 3 bis 8 von AbsenderIK
@@ -45,10 +46,14 @@ namespace Dakota.Logic
public string LogischerDateiname => $"{Absenderklassifikation}{IKAbsender.Substring(2, 6)}{Dateiidentifizierer}{_month}";
public string PhysikalischerDateiname => "idkidkid.txt";
public InfoCreatorParameter2(int month, Mandator mandator)
public InfoCreatorParameterFix(int month, Mandator mandator)
{
_month = month.ToString("D2");
Created = DateTime.Now;
if (mandator is null)
throw new NotImplementedException("47930478164968");
Mandator = mandator;
}
}
@@ -89,7 +94,7 @@ namespace Dakota.Logic
// return info;
//}
internal static InfoDateiNutzdaten GetEmptyInfoNutzdatendatei(InfoCreatorParameter2 para)
internal static InfoDateiNutzdaten GetEmptyInfoNutzdatendatei(InfoCreatorParameterFix para)
{
var info = new InfoDateiNutzdaten();
@@ -105,8 +110,7 @@ namespace Dakota.Logic
return info;
}
internal static InfoDateiAuftrags GetEmptyInfoAuftragsdatei(InfoCreatorParameter2 para)
internal static InfoDateiAuftrags GetEmptyInfoAuftragsdatei(InfoCreatorParameterFix para)
{
var info = new InfoDateiAuftrags();
@@ -148,7 +152,7 @@ namespace Dakota.Logic
return info;
}
internal static void AddDakotaInfoFile(this InfoDateiNutzdaten file, InfoCreatorParameter para, InfoCreatorParameter2 para2)
internal static void AddDakotaInfoFile(this InfoDateiNutzdaten file, InfoCreatorParameter para, InfoCreatorParameterFix para2)
{
var blockkostentrager = file.GetDakotaInfoBlockKostentrager(para, para2);
var blockkvkarte = blockkostentrager.GetDakotaInfoBlockKvKarte(para, para2);
@@ -158,7 +162,7 @@ namespace Dakota.Logic
abrechnungsfall.InfosAbrechnungsposition.Add(abrechnungsposition);
}
internal static InfoBlockKostentrager GetDakotaInfoBlockKostentrager(this InfoDateiNutzdaten file, InfoCreatorParameter para, InfoCreatorParameter2 para2)
internal static InfoBlockKostentrager GetDakotaInfoBlockKostentrager(this InfoDateiNutzdaten file, InfoCreatorParameter para, InfoCreatorParameterFix para2)
{
var ikkostentrager = para.IKKostentrager;
var block = file.BlockKostentragers.FirstOrDefault(x => x.IKKostentrager == ikkostentrager);
@@ -175,8 +179,7 @@ namespace Dakota.Logic
return block;
}
internal static InfoBlockKvKarte GetDakotaInfoBlockKvKarte(this InfoBlockKostentrager blockkostentrager, InfoCreatorParameter para, InfoCreatorParameter2 para2)
internal static InfoBlockKvKarte GetDakotaInfoBlockKvKarte(this InfoBlockKostentrager blockkostentrager, InfoCreatorParameter para, InfoCreatorParameterFix para2)
{
var ikkvkarte = para.IKKvkarte;
var block = blockkostentrager.BlockKvKarte.FirstOrDefault(x => x.IKKrankenkasseKVKarte == ikkvkarte);
@@ -195,8 +198,7 @@ namespace Dakota.Logic
return block;
}
internal static InfoAbrechnungsfall GetDakotaInfoAbrechnungsfall(this InfoBlockKvKarte block, InfoCreatorParameter para, InfoCreatorParameter2 para2)
internal static InfoAbrechnungsfall GetDakotaInfoAbrechnungsfall(this InfoBlockKvKarte block, InfoCreatorParameter para, InfoCreatorParameterFix para2)
{
var belegnummer = para.Belegnummer;
var fall = block.DakotaInfoNachrichtSLLA.Abrechnungsfalle.FirstOrDefault(x => x.Belegnummer == belegnummer);
@@ -209,8 +211,7 @@ namespace Dakota.Logic
return fall;
}
internal static InfoAbrechnungsposition GetDakotaInfoAbrechnungsposition(this InfoAbrechnungsfall fall, InfoCreatorParameter para, InfoCreatorParameter2 para2)
internal static InfoAbrechnungsposition GetDakotaInfoAbrechnungsposition(this InfoAbrechnungsfall fall, InfoCreatorParameter para, InfoCreatorParameterFix para2)
{
var pos = CreateDakotaInfoAbrechnungsposition(para);
@@ -234,8 +235,7 @@ namespace Dakota.Logic
return info;
}
private static InfoNachrichtSLGA CreateDakotaInfoNachrichtSLGA(InfoCreatorParameter para, InfoCreatorParameter2 para2)
private static InfoNachrichtSLGA CreateDakotaInfoNachrichtSLGA(InfoCreatorParameter para, InfoCreatorParameterFix para2)
{
var info = new InfoNachrichtSLGA();
@@ -243,11 +243,11 @@ namespace Dakota.Logic
info.IKAbsender = para2.IKAbsender;
info.IKKostentrager = para.IKKostentrager;
info.IKKvKarte = para.IKKvkarte;
info.IKLeistungserbringer = para2.IKAbsender;
info.IKLeistungserbringer = para2.IKLeistungserbringer;
info.Rechnungsnummer = para.InvoiceBase.InvoiceNumber;
info.Rechnungsdatum = para.InvoiceBase.InvoiceDate.Value;
info.Rechnungsart = SchlüsselRechnungsart.AbrechnungVonLeistungserbringer;
info.Rechnungsart = SchlüsselRechnungsart.AbrechnungÜberAbrechnungsstelleOhnInkassovollmacht;
info.Name1 = para2.Mandator.Name;
info.Name2 = "Max Mustermann";
@@ -256,8 +256,7 @@ namespace Dakota.Logic
return info;
}
private static InfoNachrichtSLLA CreateDakotaInfoNachrichtSLLA(InfoCreatorParameter para, InfoCreatorParameter2 para2)
private static InfoNachrichtSLLA CreateDakotaInfoNachrichtSLLA(InfoCreatorParameter para, InfoCreatorParameterFix para2)
{
var info = new InfoNachrichtSLLA();
@@ -275,7 +274,6 @@ namespace Dakota.Logic
return info;
}
private static InfoAbrechnungsfall CreateDakotaInfoAbrechnungsfall(InfoCreatorParameter para)
{
var info = new InfoAbrechnungsfall();
@@ -295,7 +293,6 @@ namespace Dakota.Logic
return info;
}
private static InfoAbrechnungsposition CreateDakotaInfoAbrechnungsposition(InfoCreatorParameter para)
{
var info = new InfoAbrechnungsposition();
@@ -319,7 +316,6 @@ namespace Dakota.Logic
return info;
}
private static InfoBlockDiagnosen CreateDakotaInfoDiagnosen()
{
var info = new InfoBlockDiagnosen();

View File

@@ -46,6 +46,8 @@ namespace BeWo.Data.Entities
public static string Setting_ZeiterfassungsSchwellwert = "ZeiterfassungsSchwellwert";
public static string Setting_IKLeistungserbringer = "IKLeistungserbringer";
private long _BeWoClientType;
private string _ClientId;
@@ -67,7 +69,10 @@ namespace BeWo.Data.Entities
private string _RssFeedUrl;
private string _Apikey;
private string _IKLeistungserbringer;
public Mandator()
{
this._Tid = TableID.Mandator;
@@ -429,6 +434,22 @@ namespace BeWo.Data.Entities
}
}
}
public virtual string IKLeistungserbringer
{
get
{
return this._IKLeistungserbringer;
}
set
{
if (this.AreDifferent(this._IKLeistungserbringer, value))
{
this._IKLeistungserbringer = value;
}
}
}
}
}

View File

@@ -25,7 +25,7 @@
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<property name="IsSchedulerAllowed" />
<property name="IsMedicationAllowed" />
<property column="ApiKey" type="String" name="Apikey" length="256" />
<property column="ApiKey" type="String" name="Apikey" length="256" />
<property column="IKLeistungserbringer" type="String" name="IKLeistungserbringer" length="16" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,2 @@
ALTER TABLE `bewodemo`.`mandator`
ADD COLUMN `IKLeistungserbringer` VARCHAR(16) NULL AFTER `LastModules`;

View File

@@ -29,6 +29,7 @@ namespace BeWo.Service.DCEntityMapper
//pDataContract.AllowSbd = true;
#endif
pDataContract.Apikey = pEntity.Apikey;
pDataContract.IKLeistungserbringer = pEntity.IKLeistungserbringer;
return pDataContract;
}
@@ -50,6 +51,7 @@ namespace BeWo.Service.DCEntityMapper
pEntity.IsSchedulerAllowed = pDataContract.IsSchedulerAllowed;
pEntity.IsMedicationAllowed = pDataContract.IsMedicationAllowed;
pEntity.Apikey = pDataContract.Apikey;
pEntity.IKLeistungserbringer = pDataContract.IKLeistungserbringer;
return pEntity;
}

View File

@@ -7735,7 +7735,7 @@ namespace BeWo.Service.ServiceImplementations
}
var month = invoicebase.InvoiceDate.Value.Month;
var para2 = new DakotaInfoCreator.InfoCreatorParameter2(month, mandator);
var para2 = new DakotaInfoCreator.InfoCreatorParameterFix(month, mandator);
var code = DakotaFileCreator.GenerateDakotaFile(paras, para2);

View File

@@ -56,7 +56,7 @@ namespace BS.Shared.DataContracts
[DataMember]
public string Apikey { get; set; }
[DataMember]
public string IKLeistungserbringer { get; set; }
}
}