From 6e2746e2ac70800a5fdf42c0df63741e2ba0b90a Mon Sep 17 00:00:00 2001 From: Alexandra Date: Mon, 20 Apr 2026 09:06:17 +0200 Subject: [PATCH] =?UTF-8?q?Queries/Hilfepl=C3=A4ne=20mit=20aktuellen=20Bew?= =?UTF-8?q?illigungen=20-=20mit=20Stunden=20und=20Leistungskategorien=20Su?= =?UTF-8?q?pportOID=3D160549?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n - mit Stunden und Leistungskategorien.txt | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Queries/Hilfepläne mit aktuellen Bewilligungen - mit Stunden und Leistungskategorien.txt diff --git a/Queries/Hilfepläne mit aktuellen Bewilligungen - mit Stunden und Leistungskategorien.txt b/Queries/Hilfepläne mit aktuellen Bewilligungen - mit Stunden und Leistungskategorien.txt new file mode 100644 index 000000000..3ddf61f68 --- /dev/null +++ b/Queries/Hilfepläne mit aktuellen Bewilligungen - mit Stunden und Leistungskategorien.txt @@ -0,0 +1,49 @@ +-- Query-Idee für Herrn Ferchland - 2385915144 (APP6) +-- Hilfepläne mit aktuellen Bewilligungen (max 4 Bew mit Leistungskategorie u Stunden / Woche) + +SELECT + p.LastName AS Nachname, + p.FirstName AS Vorname, + o.`Name` AS Kostentraeger, + cb2sc.ApprovedStartDate AS 'Bewilligt von', + cb2sc.ApprovedEndDate AS 'Bewilligt bis', + MAX(CASE WHEN scap.rn = 1 THEN cat1.Name END) AS 'Bewilligung 1', + MAX(CASE WHEN scap.rn = 1 THEN ROUND(scap.ApprovedBEPerInterval, 2) END) AS 'Stunden 1', + MAX(CASE WHEN scap.rn = 2 THEN cat2.Name END) AS 'Bewilligung 2', + MAX(CASE WHEN scap.rn = 2 THEN ROUND(scap.ApprovedBEPerInterval, 2) END) AS 'Stunden 2', + MAX(CASE WHEN scap.rn = 3 THEN cat3.Name END) AS 'Bewilligung 3', + MAX(CASE WHEN scap.rn = 3 THEN ROUND(scap.ApprovedBEPerInterval, 2) END) AS 'Stunden 3' + -- MAX(CASE WHEN scap.rn = 4 THEN ROUND(scap.ApprovedBEPerInterval, 2) END) AS 'Stunden 4', + -- MAX(CASE WHEN scap.rn = 4 THEN CONCAT(DATE_FORMAT(scap.Start, '%d.%m.%Y'), ' - ', DATE_FORMAT(scap.EndDate, '%d.%m.%Y'), ' ', cat4.Name) END) AS 'Bewilligung 4' +FROM `person` p +INNER JOIN `customer` c ON p.Oid = c.PersonOid +LEFT JOIN team2customer t2c ON c.Oid = t2c.CustomerOid +LEFT JOIN team t ON t2c.TeamOid = t.Oid +INNER JOIN `supportconcept` sc ON c.Oid = sc.CustomerOid +INNER JOIN `costbearer2supportconcept` cb2sc ON sc.Oid = cb2sc.SupportConceptOid +INNER JOIN `costbearer` cb ON cb2sc.`CostBearerOid` = cb.`Oid` +INNER JOIN `organisation` o ON cb.`Oid` = o.`CostBearerOid` +INNER JOIN ( + SELECT s1.Oid, s1.CostBearer2SupportConceptOid, s1.ApprovedBEPerInterval, + s1.Start, s1.EndDate, s1.ServiceCategoryOid, + COUNT(s2.Oid) + 1 AS rn + FROM `supportconceptapprovalperiod` s1 + LEFT JOIN `supportconceptapprovalperiod` s2 + ON s1.CostBearer2SupportConceptOid = s2.CostBearer2SupportConceptOid + AND s1.Start <= CURDATE() + AND (s1.EndDate IS NULL OR s1.EndDate >= CURDATE()) + AND (s2.Start < s1.Start OR (s2.Start = s1.Start AND s2.Oid < s1.Oid)) + WHERE s1.Start <= CURDATE() + AND (s1.EndDate IS NULL OR s1.EndDate >= CURDATE()) + GROUP BY s1.Oid, s1.CostBearer2SupportConceptOid, s1.ApprovedBEPerInterval, + s1.Start, s1.EndDate, s1.ServiceCategoryOid +) scap ON cb2sc.Oid = scap.CostBearer2SupportConceptOid +LEFT JOIN servicecategory cat1 ON scap.ServiceCategoryOid = cat1.Oid AND scap.rn = 1 +LEFT JOIN servicecategory cat2 ON scap.ServiceCategoryOid = cat2.Oid AND scap.rn = 2 +LEFT JOIN servicecategory cat3 ON scap.ServiceCategoryOid = cat3.Oid AND scap.rn = 3 +LEFT JOIN servicecategory cat4 ON scap.ServiceCategoryOid = cat4.Oid AND scap.rn = 4 +WHERE c.IsActive = 1 + AND sc.IsActive = 1 +GROUP BY p.Oid, p.LastName, p.FirstName, p.DateOfBirth, + o.`Name`, cb2sc.ApprovedStartDate, cb2sc.ApprovedEndDate +ORDER BY t.Name, p.LastName; \ No newline at end of file