GKV-Abrechnung: Adresse für Papierannahme aus den KT-Dateien mit ermitteln, bei der Kasse speichern und auf Begleitzettel anzeigen

SupportOID=157241
This commit is contained in:
2026-05-19 18:58:55 +02:00
parent 6c0873995e
commit 21e6efc546
13 changed files with 191 additions and 127 deletions

View File

@@ -739,8 +739,8 @@
Grid.Row="2"
Grid.Column="3"
VerticalAlignment="Center"
ToolTip="Postfachanschrift der Datenannahmestelle">
Postfachanschrift
ToolTip="Postfach- oder Großkundenanschrift der Datenannahmestelle">
Postfach- / GK-Anschrift
</Label>
<TextBox
x:Name="txt_postfachanschrift"
@@ -753,8 +753,8 @@
Grid.Row="3"
Grid.Column="3"
VerticalAlignment="Center"
ToolTip="Großkundenanschrift der Datenannahmestelle">
Großkundenanschrift
ToolTip="Papierannahmeanschrift für die Datenannahmestelle">
Papierannahmeanschrift
</Label>
<TextBox
x:Name="txt_grosskundenanschrift"

View File

@@ -101,8 +101,8 @@ namespace BeWo.ViewModel
private bool _GkvAusblenden;
private AddressVM _HausanschriftDatenannahmestelle;
private AddressVM _PostfachanschriftDatenannahmestelle;
private AddressVM _GrosskundenanschriftDatenannahmestelle;
private AddressVM _PostfachGKanschriftDatenannahmestelle;
private AddressVM _PapierannahmeanschriftDatenannahmestelle;
public OrganisationVM()
{
@@ -424,8 +424,8 @@ namespace BeWo.ViewModel
|| (_ArbeitszeitListe != null && _ArbeitszeitListe.IsDirty)
|| (_Feiertage != null && _Feiertage.IsDirty)
|| (HausanschriftDatenannahmestelle?.IsDirty ?? false)
|| (PostfachanschriftDatenannahmestelle?.IsDirty ?? false)
|| (GrosskundenanschriftDatenannahmestelle?.IsDirty ?? false);
|| (PostfachGKanschriftDatenannahmestelle?.IsDirty ?? false)
|| (PapierannahmeanschriftDatenannahmestelle?.IsDirty ?? false);
}
}
@@ -863,22 +863,22 @@ namespace BeWo.ViewModel
FirePropertyChanged(nameof(HausanschriftDatenannahmestelle));
}
}
public AddressVM PostfachanschriftDatenannahmestelle
public AddressVM PostfachGKanschriftDatenannahmestelle
{
get => _PostfachanschriftDatenannahmestelle;
get => _PostfachGKanschriftDatenannahmestelle;
set
{
_PostfachanschriftDatenannahmestelle = value;
FirePropertyChanged(nameof(PostfachanschriftDatenannahmestelle));
_PostfachGKanschriftDatenannahmestelle = value;
FirePropertyChanged(nameof(PostfachGKanschriftDatenannahmestelle));
}
}
public AddressVM GrosskundenanschriftDatenannahmestelle
public AddressVM PapierannahmeanschriftDatenannahmestelle
{
get => _GrosskundenanschriftDatenannahmestelle;
get => _PapierannahmeanschriftDatenannahmestelle;
set
{
_GrosskundenanschriftDatenannahmestelle = value;
FirePropertyChanged(nameof(GrosskundenanschriftDatenannahmestelle));
_PapierannahmeanschriftDatenannahmestelle = value;
FirePropertyChanged(nameof(PapierannahmeanschriftDatenannahmestelle));
}
}
@@ -1002,11 +1002,11 @@ namespace BeWo.ViewModel
? new AddressVM(dc)
: new AddressVM();
PostfachanschriftDatenannahmestelle = pDataContract.PostfachanschriftDatenannahmestelle is AddressDC dc2
PostfachGKanschriftDatenannahmestelle = pDataContract.PostfachGKanschriftDatenannahmestelle is AddressDC dc2
? new AddressVM(dc2)
: new AddressVM();
GrosskundenanschriftDatenannahmestelle = pDataContract.GrosskundenanschriftDatenannahmestelle is AddressDC dc3
PapierannahmeanschriftDatenannahmestelle = pDataContract.PapierannahmeanschriftDatenannahmestelle is AddressDC dc3
? new AddressVM(dc3)
: new AddressVM();
@@ -1105,15 +1105,15 @@ namespace BeWo.ViewModel
else
pDataContract.HausanschriftDatenannahmestelle = null;
if (PostfachanschriftDatenannahmestelle is object)
pDataContract.PostfachanschriftDatenannahmestelle = PostfachanschriftDatenannahmestelle.CommitToDataContract();
if (PostfachGKanschriftDatenannahmestelle is object)
pDataContract.PostfachGKanschriftDatenannahmestelle = PostfachGKanschriftDatenannahmestelle.CommitToDataContract();
else
pDataContract.PostfachanschriftDatenannahmestelle = null;
pDataContract.PostfachGKanschriftDatenannahmestelle = null;
if (GrosskundenanschriftDatenannahmestelle is object)
pDataContract.GrosskundenanschriftDatenannahmestelle = GrosskundenanschriftDatenannahmestelle.CommitToDataContract();
if (PapierannahmeanschriftDatenannahmestelle is object)
pDataContract.PapierannahmeanschriftDatenannahmestelle = PapierannahmeanschriftDatenannahmestelle.CommitToDataContract();
else
pDataContract.GrosskundenanschriftDatenannahmestelle = null;
pDataContract.PapierannahmeanschriftDatenannahmestelle = null;
return pDataContract;
}
@@ -1132,11 +1132,11 @@ namespace BeWo.ViewModel
HausanschriftDatenannahmestelle.UpdateByDataContract(response.Hausanschrift);
FirePropertyChanged(nameof(HausanschriftDatenannahmestelle));
PostfachanschriftDatenannahmestelle.UpdateByDataContract(response.Postfachanschrift);
FirePropertyChanged(nameof(PostfachanschriftDatenannahmestelle));
PostfachGKanschriftDatenannahmestelle.UpdateByDataContract(response.PostfachGKanschrift);
FirePropertyChanged(nameof(PostfachGKanschriftDatenannahmestelle));
GrosskundenanschriftDatenannahmestelle.UpdateByDataContract(response.Grosskundenanschrift);
FirePropertyChanged(nameof(GrosskundenanschriftDatenannahmestelle));
PapierannahmeanschriftDatenannahmestelle.UpdateByDataContract(response.Papierannahmeanschrift);
FirePropertyChanged(nameof(PapierannahmeanschriftDatenannahmestelle));
}
}
}

