Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo

This commit is contained in:
Christian
2025-03-16 20:42:44 +01:00
311 changed files with 49246 additions and 27617 deletions

View File

@@ -0,0 +1,28 @@
-- FÜR SEHT Münster
SELECT
CONCAT(p.`LastName`, ', ', p.`FirstName`) as 'KlientIn',
(select GROUP_CONCAT(CASE WHEN ValueListEntryOid = 12 THEN 'Psychisch' WHEN ValueListEntryOid = 11 THEN 'Geistig' ELSE 'BEIDES' END ORDER BY ValueListEntryOid) AS OID FROM valuelistentry2object vl2o where vl2o.`ValueListEntryOid` in (11,12) and vl2o.`ObjectOid` = c.`Oid` and vl2o.`ObjectTid` = 8 GROUP BY vl2o.`ObjectOid`) as Behinderung,
(select GROUP_CONCAT(CASE WHEN ValueListEntryOid = 47 THEN 'Psychisch' WHEN ValueListEntryOid = 48 THEN 'Geistig' ELSE 'BEIDES' END ORDER BY ValueListEntryOid) AS OID FROM valuelistentry2object vl2o where vl2o.`ValueListEntryOid` in (47,48) and vl2o.`ObjectOid` = c.`Oid` and vl2o.`ObjectTid` = 8 GROUP BY vl2o.`ObjectOid`) as 'Betreuung',
DATE_FORMAT(cb2sc.ApprovedStartDate, '%d.%m.%Y') as 'Bewilligt von',
DATE_FORMAT(cb2sc.ApprovedEndDate, '%d.%m.%Y') as 'Bewilligt bis',
org.Name as 'Kostentraeger',
ROUND(sr.`GeleisteteDir`, 2) as 'Minuten direkt',
ROUND(sr.`GeleisteteDir` / 60, 2) as 'Stunden direkt'
FROM `supportconcept` sc
INNER JOIN `costbearer2supportconcept` cb2sc ON sc.`Oid` = cb2sc.`SupportConceptOid`
INNER JOIN `costbearer` cb ON cb2sc.`CostBearerOid` = cb.`Oid`
INNER JOIN `organisation` org ON org.`CostBearerOid` = cb.`Oid`
INNER JOIN `customer` c ON sc.`CustomerOid` = c.`Oid`
INNER JOIN `person` p on c.`PersonOid` = p.`Oid`
LEFT JOIN
(SELECT sr2.`CostBearer2SupportConceptOid`, SUM(sr2.`roundedduration` / IF(sr2.`GroupEmployeeCount` is null, 1, sr2.`GroupEmployeeCount`)) AS GeleisteteDir FROM `servicerecord` sr2
INNER JOIN `servicedescription` sd ON sr2.`ServiceDescriptionOid` = sd.`Oid`
INNER JOIN `servicecategory` sc ON sd.`ServiceCategoryOid` = sc.`Oid`
WHERE sr2.`StartDate` >= ':Jahr_Start' AND sr2.`StartDate` < ':Jahr_End' AND sc.Oid In (1,5) GROUP BY sr2.`CostBearer2SupportConceptOid`)
AS sr ON sr.`CostBearer2SupportConceptOid` = cb2sc.`Oid`
WHERE c.`IsActive` = 1 AND sc.`IsActive` = 1
ORDER BY p.`LastName`, p.`FirstName`, cb2sc.`ApprovedStartDate`

View File

@@ -0,0 +1,19 @@
-- zunächst für Verein für Beratung und Therapie (LWV)
-- 7113513872 (APP3)
SELECT p.LastName as Nachname, p.FirstName as Vorname,
ROUND(DATEDIFF(CURDATE(), cb2sc.`RequestedStartDate`) / 30, 2) as 'Monate seit Beginn der Betreuung', cb2sc.ApprovedStartDate as 'Bewilligt von', cb2sc.ApprovedEndDate as 'Bewilligt bis',
o.`Name` as 'Kostentraeger',
(select CONCAT(emp1p.`FirstName`, ' ', emp1p.`LastName`) from employee emp1
join `person` emp1p on emp1p.`Oid` = emp1.`PersonOid`
where emp1.`Oid` in (select employeeoid from `employee2customer` e2c1
join `valuelistentry2object` vl2o on e2c1.`Oid` = vl2o.`ObjectOid`
join `valuelistentry` vle on vl2o.`ValueListEntryOid` = vle.`Oid`
where e2c1.`CustomerOid` = cust.`Oid` and vle.`SystemEntryID` = 3) LIMIT 1) as 'Bezugsbetreuung' from `person` p
join `customer` cust on p.Oid = cust.PersonOid join `supportconcept` sc on cust.Oid = sc.CustomerOid
join `costbearer2supportconcept` cb2sc on sc.Oid = cb2sc.SupportConceptOid
join `costbearer` cb on cb2sc.`CostBearerOid` = cb.`Oid`
join `organisation` o on cb.`Oid` = o.`CostBearerOid`
WHERE cb2sc.ApprovedEndDate is not null
AND cb2sc.ApprovedEndDate < CONCAT(YEAR(CURDATE()),-12-31) and cb2sc.ApprovedEndDate >= CURDATE() and cust.IsActive <> 0 and sc.IsActive = 1
ORDER BY cb2sc.ApprovedEndDate;

View File

@@ -0,0 +1,19 @@
-- Bei Arche Tecklenburg 7060431533 (APP3)
-- Summierte Abwesenheiten pro Kalenderjahr, wenn Abwesenheit > 3 Tage -> LWL Vorgaben für bes Wohnformen
SELECT qry.Nachname, qry.Vorname, sum(qry.Dauer)
FROM
(select p.`FirstName` as Vorname, p.`LastName` as Nachname,
ar.`Description` as Kategorie,
at.`Start` as von,
CASE WHEN at.`EndTime`<= ':Jahr_End' THEN at.`EndTime` ELSE ':Jahr_End' END as bis,
datediff(CASE WHEN ifnull(at.`EndTime`, CURDate()) <= ':Jahr_End' THEN at.`EndTime` ELSE ':Jahr_End' END , at.`Start`)-1 AS Dauer,
c.Oid AS cOid
from `person` p
inner join `customer` c on p.`Oid` = c.`PersonOid`
inner join `absencetime` at on c.`Oid` = at.`CustomerOid`
inner join `absencereason` ar on at.`AbsenceReasonOid` = ar.`Oid`
where c.`IsActive` = 1 and at.EndTime >= ':Jahr_Start' and at.Start <= ':Jahr_End')qry
where qry.Dauer > 3
Group by qry.cOid
order by qry.Nachname;