AkkuratDienstleistungsgesellschaft/Export/AddisonExporter - Erweiterung für Avise

This commit is contained in:
2025-05-20 09:58:43 +02:00
parent 27827f1f90
commit 28c8cf237d

View File

@@ -29,7 +29,7 @@ namespace Akkurat.Export
else if (query.Title == "Export Abschlagszahlungen")
{
query.FileName = String.Format("avise {0:yyyyMM}.csv", dt);
query.QueryResult = GetAbrechnungenString(dt);
query.QueryResult = GetAviseString(dt);
}
else
{
@@ -327,6 +327,65 @@ namespace Akkurat.Export
return sql;
}
public static String GetAviseString(DateTime date)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("B;Mandant;Monat;Buchungsdatum;Rechnungsnummer;Buchungstext;Betrag;Konto;Gegenkonto;Debitor;Beleg1");
string export;
var sql = GetAbschlagszahlungenSql(date);
export = BuildAviseString(date, sql);
if (!String.IsNullOrWhiteSpace(export))
{
sb.Append(export);
}
return sb.ToString();
}
public static String BuildAviseString(DateTime date, string sql)
{
var dt = ExecuteQuery(sql, date);
StringBuilder sb = new StringBuilder();
foreach (DataRow row in dt.Rows)
{
if (sb.Length > 0)
{
sb.AppendLine();
}
DateTime lastDate = new DateTime(date.Year, date.Month, 1);
lastDate = lastDate.AddMonths(1).AddDays(-1);
if (row[5].ToString().Length > 0)
{
lastDate = (DateTime)row[5];
}
sb.Append("B;499;");
sb.Append(String.Format("{0:MM}{0:yyyy}", lastDate));
sb.Append(";");
sb.Append(String.Format("{0:dd.MM.yyyy}", lastDate));
sb.Append(";");
sb.Append(row[4]);
sb.Append(";");
sb.Append(String.Format("{0:MM}{0:yy} ABW {1}", lastDate, row[3])); //Buchungstext
sb.Append(";");
if (row[0] != null && row[0].ToString().Length > 0)
{
sb.Append(String.Format("{0:0.00}", row[0]));
}
sb.Append(";");
sb.Append(String.Format("{0}", row[1])); //Debitor als Konto
sb.Append(";");
sb.Append("1409"); // String.Format("{0}", row[2])); // Erlöskonto
sb.Append(";");
sb.Append(String.Format("{0}", row[1])); //Debitor
sb.Append(";");
sb.Append(String.Format("{0}", row[6])); //Hilfeplanbez - Vertragsnr.
sb.Append(";");
}
return sb.ToString();
}
private static String GetAbschlagszahlungenSql(DateTime date)
{
String sql = @"
@@ -335,7 +394,9 @@ namespace Akkurat.Export
c.DebitorNumber,
c.CostCenter,
CONCAT('Abschlagszahlung ', p.FirstName, ' ', p.LastName) as 'Buchungstext',
date_format(at.BookingDate, '%d.%m.%Y')
c.DebitorNumber,
at.BookingDate,
c2s.Auswahlbezeichnung
from accountingtransaction at
join costbearer2supportconcept c2s on c2s.oid = at.costbearer2supportconceptoid
join supportconcept sc on sc.oid = c2s.supportconceptoid