View File

@@ -70,17 +70,18 @@ namespace Dakota.Logic
IKKrankenkasse = search.Item3
};
AddressDC grosskundenanschrift = null;
foreach (var seg_ans in nachricht.SemgenteANS)
{
var address = GetAddress(seg_ans);
if (seg_ans.ArtDerAnschrift == Models.Schlüssels.SchlüsselArtDerAnschrift.Grosskundenanschrift)
{
sum.Grosskundenanschrift = address;
grosskundenanschrift = address;
}
else if(seg_ans.ArtDerAnschrift == Models.Schlüssels.SchlüsselArtDerAnschrift.Postfachanschrift)
{
sum.Postfachanschrift = address;
sum.PostfachGKanschrift = address;
}
else if(seg_ans.ArtDerAnschrift == Models.Schlüssels.SchlüsselArtDerAnschrift.Hausanschrift)
{
@@ -92,6 +93,51 @@ namespace Dakota.Logic
}
}
if (sum.PostfachGKanschrift == null && grosskundenanschrift != null)
sum.PostfachGKanschrift = grosskundenanschrift;
AddressDC hausanschriftPapierannahmestelle = null;
AddressDC postfachanschriftPapierannahmestelle = null;
AddressDC grosskundenanschriftPapierannahmestelle = null;
var papierIK = GetPapierIK(dict, ikkrankenkasse, abrechnungscode, tarifkennzeichen);
if (papierIK is object && dict.ContainsKey(papierIK))
{
var papierNachricht = dict[papierIK];
foreach (var seg_ans in papierNachricht.SemgenteANS)
{
var address = GetAddress(seg_ans);
if (seg_ans.ArtDerAnschrift == Models.Schlüssels.SchlüsselArtDerAnschrift.Grosskundenanschrift)
{
grosskundenanschriftPapierannahmestelle = address;
}
else if (seg_ans.ArtDerAnschrift == Models.Schlüssels.SchlüsselArtDerAnschrift.Postfachanschrift)
{
postfachanschriftPapierannahmestelle = address;
}
else if (seg_ans.ArtDerAnschrift == Models.Schlüssels.SchlüsselArtDerAnschrift.Hausanschrift)
{
hausanschriftPapierannahmestelle = address;
}
else
{
throw new NotImplementedException();
}
}
if (hausanschriftPapierannahmestelle != null)
sum.Papierannahmeanschrift = hausanschriftPapierannahmestelle;
else if (postfachanschriftPapierannahmestelle != null)
sum.Papierannahmeanschrift = postfachanschriftPapierannahmestelle;
else if (grosskundenanschriftPapierannahmestelle != null)
sum.Papierannahmeanschrift = grosskundenanschriftPapierannahmestelle;
if (sum.Papierannahmeanschrift != null)
sum.Papierannahmeanschrift.AddressLine1 = clear(papierNachricht.SegmentIDK.Kurzbezeichnung);
}
return sum;
}
}
@@ -167,6 +213,62 @@ namespace Dakota.Logic
return new Tuple<string, string, string>(vkg.IKVerknüpfungspartners, kostentrager, ikkrankenkasse);
}
private string GetPapierIK(Dictionary<string, NachrichtKTD> dict, string ikkrankenkasse, string abrechnungscode, string tarifkennzeichen, string kostentrager = null)
{
if (kostentrager is null)
kostentrager = ikkrankenkasse;
var search = dict.SingleOrDefault(kv => kv.Key == kostentrager).Value;
if (search is null)
return null;
var verweis = search.SegmentVKG.FirstOrDefault(x => x.ArtDerVerknüpfung == Models.Schlüssels.SchlüsselArtDerVerknüpfung.Kostentrager);
// Hat Verweis auf weiteren Kostenträger gefunden
if (verweis is object && verweis.IKVerknüpfungspartners != kostentrager)
return GetPapierIK(dict, ikkrankenkasse, abrechnungscode, tarifkennzeichen, verweis.IKVerknüpfungspartners);
var papierannahmestellen = search.SegmentVKG
.Where(x => x.ArtDerVerknüpfung == Models.Schlüssels.SchlüsselArtDerVerknüpfung.PapierAnnahmestelle)
.ToList();
if (papierannahmestellen is null || !papierannahmestellen.Any())
return null;
if (papierannahmestellen.Count() == 1)
return papierannahmestellen.First().IKVerknüpfungspartners;
// Abrechnungscode
var filtered = papierannahmestellen
.Where(x => x.Abrechnungscode == abrechnungscode)
.ToList();
if (filtered.Count() == 1)
return filtered.First().IKVerknüpfungspartners;
// Tarifkennzeichen
var filtered_2 = filtered
.Where(x => x.Tarifkennzeichen == tarifkennzeichen)
.ToList();
if (filtered_2.Count() == 1)
return filtered_2.First().IKVerknüpfungspartners;
var filter_list = filtered_2;
if (!filter_list.Any())
filter_list = filtered;
if (!filter_list.Any())
filter_list = papierannahmestellen;
if (filter_list.Count() == 1)
return filter_list.First().IKVerknüpfungspartners;
return null;
}
private AddressDC GetAddress(SegmentKTDANS segment)
{
var address = new AddressDC();

View File

@@ -212,8 +212,8 @@ namespace Host
response.IKKrankenkasse = resolved.IKKrankenkasse;
response.BezDatenannahmestelle = resolved.BezDatenannahmestelle;
response.Hausanschrift = resolved.Hausanschrift;
response.Postfachanschrift = resolved.Postfachanschrift;
response.Grosskundenanschrift = resolved.Grosskundenanschrift;
response.PostfachGKanschrift = resolved.PostfachGKanschrift;
response.Papierannahmeanschrift = resolved.Papierannahmeanschrift;
}
SendResponse(response);

