LebenshilfeBadKreuznachWohnstaette/Export/SageExporter.cs - 1. Wurf mit Habenkonten und allg. Rechnung

SupportOID=161470
This commit is contained in:
2026-04-29 17:40:50 +02:00
parent 55d89505e1
commit 5d0584792e

View File

@@ -84,28 +84,59 @@ ib.AccountingPeriodEnd,
sb.Append(";");
sb.Append(String.Format("{0}", row[2])); // Sollkonto - Debitornr. Klient bzw. bei Allgemeiner Rechnung Dummy
sb.Append(";");
String hbnKto = " S82004"; // Habenkonto für TODO "
if (row[8].ToString().Contains(""))
{
hbnKto = " S82010";
}
String hbnKto = GetHabenKonto(row);
sb.Append(String.Format("{0}", hbnKto)); // Habenkonto
sb.Append(";");
sb.Append(String.Format("{0:0.00}", row[3]));
sb.Append(";EUR;;;");
sb.Append(String.Format("{0}", row[9]));
sb.Append(";;;;;");
String kreis = "4"; // Buchungskreis TODO
if (row[12].ToString().Contains("Inklusionsdienst") || row[12].ToString() == null)
{
kreis = "5";
}
String kreis = "4"; // Buchungskreis derzeit fest
sb.Append(String.Format("{0}", kreis));
}
return sb.ToString();
}
private static string GetHabenKonto(DataRow row)
{
// row 8 = ItemDesc und row 5 = Orga
String kto = "";
if (row[5].ToString().ToLower() == "selbstzahler")
{
kto = "S82019";
if (row[8].ToString().ToLower().Contains("miete"))
{
kto = "S82039";
}
else if (row[8].ToString().ToLower().Contains("einzelfall"))
{
kto = "S82005";
}
else if (row[8].ToString().ToLower().Contains("sachkosten")) //finde ich so nicht im BeWoPlaner
{
kto = "S82040";
}
}
else
{
if (row[8].ToString().ToLower().Contains("miete")) // ist das richtig?
{
kto = "S82039";
}
else if (row[8].ToString().ToLower().Contains("einzelfall"))
{
kto = "S82005";
}
else if (row[8].ToString().ToLower().Contains("tagesstruktur"))
{
kto = "S82010";
}
}
return kto;
}
private static String GetMonatlicheRechnungenSql(DateTime date)
{
@@ -136,26 +167,27 @@ ib.AccountingPeriodEnd,
inner join invoiceitem ii on ii.serviceinvoiceperiodoid = sip.oid
WHERE ib.`AccountingPeriodEnd` >= ':Monat_Start' AND ib.`AccountingPeriodEnd` < ':Monat_End' and ib.IsActive = 1
UNION
SELECT DISTINCT
'' AS Oid,
ib.invoicenumber,
'D222222' AS DebitorNumber
(select ii.AmountTotal from invoiceitem ii where ii.invoicebaseoid = ib.oid),
ib.InvoiceDate,
ib.RecipientOrganisation AS 'VerwendungOrg',
CONCAT(ib.'RecipientPersonLastName`, ', ', ib.'RecipientPersonFirstName`) as 'VerwendungPerson',
'S99999' AS DebitorNumber,
ii.ItemDescription,
'T60000',
ib.Oid,
ib.AccountingPeriodEnd,
'Allgemeine Rechnung' AS Team
from invoicebase ib
inner join organisation org on org.costbeareroid = ib.RecipientOrganisationOid
SELECT
'' AS Oid,
ib.invoicenumber,
'D222222' AS DebitorNumber,
ii.AmountTotal,
ib.InvoiceDate,
ib.RecipientOrganisation AS 'VerwendungOrg',
CONCAT(ib.RecipientPersonLastName, ', ', ib.RecipientPersonFirstName) AS 'VerwendungPerson',
'S99999' AS DebitorNumber,
ii.ItemDescription,
'T60000',
ib.Oid,
ib.AccountingPeriodEnd,
'Allgemeine Rechnung' AS Team
FROM invoicebase ib
INNER JOIN organisation org ON org.costbeareroid = ib.RecipientOrganisationOid
INNER JOIN invoiceitem ii ON ii.invoicebaseoid = ib.Oid
WHERE ib.`AccountingPeriodEnd` >= ':Monat_Start' AND ib.`AccountingPeriodEnd` < ':Monat_End' and ib.IsActive = 1
and ib.Type = 2 AND ib.`IsExported` = 0
-- order by ib.invoicenumber
ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate`
-- ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate`
";
return sql;