Bug fix: Bezahlt Flag wird nicht richtig aktuallisiert
This commit is contained in:
@@ -265,7 +265,11 @@ namespace BeWo.View.Detail.Accounting
|
||||
|
||||
private void SaveBezahltChange(GkvAbrechnungVM vm, bool b)
|
||||
{
|
||||
var dc = ServiceFacade.DoAccountingServiceSync(x => x.UpdateGkvAbrechnung(vm.CommitToDataContract()));
|
||||
var dc_in = vm.CommitToDataContract();
|
||||
|
||||
dc_in.Bezahlt = b;
|
||||
|
||||
var dc = ServiceFacade.DoAccountingServiceSync(x => x.UpdateGkvAbrechnung(dc_in));
|
||||
|
||||
vm.Update(dc);
|
||||
}
|
||||
|
||||
@@ -527,6 +527,9 @@ AntwortEntschluesseltAm
|
||||
{
|
||||
_GkvAbrechnungVersion = dc.GkvAbrechnungVersion;
|
||||
|
||||
Notice = dc.Notice;
|
||||
Bezahlt = dc.Bezahlt;
|
||||
|
||||
if(Notice != dc.Notice || Bezahlt != dc.Bezahlt)
|
||||
{
|
||||
throw new NotImplementedException("Notiz/Bezahlt wurde nicht korrekt übernommen");
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.GkvAbrechnung;
|
||||
using Dakota.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -21,7 +22,7 @@ namespace Dakota
|
||||
/// <summary>
|
||||
/// Validiert in erster Phase die Daten. Bei Fehler wird eine DakotaException geworfen.
|
||||
/// </summary>
|
||||
public static void ValidateFirstStep(MandatorDC mandatordc)
|
||||
public static void ValidateFirstStep(MandatorDC mandatordc, GkvAbrechnungRequestDC request)
|
||||
{
|
||||
if (mandatordc == null)
|
||||
throw new DakotaException("Mandator ist null");
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace Dakota.Logic
|
||||
// return info;
|
||||
//}
|
||||
|
||||
internal static InfoDateiNutzdaten GetEmptyInfoNutzdatendatei(string absender, string empfang, string logischerDateiname)
|
||||
internal static InfoDateiNutzdaten GetEmptyInfoNutzdatendatei(string absender, string empfang, string logischerDateiname, int datenaustauschreferenz)
|
||||
{
|
||||
var info = new InfoDateiNutzdaten();
|
||||
|
||||
@@ -56,15 +56,17 @@ namespace Dakota.Logic
|
||||
info.SyntaxVersion = "3";
|
||||
info.Absenderbezeichnung = absender;
|
||||
info.Empfangerbezeichnung = empfang;
|
||||
info.Datenaustauschreferenz = 1;
|
||||
info.Datenaustauschreferenz = datenaustauschreferenz;
|
||||
info.Leistungsbereich = SchlüsselLeistungserbringerSammelgruppenschlussel.SoziotherapeutischerLeistungserbringer;
|
||||
info.Anwendungsreferenz = logischerDateiname;
|
||||
info.Testindikator = SchlüsselTestindikator.Testdatei;
|
||||
|
||||
return info;
|
||||
}
|
||||
internal static InfoDateiAuftrags GetEmptyInfoAuftragsdatei(string empfang)
|
||||
internal static InfoDateiAuftrags GetEmptyInfoAuftragsdatei(string empfang, int datenaustauschreferenz)
|
||||
{
|
||||
var transfernummer = datenaustauschreferenz % 1000;
|
||||
|
||||
var info = new InfoDateiAuftrags();
|
||||
|
||||
info.Identifikator = 500000;
|
||||
@@ -72,7 +74,7 @@ namespace Dakota.Logic
|
||||
info.LangeAuftrag = 348;
|
||||
info.SequenzNummer = 000;
|
||||
info.VerfahrenKennung = "TSOL0";
|
||||
info.TransferNummer = 000;
|
||||
info.TransferNummer = transfernummer;
|
||||
info.VerfahrenKennungSpezifikation = "SGB1K";
|
||||
info.AbsenderEigner = DakotaConfig.IKAbsender;
|
||||
info.AbsenderPhysikalisch = DakotaConfig.IKAbsender;
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace Dakota.Logic
|
||||
DakotaInfoAufDict = new Dictionary<string, InfoDateiAuftrags>();
|
||||
}
|
||||
|
||||
public void Add(ServiceInvoiceDC serviceInvoice, OrganisationDC organisation, CustomerDC customer, MandatorDC mandator)
|
||||
public void Add(ServiceInvoiceDC serviceInvoice, OrganisationDC organisation, CustomerDC customer, MandatorDC mandator, int datenaustauschreferenz)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -44,8 +44,8 @@ namespace Dakota.Logic
|
||||
|
||||
if (!success)
|
||||
{
|
||||
var info_nutz_add = DakotaInfoCreator.GetEmptyInfoNutzdatendatei(DakotaConfig.IKAbsender, organisation.IKDatenannahmestelle, DakotaConfig.GetLogischerDateiname(Month));
|
||||
var info_auf_add = DakotaInfoCreator.GetEmptyInfoAuftragsdatei(organisation.IKDatenannahmestelle);
|
||||
var info_nutz_add = DakotaInfoCreator.GetEmptyInfoNutzdatendatei(DakotaConfig.IKAbsender, organisation.IKDatenannahmestelle, DakotaConfig.GetLogischerDateiname(Month), datenaustauschreferenz);
|
||||
var info_auf_add = DakotaInfoCreator.GetEmptyInfoAuftragsdatei(organisation.IKDatenannahmestelle, datenaustauschreferenz);
|
||||
|
||||
DakotaInfoNutzDict.Add(ik_datenannahmestelle, info_nutz_add);
|
||||
DakotaInfoAufDict.Add(ik_datenannahmestelle, info_auf_add);
|
||||
|
||||
@@ -32,6 +32,11 @@ namespace Dakota
|
||||
Created = created;
|
||||
}
|
||||
|
||||
public int GetDatenaustauschreferenz()
|
||||
{
|
||||
return Nutzdatendatei.SegmentUNB.Datenaustauschreferenz.Value;
|
||||
}
|
||||
|
||||
public string GetTransferName()
|
||||
{
|
||||
return Verfahrenskennung + Transfernummer;
|
||||
|
||||
@@ -55,22 +55,23 @@ namespace Host
|
||||
{
|
||||
case GkvAbrechnungApp8RequestTypeDC.SendNew:
|
||||
SendNew(JsonConvert.DeserializeObject<GkvApp8SendNewRequest>(str));
|
||||
break;
|
||||
return;
|
||||
case GkvAbrechnungApp8RequestTypeDC.GetStatus:
|
||||
GetStatus(JsonConvert.DeserializeObject<GkvApp8GetStatusRequest>(str));
|
||||
break;
|
||||
return;
|
||||
case GkvAbrechnungApp8RequestTypeDC.GetIKNumber:
|
||||
GetIK(JsonConvert.DeserializeObject<GkvApp8GetIKRequest>(str));
|
||||
break;
|
||||
return;
|
||||
default:
|
||||
SendErrorResponse("GkvAbrechnungType unbekannt.");
|
||||
break;
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var ex_text = ex.Message + "\n\n" + ex.StackTrace;
|
||||
SendErrorResponse(ex_text);
|
||||
return;
|
||||
}
|
||||
|
||||
SendErrorResponse("Unbekannter Fehler");
|
||||
|
||||
@@ -745,8 +745,9 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
var loaded_invoicebases = new List<InvoiceBaseDC>();
|
||||
|
||||
DakotaValidator.ValidateFirstStep(mandatordc);
|
||||
DakotaValidator.ValidateFirstStep(mandatordc, request);
|
||||
|
||||
int? datenaustauschreferenz = null;
|
||||
foreach (var invoicebase_oid in request.SelectedInvoiceBases)
|
||||
{
|
||||
var service = DAOFactory.SearchDAO.GetServiceInvoiceByInvoiceBaseOid(invoicebase_oid);
|
||||
@@ -756,6 +757,9 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
var invoicebase_dc = MapperFactory.InvoiceBaseDC_InvoiceBase.MapToNewDC(invoicebase);
|
||||
|
||||
if(!datenaustauschreferenz.HasValue)
|
||||
datenaustauschreferenz = DAOFactory.SearchDAO.GetLastDatenaustauschreferenz(orga.IKDatenannahmestelle) + 1;
|
||||
|
||||
loaded_invoicebases.Add(invoicebase_dc);
|
||||
|
||||
var servicedc = MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(service);
|
||||
@@ -764,7 +768,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
DakotaValidator.ValidateSecondStep(orgadc, customerdc);
|
||||
|
||||
manager.Add(servicedc, orgadc, customerdc, mandatordc);
|
||||
manager.Add(servicedc, orgadc, customerdc, mandatordc, datenaustauschreferenz.Value);
|
||||
}
|
||||
|
||||
manager.Apply();
|
||||
@@ -788,10 +792,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
throw new DakotaException($"nutzdatendatei - Länger als 65535: {nutzdatendatei.Length}");
|
||||
}
|
||||
|
||||
var datenannahmestelle = file_from_manager.GetIKDatenannahmestelle();
|
||||
var datenaustauschreferenz = DAOFactory.SearchDAO.GetLastDatenaustauschreferenz(datenannahmestelle);
|
||||
|
||||
gkv_abrechnung_dc.IKDatenannahmestelle = datenannahmestelle;
|
||||
gkv_abrechnung_dc.IKDatenannahmestelle = file_from_manager.GetIKDatenannahmestelle();
|
||||
gkv_abrechnung_dc.IKKostenträger = file_from_manager.GetIKKostenträger();
|
||||
gkv_abrechnung_dc.IKLeistungserbringer = file_from_manager.GetIKLeistungserbringer();
|
||||
gkv_abrechnung_dc.IKVersichertenKarte = file_from_manager.GetIKVersichertenKarte();
|
||||
@@ -799,7 +800,7 @@ namespace BeWo.Service.ServiceImplementations
|
||||
gkv_abrechnung_dc.Auftragsdatei = file_from_manager.GetAuftragsdatei();
|
||||
gkv_abrechnung_dc.Nutzdatendatei = file_from_manager.GetNutzdatendatei();
|
||||
gkv_abrechnung_dc.Transfername = file_from_manager.GetTransferName();
|
||||
gkv_abrechnung_dc.Datenaustauschreferenz = datenaustauschreferenz + 1;
|
||||
gkv_abrechnung_dc.Datenaustauschreferenz = file_from_manager.GetDatenaustauschreferenz();
|
||||
|
||||
gkv_abrechnung_dc.ErstelltAm = file_from_manager.Created;
|
||||
gkv_abrechnung_dc.Betrag = file_from_manager.GetBetrag();
|
||||
|
||||
Reference in New Issue
Block a user