View File

@@ -117,13 +117,11 @@ namespace BeWo.Report.DefaultReports.Invoices
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRowReceiverContactPerson = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableRowReceiverOrganisation = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell72 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRowReceiverDatenannahmestelle = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell75 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRowAnnahmestellenInfo = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell70 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRowReceiverDivision = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell75 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRowReceiverContactPerson = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell78 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRowReceiverStreet = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell81 = new DevExpress.XtraReports.UI.XRTableCell();
@@ -903,7 +901,7 @@ namespace BeWo.Report.DefaultReports.Invoices
// xrLabel2
//
this.xrLabel2.Font = new DevExpress.Drawing.DXFont("Arial", 7F, DevExpress.Drawing.DXFontStyle.Underline);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 54F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 56F);
this.xrLabel2.Multiline = true;
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -916,89 +914,65 @@ namespace BeWo.Report.DefaultReports.Invoices
// xrTable1
//
this.xrTable1.Font = new DevExpress.Drawing.DXFont("Arial", 9F);
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 72.00005F);
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 74.00005F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
this.xrTable1.ProcessHiddenCellMode = DevExpress.XtraReports.UI.ProcessHiddenCellMode.ResizeCellsEqually;
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRowReceiverContactPerson,
this.xrTableRowReceiverDatenannahmestelle,
this.xrTableRowAnnahmestellenInfo,
this.xrTableRowReceiverOrganisation,
this.xrTableRowReceiverDivision,
this.xrTableRowReceiverContactPerson,
this.xrTableRowReceiverStreet,
this.xrTableRowReceiverPostCodeTown});
this.xrTable1.SizeF = new System.Drawing.SizeF(341.7074F, 108F);
this.xrTable1.SizeF = new System.Drawing.SizeF(341.7074F, 90F);
this.xrTable1.StylePriority.UseFont = false;
//
// xrTableRowReceiverContactPerson
// xrTableRowReceiverOrganisation
//
this.xrTableRowReceiverContactPerson.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableRowReceiverOrganisation.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell72});
this.xrTableRowReceiverContactPerson.Name = "xrTableRowReceiverContactPerson";
this.xrTableRowReceiverContactPerson.Weight = 0.71999956054714331D;
this.xrTableRowReceiverOrganisation.Name = "xrTableRowReceiverOrganisation";
this.xrTableRowReceiverOrganisation.Weight = 0.71999956054714331D;
//
// xrTableCell72
//
this.xrTableCell72.Multiline = true;
this.xrTableCell72.Name = "xrTableCell72";
this.xrTableCell72.StylePriority.UseTextAlignment = false;
this.xrTableCell72.Text = "[ReceiverContactPerson]";
this.xrTableCell72.Text = "[ReceiverOrganisation]";
this.xrTableCell72.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell72.Visible = false;
this.xrTableCell72.Weight = 1.3569801834867468D;
//
// xrTableRowReceiverDatenannahmestelle
// xrTableRowReceiverDivision
//
this.xrTableRowReceiverDatenannahmestelle.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableRowReceiverDivision.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell75});
this.xrTableRowReceiverDatenannahmestelle.Name = "xrTableRowReceiverDatenannahmestelle";
this.xrTableRowReceiverDatenannahmestelle.Weight = 0.7199995605471432D;
this.xrTableRowReceiverDivision.Name = "xrTableRowReceiverDivision";
this.xrTableRowReceiverDivision.Weight = 0.7199995605471432D;
//
// xrTableCell75
//
this.xrTableCell75.Multiline = true;
this.xrTableCell75.Name = "xrTableCell75";
this.xrTableCell75.StylePriority.UseTextAlignment = false;
this.xrTableCell75.Text = "[ReceiverDatenannahmestelle]";
this.xrTableCell75.Text = "[ReceiverDivision]";
this.xrTableCell75.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell75.Visible = false;
this.xrTableCell75.Weight = 1.3569801834867468D;
//
// xrTableRowAnnahmestellenInfo
// xrTableRowReceiverContactPerson
//
this.xrTableRowAnnahmestellenInfo.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell70});
this.xrTableRowAnnahmestellenInfo.Name = "xrTableRowAnnahmestellenInfo";
this.xrTableRowAnnahmestellenInfo.Weight = 0.71999956054714331D;
//
// xrTableCell70
//
this.xrTableCell70.ExpressionBindings.AddRange(new DevExpress.XtraReports.UI.ExpressionBinding[] {
new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[KrankenkasseName]")});
this.xrTableCell70.Multiline = true;
this.xrTableCell70.Name = "xrTableCell70";
this.xrTableCell70.StylePriority.UseTextAlignment = false;
this.xrTableCell70.Text = "xrTableCell70";
this.xrTableCell70.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell70.TextFormatString = "(Datenannahmestelle {0})";
this.xrTableCell70.Visible = false;
this.xrTableCell70.Weight = 1.3569801834867468D;
//
// xrTableRowReceiverDivision
//
this.xrTableRowReceiverDivision.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableRowReceiverContactPerson.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell78});
this.xrTableRowReceiverDivision.Name = "xrTableRowReceiverDivision";
this.xrTableRowReceiverDivision.Weight = 0.71999956054714331D;
this.xrTableRowReceiverContactPerson.Name = "xrTableRowReceiverContactPerson";
this.xrTableRowReceiverContactPerson.Weight = 0.71999956054714331D;
//
// xrTableCell78
//
this.xrTableCell78.Multiline = true;
this.xrTableCell78.Name = "xrTableCell78";
this.xrTableCell78.StylePriority.UseTextAlignment = false;
this.xrTableCell78.Text = "[ReceiverDivision]";
this.xrTableCell78.Text = "[ReceiverContactPerson]";
this.xrTableCell78.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell78.Visible = false;
this.xrTableCell78.Weight = 1.3569801834867468D;
//
// xrTableRowReceiverStreet
@@ -1015,7 +989,6 @@ namespace BeWo.Report.DefaultReports.Invoices
this.xrTableCell81.StylePriority.UseTextAlignment = false;
this.xrTableCell81.Text = "[ReceiverStreet]";
this.xrTableCell81.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell81.Visible = false;
this.xrTableCell81.Weight = 1.3569801834867468D;
//
// xrTableRowReceiverPostCodeTown
@@ -1032,7 +1005,6 @@ namespace BeWo.Report.DefaultReports.Invoices
this.xrTableCell84.StylePriority.UseTextAlignment = false;
this.xrTableCell84.Text = "[ReceiverPostCodeAndTown]";
this.xrTableCell84.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
this.xrTableCell84.Visible = false;
this.xrTableCell84.Weight = 1.3569801834867468D;
//
// GkvBegleitzettel
@@ -1151,13 +1123,11 @@ namespace BeWo.Report.DefaultReports.Invoices
private DevExpress.XtraReports.UI.XRPictureBox xrPictureBox1;
private DevExpress.XtraReports.UI.ReportHeaderBand ReportHeader;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowReceiverContactPerson;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowReceiverOrganisation;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell72;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowReceiverDatenannahmestelle;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell75;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowAnnahmestellenInfo;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell70;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowReceiverDivision;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell75;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowReceiverContactPerson;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell78;
private DevExpress.XtraReports.UI.XRTableRow xrTableRowReceiverStreet;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell81;

