Queries/Liste aller Klienten mit Betreuung, Hilfeplaneckdaten und Bewilligungsangaben für Gerdas Pflegedienst

This commit is contained in:
2025-09-23 17:18:41 +02:00
parent 74046a5660
commit 5e44f4a77f

View File

@@ -0,0 +1,61 @@
// Ursprünglich Gerdas Pflegedienst 3265049248 (APP1)
// Liste aller Klienten mit Betreuung (Filter über Rollenname) u Hilfeplaneckdaten sowie Bewilligungsangaben
SELECT p.LastName as Nachname, p.FirstName as Vorname,
emp2Cust.Mitarbeiter1 AS `1. Betreuung`,
emp2Cust2.Mitarbeiter2 AS `2. Betreuung`,
emp2Cust3.Mitarbeiter3 AS `Vertretung`,
o.`Name` as 'Kostentraeger',
cb2sc.ApprovedStartDate as 'Bewilligt von',
cb2sc.ApprovedEndDate as 'Bewilligt bis',
sc.ApprovalDate AS 'Bewilligungseingang',
sc.RenewalSendDate AS 'Beantragung Verlängerung',
-- Es folgen nochmal die 3 Betreuer, falls sie im HP vergeben wurden
(SELECT CONCAT(p2.`FirstName`, ' ', p2.`LastName`, ' ', ROUND(scap2e1.Betreuungsschluessel, 2), CASE WHEN scap2e1.IsAbsolut = 0 THEN '%' ELSE '' END)
FROM supportconceptapprovalperiod2employee scap2e1
INNER JOIN `employee` e ON scap2e1.`EmployeeOid` = e.`Oid`
INNER JOIN `person` p2 ON e.`PersonOid` = p2.`Oid`
WHERE scap2e1.SupportConceptApprovalPeriodOid = scap.oid ORDER BY scap2e1.EmployeeOid LIMIT 0, 1) AS `Betreuer 1 aus HP`,
(SELECT CONCAT(p2.`FirstName`, ' ', p2.`LastName`, ' ', ROUND(scap2e1.Betreuungsschluessel, 2), CASE WHEN scap2e1.IsAbsolut = 0 THEN '%' ELSE '' END)
FROM supportconceptapprovalperiod2employee scap2e1
INNER JOIN `employee` e ON scap2e1.`EmployeeOid` = e.`Oid`
INNER JOIN `person` p2 ON e.`PersonOid` = p2.`Oid`
WHERE scap2e1.SupportConceptApprovalPeriodOid = scap.oid ORDER BY scap2e1.EmployeeOid LIMIT 1, 1) AS `Betreuer 2 aus HP`,
(SELECT CONCAT(p2.`FirstName`, ' ', p2.`LastName`, ' ', ROUND(scap2e1.Betreuungsschluessel, 2), CASE WHEN scap2e1.IsAbsolut = 0 THEN '%' ELSE '' END)
FROM supportconceptapprovalperiod2employee scap2e1
INNER JOIN `employee` e ON scap2e1.`EmployeeOid` = e.`Oid`
INNER JOIN `person` p2 ON e.`PersonOid` = p2.`Oid`
WHERE scap2e1.SupportConceptApprovalPeriodOid = scap.oid ORDER BY scap2e1.EmployeeOid LIMIT 2, 1) AS `Betreuer 3 aus HP`,
Round(scap.ApprovedBEPerInterval , 2) as 'Bewilligte Stunden',
CONCAT(Date_Format(scap.Start, '%d.%m.%Y'), ' - ', Date_Format(scap.EndDate, '%d.%m.%Y'), ' ', cat.Name) AS 'Bewilligungsangaben'
from `person` p
inner join `customer` c on p.Oid = c.PersonOid
inner join `supportconcept` sc on c.Oid = sc.CustomerOid
inner join `costbearer2supportconcept` cb2sc on sc.Oid = cb2sc.SupportConceptOid
join `supportconceptapprovalperiod` scap on cb2sc.`Oid` = scap.`CostBearer2SupportConceptOid`
inner join servicecategory cat on scap.ServiceCategoryOid = cat.Oid
inner join `costbearer` cb on cb2sc.`CostBearerOid` = cb.`Oid`
inner join `organisation` o on cb.`Oid` = o.`CostBearerOid`
left outer JOIN
(select e2c.`CustomerOid`, CONCAT(p2.`FirstName`, ' ', p2.`LastName`) as Mitarbeiter1, ve.`Value` as 'Rolle' from `employee2customer` e2c
inner join `employee` e on e2c.`EmployeeOid` = e.`Oid`
inner join `person` p2 on e.`PersonOid` = p2.`Oid`
inner join `valuelistentry2object` v2o on v2o.`ObjectOid` = e2c.`Oid` and v2o.`ObjectTid` = 9
inner join `valuelistentry` ve on v2o.`ValueListEntryOid` = ve.`Oid` and ve.`Value` like '%1. Betreuung%') as emp2Cust
on emp2Cust.`CustomerOid` = c.`Oid`
left outer JOIN
(select e2c.`CustomerOid`, CONCAT(p2.`FirstName`, ' ', p2.`LastName`) as Mitarbeiter2, ve.`Value` as 'Rolle2' from `employee2customer` e2c
inner join `employee` e on e2c.`EmployeeOid` = e.`Oid`
inner join `person` p2 on e.`PersonOid` = p2.`Oid`
inner join `valuelistentry2object` v2o on v2o.`ObjectOid` = e2c.`Oid` and v2o.`ObjectTid` = 9
inner join `valuelistentry` ve on v2o.`ValueListEntryOid` = ve.`Oid` and ve.`Value` like '%2. Betreuung%') as emp2Cust2
on emp2Cust2.`CustomerOid` = c.`Oid`
left outer JOIN
(select e2c.`CustomerOid`, CONCAT(p2.`FirstName`, ' ', p2.`LastName`) as Mitarbeiter3, ve.`Value` as 'Rolle3' from `employee2customer` e2c
inner join `employee` e on e2c.`EmployeeOid` = e.`Oid`
inner join `person` p2 on e.`PersonOid` = p2.`Oid`
inner join `valuelistentry2object` v2o on v2o.`ObjectOid` = e2c.`Oid` and v2o.`ObjectTid` = 9
inner join `valuelistentry` ve on v2o.`ValueListEntryOid` = ve.`Oid` and ve.`Value` like '%Vertretung%') as emp2Cust3
on emp2Cust3.`CustomerOid` = c.`Oid`
WHERE c.IsActive <> 0 and sc.IsActive = 1 and p.LastName <> 'Fahrzeug'
ORDER BY p.LastName;