DiakonischesWerkRegensburg/Export/EGeckoExporter.cs - Encoding und Minibugfix
SupportOID=167411
This commit is contained in:
@@ -37,10 +37,24 @@ namespace DiakonischesWerkRegensburg.Export
|
|||||||
var dt = ExecuteQuery(GetMonatlicheRechnungenSql(date), date);
|
var dt = ExecuteQuery(GetMonatlicheRechnungenSql(date), date);
|
||||||
var doc = CreateXML(dt);
|
var doc = CreateXML(dt);
|
||||||
|
|
||||||
using (var sw = new StringWriter())
|
// Der Client schreibt QueryResult als Windows-1252 auf Platte (BeWoUtils.WriteFile).
|
||||||
|
// Damit die Datei trotzdem gültiges UTF-8 mit passender Deklaration ist, werden alle
|
||||||
|
// Nicht-ASCII-Zeichen (Umlaute etc.) als numerische Zeichenreferenzen kodiert.
|
||||||
|
var settings = new XmlWriterSettings
|
||||||
{
|
{
|
||||||
doc.Save(sw);
|
Encoding = Encoding.ASCII,
|
||||||
return sw.ToString();
|
Indent = true,
|
||||||
|
OmitXmlDeclaration = true
|
||||||
|
};
|
||||||
|
|
||||||
|
using (var ms = new MemoryStream())
|
||||||
|
{
|
||||||
|
using (var writer = XmlWriter.Create(ms, settings))
|
||||||
|
{
|
||||||
|
doc.Save(writer);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + Environment.NewLine + Encoding.ASCII.GetString(ms.ToArray());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,7 +177,7 @@ namespace DiakonischesWerkRegensburg.Export
|
|||||||
INNER JOIN person p ON c.personoid = p.oid
|
INNER JOIN person p ON c.personoid = p.oid
|
||||||
WHERE ib.AccountingPeriodEnd >= ':Monat_Start' AND ib.AccountingPeriodEnd < ':Monat_End' AND ib.IsActive = 1 AND ib.InvoiceId = 'Sammelrechnung' AND ib.IsExported = 0
|
WHERE ib.AccountingPeriodEnd >= ':Monat_Start' AND ib.AccountingPeriodEnd < ':Monat_End' AND ib.IsActive = 1 AND ib.InvoiceId = 'Sammelrechnung' AND ib.IsExported = 0
|
||||||
GROUP BY ib.Oid, ib.InvoiceNumber, ib.InvoiceDate, ib.AccountingPeriodEnd, c.Oid, c.DebitorNumber, p.LastName, p.FirstName
|
GROUP BY ib.Oid, ib.InvoiceNumber, ib.InvoiceDate, ib.AccountingPeriodEnd, c.Oid, c.DebitorNumber, p.LastName, p.FirstName
|
||||||
UNION SELECT DISTINCT
|
UNION SELECT
|
||||||
ib.InvoiceDate AS InvoiceDate,
|
ib.InvoiceDate AS InvoiceDate,
|
||||||
c.DebitorNumber AS CustomerDebitor,
|
c.DebitorNumber AS CustomerDebitor,
|
||||||
'1660' AS CustomerCostCenter,
|
'1660' AS CustomerCostCenter,
|
||||||
@@ -171,7 +185,7 @@ namespace DiakonischesWerkRegensburg.Export
|
|||||||
CONCAT(p.LastName, ', ', p.FirstName) AS Verwendungszweck,
|
CONCAT(p.LastName, ', ', p.FirstName) AS Verwendungszweck,
|
||||||
ib.invoicenumber AS InvoiceNumber ,
|
ib.invoicenumber AS InvoiceNumber ,
|
||||||
(SELECT t.name FROM team t INNER JOIN team2customer t2c ON t2c.teamoid = t.oid WHERE t2c.customeroid = c.Oid limit 1) AS TeamName,
|
(SELECT t.name FROM team t INNER JOIN team2customer t2c ON t2c.teamoid = t.oid WHERE t2c.customeroid = c.Oid limit 1) AS TeamName,
|
||||||
CASE WHEN ib.RecipientOrganisation LIKE '%Selbstzahler%' THEN 049030 ELSE 049020 END AS Erloeskonto,
|
CASE WHEN ib.RecipientOrganisation LIKE '%Selbstzahler%' THEN '049030' ELSE '049020' END AS Erloeskonto,
|
||||||
ib.AccountingPeriodEnd AS Periode,
|
ib.AccountingPeriodEnd AS Periode,
|
||||||
ib.Oid AS InvoiceOid
|
ib.Oid AS InvoiceOid
|
||||||
FROM
|
FROM
|
||||||
@@ -182,7 +196,8 @@ namespace DiakonischesWerkRegensburg.Export
|
|||||||
INNER JOIN invoicebase ib ON ib.costbearer2supportconceptoid = c2s.oid
|
INNER JOIN invoicebase ib ON ib.costbearer2supportconceptoid = c2s.oid
|
||||||
INNER JOIN serviceinvoice si ON si.invoicebaseoid = ib.oid
|
INNER JOIN serviceinvoice si ON si.invoicebaseoid = ib.oid
|
||||||
INNER JOIN serviceinvoiceperiod sip ON sip.serviceinvoiceoid = si.oid
|
INNER JOIN serviceinvoiceperiod sip ON sip.serviceinvoiceoid = si.oid
|
||||||
WHERE ib.`AccountingPeriodEnd` >= ':Monat_Start' AND ib.`AccountingPeriodEnd` < ':Monat_End' AND ib.IsActive = 1 AND ib.InvoiceId IS NULL AND ib.IsExported = 0
|
WHERE ib.`AccountingPeriodEnd` >= ':Monat_Start' AND ib.`AccountingPeriodEnd` < ':Monat_End' AND ib.IsActive = 1 AND ib.InvoiceId IS NULL AND ib.IsExported = 0
|
||||||
|
GROUP BY ib.Oid, ib.InvoiceNumber, ib.InvoiceDate, ib.AccountingPeriodEnd, ib.RecipientOrganisation, c.Oid, c.DebitorNumber, p.LastName, p.FirstName
|
||||||
) t
|
) t
|
||||||
WHERE t.InvoiceOid IS NOT NULL
|
WHERE t.InvoiceOid IS NOT NULL
|
||||||
ORDER BY t.invoicenumber
|
ORDER BY t.invoicenumber
|
||||||
|
|||||||
Reference in New Issue
Block a user