From 90aeb00d3c7a53616292e5e5b5a2e550266f2880 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 15 Mar 2023 14:17:04 +0100 Subject: [PATCH] - tbl_bisio prestudent_id hinzugefuegt - betroffene seiten angepasst --- .../education/Lehrveranstaltung_model.php | 7 +- cis/private/lehre/fotoliste.pdf.php | 3 +- cis/private/lehre/notenliste.xls.php | 17 +- content/statistik/studentenstatistik.php | 4 +- content/student/studentDBDML.php | 42 +-- content/student/studentiooverlay.xul.php | 4 +- content/student/studentoverlay.js.php | 18 +- include/bisio.class.php | 34 +-- include/lehrelisthelper.class.php | 12 +- rdf/anwesenheitsliste.xml.php | 6 +- rdf/bisio.rdf.php | 14 +- rdf/diplomasupplement.xml.php | 8 +- rdf/student.rdf.php | 6 +- rdf/zeugnis.rdf.php | 2 +- system/dbupdate_3.4.php | 1 + .../dbupdate_3.4/28276_eine_uid_tbl_bisio.php | 18 ++ system/konsistenzpruefung.php | 2 +- vilesci/personen/suche.php | 2 +- vilesci/statistik/outgoing.php | 256 +++++++++--------- 19 files changed, 238 insertions(+), 218 deletions(-) create mode 100644 system/dbupdate_3.4/28276_eine_uid_tbl_bisio.php diff --git a/application/models/education/Lehrveranstaltung_model.php b/application/models/education/Lehrveranstaltung_model.php index f54443955..8d3379ba1 100644 --- a/application/models/education/Lehrveranstaltung_model.php +++ b/application/models/education/Lehrveranstaltung_model.php @@ -125,7 +125,7 @@ class Lehrveranstaltung_model extends DB_Model public function getStudentsByLv($studiensemester_kurzbz, $lehrveranstaltung_id, $active = null) { $query = "SELECT - distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, + distinct on(nachname, vorname, tbl_person.person_id) vorname, nachname, matrikelnr, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, @@ -136,11 +136,12 @@ class Lehrveranstaltung_model extends DB_Model campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) JOIN public.tbl_person USING(person_id) + LEFT JOIN public.tbl_prestudent ON tbl_person.person_id = tbl_prestudent.person_id LEFT JOIN public.tbl_student ON(uid=student_uid) LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) + LEFT JOIN bis.tbl_bisio ON(tbl_prestudent.prestudent_id = tbl_bisio.prestudent_id) LEFT JOIN public.tbl_studiengang ON(vw_student_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz) WHERE vw_student_lehrveranstaltung.studiensemester_kurzbz=? @@ -156,7 +157,7 @@ class Lehrveranstaltung_model extends DB_Model } $query .= - " ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC"; + " ORDER BY nachname, vorname, tbl_person.person_id, tbl_bisio.bis DESC"; return $this->execQuery($query, array($studiensemester_kurzbz, $lehrveranstaltung_id)); } diff --git a/cis/private/lehre/fotoliste.pdf.php b/cis/private/lehre/fotoliste.pdf.php index 881649ddf..d9810fe77 100644 --- a/cis/private/lehre/fotoliste.pdf.php +++ b/cis/private/lehre/fotoliste.pdf.php @@ -186,6 +186,7 @@ $qry = 'SELECT DISTINCT ON campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) JOIN public.tbl_person USING(person_id) + LEFT JOIN public.tbl_prestudent ON tbl_person.person_id = tbl_prestudent.person_id LEFT JOIN public.tbl_student ON(uid=student_uid) LEFT JOIN public.tbl_studiengang ON(tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz) LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) @@ -193,7 +194,7 @@ $qry = 'SELECT DISTINCT ON LEFT JOIN lehre.tbl_zeugnisnote ON(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) + LEFT JOIN bis.tbl_bisio ON(tbl_bisio.prestudent_id = tbl_prestudent.prestudent_id) WHERE vw_student_lehrveranstaltung.lehrveranstaltung_id=' . $db->db_add_param($lvid, FHC_INTEGER) . ' AND vw_student_lehrveranstaltung.studiensemester_kurzbz=' . $db->db_add_param($studiensemester); diff --git a/cis/private/lehre/notenliste.xls.php b/cis/private/lehre/notenliste.xls.php index 74cb7e7c1..2f3946a0a 100644 --- a/cis/private/lehre/notenliste.xls.php +++ b/cis/private/lehre/notenliste.xls.php @@ -210,8 +210,8 @@ else $qry = " SELECT - distinct on(nachname, vorname, person_id) - vorname, nachname, wahlname, matrikelnr, person_id, tbl_student.student_uid as uid, + distinct on(nachname, vorname, tbl_person.person_id) + vorname, nachname, wahlname, matrikelnr, tbl_person.person_id, tbl_student.student_uid as uid, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus @@ -222,14 +222,17 @@ else (CASE WHEN bis.tbl_mobilitaet.studiensemester_kurzbz = vw_student_lehrveranstaltung.studiensemester_kurzbz THEN '1' ELSE '' END) as doubledegree, tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung FROM - campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) - JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid) + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person ON(tbl_benutzer.person_id = tbl_person.person_id) + JOIN public.tbl_prestudent ON (tbl_person.person_id = tbl_prestudent.person_id) + JOIN public.tbl_student ON(uid=student_uid) LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) - LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id) + LEFT JOIN bis.tbl_bisio ON(tbl_bisio.prestudent_id = tbl_prestudent.prestudent_id) + LEFT JOIN bis.tbl_mobilitaet ON(tbl_mobilitaet.prestudent_id = tbl_prestudent.prestudent_id) LEFT JOIN lehre.tbl_note USING(note) WHERE vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." @@ -238,7 +241,7 @@ else if($lehreinheit_id!='') $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER); - $qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis, doubledegree DESC'; + $qry.=' ORDER BY nachname, vorname, tbl_person.person_id, tbl_bisio.bis, doubledegree DESC'; if($result = $db->db_query($qry)) { diff --git a/content/statistik/studentenstatistik.php b/content/statistik/studentenstatistik.php index 330e67995..340a58042 100644 --- a/content/statistik/studentenstatistik.php +++ b/content/statistik/studentenstatistik.php @@ -124,7 +124,7 @@ if($stsem!='') (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." ) a) AS inc, - (SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid) + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN bis.tbl_bisio USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND (bis>=".$db->db_add_param($stsem_obj->start)." OR bis is null) AND von<=".$db->db_add_param($stsem_obj->ende)." ) a) AS out,"; @@ -272,7 +272,7 @@ if($stsem!='') (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." ) a) AS inc, - (SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid) + (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN bis.tbl_bisio USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND (bis>=".$db->db_add_param($stsem_obj->start)." OR bis is null) AND von<=".$db->db_add_param($stsem_obj->ende)." ) a) AS out,"; diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 2d5c9e0b8..0b9b4cfc1 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -3157,7 +3157,7 @@ if(!$error) $bisio->herkunftsland_code = $_POST['herkunftsland_code']; $bisio->von = $_POST['von']; $bisio->bis = $_POST['bis']; - $bisio->student_uid = $_POST['student_uid']; + $bisio->prestudent_id = $_POST['prestudent_id']; $bisio->lehreinheit_id = $_POST['lehreinheit_id']; $bisio->ort = $_POST['ort']; $bisio->universitaet = $_POST['universitaet']; @@ -3186,13 +3186,13 @@ if(!$error) $bisio = new bisio(); if($bisio->load($_POST['bisio_id'])) { - $student = new student(); - if($student->load($bisio->student_uid)) + $prestudent = new prestudent(); + if($prestudent->load($bisio->prestudent_id)) { //Speichert einen BisIO Eintrag - if(!$rechte->isBerechtigt('assistenz',$student->studiengang_kz,'suid') && - !$rechte->isBerechtigt('admin',$student->studiengang_kz, 'suid')) + if(!$rechte->isBerechtigt('assistenz',$prestudent->studiengang_kz,'suid') && + !$rechte->isBerechtigt('admin',$prestudent->studiengang_kz, 'suid')) { $error = true; $return = false; @@ -3223,7 +3223,7 @@ if(!$error) } else { - $errormsg = $student->errormsg; + $errormsg = $prestudent->errormsg; $return = false; } } @@ -3238,12 +3238,12 @@ if(!$error) $bisio = new bisio(); if($bisio->load($_POST['bisio_id'])) { - $student = new student(); - if($student->load($bisio->student_uid)) + $prestudent = new prestudent(); + if($prestudent->load($bisio->prestudent_id)) { //Speichert einen BisIO Eintrag - if(!$rechte->isBerechtigt('assistenz',$student->studiengang_kz,'suid') && - !$rechte->isBerechtigt('admin',$student->studiengang_kz, 'suid')) + if(!$rechte->isBerechtigt('assistenz',$prestudent->studiengang_kz,'suid') && + !$rechte->isBerechtigt('admin',$prestudent->studiengang_kz, 'suid')) { $error = true; $return = false; @@ -3273,7 +3273,7 @@ if(!$error) } else { - $errormsg = $student->errormsg; + $errormsg = $prestudent->errormsg; $return = false; } } @@ -3288,13 +3288,13 @@ if(!$error) $bisio = new bisio(); if($bisio->load($_POST['bisio_id'])) { - $student = new student(); - if($student->load($bisio->student_uid)) + $prestudent = new prestudent(); + if($prestudent->load($bisio->prestudent_id)) { //Speichert einen BisIO Eintrag - if(!$rechte->isBerechtigt('assistenz',$student->studiengang_kz,'suid') && - !$rechte->isBerechtigt('admin',$student->studiengang_kz, 'suid')) + if(!$rechte->isBerechtigt('assistenz',$prestudent->studiengang_kz,'suid') && + !$rechte->isBerechtigt('admin',$prestudent->studiengang_kz, 'suid')) { $error = true; $return = false; @@ -3325,7 +3325,7 @@ if(!$error) } else { - $errormsg = $student->errormsg; + $errormsg = $prestudent->errormsg; $return = false; } } @@ -3340,12 +3340,12 @@ if(!$error) $bisio = new bisio(); if($bisio->load($_POST['bisio_id'])) { - $student = new student(); - if($student->load($bisio->student_uid)) + $prestudent = new prestudent(); + if($prestudent->load($bisio->prestudent_id)) { //Speichert einen BisIO Eintrag - if(!$rechte->isBerechtigt('assistenz',$student->studiengang_kz,'suid') && - !$rechte->isBerechtigt('admin',$student->studiengang_kz, 'suid')) + if(!$rechte->isBerechtigt('assistenz',$prestudent->studiengang_kz,'suid') && + !$rechte->isBerechtigt('admin',$prestudent->studiengang_kz, 'suid')) { $error = true; $return = false; @@ -3375,7 +3375,7 @@ if(!$error) } else { - $errormsg = $student->errormsg; + $errormsg = $prestudent->errormsg; $return = false; } } diff --git a/content/student/studentiooverlay.xul.php b/content/student/studentiooverlay.xul.php index ae4d9643c..7bcc7f614 100644 --- a/content/student/studentiooverlay.xul.php +++ b/content/student/studentiooverlay.xul.php @@ -105,8 +105,8 @@ echo ''; diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index 6357b4b52..85d2e819f 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -1504,12 +1504,12 @@ function StudentAuswahl() StudentAkteTreeDatasource.addXMLSinkObserver(StudentAkteTreeSinkObserver); } - if(uid!='') + if(prestudent_id!='') { // *** Incomming/Outgoing *** bisiotree = document.getElementById('student-io-tree'); - url='rdf/bisio.rdf.php?uid='+uid+"&"+gettimestamp(); + url='rdf/bisio.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp(); try { @@ -3529,7 +3529,7 @@ function StudentIOAuswahl() von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#von" )); bis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bis" )); zweck_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zweck_code" )); - student_uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#student_uid" )); + prestudent_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#prestudent_id" )); lehreinheit_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_id" )); lehrveranstaltung_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id" )); studiensemester_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiensemester_kurzbz" )); @@ -3603,7 +3603,7 @@ function StudentIOAuswahl() document.getElementById('student-io-menulist-herkunftsland').value=herkunftsland_code; document.getElementById('student-io-textbox-von').value=von; document.getElementById('student-io-textbox-bis').value=bis; - document.getElementById('student-io-detail-textbox-uid').value=student_uid; + document.getElementById('student-io-detail-textbox-prestudent_id').value=prestudent_id; document.getElementById('student-io-detail-checkbox-neu').checked=false; document.getElementById('student-io-detail-textbox-bisio_id').value=bisio_id; document.getElementById('student-io-textbox-ort').value=ort; @@ -3881,7 +3881,7 @@ function StudentIODetailSpeichern() nation_code = document.getElementById('student-io-menulist-nation').value; herkunftsland_code = document.getElementById('student-io-menulist-herkunftsland').value; zweck_code = document.getElementById('student-io-menulist-zweck').value; - uid = document.getElementById('student-io-detail-textbox-uid').value; + prestudent_id = document.getElementById('student-io-detail-textbox-prestudent_id').value; neu = document.getElementById('student-io-detail-checkbox-neu').checked; bisio_id = document.getElementById('student-io-detail-textbox-bisio_id').value; lehreinheit_id = document.getElementById('student-io-menulist-lehreinheit').value; @@ -3919,7 +3919,7 @@ function StudentIODetailSpeichern() req.add('nation_code', nation_code); req.add('herkunftsland_code', herkunftsland_code); req.add('zweck_code', zweck_code); - req.add('student_uid', uid); + req.add('prestudent_id', prestudent_id); req.add('studiengang_kz', studiengang_kz); req.add('lehreinheit_id', lehreinheit_id); req.add('ort', ort); @@ -4019,12 +4019,12 @@ function StudentIONeu() if(tag<10) tag='0'+tag; - var uid = document.getElementById('student-detail-textbox-uid').value; + var prestudent_id = document.getElementById('student-io-detail-textbox-prestudent_id').value; var defaultdatum = tag+'.'+monat+'.'+jahr; var mobilitaetsprogramm = 7; // ERASMUS //UID ins Textfeld schreiben - document.getElementById('student-io-detail-textbox-uid').value = uid; + document.getElementById('student-io-detail-textbox-prestudent_id').value = prestudent_id; document.getElementById('student-io-detail-checkbox-neu').checked = true; document.getElementById('student-io-textbox-von').value = defaultdatum; document.getElementById('student-io-textbox-bis').value = defaultdatum; @@ -4056,7 +4056,7 @@ function StudentIONeu() req.add('mobilitaetsprogramm_code', mobilitaetsprogramm); req.add('nation_code', 'A'); req.add('herkunftsland_code', 'A'); - req.add('student_uid', uid); + req.add('prestudent_id', prestudent_id); req.add('studiengang_kz', stg_kz); req.add('lehreinheit_id', ''); req.add('ort', ''); diff --git a/include/bisio.class.php b/include/bisio.class.php index a0b5db315..ac46748a4 100644 --- a/include/bisio.class.php +++ b/include/bisio.class.php @@ -38,7 +38,7 @@ class bisio extends basis_db public $von; // date public $bis; // date public $zweck_code; // varchar(20) - public $student_uid; // varchar(16) + public $prestudent_id; // integer public $updateamum; // timestamp public $updatevon; // varchar(32) public $insertamum; // timestamp @@ -90,7 +90,7 @@ class bisio extends basis_db $this->nation_code = $row->nation_code; $this->von = $row->von; $this->bis = $row->bis; - $this->student_uid = $row->student_uid; + $this->prestudent_id = $row->prestudent_id; $this->updateamum = $row->updateamum; $this->updatevon = $row->updatevon; $this->insertamum = $row->insertamum; @@ -142,12 +142,6 @@ class bisio extends basis_db return false; } - if (mb_strlen($this->student_uid) > 32) - { - $this->errormsg = 'Student_UID ist ungueltig'; - return false; - } - if ($this->von != '' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $this->von)) { $this->errormsg = 'VON-Datum hat ein ungueltiges Format'; @@ -203,13 +197,13 @@ class bisio extends basis_db //Neuen Datensatz einfuegen $qry='BEGIN;INSERT INTO bis.tbl_bisio (mobilitaetsprogramm_code, nation_code, von, bis, - student_uid, updateamum, updatevon, insertamum, insertvon, ort, universitaet, lehreinheit_id, + prestudent_id, updateamum, updatevon, insertamum, insertvon, ort, universitaet, lehreinheit_id, ects_angerechnet, ects_erworben, herkunftsland_code) VALUES('. $this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', '. $this->db_add_param($this->nation_code).', '. $this->db_add_param($this->von).', '. $this->db_add_param($this->bis).', '. - $this->db_add_param($this->student_uid).', '. + $this->db_add_param($this->prestudent_id, FHC_INTEGER).', '. $this->db_add_param($this->updateamum).', '. $this->db_add_param($this->updatevon).', '. $this->db_add_param($this->insertamum).', '. @@ -229,7 +223,7 @@ class bisio extends basis_db ' nation_code='.$this->db_add_param($this->nation_code).','. ' von='.$this->db_add_param($this->von).','. ' bis='.$this->db_add_param($this->bis).','. - ' student_uid='.$this->db_add_param($this->student_uid).','. + ' prestudent_id='.$this->db_add_param($this->prestudent_id, FHC_INTEGER).','. ' updateamum='.$this->db_add_param($this->updateamum).','. ' updatevon='.$this->db_add_param($this->updatevon).','. ' ort='.$this->db_add_param($this->ort).','. @@ -303,10 +297,10 @@ class bisio extends basis_db /** * Liefert alle Incomming/Outgoing * Eintraege eines Studenten - * @param $uid + * @param $prestudent_id * @return true wenn ok, false wenn fehler */ - public function getIO($uid) + public function getIO($prestudent_id) { $qry = "SELECT tbl_bisio.*, tbl_mobilitaetsprogramm.kurzbz as mobilitaetsprogramm_kurzbz @@ -314,7 +308,7 @@ class bisio extends basis_db bis.tbl_bisio, bis.tbl_mobilitaetsprogramm WHERE - student_uid=".$this->db_add_param($uid)." AND + prestudent_id=".$this->db_add_param($prestudent_id)." AND tbl_mobilitaetsprogramm.mobilitaetsprogramm_code=tbl_bisio.mobilitaetsprogramm_code ORDER BY bis;"; @@ -330,7 +324,7 @@ class bisio extends basis_db $io->nation_code = $row->nation_code; $io->von = $row->von; $io->bis = $row->bis; - $io->student_uid = $row->student_uid; + $io->prestudent_id = $row->prestudent_id; $io->updateamum = $row->updateamum; $io->updatevon = $row->updatevon; $io->insertamum = $row->insertamum; @@ -356,15 +350,15 @@ class bisio extends basis_db /** * Liefert alle Incoming/Outgoing - * Eintraege eines Studenten, die + * Eintraege eines Prestudenten, die * innerhalb des gewuenschten * Zeitraums beginnen - * @param $uid + * @param $prestudent_id * @param $von * @param $bis * @return true wenn ok, false wenn fehler */ - public function getIOForPeriod($uid, $von, $bis) + public function getIOForPeriod($prestudent_id, $von, $bis) { $qry = "SELECT tbl_bisio.*, tbl_mobilitaetsprogramm.kurzbz as mobilitaetsprogramm_kurzbz @@ -372,7 +366,7 @@ class bisio extends basis_db bis.tbl_bisio, bis.tbl_mobilitaetsprogramm WHERE - student_uid=".$this->db_add_param($uid)." AND + prestudent_id=".$this->db_add_param($prestudent_id)." AND tbl_mobilitaetsprogramm.mobilitaetsprogramm_code=tbl_bisio.mobilitaetsprogramm_code AND tbl_bisio.von BETWEEN ".$this->db_add_param($von)." AND ".$this->db_add_param($bis)." ORDER BY bis;"; @@ -389,7 +383,7 @@ class bisio extends basis_db $io->nation_code = $row->nation_code; $io->von = $row->von; $io->bis = $row->bis; - $io->student_uid = $row->student_uid; + $io->prestudent_id = $row->prestudent_id; $io->updateamum = $row->updateamum; $io->updatevon = $row->updatevon; $io->insertamum = $row->insertamum; diff --git a/include/lehrelisthelper.class.php b/include/lehrelisthelper.class.php index d6ceaf918..5b5e118e0 100644 --- a/include/lehrelisthelper.class.php +++ b/include/lehrelisthelper.class.php @@ -200,7 +200,7 @@ class LehreListHelper //Studierende der LV laden und in ein Array schreiben $qry = 'SELECT - distinct on(nachname, vorname, person_id) vorname, nachname, wahlname, matrikelnr, public.tbl_student.student_uid, + distinct on(nachname, vorname, tbl_person.person_id) vorname, nachname, wahlname, matrikelnr, public.tbl_student.student_uid, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id @@ -213,16 +213,18 @@ class LehreListHelper FROM campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) - JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) + JOIN public.tbl_person USING(person_id) + LEFT JOIN public.tbl_prestudent ON (tbl_person.person_id = tbl_prestudent.person_id) + LEFT JOIN public.tbl_student ON(uid=student_uid) LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) LEFT JOIN lehre.tbl_note USING (note) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) + LEFT JOIN bis.tbl_bisio ON(tbl_prestudent.prestudent_id = tbl_bisio.prestudent_id) LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz) - LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id) + LEFT JOIN bis.tbl_mobilitaet ON(tbl_prestudent.prestudent_id = tbl_mobilitaet.prestudent_id) WHERE vw_student_lehrveranstaltung.lehrveranstaltung_id='.$this->db->db_add_param($this->lvid, FHC_INTEGER).' AND vw_student_lehrveranstaltung.studiensemester_kurzbz='.$this->db->db_add_param($this->studiensemester); @@ -231,7 +233,7 @@ class LehreListHelper if($this->lehreinheit!='') $qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$this->db->db_add_param($this->lehreinheit, FHC_INTEGER); - $qry.=' ORDER BY nachname, vorname, person_id, daysout DESC, doubledegree DESC'; + $qry.=' ORDER BY nachname, vorname, tbl_person.person_id, daysout DESC, doubledegree DESC'; $stsem_obj = new studiensemester(); $stsem_obj->load($this->studiensemester); diff --git a/rdf/anwesenheitsliste.xml.php b/rdf/anwesenheitsliste.xml.php index 8bd9e80c8..d1644130f 100644 --- a/rdf/anwesenheitsliste.xml.php +++ b/rdf/anwesenheitsliste.xml.php @@ -123,10 +123,10 @@ foreach($data as $key => $value) . "LEFT JOIN lehre.tbl_zeugnisnote zn ON (zn.lehrveranstaltung_id = stlv.lehrveranstaltung_id AND zn.student_uid = stlv.uid AND zn.studiensemester_kurzbz = " . $db->db_add_param($studiensemester) . ") " . "WHERE stlv.lehreinheit_id = " . $db->db_add_param($key) . " " . "AND get_rolle_prestudent(tbl_student.prestudent_id, " . $db->db_add_param($studiensemester) . ") NOT IN ('Abbrecher', 'Unterbrecher') " - . "AND tbl_student.student_uid NOT IN (" - . "SELECT stud.student_uid " + . "AND tbl_student.prestudent_id NOT IN (" + . "SELECT bis.prestudent_id " . "FROM bis.tbl_bisio bis " - . "JOIN public.tbl_student stud ON bis.student_uid = stud.student_uid " + . "JOIN public.tbl_student stud ON bis.prestudent_id = stud.prestudent_id " . "WHERE bis.von <= " . $db->db_add_param($currentDay) . "::DATE AND bis.bis >= " . $db->db_add_param($currentDay) . "::DATE) " . "ORDER BY nachname ASC"; diff --git a/rdf/bisio.rdf.php b/rdf/bisio.rdf.php index 6be46c54b..b2be560f6 100644 --- a/rdf/bisio.rdf.php +++ b/rdf/bisio.rdf.php @@ -36,10 +36,10 @@ require_once('../include/datum.class.php'); echo ''; -if(isset($_GET['uid'])) - $uid = $_GET['uid']; +if(isset($_GET['prestudent_id'])) + $prestudent_id = $_GET['prestudent_id']; else - $uid = null; + $prestudent_id = null; if(isset($_GET['bisio_id'])) $bisio_id = $_GET['bisio_id']; @@ -61,11 +61,11 @@ echo ' //Daten holen $ioobj = new bisio(); -//Wenn die UID uebergeben wurde, dann werden alle +//Wenn die prestudent_id uebergeben wurde, dann werden alle //Eintraege dieser Person geladen -if($uid) +if($prestudent_id) { - if($ioobj->getIO($uid)) + if($ioobj->getIO($prestudent_id)) { foreach ($ioobj->result as $row) draw_content($row); @@ -116,7 +116,7 @@ function draw_content($row) convertISODate($row->von).']]> bis.']]> convertISODate($row->bis).']]> - student_uid.']]> + prestudent_id.']]> lehreinheit_id.']]> ort.']]> universitaet.']]> diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php index 47da798b7..4a6978020 100644 --- a/rdf/diplomasupplement.xml.php +++ b/rdf/diplomasupplement.xml.php @@ -375,7 +375,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") WHERE tbl_bisio_zweck.bisio_id = tbl_bisio.bisio_id ) zweck, ort, universitaet FROM bis.tbl_bisio - WHERE student_uid=".$db->db_add_param($uid_arr[$i]); + WHERE prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER); if($db->db_query($qry)) { @@ -661,7 +661,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $qry .= " AND NOT EXISTS(SELECT 1 FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND student_uid=".$db->db_add_param($uid_arr[$i])." + AND prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER)." AND tbl_lehreinheit.studiensemester_kurzbz in(".$sqlStudent->implode4SQL($aktuellesSemester).")) ORDER BY sort, tbl_lehrveranstaltung.bezeichnung;"; @@ -836,7 +836,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE lehrveranstaltung_id=".$db->db_add_param($row_stud->lehrveranstaltung_id)." - AND student_uid=".$db->db_add_param($uid_arr[$i]).") + AND prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER).") ORDER BY beginn DESC, projektarbeit_id DESC LIMIT 1;"; if($result_thesis = $db->db_query($qry)) @@ -899,7 +899,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE - student_uid = ".$db->db_add_param($uid_arr[$i]); + prestudent_id = ".$db->db_add_param($row->prestudent_id, FHC_INTEGER); if($result_outgoing = $db->db_query($qry_outgoing)) { diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index af0bbe82d..b545d99ee 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -656,9 +656,9 @@ if($xmlformat=='rdf') { $stsem_obj = new studiensemester(); $stsem_obj->load($studiensemester_kurzbz); - $qry = "SELECT prestudent_id + $qry = "SELECT bis.tbl_bisio.prestudent_id FROM - bis.tbl_bisio JOIN public.tbl_student USING(student_uid) + bis.tbl_bisio WHERE ( (tbl_bisio.von>=".$db->db_add_param($stsem_obj->start)." AND tbl_bisio.von<=".$db->db_add_param($stsem_obj->ende).") @@ -667,7 +667,7 @@ if($xmlformat=='rdf') OR (tbl_bisio.von<=".$db->db_add_param($stsem_obj->start)." AND tbl_bisio.bis>=".$db->db_add_param($stsem_obj->ende).") ) - AND NOT EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE status_kurzbz='Incoming' AND prestudent_id=tbl_student.prestudent_id) + AND NOT EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE status_kurzbz='Incoming' AND prestudent_id = tbl_bisio.prestudent_id) "; } if($db->db_query($qry)) diff --git a/rdf/zeugnis.rdf.php b/rdf/zeugnis.rdf.php index 2021c8335..afa142f3f 100644 --- a/rdf/zeugnis.rdf.php +++ b/rdf/zeugnis.rdf.php @@ -364,7 +364,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $qry = "SELECT tbl_bisio.* FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE tbl_lehreinheit.lehrveranstaltung_id='$row->lehrveranstaltung_id' - AND student_uid=".$db->db_add_param($uid_arr[$i]); + AND prestudent_id=".$db->db_add_param($prestudent_id); if($result_bisio = $db->db_query($qry)) { if($row_bisio = $db->db_fetch_object($result_bisio)) diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index c33f184a1..7cacf02a0 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -31,6 +31,7 @@ require_once('dbupdate_3.4/example2.php'); require_once('dbupdate_3.4/26173_index_webservicelog.php'); require_once('dbupdate_3.4/24682_reihungstest_zugangscode_fuer_login.php'); require_once('dbupdate_3.4/17512_fehlercode_constraints.php'); +require_once('dbupdate_3.4/28276_eine_uid_tbl_bisio.php'); // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; diff --git a/system/dbupdate_3.4/28276_eine_uid_tbl_bisio.php b/system/dbupdate_3.4/28276_eine_uid_tbl_bisio.php new file mode 100644 index 000000000..0aea2e2e4 --- /dev/null +++ b/system/dbupdate_3.4/28276_eine_uid_tbl_bisio.php @@ -0,0 +1,18 @@ +db_query("SELECT prestudent_id FROM bis.tbl_bisio LIMIT 1")) +{ + $qry = "ALTER TABLE bis.tbl_bisio ADD COLUMN prestudent_id int; + UPDATE bis.tbl_bisio + SET prestudent_id = student.prestudent_id + FROM tbl_student student + WHERE tbl_bisio.student_uid = student.student_uid;"; + if(!$db->db_query($qry)) + echo 'bis.tbl_bisio: '.$db->db_last_error().'
'; + else + echo '
bis.tbl_bisio: Spalte prestudent_id hinzugefuegt'; +} + + + diff --git a/system/konsistenzpruefung.php b/system/konsistenzpruefung.php index f9ec31a73..6cd0ec407 100644 --- a/system/konsistenzpruefung.php +++ b/system/konsistenzpruefung.php @@ -494,7 +494,7 @@ $qry = "SELECT JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_person USING(person_id) WHERE - NOT EXISTS(SELECT 1 FROM bis.tbl_bisio WHERE student_uid=tbl_student.student_uid) + NOT EXISTS(SELECT 1 FROM bis.tbl_bisio WHERE tbl_bisio.prestudent_id = tbl_prestudent.prestudent_id) AND EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id AND status_kurzbz='Incoming')"; if($result = $db->db_query($qry)) diff --git a/vilesci/personen/suche.php b/vilesci/personen/suche.php index 6d2cf3cde..833d0b563 100644 --- a/vilesci/personen/suche.php +++ b/vilesci/personen/suche.php @@ -929,7 +929,7 @@ function casDeletePrestudent($db, $prestudent_id, $trans=true) { $qry = ' DELETE FROM bis.tbl_bisio - WHERE student_uid IN (SELECT student_uid FROM public.tbl_student WHERE prestudent_id='.$db->db_add_param($prestudent_id, FHC_INTEGER).')'; + WHERE prestudent_id ='.$db->db_add_param($prestudent_id, FHC_INTEGER).')'; if(!$db->db_query($qry)) $error = true; } diff --git a/vilesci/statistik/outgoing.php b/vilesci/statistik/outgoing.php index 0d8ca809d..827303c23 100644 --- a/vilesci/statistik/outgoing.php +++ b/vilesci/statistik/outgoing.php @@ -1,134 +1,134 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Karl Burkhart - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/studiensemester.class.php'); - -if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - -$user = get_uid(); - -echo ' - - - Outgoing - - - + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Karl Burkhart + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/studiensemester.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$user = get_uid(); + +echo ' + + + Outgoing + + + - - - - -

