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