AkkuratDienstleistungsgesellschaft/Export u Translation - Finetuninig Erlöskonto und Kostenstelle
This commit is contained in:
@@ -68,7 +68,7 @@ namespace Akkurat.Export
|
||||
public static String GetAbrechnungenString(DateTime date)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("B;Mandant;Monat;Buchungsdatum;Rechnungsnummer;Buchungstext;Betrag;Konto;Gegenkonto;Debitor;Beleg1");
|
||||
sb.AppendLine("B;Mandant;Monat;Buchungsdatum;Rechnungsnummer;Buchungstext;Betrag;Konto;Gegenkonto;Debitor;Beleg1;Kostenstelle");
|
||||
|
||||
var s = GetMonatlicheBetraegeString(date, true);
|
||||
if (!String.IsNullOrWhiteSpace(s))
|
||||
@@ -102,7 +102,7 @@ namespace Akkurat.Export
|
||||
string sql = "";
|
||||
if (umsaetze)
|
||||
{
|
||||
sql = GetMonatlicheBetraegeLvrSql(date);
|
||||
sql = GetMonatlicheBetraegeSql(date);
|
||||
return BuildExportString(date, umsaetze, sql);
|
||||
}
|
||||
else
|
||||
@@ -177,7 +177,16 @@ namespace Akkurat.Export
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0}", row[1])); //Debitor als Konto
|
||||
sb.Append(";");
|
||||
sb.Append("8273"); // String.Format("{0}", row[2])); // Erlöskonto
|
||||
bool kostenstelle = false;
|
||||
if (GetKontoUndKostenstelle(row[2].ToString(), out var konto, out var kStelle))
|
||||
{
|
||||
sb.Append(konto); // Erlöskonto
|
||||
kostenstelle = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append("8273"); // Erlöskonto
|
||||
}
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0}", row[1])); //Debitor
|
||||
sb.Append(";");
|
||||
@@ -190,10 +199,35 @@ namespace Akkurat.Export
|
||||
sb.Append(String.Format("{0}", row[4])); //Hilfeplanbez - Vertragsnr.
|
||||
}
|
||||
sb.Append(";");
|
||||
if (kostenstelle)
|
||||
{
|
||||
sb.Append(kStelle); // Kostenstelle
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append(""); // Kostenstelle
|
||||
}
|
||||
sb.Append(";");
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
public static bool GetKontoUndKostenstelle(string notice, out string konto, out string kStelle)
|
||||
{
|
||||
var teile = notice.Split(',');
|
||||
if (teile.Length == 2)
|
||||
{
|
||||
konto = teile[0].Trim();
|
||||
kStelle = teile[1].Trim();
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
konto = kStelle = string.Empty;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static String GetDebitorenSql(DateTime date)
|
||||
{
|
||||
String sql = @"
|
||||
@@ -218,7 +252,7 @@ namespace Akkurat.Export
|
||||
SELECT
|
||||
Round(si.Claim, 2),
|
||||
c.DebitorNumber,
|
||||
c.CostCenter,
|
||||
c2s.Notice,
|
||||
CONCAT('Abrechnung ', p.`LastName`, ' ', p.`FirstName`),
|
||||
ib.InvoiceNumber,
|
||||
ib.InvoiceDate,
|
||||
@@ -242,7 +276,7 @@ namespace Akkurat.Export
|
||||
select
|
||||
sip.Claim,
|
||||
c.DebitorNumber,
|
||||
c.CostCenter,
|
||||
c2s.Notice,
|
||||
CONCAT('Abrechnung ', p.`LastName`, ' ', p.`FirstName`),
|
||||
ib.invoicenumber,
|
||||
ib.InvoiceDate,
|
||||
@@ -262,13 +296,13 @@ namespace Akkurat.Export
|
||||
return sql;
|
||||
}
|
||||
|
||||
private static String GetMonatlicheBetraegeLvrSql(DateTime date)
|
||||
private static String GetMonatlicheBetraegeSql(DateTime date)
|
||||
{
|
||||
String sql = @"
|
||||
SELECT
|
||||
sum(qry.Betrag) AS Betrag,
|
||||
qry.DebitorNumber,
|
||||
qry.CostCenter,
|
||||
qry.Kostenstelle,
|
||||
qry.Verwendung,
|
||||
qry.Auswahlbezeichnung,
|
||||
qry.Oid
|
||||
@@ -278,7 +312,7 @@ namespace Akkurat.Export
|
||||
IF(crpRateFactor.`CostRateValue` is null, ROUND((sr.`GeleisteteFLM` / 60) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND(crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999, 365), crp.`EndDate`) LIMIT 1)),
|
||||
ROUND(ROUND((sr.`GeleisteteFLM` / 60), 2) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND(crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999, 365), crp.`EndDate`) LIMIT 1 ) *((100 + crpRateFactor.`CostRateValue`)/ 100), 2)) AS 'Betrag',
|
||||
c.DebitorNumber,
|
||||
c.CostCenter,
|
||||
cb2sc.Notice AS 'Kostenstelle',
|
||||
CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'Verwendung',
|
||||
cb2sc.Auswahlbezeichnung,
|
||||
cb2sc.Oid
|
||||
@@ -298,12 +332,12 @@ namespace Akkurat.Export
|
||||
INNER JOIN `servicecategory` sc ON sd.`ServiceCategoryOid` = sc.`Oid`
|
||||
WHERE sr2.`StartDate` >= ':Monat_Start' AND sr2.`StartDate` < ':Monat_End' AND sc.`Billable` = 1 and sd.Name <> 'Fehlkontakt' GROUP BY sr2.`CostBearer2SupportConceptOid`)
|
||||
AS sr ON sr.`CostBearer2SupportConceptOid` = cb2sc.`Oid`
|
||||
WHERE c.`IsActive` = 1 AND sc.`IsActive` = 1 and org.Name = 'LVR' and(sr.`GeleisteteFLM` is not null))
|
||||
WHERE c.`IsActive` <> 0 AND sc.`IsActive` <> 0 and(sr.`GeleisteteFLM` is not null))
|
||||
UNION
|
||||
(SELECT
|
||||
ROUND(0.8 * (sr.`GeleisteteFLM` / 60) * (SELECT crp.`CostRateValue` FROM `costrateperiod` crp WHERE crp.`ObjectTid` = 22 AND crp.`CostRateType` = 0 AND crp.`ObjectOid` = cb2sc.`CostBearerOid` AND (crp.`EndDate` is null or crp.`EndDate` > ':Monat_Start') order by IF(crp.`EndDate` is null, MAKEDATE(9999,365),crp.`EndDate`) LIMIT 1 )) AS 'Betrag',
|
||||
c.DebitorNumber,
|
||||
c.CostCenter,
|
||||
c.DebitorNumber,
|
||||
cb2sc.Notice AS 'Kostenstelle',
|
||||
CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'Verwendung',
|
||||
cb2sc.Auswahlbezeichnung,
|
||||
cb2sc.Oid
|
||||
@@ -319,7 +353,7 @@ namespace Akkurat.Export
|
||||
INNER JOIN `servicecategory` sc ON sd.`ServiceCategoryOid` = sc.`Oid`
|
||||
WHERE sr2.`StartDate` >= ':Monat_Start' AND sr2.`StartDate` < ':Monat_End' AND sc.`Billable` = 1 and sd.Name = 'Fehlkontakt' GROUP BY sr2.`CostBearer2SupportConceptOid`)
|
||||
AS sr ON sr.`CostBearer2SupportConceptOid` = cb2sc.`Oid`
|
||||
WHERE c.`IsActive` <> 0 AND sc.`IsActive` <> 0 and org.Name = 'LVR' and (sr.`GeleisteteFLM` is not null)))qry
|
||||
WHERE c.`IsActive` <> 0 AND sc.`IsActive` <> 0 and (sr.`GeleisteteFLM` is not null)))qry
|
||||
GROUP BY qry.OID
|
||||
ORDER BY qry.Verwendung
|
||||
";
|
||||
@@ -330,7 +364,7 @@ namespace Akkurat.Export
|
||||
public static String GetAviseString(DateTime date)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("B;Mandant;Monat;Buchungsdatum;Rechnungsnummer;Buchungstext;Betrag;Konto;Gegenkonto;Debitor;Beleg1");
|
||||
sb.AppendLine("B;Mandant;Monat;Buchungsdatum;Rechnungsnummer;Buchungstext;Betrag;Konto;Gegenkonto;Debitor;Beleg1;Kostenstelle");
|
||||
string export;
|
||||
var sql = GetAbschlagszahlungenSql(date);
|
||||
export = BuildAviseString(date, sql);
|
||||
@@ -375,13 +409,20 @@ namespace Akkurat.Export
|
||||
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("1691"); // String.Format("{0}", row[2])); // Gegenkonot
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0}", row[1])); //Debitor
|
||||
sb.Append(";");
|
||||
sb.Append(String.Format("{0}", row[6])); //Hilfeplanbez - Vertragsnr.
|
||||
|
||||
sb.Append(";");
|
||||
if (GetKontoUndKostenstelle(row[2].ToString(), out var konto, out var kStelle))
|
||||
{
|
||||
sb.Append(kStelle); // Kostenstelle
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append(""); // Kostenstelle
|
||||
}
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
@@ -392,7 +433,7 @@ namespace Akkurat.Export
|
||||
SELECT
|
||||
Round(at.Amount, 2) as 'Betrag',
|
||||
c.DebitorNumber,
|
||||
c.CostCenter,
|
||||
c2s.Notice AS 'Kostenstelle',
|
||||
CONCAT('Abschlagszahlung ', p.FirstName, ' ', p.LastName) as 'Buchungstext',
|
||||
c.DebitorNumber,
|
||||
at.BookingDate,
|
||||
|
||||
@@ -19,6 +19,7 @@ namespace Akkurat.Translation
|
||||
{
|
||||
var dict = base.GetTranslationDictionary();
|
||||
AddOrReplaceTranslation(dict, "Bezeichnung", "Vertragsnummer");
|
||||
AddOrReplaceTranslation(dict, "HilfeplanNotiz", "Erlöskto,KostenSt.");
|
||||
return dict;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user