Outgoing

'; - -$studiengang_kz = isset($_REQUEST['studiengang_kz'])?$_REQUEST['studiengang_kz']:''; - -echo '
'; -$stg_obj = new studiengang(); -$stg_obj->getAll('typ, kurzbz'); -echo "\n",'Studiengang '; -echo '  
'; - -$stsem = new studiensemester(); -$stsem->getFinished(); -foreach($stsem->studiensemester as $row) -{ - $qry="SELECT - distinct vorname, nachname, tbl_studiengang.studiengang_kz, UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as stg - FROM - public.tbl_prestudent - JOIN public.tbl_person USING(person_id) - JOIN public.tbl_studiengang USING(studiengang_kz) - JOIN public.tbl_student USING(prestudent_id) - JOIN bis.tbl_bisio USING(student_uid) - WHERE - - ( - (tbl_bisio.von>='$row->start' AND tbl_bisio.von<='$row->ende') - OR (tbl_bisio.bis<='$row->ende' AND tbl_bisio.bis>='$row->start') - ) - AND get_rolle_prestudent (prestudent_id, '$row->studiensemester_kurzbz')<>'Incoming' "; - if($studiengang_kz!='') - $qry.=" AND tbl_student.studiengang_kz='".addslashes($studiengang_kz)."'"; - $qry.=" ORDER BY stg"; - - if($result = $db->db_query($qry)) - { - $anzahl = $db->db_num_rows($result); - echo '

