From 16adc28bd331dcafb9a21ac0fcdb2498cdb5d6af Mon Sep 17 00:00:00 2001 From: Alexandra Date: Fri, 22 Mar 2024 10:39:45 +0100 Subject: [PATCH] =?UTF-8?q?HPHBersenbrueck/Export/MicosExporter=20-=20Erg?= =?UTF-8?q?=C3=A4nzung=20Sachkonto=20je=20nach=20Kostentr=C3=A4ger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HPHBersenbrueck/Export/MicosExporter.cs | 40 ++++++++++++++++--- .../HPHBersenbrueck/HPHBersenbrueck.csproj | 1 + .../Translation/TranslationDictionary.cs | 25 ++++++++++++ 3 files changed, 60 insertions(+), 6 deletions(-) create mode 100644 ReportImp/HPHBersenbrueck/Translation/TranslationDictionary.cs diff --git a/ReportImp/HPHBersenbrueck/Export/MicosExporter.cs b/ReportImp/HPHBersenbrueck/Export/MicosExporter.cs index 541a2c5a8..d4ccd7689 100644 --- a/ReportImp/HPHBersenbrueck/Export/MicosExporter.cs +++ b/ReportImp/HPHBersenbrueck/Export/MicosExporter.cs @@ -164,7 +164,8 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber betrag = "0" + betrag; } sb.Append(betrag); - sb.Append("0004040"); + sb.Append("000"); + sb.Append(data.Sachkonto); sb.Append(" "); sb.Append(String.Format("{0:ddMMyy}", data.RechnungsDatum)); // Belegdatum String belegnummer = data.Belegnummer; // Belegnummer @@ -321,11 +322,36 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', IF(cb2sc.CustomerRefenrenceNumber } String belegnummer = String.Format("{0}", row[1]); // Belegnummer - String kostenstelle = GetKostenstelle(row); String buchungstext = String.Format("{0}", row[5]); // Verwendungszweck - String artikel = String.Format("{0}", row[6]); // Verwendungszweck + + //Sachkonten aus Organisation - Debitornummer - Versicherung gegen Fehleintragungen... + String sachkonto = "4000"; + if (row[10] != null) + { + var konto = String.Format("{0}", row[10]); + if (konto.Length == 4) + { + sachkonto = konto; + } + else if (konto.Contains("4000")) + { + sachkonto = "4000"; + } + else if (konto.Contains("4010")) + { + sachkonto = "4010"; + } + else if (konto.Contains("4020")) + { + sachkonto = "4020"; + } + else if (konto.Contains("4040")) + { + sachkonto = "4040"; + } + } MicosDatensatz md = null; String key = String.Format("{0}_{1}", oid, artikel); @@ -345,14 +371,13 @@ 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); } md.Betrag += betrag; - - } return list; @@ -417,7 +442,8 @@ CONCAT(p.`LastName`, ', ', p.`FirstName`, ' ', org.Name) as 'Verwendung', ii.ItemDescription, ib.Oid, ib.AccountingPeriodEnd, -(select t.name from team t inner join team2customer t2c on t2c.teamoid = t.oid where t2c.customeroid = c.Oid limit 1) +(select t.name from team t inner join team2customer t2c on t2c.teamoid = t.oid where t2c.customeroid = c.Oid limit 1), +org.Debitornumber FROM `supportconcept` sc INNER JOIN `costbearer2supportconcept` cb2sc ON sc.`Oid` = cb2sc.`SupportConceptOid` INNER JOIN `costbearer` cb ON cb2sc.`CostBearerOid` = cb.`Oid` @@ -484,5 +510,7 @@ ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate` public String Buchungstext { get; set; } public String Artikelbezeichnung { get; set; } + + public String Sachkonto { get; set; } } } \ No newline at end of file diff --git a/ReportImp/HPHBersenbrueck/HPHBersenbrueck.csproj b/ReportImp/HPHBersenbrueck/HPHBersenbrueck.csproj index 912edf44f..88a9dfa53 100644 --- a/ReportImp/HPHBersenbrueck/HPHBersenbrueck.csproj +++ b/ReportImp/HPHBersenbrueck/HPHBersenbrueck.csproj @@ -134,6 +134,7 @@ Teamauslastung.cs + diff --git a/ReportImp/HPHBersenbrueck/Translation/TranslationDictionary.cs b/ReportImp/HPHBersenbrueck/Translation/TranslationDictionary.cs new file mode 100644 index 000000000..64f3e5875 --- /dev/null +++ b/ReportImp/HPHBersenbrueck/Translation/TranslationDictionary.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.DCEntityMapper; +using BeWo.Service.Plugins; +using BS.Shared; +using BS.Shared.Core; +using BS.Shared.DataContracts.Compact; +using BS.Shared.Extensions; + +namespace HPHBersenbrueck.Translation +{ + public class CustomTranslationDictionary : TranslationDictionary + { + public override Dictionary GetTranslationDictionary() + { + var dict = base.GetTranslationDictionary(); + AddOrReplaceTranslation(dict, "Kundennummer", "Sachkonto"); + return dict; + } + } +}