From a7d925a1774bab9788a824ae557136d327acbe8f Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Fri, 13 Mar 2026 12:58:55 +0100 Subject: [PATCH] even more legacy query projektarbeit join updates le_id -> lva_id & sem_kurzbz; WIP somehow touching the holy statistik queries --- content/mitarbeiter/lehrtaetigkeit.pdf.php | 3 +-- rdf/ktu_abschlusszeugnis.rdf.php | 3 +-- rdf/lehrauftrag_annehmen.xml.php | 7 +++--- rdf/sammelzeugnis.rdf.php | 2 +- vilesci/personen/suche.php | 29 ++++++++++++++++++---- 5 files changed, 31 insertions(+), 13 deletions(-) diff --git a/content/mitarbeiter/lehrtaetigkeit.pdf.php b/content/mitarbeiter/lehrtaetigkeit.pdf.php index 9118d3f60..911df1a9b 100644 --- a/content/mitarbeiter/lehrtaetigkeit.pdf.php +++ b/content/mitarbeiter/lehrtaetigkeit.pdf.php @@ -122,8 +122,7 @@ foreach ($project_arr as $project) // * get studiensemester $pa = new Projektarbeit($pa_id); - $le = new Lehreinheit($pa->lehreinheit_id); - $studiensemester_kurzbz = $le->studiensemester_kurzbz; + $studiensemester_kurzbz = $pa->studiensemester_kurzbz; // * get begin- and end date of studiensemester $ss = new Studiensemester($studiensemester_kurzbz); diff --git a/rdf/ktu_abschlusszeugnis.rdf.php b/rdf/ktu_abschlusszeugnis.rdf.php index c09b945a0..a6c84f867 100644 --- a/rdf/ktu_abschlusszeugnis.rdf.php +++ b/rdf/ktu_abschlusszeugnis.rdf.php @@ -95,8 +95,7 @@ echo "".$note->bezeichnung.""; if(!empty($projektarbeit->result)) { - $lehreinheit = new lehreinheit($projektarbeit->result[0]->lehreinheit_id); - $lehrveranstaltung = new lehrveranstaltung($lehreinheit->lehrveranstaltung_id); + $lehrveranstaltung = new lehrveranstaltung($projektarbeit->result[0]->lehrveranstaltung_id); $note = new note($projektarbeit->result[0]->note); echo "".$projektarbeit->result[0]->titel.""; echo "".$note->bezeichnung.""; diff --git a/rdf/lehrauftrag_annehmen.xml.php b/rdf/lehrauftrag_annehmen.xml.php index d5c850d49..4454707f6 100644 --- a/rdf/lehrauftrag_annehmen.xml.php +++ b/rdf/lehrauftrag_annehmen.xml.php @@ -131,7 +131,8 @@ if ($uid == null) tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND student_uid=vw_student.uid AND tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid AND - tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND + tbl_lehreinheit.lehrveranstaltung_id=tbl_projektarbeit.lehrveranstaltung_id AND + tbl_lehreinheit.studiensemester_kurzbz=tbl_projektarbeit.studiensemester_kurzbz AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($ss)." AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND @@ -428,8 +429,8 @@ function drawLehrauftrag($uid) vertragsstatus_kurzbz FROM lehre.tbl_projektbetreuer pb JOIN lehre.tbl_projektarbeit pa USING (projektarbeit_id) - JOIN lehre.tbl_lehreinheit le USING (lehreinheit_id) - JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id) + JOIN lehre.tbl_lehreinheit ON(pa.lehrveranstaltung_id = lehre.tbl_lehreinheit.lehrveranstaltung_id AND pa.studiensemester_kurzbz = lehre.tbl_lehreinheit.studiensemester_kurzbz) + JOIN lehre.tbl_lehrveranstaltung lv ON (pa.lehrveranstaltung_id = lv.lehrveranstaltung_id) JOIN PUBLIC.tbl_organisationseinheit oe USING (oe_kurzbz) JOIN public.tbl_benutzer benutzer ON pb.person_id = benutzer.person_id JOIN campus.vw_student student ON pa.student_uid = student.uid diff --git a/rdf/sammelzeugnis.rdf.php b/rdf/sammelzeugnis.rdf.php index 2fac133b7..2a64c0bc8 100644 --- a/rdf/sammelzeugnis.rdf.php +++ b/rdf/sammelzeugnis.rdf.php @@ -126,7 +126,7 @@ if(isset($_REQUEST['xmlformat']) && $_REQUEST['xmlformat']=="xml") $qry_projektarbeit = "SELECT lehrveranstaltung_id, titel, themenbereich, note, titel_english FROM lehre.tbl_projektarbeit - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_lehreinheit ON(lehre.tbl_projektarbeit.lehrveranstaltung_id = lehre.tbl_lehreinheit.lehrveranstaltung_id AND lehre.tbl_projektarbeit.studiensemester_kurzbz = lehre.tbl_lehreinheit.studiensemester_kurzbz) WHERE student_uid='$uid' AND projekttyp_kurzbz in('Bachelor', 'Diplom') ORDER BY beginn ASC, projektarbeit_id ASC;"; diff --git a/vilesci/personen/suche.php b/vilesci/personen/suche.php index c24688c61..664cd1063 100644 --- a/vilesci/personen/suche.php +++ b/vilesci/personen/suche.php @@ -715,10 +715,22 @@ function casDeleteMitarbeiter($db, $mitarbeiter_uid, $trans=true) { $qry = ' DELETE FROM lehre.tbl_projektbetreuer - WHERE projektarbeit_id IN (SELECT projektarbeit_id FROM lehre.tbl_projektarbeit - WHERE lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit - WHERE lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung - WHERE koordinator='.$db->db_add_param($mitarbeiter_uid).')))'; + WHERE projektarbeit_id IN ( + SELECT projektarbeit_id + FROM lehre.tbl_projektarbeit + WHERE lehre.tbl_projektarbeit.lehrveranstaltung_id + IN ( + SELECT lehrveranstaltung_id + FROM lehre.tbl_lehrveranstaltung + WHERE koordinator = '.$db->db_add_param($mitarbeiter_uid).' + ) + AND lehre.tbl_projektarbeit.studiensemester_kurzbz + IN ( + SELECT studiensemester_kurzbz + FROM lehre.tbl_lehrveranstaltung + WHERE koordinator = '.$db->db_add_param($mitarbeiter_uid).') + ) + )'; if(!$db->db_query($qry)) $error = true; } @@ -974,7 +986,14 @@ function casDeletePrestudent($db, $prestudent_id, $trans=true) { $qry = ' DELETE FROM lehre.tbl_projektbetreuer - WHERE projektarbeit_id IN (SELECT projektarbeit_id FROM lehre.tbl_projektarbeit WHERE student_uid IN (SELECT student_uid FROM tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).'))'; + WHERE projektarbeit_id IN ( + SELECT projektarbeit_id + FROM lehre.tbl_projektarbeit + WHERE student_uid IN + ( + SELECT student_uid + FROM tbl_student + WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).'))'; if(!$db->db_query($qry)) $error = true; }