mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d86ef10d45 | |||
| 2e103ccdd8 | |||
| 3354634b97 |
@@ -39,9 +39,66 @@
|
||||
|
||||
oeffentlich, studiensemester_kurzbz, anmeldefrist,
|
||||
|
||||
(SELECT count(*)
|
||||
FROM public.tbl_rt_person
|
||||
WHERE rt_id=tbl_reihungstest.reihungstest_id
|
||||
(
|
||||
SELECT count(DISTINCT(tbl_rt_person.rt_person_id))
|
||||
FROM public.tbl_rt_person
|
||||
JOIN PUBLIC.tbl_reihungstest rt ON (tbl_rt_person.rt_id = rt.reihungstest_id)
|
||||
JOIN PUBLIC.tbl_prestudent ON (tbl_rt_person.person_id = tbl_prestudent.person_id)
|
||||
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id
|
||||
AND CASE WHEN
|
||||
(
|
||||
get_rolle_prestudent (tbl_prestudent.prestudent_id, null) IN ('Abgewiesener')
|
||||
AND
|
||||
rt.datum > (
|
||||
SELECT MAX(insertamum)
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = 'Abgewiesener'
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
THEN
|
||||
false
|
||||
ELSE
|
||||
true
|
||||
END
|
||||
AND tbl_rt_person.studienplan_id IN (
|
||||
SELECT studienplan_id
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
)
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE ende <= (
|
||||
SELECT start
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY ende DESC LIMIT 1
|
||||
)
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE start >= (
|
||||
SELECT ende
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY start ASC LIMIT 1
|
||||
)
|
||||
)
|
||||
) as anzahl_angemeldet,
|
||||
|
||||
/* Bezeichnung der Studiengaenge der zugeordneten Personen*/
|
||||
|
||||
+175
-11
@@ -377,8 +377,64 @@ class reihungstest extends basis_db
|
||||
$qry = "
|
||||
SELECT *,
|
||||
(
|
||||
SELECT count(*) FROM public.tbl_prestudent
|
||||
WHERE reihungstest_id=a.reihungstest_id
|
||||
SELECT count(DISTINCT(tbl_rt_person.rt_person_id))
|
||||
FROM public.tbl_rt_person
|
||||
JOIN PUBLIC.tbl_prestudent ON (tbl_rt_person.person_id = tbl_prestudent.person_id)
|
||||
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE tbl_rt_person.rt_id = a.reihungstest_id
|
||||
AND CASE WHEN
|
||||
(
|
||||
get_rolle_prestudent (tbl_prestudent.prestudent_id, a.studiensemester_kurzbz) IN ('Abgewiesener')
|
||||
AND
|
||||
a.datum > (
|
||||
SELECT MAX(insertamum)
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = 'Abgewiesener'
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
THEN
|
||||
false
|
||||
ELSE
|
||||
true
|
||||
END
|
||||
AND tbl_rt_person.studienplan_id IN (
|
||||
SELECT studienplan_id
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
)
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = a.studiensemester_kurzbz
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE ende <= (
|
||||
SELECT start
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = a.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY ende DESC LIMIT 1
|
||||
)
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE start >= (
|
||||
SELECT ende
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = a.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY start ASC LIMIT 1
|
||||
)
|
||||
)
|
||||
) as angemeldete_teilnehmer
|
||||
FROM
|
||||
(
|
||||
@@ -504,13 +560,65 @@ class reihungstest extends basis_db
|
||||
*/
|
||||
public function getTeilnehmerAnzahl($reihungstest_id)
|
||||
{
|
||||
$qry = 'SELECT
|
||||
count(*) AS anzahl
|
||||
FROM
|
||||
public.tbl_rt_person
|
||||
WHERE
|
||||
rt_id = '.$this->db_add_param($reihungstest_id, FHC_INTEGER);
|
||||
|
||||
$qry = 'SELECT count(DISTINCT(tbl_rt_person.rt_person_id)) as anzahl
|
||||
FROM public.tbl_rt_person
|
||||
JOIN PUBLIC.tbl_reihungstest rt ON (tbl_rt_person.rt_id = rt.reihungstest_id)
|
||||
JOIN PUBLIC.tbl_prestudent ON (tbl_rt_person.person_id = tbl_prestudent.person_id)
|
||||
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE tbl_rt_person.rt_id = '.$this->db_add_param($reihungstest_id, FHC_INTEGER).'
|
||||
AND CASE WHEN
|
||||
(
|
||||
get_rolle_prestudent (tbl_prestudent.prestudent_id, rt.studiensemester_kurzbz) IN (\'Abgewiesener\')
|
||||
AND
|
||||
rt.datum > (
|
||||
SELECT MAX(insertamum)
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = \'Abgewiesener\'
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
THEN
|
||||
false
|
||||
ELSE
|
||||
true
|
||||
END
|
||||
AND tbl_rt_person.studienplan_id IN (
|
||||
SELECT studienplan_id
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
)
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE ende <= (
|
||||
SELECT start
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY ende DESC LIMIT 1
|
||||
)
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE start >= (
|
||||
SELECT ende
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY start ASC LIMIT 1
|
||||
)
|
||||
)';
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object($result))
|
||||
@@ -1126,8 +1234,64 @@ class reihungstest extends basis_db
|
||||
$qry = "SELECT
|
||||
distinct a.*,
|
||||
(
|
||||
SELECT count(*) FROM public.tbl_rt_person
|
||||
WHERE rt_id=a.reihungstest_id
|
||||
SELECT count(DISTINCT(tbl_rt_person.rt_person_id))
|
||||
FROM public.tbl_rt_person
|
||||
JOIN PUBLIC.tbl_prestudent ON (tbl_rt_person.person_id = tbl_prestudent.person_id)
|
||||
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE tbl_rt_person.rt_id = a.reihungstest_id
|
||||
AND CASE WHEN
|
||||
(
|
||||
get_rolle_prestudent (tbl_prestudent.prestudent_id, a.studiensemester_kurzbz) IN ('Abgewiesener')
|
||||
AND
|
||||
a.datum > (
|
||||
SELECT MAX(insertamum)
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = 'Abgewiesener'
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
THEN
|
||||
false
|
||||
ELSE
|
||||
true
|
||||
END
|
||||
AND tbl_rt_person.studienplan_id IN (
|
||||
SELECT studienplan_id
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
)
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = a.studiensemester_kurzbz
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE ende <= (
|
||||
SELECT start
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = a.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY ende DESC LIMIT 1
|
||||
)
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE start >= (
|
||||
SELECT ende
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = a.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY start ASC LIMIT 1
|
||||
)
|
||||
)
|
||||
) as angemeldete_teilnehmer
|
||||
FROM
|
||||
public.tbl_reihungstest a
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2624,6 +2624,23 @@ if($reihungstest_id!='')
|
||||
JOIN PUBLIC.tbl_prestudent ON (tbl_rt_person.person_id = tbl_prestudent.person_id)
|
||||
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER)."
|
||||
AND CASE WHEN
|
||||
(
|
||||
get_rolle_prestudent (tbl_prestudent.prestudent_id, null) IN ('Abgewiesener')
|
||||
AND
|
||||
rt.datum > (
|
||||
SELECT MAX(insertamum)
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = 'Abgewiesener'
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
THEN
|
||||
false
|
||||
ELSE
|
||||
true
|
||||
END
|
||||
AND tbl_rt_person.studienplan_id IN (
|
||||
SELECT studienplan_id
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
|
||||
Reference in New Issue
Block a user