From b9ffca77aece98ea0581b4322605c7dbfb303a4b Mon Sep 17 00:00:00 2001 From: Alexandra Date: Fri, 29 Sep 2023 12:16:55 +0200 Subject: [PATCH] HphBersenbrueckFreizeitUndReisen/Export/MicosExporter Kostenstellen --- .../Export/MicosExporter.cs | 44 ++++++++++++------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/ReportImp/HphBersenbrueckFreizeitUndReisen/Export/MicosExporter.cs b/ReportImp/HphBersenbrueckFreizeitUndReisen/Export/MicosExporter.cs index d24ae9350..cce7fd359 100644 --- a/ReportImp/HphBersenbrueckFreizeitUndReisen/Export/MicosExporter.cs +++ b/ReportImp/HphBersenbrueckFreizeitUndReisen/Export/MicosExporter.cs @@ -46,14 +46,9 @@ namespace HphBersenbrueckFreizeitUndReisen.Export if (pHeaderCaption != null && pHeaderCaption.Length > 1 && pHeaderCaption[0].Contains("Micos")) { DateTime dt = DateTime.Now; - DateTime.TryParse(pHeaderCaption[1], out dt); - return GetAbrechnungenString(dt, dt, dt); - - } - - + } return null; } @@ -102,11 +97,8 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber */ var dt = ExecuteQuery(sql, date); - var datensaetze = CreateMicosDatensaetze(dt, date); - StringBuilder sb = new StringBuilder(); - foreach (var data in datensaetze) { @@ -146,7 +138,7 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber betrag = "0" + betrag; } sb.Append(betrag); - sb.Append("0004040"); + sb.Append(data.Sachkonto); sb.Append(" "); sb.Append(String.Format("{0:ddMMyy}", data.RechnungsDatum)); // Belegdatum @@ -265,6 +257,7 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber } String kostenstelle = GetKostenstelle(row); + String sachkonto = GetSachkonto(row); String buchungstext = String.Format("{0}", row[5]); // Verwendungszweck buchungstext = buchungstext.Trim(); if (buchungstext.EndsWith(",")) @@ -289,6 +282,7 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber md.Debitor = debitornr; md.Datum = abrechnungsEnddatum; md.RechnungsDatum = rd; + md.Sachkonto = sachkonto; key2Datensatz.Add(key, md); list.Add(md); @@ -300,6 +294,26 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber return list; } + + private static string GetSachkonto(DataRow row) + { + if (row[6] != null) + { + String verwendungszweck = row[6].ToString(); + + if (verwendungszweck.Contains("Sachkosten") || verwendungszweck.Contains("Koordinationspauschale")) + { + return "0004020"; + } + else + { + return "0004040"; + } + } + return "0004040"; + + } + private static string GetKostenstelle(DataRow row) { /* @@ -335,11 +349,11 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber { return "35800"; } - if (verwendungszweck.Contains("Kurzurlaub")) + if (verwendungszweck.Contains("Kurzurlaub") || verwendungszweck.Contains("Kurzreise")) { return "35955"; } - if (verwendungszweck.Contains("Reise")) + if (verwendungszweck.Contains("Reise") || verwendungszweck.Contains("Betreuungskosten") || verwendungszweck.Contains("Koordinationspauschale")) { return "35900"; } @@ -922,9 +936,6 @@ ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate` return DAOFactory.AdoDAO.ExecuteQuery(newsql).Tables[0]; } - - - //Buchung Abrechnung Stundenzettel //F,0,050,, BEWO, DA,01012016,012016, iBelegNr1, Belegnr1,220001,,,,999.99, "Name AZ Abrechnung 01/2016 LVR",,, EUR,,,,,,,,,,, R,,, //G,0,1695,,,-999.99,"Name AZ Abrechnung 01/2016 LVR", @@ -946,7 +957,6 @@ ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate` //schwarz = konstant //rot = variabel - } class MicosDatensatz { @@ -964,6 +974,8 @@ ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate` public String Kostenstelle { get; set; } + public String Sachkonto { get; set; } + public String Buchungstext { get; set; } public String Artikelbezeichnung { get; set; }