SkfmSozialdienstKatholischerFrauenMaenner/Export/DiamantExporter.cs - Debitornr aus Organisation

This commit is contained in:
2025-01-08 09:37:01 +01:00
parent 40313909e6
commit b7b9321a58

View File

@@ -156,7 +156,7 @@ namespace SKFM.Export
StringBuilder sb = new StringBuilder();
String sql;
DataTable dt;
sql = GetMonatlicheEigenanteileSql();
sql = GetMonatlicheAbrechnungLvrSql();
dt = ExecuteQuery(sql, date);
string s = GetAbrechnungString(date, customerOid, dt);
if (!String.IsNullOrWhiteSpace(s))
@@ -434,8 +434,6 @@ ORDER BY ib.invoicenumber
private static String GetMonatlicheAbrechnungLvrSql()
{
String sql = @"
SELECT
qry.Oid AS OID,
'F',
@@ -463,7 +461,6 @@ FROM
(
(SELECT
':Abrechnungsmonat' AS Abrechnungsmonat,
':Belegnr' AS Belegnr,
c.DebitorNumber as 'DebitorNumber',
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',
@@ -483,7 +480,7 @@ LEFT JOIN
(SELECT sr2.`CostBearer2SupportConceptOid`, SUM(sr2.`roundedduration` / IF(sr2.`GroupEmployeeCount` is null, 1, sr2.`GroupEmployeeCount`)) AS GeleisteteFLM FROM `servicerecord` sr2
INNER JOIN `servicedescription` sd ON sr2.`ServiceDescriptionOid` = sd.`Oid`
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 <> 'Fehlkontakte' GROUP BY sr2.`CostBearer2SupportConceptOid`)
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 (sr.`GeleisteteFLM` is not null)
@@ -491,11 +488,7 @@ HAVING Betrag > 0)
UNION
(SELECT
':Abrechnungsmonat' AS Abrechnungsmonat,
':Belegnr' AS Belegnr,
c.DebitorNumber as 'KontoSoll',
'' as 'KostenstelleSoll',
'S86400' as 'KontoHaben',
c.CostCenter as 'KostenstelleHaben',
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 ),2) AS 'Betrag',
CONCAT('Leistungsabrechnung, ', p.`FirstName`, ' ', p.`LastName`) as 'Buchungstext',
sc.OID AS OID
@@ -513,13 +506,13 @@ LEFT JOIN
(SELECT sr2.`CostBearer2SupportConceptOid`, SUM(sr2.`roundedduration` / IF(sr2.`GroupEmployeeCount` is null, 1, sr2.`GroupEmployeeCount`)) AS GeleisteteFLM FROM `servicerecord` sr2
INNER JOIN `servicedescription` sd ON sr2.`ServiceDescriptionOid` = sd.`Oid`
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 = 'Fehlkontakte' GROUP BY sr2.`CostBearer2SupportConceptOid`)
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 (sr.`GeleisteteFLM` is not null)
HAVING Betrag > 0)) qry
GROUP BY qry.OID
ORDER BY qry.Kontosoll
ORDER BY qry.Buchungstext
";
return sql;