Queries/Hilfepläne mit aktuellen Bewilligungen - mit Stunden und Leistungskategorien
SupportOID=160549
This commit is contained in:
@@ -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;
|
||||
Reference in New Issue
Block a user