lehrstunde get Stundenplan: changed how data for students is retrieved, so that correct gruppen, lektoren etc can be displayed

This commit is contained in:
KarpAlex
2022-12-23 02:44:22 +01:00
parent 19ebe3cfa8
commit 514205c171
+45 -12
View File
@@ -570,6 +570,8 @@ class lehrstunde extends basis_db
$sql_query_stdplan.=' WHERE'.$sql_query;
}
var_dump($sql_query_stdplan);
//Datenbankabfrage
if (!$this->db_query($sql_query_stdplan))
{
@@ -1119,26 +1121,57 @@ class lehrstunde extends basis_db
}
elseif($student_uid!='')
{
$qry.=" tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)."
$qry.=" tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND (
lehreinheit_id IN (
SELECT tbl_lehreinheit.lehreinheit_id
FROM lehre.tbl_lehreinheitgruppe,
tbl_benutzergruppe,
lehre.tbl_lehreinheit
WHERE tbl_lehreinheitgruppe.gruppe_kurzbz::text = tbl_benutzergruppe.gruppe_kurzbz::text
AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitgruppe.lehreinheit_id
AND tbl_lehreinheit.studiensemester_kurzbz::text = tbl_benutzergruppe.studiensemester_kurzbz::text
AND uid=".$this->db_add_param($student_uid)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
UNION
SELECT tbl_lehreinheit.lehreinheit_id
FROM lehre.tbl_lehreinheitgruppe,
tbl_studentlehrverband,
lehre.tbl_lehreinheit
WHERE
(
(
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitgruppe.lehreinheit_id
AND tbl_lehreinheit.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz
AND tbl_studentlehrverband.studiengang_kz = tbl_lehreinheitgruppe.studiengang_kz
AND tbl_studentlehrverband.semester = tbl_lehreinheitgruppe.semester
AND (
btrim(tbl_studentlehrverband.verband::text) = btrim(tbl_lehreinheitgruppe.verband::text)
OR (tbl_lehreinheitgruppe.verband IS NULL OR btrim(tbl_lehreinheitgruppe.verband::text) = '')
AND tbl_lehreinheitgruppe.gruppe_kurzbz IS NULL
)
AND (
btrim(tbl_studentlehrverband.gruppe::text) = btrim(tbl_lehreinheitgruppe.gruppe::text)
OR (tbl_lehreinheitgruppe.gruppe IS NULL OR btrim(tbl_lehreinheitgruppe.gruppe::text) = '')
AND tbl_lehreinheitgruppe.gruppe_kurzbz IS NULL
)
)
)
AND student_uid=".$this->db_add_param($student_uid)." AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)
OR
EXISTS
(
SELECT 1 FROM public.tbl_studentlehrverband stlv
WHERE student_uid=".$this->db_add_param($student_uid)."
AND studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)."
AND studiengang_kz = stpl.studiengang_kz
SELECT 1 FROM public.tbl_studentlehrverband lvb
JOIN lehre.tbl_lehreinheit le ON lvb.studiensemester_kurzbz = le.studiensemester_kurzbz AND le.lehreinheit_id = tbl_lehreinheit.lehreinheit_id
WHERE
studiengang_kz = stpl.studiengang_kz
AND (semester = stpl.semester OR stpl.semester IS NULL)
AND (verband = stpl.verband OR stpl.verband IS NULL OR stpl.verband ='0' OR stpl.verband = '')
AND (gruppe = stpl.gruppe OR stpl.gruppe IS NULL OR stpl.gruppe ='0' OR stpl.gruppe = '')
AND lvb.student_uid=".$this->db_add_param($student_uid)." AND lvb.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)."
AND stpl.gruppe_kurzbz IS NULL
)
OR EXISTS
(
SELECT 1 FROM public.tbl_benutzergruppe
WHERE uid=".$this->db_add_param($student_uid)."
AND gruppe_kurzbz = stpl.gruppe_kurzbz
AND (studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)." OR studiensemester_kurzbz IS NULL)
)
) ";
}
else