'.$row->studiensemester_kurzbz.' Anzahl: '.$anzahl.'

'; - - if($anzahl>0) - { - echo ' - - - - - - - - - - '; - - while($row = $db->db_fetch_object($result)) - { - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - echo '
NachnameVornameStudiengang
'.$row->nachname.''.$row->vorname.''.$row->stg.'
'; - } - } -} - -echo ''; + + + + +

Outgoing

'; + +$studiengang_kz = isset($_REQUEST['studiengang_kz'])?$_REQUEST['studiengang_kz']:''; + +echo '
'; +$stg_obj = new studiengang(); +$stg_obj->getAll('typ, kurzbz'); +echo "\n",'Studiengang '; +echo '  
'; + +$stsem = new studiensemester(); +$stsem->getFinished(); +foreach($stsem->studiensemester as $row) +{ + $qry="SELECT + distinct vorname, nachname, tbl_studiengang.studiengang_kz, UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as stg + FROM + public.tbl_prestudent + JOIN public.tbl_person USING(person_id) + JOIN public.tbl_studiengang USING(studiengang_kz) + JOIN public.tbl_student USING(prestudent_id) + JOIN bis.tbl_bisio ON tbl_bisio.prestudent_id = tbl_prestudent.prestudent_id + WHERE + + ( + (tbl_bisio.von>='$row->start' AND tbl_bisio.von<='$row->ende') + OR (tbl_bisio.bis<='$row->ende' AND tbl_bisio.bis>='$row->start') + ) + AND get_rolle_prestudent (tbl_prestudent.prestudent_id, '$row->studiensemester_kurzbz')<>'Incoming' "; + if($studiengang_kz!='') + $qry.=" AND tbl_student.studiengang_kz='".addslashes($studiengang_kz)."'"; + $qry.=" ORDER BY stg"; + + if($result = $db->db_query($qry)) + { + $anzahl = $db->db_num_rows($result); + echo '

'.$row->studiensemester_kurzbz.' Anzahl: '.$anzahl.'

'; + + if($anzahl>0) + { + echo ' + + + + + + + + + + '; + + while($row = $db->db_fetch_object($result)) + { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + echo '
NachnameVornameStudiengang
'.$row->nachname.''.$row->vorname.''.$row->stg.'
'; + } + } +} + +echo ''; ?> \ No newline at end of file