View File

@@ -23,17 +23,15 @@ namespace BeWo.Report.DefaultReports.Invoices
if (pRO.SenderWebsite.ToNullIfEmpty() is null)
xrTableRowSenderWebsite.Visible = false;
if (pRO.ReceiverContactPerson.ToNullIfEmpty() is null)
xrTableRowReceiverContactPerson.Visible = false;
/*
if (pRO.ReceiverDatenannahmestelle.ToNullIfEmpty() is null)
xrTableRowReceiverDatenannahmestelle.Visible = false;
*/
if (pRO.ReceiverOrganisation.ToNullIfEmpty() is null)
xrTableRowReceiverOrganisation.Visible = false;
if (pRO.ReceiverDivision.ToNullIfEmpty() is null)
xrTableRowReceiverDivision.Visible = false;
if (pRO.ReceiverContactPerson.ToNullIfEmpty() is null)
xrTableRowReceiverContactPerson.Visible = false;
/*
if (pRO.ReceiverStreet.ToNullIfEmpty() is null)
xrTableRowReceiverStreet.Visible = false;

View File

@@ -30,7 +30,7 @@ namespace BeWo.Report.ReportObjects
public string SenderBankIBAN { get; set; }
public string SenderBankBIC { get; set; }
public string ReceiverDatenannahmestelle { get; set; }
public string ReceiverOrganisation { get; set; }
public string ReceiverContactPerson { get; set; }
public string ReceiverDivision { get; set; }
public string ReceiverStreet { get; set; }
@@ -71,23 +71,15 @@ namespace BeWo.Report.ReportObjects
result.SenderFax = addressInformation.Fax;
result.SenderMail = addressInformation.Mail;
var receiver_first = invoicebase.RecipientPersonFirstName;
var receiver_last = invoicebase.RecipientPersonLastName;
var receiver_first_last = receiver_first.ToFormatFollows(receiver_last);
//result.ReceiverDatenannahmestelle = invoicebase.RecipientOrganisation.ToNullIfEmpty();
result.ReceiverDatenannahmestelle = organisation.BezDatenannahmestelle.ToNullIfEmpty();
//result.ReceiverContactPerson = receiver_first_last;
var datenannahmestelle = organisation.GetDatenannahmestelleAddress();
var datenannahme_postcode = datenannahmestelle.PostalCode;
var datenannahme_town = datenannahmestelle.Town;
var datenannahme_postcode_town = datenannahme_postcode.ToFormatFollows(datenannahme_town);
//result.ReceiverDivision = datenannahmestelle.AddressLine1.ToNullIfEmpty();
result.ReceiverStreet = datenannahmestelle.Street.ToNullIfEmpty();
result.ReceiverPostCodeAndTown = datenannahme_postcode_town;
var papierannahmeanschrift = organisation.PapierannahmeanschriftDatenannahmestelle;
if (papierannahmeanschrift != null)
{
result.ReceiverOrganisation = papierannahmeanschrift.AddressLine1.ToNullIfEmpty();
result.ReceiverStreet = papierannahmeanschrift.Street.ToNullIfEmpty();
var postcode = papierannahmeanschrift.PostalCode;
var town = papierannahmeanschrift.Town;
result.ReceiverPostCodeAndTown = postcode.ToFormatFollows(town);
}
result.KrankenkasseIK = organisation.IKKostentrager;
result.KrankenkasseName = organisation.Name;

View File

@@ -91,8 +91,8 @@ namespace BeWo.Service.DCEntityMapper
}
pDataContract.HausanschriftDatenannahmestelle = MapperFactory.Address.CreateOrMapToNewDC(pEntity.HausanschriftDatenannahmestelle);
pDataContract.PostfachanschriftDatenannahmestelle = MapperFactory.Address.CreateOrMapToNewDC(pEntity.PostfachanschriftDatenannahmestelle);
pDataContract.GrosskundenanschriftDatenannahmestelle = MapperFactory.Address.CreateOrMapToNewDC(pEntity.GrosskundenanschriftDatenannahmestelle);
pDataContract.PostfachGKanschriftDatenannahmestelle = MapperFactory.Address.CreateOrMapToNewDC(pEntity.PostfachanschriftDatenannahmestelle);
pDataContract.PapierannahmeanschriftDatenannahmestelle = MapperFactory.Address.CreateOrMapToNewDC(pEntity.GrosskundenanschriftDatenannahmestelle);
pDataContract.ContactInformations = MapperFactory.ContactDC_Contact.MapToNewDCs(pEntity.Contacts);
@@ -239,8 +239,8 @@ namespace BeWo.Service.DCEntityMapper
MapperFactory.FeiertagDC_Feiertag.MergeWithEntitys(pDataContract.Feiertage, pEntity.Feiertage);
pEntity.HausanschriftDatenannahmestelle = MapperFactory.Address.MergeOrCreateWithEntity(pDataContract.HausanschriftDatenannahmestelle, pEntity.HausanschriftDatenannahmestelle);
pEntity.PostfachanschriftDatenannahmestelle = MapperFactory.Address.MergeOrCreateWithEntity(pDataContract.PostfachanschriftDatenannahmestelle, pEntity.PostfachanschriftDatenannahmestelle);
pEntity.GrosskundenanschriftDatenannahmestelle = MapperFactory.Address.MergeOrCreateWithEntity(pDataContract.GrosskundenanschriftDatenannahmestelle, pEntity.GrosskundenanschriftDatenannahmestelle);
pEntity.PostfachanschriftDatenannahmestelle = MapperFactory.Address.MergeOrCreateWithEntity(pDataContract.PostfachGKanschriftDatenannahmestelle, pEntity.PostfachanschriftDatenannahmestelle);
pEntity.GrosskundenanschriftDatenannahmestelle = MapperFactory.Address.MergeOrCreateWithEntity(pDataContract.PapierannahmeanschriftDatenannahmestelle, pEntity.GrosskundenanschriftDatenannahmestelle);
return pEntity;
}

View File

@@ -330,8 +330,8 @@ namespace BeWo.Service.ServiceImplementations
Message = app8res.Message,
Success = app8res.Success,
Hausanschrift = app8res.Hausanschrift ?? new AddressDC(),
Postfachanschrift = app8res.Postfachanschrift ?? new AddressDC(),
Grosskundenanschrift = app8res.Grosskundenanschrift ?? new AddressDC()
PostfachGKanschrift = app8res.PostfachGKanschrift ?? new AddressDC(),
Papierannahmeanschrift = app8res.Papierannahmeanschrift ?? new AddressDC(),
};
// Schaue, ob IK Krankenkassen bereits bei einer anderen Organisation hinterlegt ist

View File

@@ -25,7 +25,7 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
[DataMember] public string IKDatenannahmestelle { get; set; }
[DataMember] public string BezDatenannahmestelle { get; set; }
[DataMember] public AddressDC Hausanschrift { get; set; }
[DataMember] public AddressDC Postfachanschrift { get; set; }
[DataMember] public AddressDC Grosskundenanschrift { get; set; }
[DataMember] public AddressDC PostfachGKanschrift { get; set; }
[DataMember] public AddressDC Papierannahmeanschrift { get; set; }
}
}

View File

@@ -13,7 +13,7 @@ namespace BS.Shared.DataContracts.Invoicing.GkvAbrechnung
public string IKKostentrager { get; set; }
public string IKKrankenkasse { get; set; }
public AddressDC Hausanschrift { get; set; }
public AddressDC Postfachanschrift { get; set; }
public AddressDC Grosskundenanschrift { get; set; }
public AddressDC PostfachGKanschrift { get; set; }
public AddressDC Papierannahmeanschrift { get; set; }
}
}

View File

@@ -19,7 +19,7 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
[DataMember] public string IKDatenannahmestelle { get; set; }
[DataMember] public string BezDatenannahmestelle { get; set; }
[DataMember] public AddressDC Hausanschrift { get; set; }
[DataMember] public AddressDC Postfachanschrift { get; set; }
[DataMember] public AddressDC Grosskundenanschrift { get; set; }
[DataMember] public AddressDC PostfachGKanschrift { get; set; }
[DataMember] public AddressDC Papierannahmeanschrift { get; set; }
}
}

View File

@@ -52,6 +52,7 @@ namespace BS.Shared.DataContracts
[DataMember] public ValueListEntryDC Function { get; set; }
[DataMember] public bool GkvAusblenden { get; set; }
[DataMember] public AddressDC GrosskundenanschriftDatenannahmestelle { get; set; }
[DataMember] public AddressDC PapierannahmeanschriftDatenannahmestelle { get; set; }
[DataMember] public AddressDC HausanschriftDatenannahmestelle { get; set; }
[DataMember] public string IBAN { get; set; }
[DataMember] public string IKDatenannahmestelle { get; set; }
@@ -73,6 +74,7 @@ namespace BS.Shared.DataContracts
[DataMember] public long? OrganisationVersion { get; set; }
[DataMember] public string PostalCode { get; set; }
[DataMember] public AddressDC PostfachanschriftDatenannahmestelle { get; set; }
[DataMember] public AddressDC PostfachGKanschriftDatenannahmestelle { get; set; }
[DataMember] public List<OrganisationPersonRelationDC> RelatedPersons { get; set; }
[DataMember] public string Street { get; set; }
[DataMember] public string Town { get; set; }
@@ -98,8 +100,8 @@ namespace BS.Shared.DataContracts
{
var lst = new List<AddressDC>() {
HausanschriftDatenannahmestelle,
PostfachanschriftDatenannahmestelle,
GrosskundenanschriftDatenannahmestelle};
PostfachGKanschriftDatenannahmestelle,
PapierannahmeanschriftDatenannahmestelle};
foreach (var add in lst)
{