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(";");
sb.Append(String.Format("{0}", row[2])); // Sollkonto - Debitornr. Klient bzw. bei Allgemeiner Rechnung Dummy sb.Append(String.Format("{0}", row[2])); // Sollkonto - Debitornr. Klient bzw. bei Allgemeiner Rechnung Dummy
sb.Append(";"); sb.Append(";");
String hbnKto = " S82004"; // Habenkonto für TODO " String hbnKto = GetHabenKonto(row);
if (row[8].ToString().Contains(""))
{
hbnKto = " S82010";
}
sb.Append(String.Format("{0}", hbnKto)); // Habenkonto sb.Append(String.Format("{0}", hbnKto)); // Habenkonto
sb.Append(";"); sb.Append(";");
sb.Append(String.Format("{0:0.00}", row[3])); sb.Append(String.Format("{0:0.00}", row[3]));
sb.Append(";EUR;;;"); sb.Append(";EUR;;;");
sb.Append(String.Format("{0}", row[9])); sb.Append(String.Format("{0}", row[9]));
sb.Append(";;;;;"); sb.Append(";;;;;");
String kreis = "4"; // Buchungskreis TODO String kreis = "4"; // Buchungskreis derzeit fest
if (row[12].ToString().Contains("Inklusionsdienst") || row[12].ToString() == null)
{
kreis = "5";
}
sb.Append(String.Format("{0}", kreis)); sb.Append(String.Format("{0}", kreis));
} }
return sb.ToString(); 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) private static String GetMonatlicheRechnungenSql(DateTime date)
{ {
@@ -136,26 +167,27 @@ ib.AccountingPeriodEnd,
inner join invoiceitem ii on ii.serviceinvoiceperiodoid = sip.oid inner join invoiceitem ii on ii.serviceinvoiceperiodoid = sip.oid
WHERE ib.`AccountingPeriodEnd` >= ':Monat_Start' AND ib.`AccountingPeriodEnd` < ':Monat_End' and ib.IsActive = 1 WHERE ib.`AccountingPeriodEnd` >= ':Monat_Start' AND ib.`AccountingPeriodEnd` < ':Monat_End' and ib.IsActive = 1
UNION UNION
SELECT DISTINCT SELECT
'' AS Oid, '' AS Oid,
ib.invoicenumber, ib.invoicenumber,
'D222222' AS DebitorNumber 'D222222' AS DebitorNumber,
(select ii.AmountTotal from invoiceitem ii where ii.invoicebaseoid = ib.oid), ii.AmountTotal,
ib.InvoiceDate, ib.InvoiceDate,
ib.RecipientOrganisation AS 'VerwendungOrg', ib.RecipientOrganisation AS 'VerwendungOrg',
CONCAT(ib.'RecipientPersonLastName`, ', ', ib.'RecipientPersonFirstName`) as 'VerwendungPerson', CONCAT(ib.RecipientPersonLastName, ', ', ib.RecipientPersonFirstName) AS 'VerwendungPerson',
'S99999' AS DebitorNumber, 'S99999' AS DebitorNumber,
ii.ItemDescription, ii.ItemDescription,
'T60000', 'T60000',
ib.Oid, ib.Oid,
ib.AccountingPeriodEnd, ib.AccountingPeriodEnd,
'Allgemeine Rechnung' AS Team 'Allgemeine Rechnung' AS Team
from invoicebase ib FROM invoicebase ib
inner join organisation org on org.costbeareroid = ib.RecipientOrganisationOid 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 WHERE ib.`AccountingPeriodEnd` >= ':Monat_Start' AND ib.`AccountingPeriodEnd` < ':Monat_End' and ib.IsActive = 1
and ib.Type = 2 AND ib.`IsExported` = 0 and ib.Type = 2 AND ib.`IsExported` = 0
-- order by ib.invoicenumber -- order by ib.invoicenumber
ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate` -- ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate`
"; ";
return sql; return sql;