Erste tests, IK kommen mehrfach vor in allen Dateien. Bsp 661400051

This commit is contained in:
2024-07-08 15:25:15 +02:00
parent a932fd0e8e
commit eef7cede42
4 changed files with 21 additions and 6 deletions

View File

@@ -10,9 +10,10 @@ namespace Dakota.Logic
{
public class DakotaKTDReader
{
private static readonly string[] accept = new string[] { "UNH", "IDK", "VDT", "VKG", "UNT"};
private static readonly string[] accept = new string[] { "UNH", "IDK", "FKT", "VKG", "UNT"};
internal Dictionary<string, NachrichtKTD> IK2NachrichtKTD { get; set; }
= new Dictionary<string, NachrichtKTD>();
public DakotaKTDReader(string ktd_folder_path)
{
@@ -49,10 +50,14 @@ namespace Dakota.Logic
}
else if (type == "UNT")
{
if (NachrichtKTD.TryParse(queue.ToArray(), filename, first_line, out var nachricht))
{
IK2NachrichtKTD.Add(nachricht.IKNummer, nachricht);
}
var nachricht = NachrichtKTD.Parse(queue.ToArray(), filename, first_line);
if (IK2NachrichtKTD.ContainsKey(nachricht.IKNummer))
throw new Exception($"Beinhaltet Key bereits: {nachricht.IKNummer} in {filename} - l {first_line}");
IK2NachrichtKTD.Add(nachricht.IKNummer, nachricht);
queue.Clear();
}
else
{

View File

@@ -23,7 +23,7 @@ namespace Dakota.Models.Schlüssels
var schlüssel = GetSchlüsselSafe(list, str);
if (schlüssel is null)
if (schlüssel is null && str != "09")
throw new DakotaException($"ArtDerVerknüpfung {str} nicht gefunden.");
return schlüssel;

View File

@@ -238,6 +238,7 @@
<add key="OpenrouteServiceApiKey" value="5b3ce3597851110001cf62484b0917529e9a4008acda819dc06e47e8" />
<add key="GkvAbrechnungResultFolderPath" value="C:\GkvAbrechnung\Results\" />
<add key="GkvAbrechnungQueueFolderPath" value="C:\GkvAbrechnung\Queue\" />
<add key="GkvKostentragerdateiFolderPath" value="C:\GkvAbrechnung\KTDatei\" />
<add key="DakotaPath" value="C:\Program Files (x86)\ITSG\dakotale\dakota30.exe" />
</appSettings>
<devExpress>

View File

@@ -744,6 +744,15 @@ namespace BeWo.Service.ServiceImplementations
{
try
{
/// ---------------
var path = @"C:\GkvAbrechnung\KTDatei";
var reader = new DakotaKTDReader(path);
/// ---------------
var user = LoggedInUserOperationContextExt.Current?.User ?? SessionFacade.LoggedInUser;
var entries = DAOFactory.GenericDAO.GetAllActive<GkvAbrechnung>();