From 9669360b9ad689ff0dd1d9e04f4471fbebd5ed23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 12 Jan 2018 15:52:20 +0100 Subject: [PATCH] Infocenter Filter angepasst damit die korrekten Personen angezeigt werden --- .../system/infocenter/infocenterData.php | 123 ++++++++++-------- 1 file changed, 69 insertions(+), 54 deletions(-) diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index a4776e14d..6325f3b49 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -2,60 +2,75 @@ $filterWidgetArray = array( 'query' => ' - SELECT * - FROM ( - SELECT p.person_id AS "PersonId", - p.vorname AS "Vorname", - p.nachname AS "Nachname", - p.gebdatum AS "Gebdatum", - (SELECT zeitpunkt - FROM system.tbl_log - WHERE app = \'aufnahme\' - AND person_id = p.person_id - ORDER BY zeitpunkt DESC - LIMIT 1) AS "LastAction", - (SELECT insertvon - FROM system.tbl_log - WHERE app = \'aufnahme\' - AND person_id = p.person_id - ORDER BY zeitpunkt DESC - LIMIT 1) AS "User/Operator", - (SELECT pss.studiensemester_kurzbz - FROM public.tbl_prestudentstatus pss - INNER JOIN public.tbl_prestudent ps USING(prestudent_id) - WHERE pss.status_kurzbz = \'Interessent\' - AND pss.bestaetigtam IS NULL - AND pss.bestaetigtvon IS NULL - AND ps.person_id = p.person_id - ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC - LIMIT 1) AS "Studiensemester", - (SELECT pss.bewerbung_abgeschicktamum - FROM public.tbl_prestudentstatus pss - INNER JOIN public.tbl_prestudent ps USING(prestudent_id) - WHERE pss.status_kurzbz = \'Interessent\' - AND pss.bestaetigtam IS NULL - AND pss.bestaetigtvon IS NULL - AND ps.person_id = p.person_id - ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC - LIMIT 1) AS "SendDate" - FROM public.tbl_person p - WHERE p.aktiv = TRUE - AND p.person_id IN ( - SELECT person_id - FROM public.tbl_prestudent - INNER JOIN public.tbl_prestudentstatus USING(prestudent_id) - WHERE status_kurzbz = \'Interessent\' - AND bestaetigtam IS NULL - AND bestaetigtvon IS NULL) - GROUP BY 1, 2, 4, 5, 6, 7 - ORDER BY "LastAction" DESC - ) tbl_infocenter - WHERE "Studiensemester" IN ( - SELECT studiensemester_kurzbz - FROM public.tbl_studiensemester - WHERE (NOW() >= start AND NOW() <= ende) - OR start > NOW() - ) + SELECT + p.person_id AS "PersonId", + p.vorname AS "Vorname", + p.nachname AS "Nachname", + p.gebdatum AS "Gebdatum", + ( + SELECT zeitpunkt + FROM system.tbl_log + WHERE app = \'aufnahme\' + AND person_id = p.person_id + ORDER BY zeitpunkt DESC + LIMIT 1 + ) AS "LastAction", + ( + SELECT insertvon + FROM system.tbl_log + WHERE app = \'aufnahme\' + AND person_id = p.person_id + ORDER BY zeitpunkt DESC + LIMIT 1 + ) AS "User/Operator", + ( + SELECT + pss.studiensemester_kurzbz + FROM + public.tbl_prestudentstatus pss + INNER JOIN public.tbl_prestudent ps USING(prestudent_id) + WHERE pss.status_kurzbz = \'Interessent\' + AND pss.bestaetigtam IS NULL + AND pss.bestaetigtvon IS NULL + AND ps.person_id = p.person_id + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "Studiensemester", + ( + SELECT pss.bewerbung_abgeschicktamum + FROM + public.tbl_prestudentstatus pss + INNER JOIN public.tbl_prestudent ps USING(prestudent_id) + WHERE pss.status_kurzbz = \'Interessent\' + AND pss.bestaetigtam IS NULL + AND pss.bestaetigtvon IS NULL + AND ps.person_id = p.person_id + ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC + LIMIT 1 + ) AS "SendDate" + FROM public.tbl_person p + WHERE + EXISTS( + SELECT 1 + FROM public.tbl_prestudent + WHERE person_id=p.person_id + AND \'Interessent\' = (SELECT status_kurzbz FROM public.tbl_prestudentstatus + WHERE prestudent_id=tbl_prestudent.prestudent_id + ORDER BY datum DESC, insertamum DESC, ext_id DESC + LIMIT 1 + ) + AND EXISTS (SELECT 1 FROM public.tbl_prestudentstatus + WHERE prestudent_id=tbl_prestudent.prestudent_id + AND status_kurzbz=\'Interessent\' AND bestaetigtam IS NULL and bestaetigtvon IS NULL + AND studiensemester_kurzbz IN ( + SELECT studiensemester_kurzbz + FROM public.tbl_studiensemester + WHERE (NOW() >= start AND NOW() <= ende) + OR start > NOW() + ) + ) + ) + ORDER BY "LastAction" DESC ', 'hideHeader' => false, 'hideSave' => false,