HphBersenbrueckFreizeitUndReisen/Export/MicosExporter Kostenstellen

This commit is contained in:
2023-09-29 12:16:55 +02:00
parent 10c48b166e
commit b9ffca77ae

View File

@@ -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; }