LebenshilfeBadKreuznachFUD/Export/SageExporter - Finetuning für Integration

This commit is contained in:
2025-07-23 10:35:27 +02:00
parent 9ae8135d88
commit ac9a7fdb29
2 changed files with 23 additions and 5 deletions

View File

@@ -77,10 +77,11 @@ ib.AccountingPeriodEnd,
//sb.AppendLine("Buchungsdatum; Belegdatum; Belegnummer; Buchungstext; Sollkonto; Habenkonto; Umsatz; Währung; Steuerart; Steuercode; " +
// "Kostenstelle Soll; Kostenstelle Haben; Kostenträger Soll; Kostenträger Haben; Kostenart; Buchungskreis");
var dt = ExecuteQuery(sql, date, teamname);
String LastKonto = "";
StringBuilder sb = new StringBuilder();
foreach (DataRow row in dt.Rows)
for (int i = 0; i < dt.Rows.Count; i++)
{
var row = dt.Rows[i];
if (sb.Length > 0)
{
sb.AppendLine();
@@ -101,12 +102,23 @@ ib.AccountingPeriodEnd,
{
hbnKto = "S82025";
}
// Samstagszuschläge gehören immer auf das gleiche Konto wie die andere Buchung
else if (row[8].ToString() != null && (row[8].ToString().ToLower().Contains("zuschlag") ||
!row[8].ToString().ToLower().Contains("q1") && !row[8].ToString().ToLower().Contains("q2")) && i > 0)
{
if (dt.Rows[i-1][1].ToString() == row[1].ToString() && LastKonto.IsNotNullOrEmpty())
{
hbnKto = LastKonto;
}
}
LastKonto = hbnKto;
sb.Append(String.Format("{0}", hbnKto)); // Habenkonto
sb.Append(";");
sb.Append(String.Format("{0:0.00}", row[3]));
sb.Append(";EUR;;;");
sb.Append("T70400"); // Kostenstelle (String.Format("{0}", row[9]));
sb.Append(";;;;;12"); // Buchungskreis
sb.Append("T70400;"); // Kostenstelle (String.Format("{0}", row[9]));
sb.Append("T70400;"); // Kostenstelle Haben (String.Format("{0}", row[9]));
sb.Append(";;;12"); // Buchungskreis
}
return sb.ToString();
@@ -142,7 +154,7 @@ inner join serviceinvoice si on si.invoicebaseoid = ib.oid
inner join serviceinvoiceperiod sip on sip.serviceinvoiceoid = si.oid
inner join invoiceitem ii on ii.serviceinvoiceperiodoid = sip.oid
WHERE ib.`AccountingPeriodEnd` >= ':Monat_Start' AND ib.`AccountingPeriodEnd` < ':Monat_End' and ib.IsActive = 1
ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate`) AS sqry
ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate`, ii.GrossAmountTotal desc) AS sqry
WHERE Team = ':teamname'
";

View File

@@ -18,6 +18,12 @@ namespace LebenshilfeBadKreuznachFUD.Invoicing
// weitgehend normal, für Entlastung kommt eine Hausbesuchspauschale und für Q1 KANN eine Wegevergütung hinzugefügt werden
public class CustomInvoiceCreation : InvoiceCreation
{
public override void SetInvoiceBaseData(int invoiceCounter, ServiceInvoice invoice, CostBearer costBearer, DateTimeSpan invoicePeriod, IList<CompactSupportConceptDC> supportConceptList)
{
base.SetInvoiceBaseData(invoiceCounter, invoice, costBearer, invoicePeriod, supportConceptList);
invoice.InvoiceBase.InvoiceDate = invoice.InvoiceBase.AccountingPeriodEnd;
}
public override ServiceInvoicePeriod CreateServiceInvoicePeriod(SupportConceptApprovalPeriodDC approvalPeriodDC, DateTimeSpan invoiceAccountingPeriodSpan)
{
var sip = new ServiceInvoicePeriod