Model/Changes_2024_10_31 ALLE GKV TABELLEN.txt aktualisiert
-> Bei neu Ausliefern, vorher alte Tabellen Droppen -> App8 zu App5 Kommunikation und mehr!
This commit is contained in:
@@ -24,7 +24,7 @@ namespace BeWo
|
||||
{
|
||||
#if DEBUG
|
||||
|
||||
return _CurrentConfig ?? (_CurrentConfig = null);
|
||||
return _CurrentConfig ?? (_CurrentConfig = SimpleAutoLogin);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -35,6 +35,10 @@ namespace BeWo
|
||||
|
||||
public DebugConfigMode DebugConfigMode { get; set; }
|
||||
|
||||
public static string Username { get; set; } = "m1";
|
||||
public static string Password { get; set; } = "bewobewo";
|
||||
public static string Profilename { get; set; } = "5000000000";
|
||||
|
||||
public bool AutoLogin { get; set; }
|
||||
public UIContext? SelectView { get; set; }
|
||||
/// <summary>
|
||||
|
||||
@@ -31,6 +31,7 @@ using BeWo.View;
|
||||
using BeWo.View.Detail;
|
||||
using BS.Shared.Translation;
|
||||
using Path = System.IO.Path;
|
||||
using System.Linq;
|
||||
|
||||
namespace BeWo
|
||||
{
|
||||
@@ -198,6 +199,11 @@ namespace BeWo
|
||||
{
|
||||
#if DEBUG
|
||||
//selectedProfile = ReadSelectedProfile();
|
||||
|
||||
if (DebugConfig.CurrentConfig is DebugConfig current && !string.IsNullOrWhiteSpace(DebugConfig.Profilename))
|
||||
{
|
||||
selectedProfile = ProfileList.FirstOrDefault(x => x.Name == DebugConfig.Profilename);
|
||||
}
|
||||
#else
|
||||
selectedProfile = ReadSelectedProfile();
|
||||
#endif
|
||||
@@ -712,9 +718,18 @@ namespace BeWo
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
if (DebugConfig.CurrentConfig is object && DebugConfig.CurrentConfig.AutoLogin)
|
||||
|
||||
|
||||
if (DebugConfig.CurrentConfig is DebugConfig current)
|
||||
{
|
||||
button_login_Click(this, new RoutedEventArgs());
|
||||
if (!string.IsNullOrWhiteSpace(DebugConfig.Username))
|
||||
TextBox_Username.Text = DebugConfig.Username;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(DebugConfig.Password))
|
||||
PasswordBox_Password.Password = DebugConfig.Password;
|
||||
|
||||
if (current.AutoLogin)
|
||||
button_login_Click(this, new RoutedEventArgs());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -403,19 +403,19 @@
|
||||
ReadOnly="True" />
|
||||
<dxg:GridColumn
|
||||
AllowEditing="False"
|
||||
FieldName="SentSuccess"
|
||||
Header="Dakota Übertragen"
|
||||
FieldName="SentApp8Success"
|
||||
Header="Sent App 8"
|
||||
IsEnabledBinding="{Binding Source=false}" />
|
||||
<dxg:GridColumn
|
||||
AllowEditing="False"
|
||||
FieldName="Fehlertitel"
|
||||
Header="Fehlertitel"
|
||||
ReadOnly="True" />
|
||||
FieldName="SentDakotaSuccess"
|
||||
Header="Sent Dakota"
|
||||
IsEnabledBinding="{Binding Source=false}" />
|
||||
<dxg:GridColumn
|
||||
Width="100"
|
||||
AllowEditing="False"
|
||||
FieldName="Fehlerdatum"
|
||||
Header="Fehlerdatum"
|
||||
Header="Ergebnisdatum"
|
||||
ReadOnly="True">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:TextEditSettings
|
||||
@@ -424,17 +424,22 @@
|
||||
MaskType="DateTime" />
|
||||
</dxg:GridColumn.EditSettings>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn
|
||||
AllowEditing="False"
|
||||
FieldName="ResultType"
|
||||
Header="Ergebnis"
|
||||
ReadOnly="True" />
|
||||
<dxg:GridColumn
|
||||
AllowEditing="False"
|
||||
FieldName="Fehlertitel"
|
||||
Header="Fehlertitel"
|
||||
ReadOnly="True" />
|
||||
<dxg:GridColumn
|
||||
MinWidth="200"
|
||||
AllowEditing="False"
|
||||
FieldName="Fehlernachricht"
|
||||
Header="Fehlernachricht"
|
||||
ReadOnly="True" />
|
||||
<dxg:GridColumn
|
||||
AllowEditing="False"
|
||||
FieldName="Fehlerlevel"
|
||||
Header="Fehlerlevel"
|
||||
ReadOnly="True" />
|
||||
</dxg:GridControl.Columns>
|
||||
<dxg:GridControl.View>
|
||||
<dxg:TableView
|
||||
|
||||
@@ -580,6 +580,8 @@
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
|
||||
@@ -273,7 +273,7 @@ namespace BeWo.ViewModel
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
public IGkvTransferProtokoll LastTransferProtokoll => TransferProtokolle?.Last();
|
||||
public IGkvTransferProtokoll LastTransferProtokoll => TransferProtokolle?.LastOrDefault();
|
||||
|
||||
public string RecipientString
|
||||
{
|
||||
@@ -291,9 +291,10 @@ namespace BeWo.ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
var last = TransferProtokolle?.LastOrDefault();
|
||||
if (!(LastTransferProtokoll is GkvTransferProtokollDC last))
|
||||
return null;
|
||||
|
||||
if (last is null || string.IsNullOrWhiteSpace(last.Fehlernachricht))
|
||||
if (string.IsNullOrWhiteSpace(last.Fehlernachricht))
|
||||
return null;
|
||||
|
||||
if (string.IsNullOrWhiteSpace(last.Fehlertitel))
|
||||
@@ -306,12 +307,10 @@ namespace BeWo.ViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
var last = TransferProtokolle?.LastOrDefault();
|
||||
if (LastTransferProtokoll is GkvTransferProtokollDC last)
|
||||
return last.ErstelltAm;
|
||||
|
||||
if (last is null)
|
||||
return null;
|
||||
|
||||
return last.ErstelltAm;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
public bool IsReady2Send
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace DakotaSender
|
||||
|
||||
internal static void SaveAsXmlFileInResultFolder(GkvServerResultDC result, string tenant, long user)
|
||||
{
|
||||
Program.Print($"Speichere Protokoll Oid \'{result.ProtokollOid}\' als Xml. ");
|
||||
Program.Print($"Speichere Protokoll \'{result.ProtokollOid}\' als Xml. ");
|
||||
|
||||
var xml = GkvServerResultXml.ToXml(result, user);
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace DakotaSender
|
||||
{
|
||||
class Program
|
||||
{
|
||||
static readonly string TEST_TENANT = "7375324044";
|
||||
static readonly string TEST_TENANT = "5000000000";
|
||||
|
||||
static bool time_in_line = false;
|
||||
static bool is_dakota_running = false;
|
||||
@@ -52,6 +52,8 @@ namespace DakotaSender
|
||||
PrintLine($"Verarbeitung im Silent Modus fehlgeschlagen. dakota30.exe läuft (bereits).");
|
||||
PrintLine("Ignoriere Verarbeitung aktuell. Versuche im nächsten Programm Aufruf erneut.");
|
||||
}
|
||||
|
||||
PrintSeperator();
|
||||
}
|
||||
|
||||
PrintEnd();
|
||||
@@ -59,7 +61,7 @@ namespace DakotaSender
|
||||
|
||||
internal static void PrintTitle()
|
||||
{
|
||||
PrintWithTime("\n", false);
|
||||
PrintLine();
|
||||
PrintSeperator();
|
||||
PrintLine("Dakota Sender Modul");
|
||||
PrintSeperator();
|
||||
@@ -70,7 +72,7 @@ namespace DakotaSender
|
||||
PrintLine("Ende");
|
||||
PrintSeperator();
|
||||
}
|
||||
internal static void PrintLine() => PrintLine(null);
|
||||
internal static void PrintLine() => PrintWithTime("\n", false);
|
||||
internal static void PrintLine(string line)
|
||||
{
|
||||
PrintWithTime(line + "\n", !time_in_line);
|
||||
@@ -92,16 +94,14 @@ namespace DakotaSender
|
||||
}
|
||||
internal static void PrintFileInfo(DakotaSystemFile file)
|
||||
{
|
||||
PrintLine($"Verarbeite Datei: {file.SourceNutzdatendatei.Name}");
|
||||
PrintLine($"- Tenant: {file.Tenant}");
|
||||
PrintLine($"- Protokoll Oid: {file.ProtokollOid}");
|
||||
PrintLine($"- Datenannahmestelle: {file.Datenannahmestelle}");
|
||||
Print($"Verarbeite Datei: {file.SourceNutzdatendatei.Name}");
|
||||
PrintLine($"(T:{file.Tenant}, U:{file.ApplicationUserOid}, P:{file.ProtokollOid}, D:{file.Datenannahmestelle})");
|
||||
}
|
||||
internal static void PrintException(Exception e) => PrintLine(e.ToString());
|
||||
|
||||
static void CheckDakotaStatus()
|
||||
{
|
||||
PrintLine("Überprüfe Dakota Status");
|
||||
PrintLine("Überprüfe Dakota Status:");
|
||||
|
||||
var code = ExecuteDakota("-s");
|
||||
|
||||
@@ -137,7 +137,7 @@ namespace DakotaSender
|
||||
continue;
|
||||
}
|
||||
|
||||
PrintLine($"{auft.FullName} gefunden.");
|
||||
PrintLine($"- {auft.FullName}");
|
||||
|
||||
var split = nutz.Name.Split('_');
|
||||
var tenant = split[0];
|
||||
@@ -189,16 +189,22 @@ namespace DakotaSender
|
||||
|
||||
static void HandleQueueFiles()
|
||||
{
|
||||
PrintLine("Scanne Dakota Dateien");
|
||||
PrintLine("Scanne Dakota Dateien:");
|
||||
|
||||
var ten2dat2files = ScanQueueFolder();
|
||||
|
||||
PrintSeperator();
|
||||
|
||||
if (ten2dat2files is null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ten2user2req = new Dictionary<string, Dictionary<long, GkvClientResultRequestDC>>();
|
||||
|
||||
PrintLine("Bearbeite Queue");
|
||||
PrintSeperator();
|
||||
|
||||
foreach (var kv in ten2dat2files)
|
||||
{
|
||||
var ten = kv.Key;
|
||||
@@ -209,7 +215,7 @@ namespace DakotaSender
|
||||
var dat = kv2.Key;
|
||||
var files = kv2.Value;
|
||||
|
||||
PrintLine($"Bearbeite Datenannahmestelle {dat} für Tenant {ten}.");
|
||||
PrintLine($"Bearbeite Datenannahmestelle \'{dat}\' für Tenant \'{ten}\':");
|
||||
|
||||
HandleQueueFiles(files);
|
||||
|
||||
@@ -218,6 +224,9 @@ namespace DakotaSender
|
||||
CheckDakotaStatus();
|
||||
}
|
||||
}
|
||||
|
||||
PrintLine("Bearbeitung Queue beendet");
|
||||
PrintSeperator();
|
||||
}
|
||||
static void HandleQueueFiles(List<DakotaSystemFile> files)
|
||||
{
|
||||
@@ -299,7 +308,12 @@ namespace DakotaSender
|
||||
var user2req = ten2user2req[tenant];
|
||||
|
||||
if (!user2req.ContainsKey(user))
|
||||
user2req.Add(user, new GkvClientResultRequestDC());
|
||||
user2req.Add(user, new GkvClientResultRequestDC()
|
||||
{
|
||||
UserOid = file.ApplicationUserOid,
|
||||
Tenant = file.Tenant,
|
||||
GkvSecretKey = Config.GkvSecretKey
|
||||
});
|
||||
|
||||
var req = user2req[user];
|
||||
|
||||
@@ -319,7 +333,10 @@ namespace DakotaSender
|
||||
|
||||
static void HandleResults()
|
||||
{
|
||||
if (ten2user2req is null)
|
||||
PrintLine("Sende Ergebnisse:");
|
||||
PrintSeperator();
|
||||
|
||||
if (ten2user2req is null || !ten2user2req.Any())
|
||||
return;
|
||||
|
||||
var task = HandleResultsAsync();
|
||||
@@ -340,8 +357,6 @@ namespace DakotaSender
|
||||
|
||||
var task = HandleResult(req, tenant, user);
|
||||
|
||||
task.Start();
|
||||
|
||||
tasks.Add(task);
|
||||
}
|
||||
}
|
||||
@@ -350,12 +365,18 @@ namespace DakotaSender
|
||||
}
|
||||
static async Task HandleResult(GkvClientResultRequestDC req, string tenant, long user)
|
||||
{
|
||||
var res = new GkvResponseDC(false, "empty");
|
||||
|
||||
try
|
||||
{
|
||||
var res = await GkvSender.SendKundenAppClientRequestAsync<GkvClientResultRequestDC, AppResponseDC>(req, tenant, user);
|
||||
PrintLine($"Sende Ergebnis an: Tenant: {req.Tenant}, User; {req.UserOid}");
|
||||
|
||||
res = await GkvSender.SendKundenAppClientRequestAsync<GkvClientResultRequestDC, GkvResponseDC>(req, tenant, user);
|
||||
|
||||
if (res.Success)
|
||||
return;
|
||||
PrintLine("Erfolgreich!");
|
||||
else
|
||||
PrintLine("Fehler: " + res.Message);
|
||||
}
|
||||
catch(GkvException e)
|
||||
{
|
||||
@@ -366,10 +387,17 @@ namespace DakotaSender
|
||||
PrintException(e);
|
||||
}
|
||||
|
||||
PrintSeperator();
|
||||
|
||||
if (res.Success)
|
||||
return;
|
||||
|
||||
foreach (var result in req.ResultDCs)
|
||||
{
|
||||
FileController.SaveAsXmlFileInResultFolder(result, tenant, user);
|
||||
}
|
||||
|
||||
PrintSeperator();
|
||||
}
|
||||
|
||||
static int ExecuteDakota(string arg)
|
||||
|
||||
@@ -170,6 +170,7 @@ namespace BeWo.Data
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//throw new FaultException("ttttt" + e.ToString());
|
||||
throw new FaultException(e.StackTrace + e.InnerException?.Message ?? string.Empty);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,9 @@ namespace BeWo.Data.Entities
|
||||
public virtual IList<InvoiceBase> InvoiceBases { get; set; }
|
||||
public virtual IList<GkvTransferProtokoll> GkvTransferProtokolle { get; set; }
|
||||
|
||||
public IGkvTransferProtokoll LastTransferProtokoll { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||
public virtual IGkvTransferProtokoll LastTransferProtokoll => GkvTransferProtokolle?.LastOrDefault();
|
||||
|
||||
public virtual Organisation GetOrganisation()
|
||||
public virtual Organisation GetOrganisation()
|
||||
{
|
||||
return InvoiceBases.First().CostBearer2SupportConcept.CostBearer.Organisation;
|
||||
}
|
||||
|
||||
@@ -60,8 +60,9 @@ namespace BeWo.Data
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//String path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SessionFactoryError.txt");
|
||||
//System.IO.File.AppendAllText(path, String.Format("{0:dd.MM.yyyy HH:mm:ss}", DateTime.Now) + "\n" + e.Message + "\n" + e.StackTrace);
|
||||
String path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SessionFactoryError.txt");
|
||||
System.IO.File.AppendAllText(@"C:\BeWoPlaner\service\Host\logs\WCFSessionError.txt", String.Format("SessionFactory get {0:dd.MM.yyyy HH:mm:ss}", DateTime.Now) + "\n" + e.Message + "\n" + e.StackTrace);
|
||||
|
||||
Debug.WriteLine("<<<<< " + e.StackTrace + (e.InnerException != null ? e.InnerException.Message : string.Empty));
|
||||
throw new FaultException(e.StackTrace + e.InnerException != null ? e.InnerException.Message : string.Empty);
|
||||
}
|
||||
@@ -157,6 +158,8 @@ namespace BeWo.Data
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
File.AppendAllText(@"C:\BeWoPlaner\service\Host\logs\WCFSessionError.txt", String.Format("OpenSession {0:dd.MM.yyyy HH:mm:ss}", DateTime.Now) + "\n" + e.Message + "\n" + e.StackTrace);
|
||||
|
||||
throw new FaultException(e.StackTrace + e.InnerException?.Message ?? string.Empty);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,12 +108,17 @@ namespace Host
|
||||
protokoll.SentDakotaSuccess = true;
|
||||
break;
|
||||
case GkvTransferResultType.FailSoft:
|
||||
protokoll.SentApp8Success = false;
|
||||
break;
|
||||
case GkvTransferResultType.FailFatal:
|
||||
protokoll.SentApp8Success = false;
|
||||
break;
|
||||
case GkvTransferResultType.FailFollowUp:
|
||||
protokoll.SentApp8Success = false;
|
||||
break;
|
||||
}
|
||||
|
||||
DAOFactory.GenericDAO.Update(protokoll);
|
||||
}
|
||||
|
||||
#region Senden
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
ALTER TABLE `gkvtransferprotokoll`
|
||||
ADD COLUMN `SentSuccess` TINYINT NULL AFTER `Auftragsdatei`;
|
||||
@@ -1,75 +0,0 @@
|
||||
CREATE TABLE `CustomerFalldaten` (
|
||||
`Oid` bigint NOT NULL AUTO_INCREMENT,
|
||||
`InsTs` datetime DEFAULT NULL,
|
||||
`InsUser` varchar(256) DEFAULT NULL,
|
||||
`Notice` varchar(1024) DEFAULT NULL,
|
||||
`Tid` int DEFAULT NULL,
|
||||
`UdpUser` varchar(256) DEFAULT NULL,
|
||||
`Version` bigint DEFAULT NULL,
|
||||
`IsActive` tinyint DEFAULT NULL,
|
||||
`SystemEntryID` int DEFAULT NULL,
|
||||
`EigenesAktenzeichen` varchar(256),
|
||||
`Auftragseingang` datetime DEFAULT NULL,
|
||||
`AuftragsherkunftValueListEntryOid` bigint DEFAULT NULL,
|
||||
`VermittlungsgrundlageValueListEntryOid` bigint DEFAULT NULL,
|
||||
`Tagessatze` decimal(18,10) DEFAULT NULL,
|
||||
`Tagessatzhohe` decimal(18,10) DEFAULT NULL,
|
||||
`HoheDerGeldstrafe` decimal(18,10) DEFAULT NULL,
|
||||
`ZuLeistendeArbeitsstunden` decimal(18,10) DEFAULT NULL,
|
||||
`Hinweis` varchar(256),
|
||||
`Termin` datetime DEFAULT NULL,
|
||||
`FalldatenBearbeitungsstatus` int DEFAULT NULL,
|
||||
`Auftragsruckgabe` varchar(256),
|
||||
`Verlauf` varchar(256),
|
||||
`AbgeleisteteStunden` decimal(18,10) DEFAULT NULL,
|
||||
`ErsparteHafttage` decimal(18,10) DEFAULT NULL,
|
||||
`GeleisteteRatenzahlung` decimal(18,10) DEFAULT NULL,
|
||||
`Bemerkung` varchar(256),
|
||||
`GeleisteteEinmalzahlung` decimal(18,10) DEFAULT NULL,
|
||||
`GrundArbeitsunfahig` tinyint,
|
||||
`GrundSuchtproblem` tinyint,
|
||||
`GrundPsychischeProbleme` tinyint,
|
||||
`GrundKeineMotivation` tinyint,
|
||||
`GrundInHaft` tinyint,
|
||||
`GrundUnbekannt` tinyint,
|
||||
`GrundKeinKontakt` tinyint,
|
||||
`GrundNichtAngetreten` tinyint,
|
||||
`GrundAbbruchDerTatigkeit` tinyint,
|
||||
`GrundWiderruf` tinyint,
|
||||
`Grund459StPO` tinyint,
|
||||
`GrundAusbleibenDerZahlung` tinyint,
|
||||
`BesonderheitMehrfacheBeauftragung` tinyint,
|
||||
`BesonderheitMehrfacheVermittlung` tinyint,
|
||||
`BesonderheitVermittlungAusHaft` tinyint,
|
||||
`BesonderheitDurchBGBWAufgesucht` tinyint,
|
||||
PRIMARY KEY (`Oid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
|
||||
|
||||
ALTER TABLE `customer`
|
||||
ADD COLUMN `CustomerFalldatenOid` BIGINT NULL DEFAULT NULL AFTER `VersichertenStatus`;
|
||||
|
||||
ALTER TABLE `customer`
|
||||
ADD INDEX `FK_CUSTOMERFALLDATEN_idx` (`CustomerFalldatenOid` ASC) VISIBLE;
|
||||
|
||||
ALTER TABLE `customer`
|
||||
ADD CONSTRAINT `FK_CUSTOMERFALLDATEN`
|
||||
FOREIGN KEY (`CustomerFalldatenOid`)
|
||||
REFERENCES `customerfalldaten` (`Oid`)
|
||||
ON DELETE RESTRICT
|
||||
ON UPDATE RESTRICT;
|
||||
|
||||
ALTER TABLE `customerfalldaten`
|
||||
ADD INDEX `FK_AUFTRAGSHERKUNFT_idx` (`AuftragsherkunftValueListEntryOid` ASC) VISIBLE,
|
||||
ADD INDEX `FK_VERMITTLUNGSGRUNDLAGE_idx` (`VermittlungsgrundlageValueListEntryOid` ASC) VISIBLE;
|
||||
|
||||
ALTER TABLE `customerfalldaten`
|
||||
ADD CONSTRAINT `FK_AUFTRAGSHERKUNFT`
|
||||
FOREIGN KEY (`AuftragsherkunftValueListEntryOid`)
|
||||
REFERENCES `valuelistentry` (`Oid`)
|
||||
ON DELETE RESTRICT
|
||||
ON UPDATE RESTRICT,
|
||||
ADD CONSTRAINT `FK_VERMITTLUNGSGRUNDLAGE`
|
||||
FOREIGN KEY (`VermittlungsgrundlageValueListEntryOid`)
|
||||
REFERENCES `valuelistentry` (`Oid`)
|
||||
ON DELETE RESTRICT
|
||||
ON UPDATE RESTRICT;
|
||||
@@ -1,2 +0,0 @@
|
||||
ALTER TABLE `gkvabrechnung`
|
||||
ADD COLUMN `UrbelegeGesendet` TINYINT NULL DEFAULT NULL AFTER `Bezahlt`;
|
||||
@@ -1,5 +0,0 @@
|
||||
ALTER TABLE `organisation`
|
||||
ADD COLUMN `Verfahrensstufe` INT NULL DEFAULT 0 AFTER `BusinessPartnerId`;
|
||||
|
||||
ALTER TABLE `gkvabrechnung`
|
||||
ADD COLUMN `Verfahrensstufe` INT NULL DEFAULT 0 AFTER `ErstelltAm`;
|
||||
@@ -1,4 +0,0 @@
|
||||
ALTER TABLE `gkvtransferprotokoll`
|
||||
ADD COLUMN `SentDakotaSuccess` TINYINT NOT NULL DEFAULT 0 AFTER `SentApp8Success`,
|
||||
CHANGE COLUMN `Fehlerlevel` `ResultType` INT NULL DEFAULT NULL AFTER `SentDakotaSuccess`,
|
||||
CHANGE COLUMN `SentSuccess` `SentApp8Success` TINYINT NOT NULL DEFAULT 0 ;
|
||||
@@ -12,9 +12,11 @@ CREATE TABLE `gkvabrechnung` (
|
||||
`AbrechnungsZeitraumEnde` datetime DEFAULT NULL,
|
||||
`Betrag` decimal(18,10) DEFAULT NULL,
|
||||
`Bezahlt` tinyint DEFAULT NULL,
|
||||
`UrbelegeGesendet` tinyint DEFAULT NULL,
|
||||
`ErstelltAm` datetime DEFAULT NULL,
|
||||
`Verfahrensstufe` int DEFAULT '0',
|
||||
PRIMARY KEY (`Oid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
CREATE TABLE `gkvabrechnung2invoicebase` (
|
||||
`GkvAbrechnungOid` bigint NOT NULL,
|
||||
@@ -52,11 +54,13 @@ CREATE TABLE `gkvtransferprotokoll` (
|
||||
`Dateigrosse` int DEFAULT NULL,
|
||||
`Nutzdatendatei` text,
|
||||
`Auftragsdatei` varchar(1024) DEFAULT NULL,
|
||||
`SentApp8Success` tinyint NOT NULL DEFAULT '0',
|
||||
`SentDakotaSuccess` tinyint NOT NULL DEFAULT '0',
|
||||
`ResultType` int DEFAULT NULL,
|
||||
`Fehlertitel` varchar(256) DEFAULT NULL,
|
||||
`Fehlerdatum` datetime DEFAULT NULL,
|
||||
`Fehlernachricht` varchar(4096) DEFAULT NULL,
|
||||
`Fehlerlevel` int DEFAULT NULL,
|
||||
PRIMARY KEY (`Oid`),
|
||||
KEY `FK_GKVTRANSFERPROTOKOLL_GKVABRECHNUNG` (`GkvAbrechnungOid`),
|
||||
CONSTRAINT `FK_GKVTRANSFERPROTOKOLL_GKVABRECHNUNG` FOREIGN KEY (`GkvAbrechnungOid`) REFERENCES `gkvabrechnung` (`Oid`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
@@ -6,3 +6,4 @@ DROP INDEX `FK_CUSTOMERFALLDATEN_idx` ;
|
||||
;
|
||||
|
||||
|
||||
DROP TABLE `customerfalldaten`;
|
||||
@@ -1170,6 +1170,8 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw e;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1187,21 +1189,40 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
allAreUpToDate = false;
|
||||
|
||||
var gkv_abrechnung_entity = DAOFactory.GenericDAO.LoadByID<GkvAbrechnung>(gkv_abrechnung.GkvAbrechnungOid.Value);
|
||||
|
||||
var protokoll = gkv_abrechnung_entity.GkvTransferProtokolle.First(x => x.Oid == result.ProtokollOid);
|
||||
|
||||
protokoll.ResultType = result.ResultType;
|
||||
protokoll.Fehlerdatum = result.Datum;
|
||||
protokoll.Fehlernachricht = result.Nachricht;
|
||||
protokoll.Fehlertitel = result.Titel;
|
||||
|
||||
DAOFactory.GenericDAO.Update(gkv_abrechnung_entity);
|
||||
HandleResult(result);
|
||||
}
|
||||
|
||||
return allAreUpToDate;
|
||||
}
|
||||
|
||||
private void HandleResult(GkvServerResultDC result)
|
||||
{
|
||||
var protokoll = DAOFactory.GenericDAO.GetByID<GkvTransferProtokoll>(result.ProtokollOid);
|
||||
|
||||
protokoll.ResultType = result.ResultType;
|
||||
protokoll.Fehlertitel = result.Titel;
|
||||
protokoll.Fehlerdatum = result.Datum;
|
||||
protokoll.Fehlernachricht = result.Nachricht;
|
||||
|
||||
switch (result.ResultType)
|
||||
{
|
||||
case GkvTransferResultType.Success:
|
||||
protokoll.SentDakotaSuccess = true;
|
||||
break;
|
||||
case GkvTransferResultType.FailSoft:
|
||||
protokoll.SentApp8Success = false;
|
||||
break;
|
||||
case GkvTransferResultType.FailFatal:
|
||||
protokoll.SentApp8Success = false;
|
||||
break;
|
||||
case GkvTransferResultType.FailFollowUp:
|
||||
protokoll.SentApp8Success = false;
|
||||
break;
|
||||
}
|
||||
|
||||
DAOFactory.GenericDAO.Update(protokoll);
|
||||
}
|
||||
|
||||
|
||||
private Res SendApp8Request<Req, Res>(Req request) where Req : GkvRequestDC where Res : GkvResponseDC
|
||||
{
|
||||
|
||||
@@ -33,8 +33,9 @@ namespace BeWo.Service.UnitOfWork
|
||||
WCFHibernateSessionManager.OpenSession();
|
||||
return lExt;
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new FaultException(e.ToString());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace BS.Shared.AppSender
|
||||
{
|
||||
private static readonly string GKVCLIENT_URL = "{0}/GkvAbrechnungClient.aspx";
|
||||
|
||||
public static string SerializeResponse<Res>(Res response) where Res : AppResponseDC
|
||||
public static string SerializeResponse<Res>(Res response) where Res : GkvResponseDC
|
||||
=> JsonConvert.SerializeObject(response);
|
||||
public static Req DeserializeRequest<Req>(string str, Action sendInvalidInputResponse) where Req : AppRequestDC
|
||||
{
|
||||
@@ -60,7 +60,7 @@ namespace BS.Shared.AppSender
|
||||
return app8_response;
|
||||
}
|
||||
|
||||
public static async Task<Res> SendKundenAppClientRequestAsync<Req, Res>(Req request, string tenant, long useroid) where Req : AppRequestDC where Res : AppResponseDC
|
||||
public static async Task<Res> SendKundenAppClientRequestAsync<Req, Res>(Req request, string tenant, long useroid) where Req : AppRequestDC where Res : GkvResponseDC
|
||||
{
|
||||
string server = AppRequestSender.GetServerFromTenant(tenant);
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace BS.Shared.Core
|
||||
error = $"Die Organisation \"{orga.Name}\" hat kein gültiges IK Kostenträger Kennzeichen: \"{orga.IKKostentrager}\".";
|
||||
else if (!IsIKNumberValid(orga.IKDatenannahmestelle))
|
||||
error = $"Die Organisation \"{orga.Name}\" hat kein gültiges IK Datenannahmestelle Kennzeichen: \"{orga.IKDatenannahmestelle}\".";
|
||||
else if (!string.IsNullOrEmpty(orga.BezDatenannahmestelle))
|
||||
else if (string.IsNullOrWhiteSpace(orga.BezDatenannahmestelle))
|
||||
error = $"Die Organisation \"{orga.Name}\" hat keine gültige Bezeichnung Datenannahmestelle: \"{orga.BezDatenannahmestelle}\".";
|
||||
|
||||
if (error != null)
|
||||
|
||||
@@ -10,6 +10,8 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
[DataContract]
|
||||
public class GkvRequestDC : AppRequestDC
|
||||
{
|
||||
public GkvRequestDC() : base(RequestType.Default) { }
|
||||
|
||||
public GkvRequestDC(RequestType type) : base(type) { }
|
||||
|
||||
public GkvRequestDC(RequestType type, string tenant, string username, string password) : base(type, tenant)
|
||||
|
||||
@@ -9,6 +9,7 @@ namespace BS.Shared.DataContracts.GkvAbrechnung
|
||||
{
|
||||
public class GkvServerGetStatusResponseDC : GkvResponseDC
|
||||
{
|
||||
public GkvServerGetStatusResponseDC() : base() { }
|
||||
public GkvServerGetStatusResponseDC(bool success) : base(success) { }
|
||||
public GkvServerGetStatusResponseDC(bool success, string message) : base(success, message) { }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user