db changes for eine_uid

-lehre.tbl_abschlusspruefung.student_uid -> prestudent_id
	-public.tbl_studentlehrverband.student_uid -> prestudent_id
This commit is contained in:
Andreas Moik
2016-04-19 15:31:15 +02:00
parent 48e0ea2124
commit b3a77052f7
40 changed files with 2358 additions and 2042 deletions
+15 -15
View File
@@ -32,7 +32,7 @@ class abschlusspruefung extends basis_db
//Tabellenspalten
public $abschlusspruefung_id;
public $student_uid;
public $prestudent_id; //int
public $vorsitz;
public $pruefer1;
public $pruefer2;
@@ -89,7 +89,7 @@ class abschlusspruefung extends basis_db
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->prestudent_id = $row->prestudent_id;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
@@ -168,9 +168,9 @@ class abschlusspruefung extends basis_db
$this->errormsg = 'Pruefungstyp muss eingetragen werden';
return false;
}
if($this->student_uid=='')
if(!is_numeric($this->prestudent_id))
{
$this->errormsg = 'UID muss eingetragen werden';
$this->errormsg = 'prestudent_id ist ungueltig';
return false;
}
return true;
@@ -192,11 +192,11 @@ class abschlusspruefung extends basis_db
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1,
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (prestudent_id, vorsitz, pruefer1,
pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, uhrzeit, sponsion,
pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon,
note) VALUES (".
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->prestudent_id, FHC_INTEGER).', '.
$this->db_add_param($this->vorsitz).', '.
$this->db_add_param($this->pruefer1).', '.
$this->db_add_param($this->pruefer2).', '.
@@ -219,7 +219,7 @@ class abschlusspruefung extends basis_db
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE lehre.tbl_abschlusspruefung SET".
" student_uid=".$this->db_add_param($this->student_uid).",".
" prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER).",".
" vorsitz=".$this->db_add_param($this->vorsitz).",".
" pruefer1=".$this->db_add_param($this->pruefer1).",".
" pruefer2=".$this->db_add_param($this->pruefer2).",".
@@ -276,17 +276,17 @@ class abschlusspruefung extends basis_db
/**
* Laedt alle Abschlusspruefungen eines Studenten
* @param student_uid UID des Studenten
* @param prestudent_id prestudent_id des Prestudenten
* @return true wenn ok, false wenn Fehler
*/
public function getAbschlusspruefungen($student_uid)
public function getAbschlusspruefungen($prestudent_id)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER, false)."
ORDER BY datum DESC";
if($this->db_query($qry))
@@ -296,7 +296,7 @@ class abschlusspruefung extends basis_db
$obj = new abschlusspruefung();
$obj->abschlusspruefung_id = $row->abschlusspruefung_id;
$obj->student_uid = $row->student_uid;
$obj->prestudent_id = $row->prestudent_id;
$obj->vorsitz = $row->vorsitz;
$obj->pruefer1 = $row->pruefer1;
$obj->pruefer2 = $row->pruefer2;
@@ -330,16 +330,16 @@ class abschlusspruefung extends basis_db
/**
* Liefert die letzte Abschlussprüfung eines Studenten
* @param type $student_uid
* @param type $prestudent_id
*/
public function getLastAbschlusspruefung($student_uid)
public function getLastAbschlusspruefung($prestudent_id)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER, false)."
ORDER BY datum DESC LIMIT 1";
if($this->db_query($qry))
@@ -347,7 +347,7 @@ class abschlusspruefung extends basis_db
if($row = $this->db_fetch_object())
{
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
$this->student_uid = $row->student_uid;
$this->prestudent_id = $row->prestudent_id;
$this->vorsitz = $row->vorsitz;
$this->pruefer1 = $row->pruefer1;
$this->pruefer2 = $row->pruefer2;
+6 -1
View File
@@ -30,6 +30,7 @@
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/studiensemester.class.php');
require_once(dirname(__FILE__).'/student.class.php');
require_once(dirname(__FILE__).'/variable.class.php');
class lehrstunde extends basis_db
@@ -315,10 +316,14 @@ class lehrstunde extends basis_db
if(!isset($this->ssnext))
$this->ssnext = $this->ss;
if(!$student = new student($uid))
$this->errormsg = $student->errormsg;
// Lehrverbandszuordnungen der betreffenden Studiensemester laden
$sql_query="SELECT studiengang_kz, semester, verband, gruppe
FROM public.tbl_studentlehrverband
WHERE student_uid=".$this->db_add_param($uid)."
WHERE prestudent_id=".$this->db_add_param($student->prestudent_id)."
AND studiensemester_kurzbz in(".$this->db_add_param($this->ss).",".$this->db_add_param($this->ssnext).")";
$verbaende=array();
+23 -11
View File
@@ -16,8 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/*
* requires moodle_course.class.php
@@ -26,6 +27,7 @@
* Klasse zur Kommunikation mit Moodle 1.9
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/student.class.php');
class moodle19_user extends basis_db
{
@@ -301,13 +303,13 @@ class moodle19_user extends basis_db
if($row_std->gruppe_kurzbz=='') //LVB Gruppe
{
$qry = "SELECT
distinct student_uid
distinct prestudent_id
FROM
public.tbl_studentlehrverband
WHERE
studiensemester_kurzbz='".addslashes($row_std->studiensemester_kurzbz)."' AND
studiengang_kz = '".addslashes($row_std->studiengang_kz)."' AND
semester = '".addslashes($row_std->semester)."'";
studiensemester_kurzbz=".$db->db_add_param($row_std->studiensemester_kurzbz)." AND
studiengang_kz = ".$db->db_add_param($row_std->studiengang_kz)." AND
semester = ".$db->db_add_param($row_std->semester);
if(trim($row_std->verband)!='')
{
$qry.=" AND verband = '$row_std->verband'";
@@ -327,8 +329,8 @@ class moodle19_user extends basis_db
FROM
public.tbl_benutzergruppe
WHERE
gruppe_kurzbz='".addslashes($row_std->gruppe_kurzbz)."' AND
studiensemester_kurzbz='".addslashes($row_std->studiensemester_kurzbz)."'";
gruppe_kurzbz=".$this->db_add_param($row_std->gruppe_kurzbz)." AND
studiensemester_kurzbz=".$this->db_add_param($row_std->studiensemester_kurzbz);
$gruppenbezeichnung = $row_std->gruppe_kurzbz;
}
@@ -336,13 +338,23 @@ class moodle19_user extends basis_db
{
while($row_user = $this->db_fetch_object($result_user))
{
if(isset($row_user->prestudent_id))
{
$student = new student();
$uid = $student->getUid($row_user->prestudent_id);
}
else
{
$uid = $row_user->student_uid;
}
//MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_user->student_uid))
if(!$this->loaduser($uid))
{
//User anlegen
if(!$this->createUser($row_user->student_uid))
if(!$this->createUser($uid))
{
$this->errormsg = "Fehler beim Anlegen des Users $row_user->student_uid: $this->errormsg";
$this->errormsg = "Fehler beim Anlegen des Users $uid: $this->errormsg";
return false;
}
else
+21 -10
View File
@@ -16,6 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/*
* Connector fuer Moodle 2.4 User
@@ -25,6 +26,7 @@
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/moodle.class.php');
require_once(dirname(__FILE__).'/student.class.php');
class moodle24_user extends basis_db
{
@@ -309,7 +311,7 @@ class moodle24_user extends basis_db
if($row_std->gruppe_kurzbz=='') //LVB Gruppe
{
$qry = "SELECT
distinct student_uid
distinct prestudent_id
FROM
public.tbl_studentlehrverband
WHERE
@@ -345,13 +347,22 @@ class moodle24_user extends basis_db
{
while($row_user = $this->db_fetch_object($result_user))
{
if(isset($row_user->prestudent_id))
{
$student = new student();
$uid = $student->getUid($row_user->prestudent_id);
}
else
{
$uid = $row_user->student_uid;
}
//Nachschauen ob dieser Student bereits zugeteilt ist
$user_zugeteilt=false;
foreach($enrolled_users as $user)
{
if($user['username']==$row_user->student_uid)
if($user['username']==$uid)
{
$user_zugeteilt=true;
$this->mdl_user_id=$user['id'];
@@ -363,12 +374,12 @@ class moodle24_user extends basis_db
{
//MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_user->student_uid))
if(!$this->loaduser($uid))
{
//User anlegen
if(!$this->createUser($row_user->student_uid))
if(!$this->createUser($uid))
{
$this->errormsg = "Fehler beim Anlegen des Users $row_user->student_uid: $this->errormsg";
$this->errormsg = "Fehler beim Anlegen des Users $uid: $this->errormsg";
return false;
}
else
@@ -389,8 +400,8 @@ class moodle24_user extends basis_db
$userstoenroll[]=$data;
$this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
$this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
$this->log.="\nStudentIn $uid wurde zum Kurs hinzugefügt";
$this->log_public.="\nStudentIn $uid wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
@@ -418,7 +429,7 @@ class moodle24_user extends basis_db
$groupid=$vorhandenegruppen[$gruppenbezeichnung];
//if($this->mdl_user_id=='')
// $this->loaduser($row_user->student_uid);
// $this->loaduser($uid);
//Schauen ob eine Zuteilung zu dieser Gruppe vorhanden ist
if(!$this->getGroupMember($groupid, $this->mdl_user_id))
{
@@ -426,8 +437,8 @@ class moodle24_user extends basis_db
$groupmembertoadd[] = array('groupid'=>$groupid,'userid'=>$this->mdl_user_id);
//$this->createGroupMember($groupid, $this->mdl_user_id);
$this->group_update++;
$this->log.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung ($groupid) zugeordnet";
$this->log_public.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung zugeordnet";
$this->log.="\nStudentIn $uid wurde der Gruppe $gruppenbezeichnung ($groupid) zugeordnet";
$this->log_public.="\nStudentIn $uid wurde der Gruppe $gruppenbezeichnung zugeordnet";
}
}
}
+473 -473
View File
@@ -1,473 +1,473 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class pruefung extends basis_db
{
public $new; // boolean
public $result = array(); // pruefung Objekt
public $pruefung_id;
public $lehreinheit_id; // integer
public $student_uid; // varchar(16)
public $mitarbeiter_uid; // varchar(16)
public $note; // smallint
public $pruefungstyp_kurzbz; // varchar(16)
public $datum; // Date
public $anmerkung; // varchar(256)
public $insertamum; // timestamp)
public $insertvon; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $ext_id; // bigint
public $pruefungsanmeldung_id; // bigint
public $vertrag_id; // bigint
public $punkte; // numeric(8,4)
public $lehrveranstaltung_bezeichnung;
public $lehrveranstaltung_id;
public $note_bezeichnung;
public $pruefungstyp_beschreibung;
public $studiensemester_kurzbz;
/**
* Konstruktor
* @param pruefung_id ID der zu ladenden Pruefung
*/
public function __construct($pruefung_id=null)
{
parent::__construct();
if($pruefung_id!=null)
$this->load($pruefung_id);
}
/**
* Laedt einen Pr&uuml;fungsdatensatz
* @param pruefung_id ID
* @return true wenn ok, false im Fehlerfall
*/
public function load($pruefung_id)
{
if(!is_numeric($pruefung_id))
{
$this->errormsg = 'pruefung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT
tbl_pruefung.*,
tbl_lehreinheit.lehrveranstaltung_id,
tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM
lehre.tbl_pruefung
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
pruefung_id=".$this->db_add_param($pruefung_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->pruefung_id;
$this->lehreinheit_id=$row->lehreinheit_id;
$this->student_uid=$row->student_uid;
$this->mitarbeiter_uid=$row->mitarbeiter_uid;
$this->note=$row->note;
$this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
$this->datum=$row->datum;
$this->anmerkung=$row->anmerkung;
$this->insertamum=$row->insertamum;
$this->insertvon=$row->insertvon;
$this->updateamum=$row->updateamum;
$this->updatevon=$row->updatevon;
$this->ext_id=$row->ext_id;
$this->vertrag_id = $row->vertrag_id;
$this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->punkte = $row->punkte;
}
}
else
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
return true;
}
/**
* Liefert alle Pruefungen
* @return true wenn ok, false im Fehlerfall
*/
public function getAll($order=null, $student_uid=null)
{
$qry = 'SELECT * FROM lehre.tbl_pruefung';
if ($student_uid)
$qry.=" WHERE student_uid =".$this->db_add_param($student);
if($order!=null)
$qry .=" ORDER BY $order";
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = $this->db_fetch_object())
{
$pruef_obj = new pruefung();
$pruef_obj->lehreinheit_id=$row->lehreinheit_id;
$pruef_obj->student_uid=$row->student_uid;
$pruef_obj->mitarbeiter_uid=$row->mitarbeiter_uid;
$pruef_obj->note=$row->note;
$pruef_obj->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
$pruef_obj->datum=$row->datum;
$pruef_obj->anmerkung=$row->anmerkung;
$pruef_obj->insertamum=$row->insertamum;
$pruef_obj->insertvon=$row->insertvon;
$pruef_obj->updateamum=$row->updateamum;
$pruef_obj->updatevon=$row->updatevon;
$pruef_obj->ext_id=$row->ext_id;
$pruef_obj->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$pruef_obj->vertrag_id = $row->vertrag_id;
$pruef_obj->punkte = $row->punkte;
$this->result[] = $pruef_obj;
}
return true;
}
/**
* Loescht eine Pruefung
* @param $preufung_id ID der zu loeschenden Pruefung
* @return true wenn ok, false im Fehlerfall
*/
public function delete($pruefung_id)
{
if(!is_numeric($pruefung_id))
{
$this->errormsg = 'Pruefung_id ist ungueltig';
return false;
}
$qry = "DELETE FROM lehre.tbl_pruefung WHERE pruefung_id=".$this->db_add_param($pruefung_id, FHC_INTEGER);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen der Pruefung';
return false;
}
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
public function validate()
{
//Laenge Pruefen
if(mb_strlen($this->anmerkung)>256)
{
$this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->validate())
{
return false;
}
if($this->new)
{
//Neuen Datensatz anlegen
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz,
datum, anmerkung, insertamum, insertvon, updateamum, updatevon, pruefungsanmeldung_id, vertrag_id, punkte) VALUES ('.
$this->db_add_param($this->lehreinheit_id).', '.
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->mitarbeiter_uid).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->pruefungsanmeldung_id).','.
$this->db_add_param($this->vertrag_id).','.
$this->db_add_param($this->punkte).');';
}
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob pruefung_id gueltig ist
if(!is_numeric($this->pruefung_id))
{
$this->errormsg = 'pruefung_id ist ungueltig.';
return false;
}
$qry = 'UPDATE lehre.tbl_pruefung SET '.
'lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
'student_uid='.$this->db_add_param($this->student_uid).', '.
'mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).', '.
'note='.$this->db_add_param($this->note).', '.
'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz).', '.
'datum='.$this->db_add_param($this->datum).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'insertamum='.$this->db_add_param($this->insertamum).', '.
'insertvon='.$this->db_add_param($this->insertvon).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id, FHC_INTEGER).', '.
'vertrag_id='.$this->db_add_param($this->vertrag_id, FHC_INTEGER).', '.
'punkte='.$this->db_add_param($this->punkte).' '.
'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id, FHC_INTEGER).';';
}
if($this->db_query($qry))
{
if($this->new)
{
//Sequence auslesen
$qry = "SELECT currval('lehre.tbl_pruefung_pruefung_id_seq') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->id;
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
return true;
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Speichern der Pruefung:'.$this->db_last_error();
return false;
}
}
/**
* Liefert alle Pruefungen eines Studenten
* @param student_uid
* @return true wenn ok, false wenn Fehler
*/
public function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null)
{
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
WHERE student_uid=".$this->db_add_param($student_uid)."
AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp);
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id);
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem);
$qry .= " ORDER BY datum DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new pruefung();
$obj->pruefung_id = $row->pruefung_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->student_uid = $row->student_uid;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->note = $row->note;
$obj->note_bezeichnung = $row->note_bezeichnung;
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$obj->pruefungstyp_beschreibung = $row->typ_beschreibung;
$obj->datum = $row->datum;
$obj->anmerkung = $row->anmerkung;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
$obj->punkte = $row->punkte;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Pruefungen zu einer Lehrveranstaltung
*
* @param $lv_id
* @param $pruefungstyp
* @param $stsem
* @return boolean
*/
public function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null)
{
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
WHERE tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp);
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id);
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem);
$qry .= " ORDER BY datum DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new pruefung();
$obj->pruefung_id = $row->pruefung_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->student_uid = $row->student_uid;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->note = $row->note;
$obj->note_bezeichnung = $row->note_bezeichnung;
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$obj->pruefungstyp_beschreibung = $row->typ_beschreibung;
$obj->datum = $row->datum;
$obj->anmerkung = $row->anmerkung;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->punkte = $row->punkte;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Lädt die Prüfunge zur übergebenen Prüfungsanmeldung
* @param int $pruefungsanmeldung_id ID der Prüfungsanmeldung
* @return boolean
*/
public function getPruefungByAnmeldung($pruefungsanmeldung_id)
{
if(!is_numeric($pruefungsanmeldung_id))
{
$this->errormsg = 'pruefungsanmeldung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_pruefung WHERE pruefungsanmeldung_id=".$this->db_add_param($pruefungsanmeldung_id).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->pruefung_id;
$this->lehreinheit_id=$row->lehreinheit_id;
$this->student_uid=$row->student_uid;
$this->mitarbeiter_uid=$row->mitarbeiter_uid;
$this->note=$row->note;
$this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
$this->datum=$row->datum;
$this->anmerkung=$row->anmerkung;
$this->insertamum=$row->insertamum;
$this->insertvon=$row->insertvon;
$this->updateamum=$row->updateamum;
$this->updatevon=$row->updatevon;
$this->ext_id=$row->ext_id;
$this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$this->punkte = $row->punkte;
}
}
else
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
return true;
}
}
?>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class pruefung extends basis_db
{
public $new; // boolean
public $result = array(); // pruefung Objekt
public $pruefung_id;
public $lehreinheit_id; // integer
public $student_uid; // varchar(16)
public $mitarbeiter_uid; // varchar(16)
public $note; // smallint
public $pruefungstyp_kurzbz; // varchar(16)
public $datum; // Date
public $anmerkung; // varchar(256)
public $insertamum; // timestamp)
public $insertvon; // varchar(16)
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $ext_id; // bigint
public $pruefungsanmeldung_id; // bigint
public $vertrag_id; // bigint
public $punkte; // numeric(8,4)
public $lehrveranstaltung_bezeichnung;
public $lehrveranstaltung_id;
public $note_bezeichnung;
public $pruefungstyp_beschreibung;
public $studiensemester_kurzbz;
/**
* Konstruktor
* @param pruefung_id ID der zu ladenden Pruefung
*/
public function __construct($pruefung_id=null)
{
parent::__construct();
if($pruefung_id!=null)
$this->load($pruefung_id);
}
/**
* Laedt einen Pr&uuml;fungsdatensatz
* @param pruefung_id ID
* @return true wenn ok, false im Fehlerfall
*/
public function load($pruefung_id)
{
if(!is_numeric($pruefung_id))
{
$this->errormsg = 'pruefung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT
tbl_pruefung.*,
tbl_lehreinheit.lehrveranstaltung_id,
tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM
lehre.tbl_pruefung
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
pruefung_id=".$this->db_add_param($pruefung_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->pruefung_id;
$this->lehreinheit_id=$row->lehreinheit_id;
$this->student_uid=$row->student_uid;
$this->mitarbeiter_uid=$row->mitarbeiter_uid;
$this->note=$row->note;
$this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
$this->datum=$row->datum;
$this->anmerkung=$row->anmerkung;
$this->insertamum=$row->insertamum;
$this->insertvon=$row->insertvon;
$this->updateamum=$row->updateamum;
$this->updatevon=$row->updatevon;
$this->ext_id=$row->ext_id;
$this->vertrag_id = $row->vertrag_id;
$this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->punkte = $row->punkte;
}
}
else
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
return true;
}
/**
* Liefert alle Pruefungen
* @return true wenn ok, false im Fehlerfall
*/
public function getAll($order=null, $student_uid=null)
{
$qry = 'SELECT * FROM lehre.tbl_pruefung';
if ($student_uid)
$qry.=" WHERE student_uid =".$this->db_add_param($student);
if($order!=null)
$qry .=" ORDER BY $order";
if(!$this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = $this->db_fetch_object())
{
$pruef_obj = new pruefung();
$pruef_obj->lehreinheit_id=$row->lehreinheit_id;
$pruef_obj->student_uid=$row->student_uid;
$pruef_obj->mitarbeiter_uid=$row->mitarbeiter_uid;
$pruef_obj->note=$row->note;
$pruef_obj->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
$pruef_obj->datum=$row->datum;
$pruef_obj->anmerkung=$row->anmerkung;
$pruef_obj->insertamum=$row->insertamum;
$pruef_obj->insertvon=$row->insertvon;
$pruef_obj->updateamum=$row->updateamum;
$pruef_obj->updatevon=$row->updatevon;
$pruef_obj->ext_id=$row->ext_id;
$pruef_obj->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$pruef_obj->vertrag_id = $row->vertrag_id;
$pruef_obj->punkte = $row->punkte;
$this->result[] = $pruef_obj;
}
return true;
}
/**
* Loescht eine Pruefung
* @param $preufung_id ID der zu loeschenden Pruefung
* @return true wenn ok, false im Fehlerfall
*/
public function delete($pruefung_id)
{
if(!is_numeric($pruefung_id))
{
$this->errormsg = 'Pruefung_id ist ungueltig';
return false;
}
$qry = "DELETE FROM lehre.tbl_pruefung WHERE pruefung_id=".$this->db_add_param($pruefung_id, FHC_INTEGER);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen der Pruefung';
return false;
}
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
*/
public function validate()
{
//Laenge Pruefen
if(mb_strlen($this->anmerkung)>256)
{
$this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Gueltigkeit der Variablen pruefen
if(!$this->validate())
{
return false;
}
if($this->new)
{
//Neuen Datensatz anlegen
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz,
datum, anmerkung, insertamum, insertvon, updateamum, updatevon, pruefungsanmeldung_id, vertrag_id, punkte) VALUES ('.
$this->db_add_param($this->lehreinheit_id).', '.
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->mitarbeiter_uid).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->pruefungsanmeldung_id).','.
$this->db_add_param($this->vertrag_id).','.
$this->db_add_param($this->punkte).');';
}
else
{
//bestehenden Datensatz akualisieren
//Pruefen ob pruefung_id gueltig ist
if(!is_numeric($this->pruefung_id))
{
$this->errormsg = 'pruefung_id ist ungueltig.';
return false;
}
$qry = 'UPDATE lehre.tbl_pruefung SET '.
'lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
'student_uid='.$this->db_add_param($this->student_uid).', '.
'mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).', '.
'note='.$this->db_add_param($this->note).', '.
'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz).', '.
'datum='.$this->db_add_param($this->datum).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'insertamum='.$this->db_add_param($this->insertamum).', '.
'insertvon='.$this->db_add_param($this->insertvon).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id, FHC_INTEGER).', '.
'vertrag_id='.$this->db_add_param($this->vertrag_id, FHC_INTEGER).', '.
'punkte='.$this->db_add_param($this->punkte).' '.
'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id, FHC_INTEGER).';';
}
if($this->db_query($qry))
{
if($this->new)
{
//Sequence auslesen
$qry = "SELECT currval('lehre.tbl_pruefung_pruefung_id_seq') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->id;
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
return true;
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Speichern der Pruefung:'.$this->db_last_error();
return false;
}
}
/**
* Liefert alle Pruefungen eines Studenten
* @param student_uid
* @return true wenn ok, false wenn Fehler
*/
public function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null)
{
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
WHERE student_uid=".$this->db_add_param($student_uid)."
AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp);
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id);
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem);
$qry .= " ORDER BY datum DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new pruefung();
$obj->pruefung_id = $row->pruefung_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->student_uid = $row->student_uid;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->note = $row->note;
$obj->note_bezeichnung = $row->note_bezeichnung;
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$obj->pruefungstyp_beschreibung = $row->typ_beschreibung;
$obj->datum = $row->datum;
$obj->anmerkung = $row->anmerkung;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
$obj->punkte = $row->punkte;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Pruefungen zu einer Lehrveranstaltung
*
* @param $lv_id
* @param $pruefungstyp
* @param $stsem
* @return boolean
*/
public function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null)
{
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
WHERE tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp);
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id);
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem);
$qry .= " ORDER BY datum DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new pruefung();
$obj->pruefung_id = $row->pruefung_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->student_uid = $row->student_uid;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->note = $row->note;
$obj->note_bezeichnung = $row->note_bezeichnung;
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$obj->pruefungstyp_beschreibung = $row->typ_beschreibung;
$obj->datum = $row->datum;
$obj->anmerkung = $row->anmerkung;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->punkte = $row->punkte;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Lädt die Prüfunge zur übergebenen Prüfungsanmeldung
* @param int $pruefungsanmeldung_id ID der Prüfungsanmeldung
* @return boolean
*/
public function getPruefungByAnmeldung($pruefungsanmeldung_id)
{
if(!is_numeric($pruefungsanmeldung_id))
{
$this->errormsg = 'pruefungsanmeldung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_pruefung WHERE pruefungsanmeldung_id=".$this->db_add_param($pruefungsanmeldung_id).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->pruefung_id = $row->pruefung_id;
$this->lehreinheit_id=$row->lehreinheit_id;
$this->student_uid=$row->student_uid;
$this->mitarbeiter_uid=$row->mitarbeiter_uid;
$this->note=$row->note;
$this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz;
$this->datum=$row->datum;
$this->anmerkung=$row->anmerkung;
$this->insertamum=$row->insertamum;
$this->insertvon=$row->insertvon;
$this->updateamum=$row->updateamum;
$this->updatevon=$row->updatevon;
$this->ext_id=$row->ext_id;
$this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$this->punkte = $row->punkte;
}
}
else
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
return true;
}
}
?>
+21 -16
View File
@@ -16,8 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/benutzer.class.php');
@@ -67,7 +68,7 @@ class student extends benutzer
else
$qry = "SELECT *, tbl_studentlehrverband.studiengang_kz as studiengang_kz, tbl_studentlehrverband.semester as semester,
tbl_studentlehrverband.verband as verband, tbl_studentlehrverband.gruppe as gruppe
FROM public.tbl_student JOIN public.tbl_studentlehrverband USING(student_uid)
FROM public.tbl_student JOIN public.tbl_studentlehrverband USING(prestudent_id)
WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." AND student_uid=".$this->db_add_param($uid);
if($this->db_query($qry))
{
@@ -269,7 +270,7 @@ class student extends benutzer
FROM public.tbl_person, public.tbl_student, public.tbl_benutzer, public.tbl_studentlehrverband, public.tbl_prestudent";
if($gruppe!=null)
$sql_query.= ",public.tbl_benutzergruppe";
$sql_query.= " WHERE tbl_prestudent.prestudent_id=tbl_student.prestudent_id AND tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_student.student_uid AND tbl_studentlehrverband.student_uid=tbl_student.student_uid AND $where ORDER BY nachname, vorname";
$sql_query.= " WHERE tbl_prestudent.prestudent_id=tbl_student.prestudent_id AND tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_student.student_uid AND tbl_studentlehrverband.prestudent_id=tbl_student.prestudent_id AND $where ORDER BY nachname, vorname";
//echo $sql_query;
if(!$this->db_query($sql_query))
{
@@ -387,10 +388,10 @@ class student extends benutzer
* @param studiensemester_kurzbz
* @return true wenn vorhanden, false wenn nicht
*/
public function studentlehrverband_exists($student_uid, $studiensemester_kurzbz)
public function studentlehrverband_exists($prestudent_id, $studiensemester_kurzbz)
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband
WHERE student_uid=".$this->db_add_param($student_uid)." AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)." AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($this->db_query($qry))
{
@@ -417,21 +418,23 @@ class student extends benutzer
/**
* Prueft ob die StudentLehrverband Zuteilung
* bereits existiert
* @param student_uid
* @param prestudent_id
* studiensemester_kurzbz
* @return true wenn vorhanden, false wenn nicht
*/
public function load_studentlehrverband($student_uid, $studiensemester_kurzbz)
public function load_studentlehrverband($prestudent_id, $studiensemester_kurzbz)
{
$qry = "SELECT * FROM public.tbl_studentlehrverband
WHERE student_uid=".$this->db_add_param($student_uid)."
WHERE prestudent_id=".$this->db_add_param($prestudent_id)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->uid = $row->student_uid;
$this->uid = $this->getUid($row->prestudent_id();
$this->prestudent_id = $row->prestudent_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->studiengang_kz = $row->studiengang_kz;
$this->semester = $row->semester;
@@ -469,8 +472,9 @@ class student extends benutzer
if($new)
{
$qry = "INSERT INTO public.tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon)
VALUES(".$this->db_add_param($this->uid).','.
$qry = "INSERT INTO public.tbl_studentlehrverband (prestudent_id, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon)
VALUES(".
$this->db_add_param($this->prestudent_id).','.
$this->db_add_param($this->studiensemester_kurzbz).','.
$this->db_add_param($this->studiengang_kz).','.
$this->db_add_param($this->semester).','.
@@ -485,12 +489,13 @@ class student extends benutzer
{
$qry = "UPDATE public.tbl_studentlehrverband SET".
" studiengang_kz=".$this->db_add_param($this->studiengang_kz).",".
" prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER).",".
" semester=".$this->db_add_param($this->semester).",".
" verband=".$this->db_add_param(($this->verband==''?' ':$this->verband)).",".
" gruppe=".$this->db_add_param(($this->gruppe==''?' ':$this->gruppe)).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE student_uid=".$this->db_add_param($this->uid)." AND studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_kurzbz);
" WHERE prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER)." AND studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_kurzbz);
}
if($this->db_query($qry))
@@ -768,17 +773,17 @@ class student extends benutzer
/**
* Löscht die Zuordnung eines Studenten zu einer Lehrverbandsgruppe
* @param type $uid
* @param type $prestudent_id
* @param type $studiengang_kz
* @param type $studiensemester
* @param type $semester
* @param type $verband
* @param type $gruppe
*/
public function delete_studentLehrverband($uid, $studiengang_kz, $studiensemester, $semester)
public function delete_studentLehrverband($prestudent_id, $studiengang_kz, $studiensemester, $semester)
{
$qry = 'DELETE FROM public.tbl_studentlehrverband '
. 'WHERE student_uid='.$this->db_add_param($uid)
. 'WHERE prestudent_id='.$this->db_add_param($prestudent_id, FHC_INTEGER)
. ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester)
. ' AND studiengang_kz='.$this->db_add_param($studiengang_kz)
. ' AND semester='.$this->db_add_param($semester).';';
+9 -7
View File
@@ -260,17 +260,19 @@ $qry = "SELECT
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis,
tbl_zeugnisnote.note
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)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_prestudent ON(public.tbl_prestudent.person_id=public.tbl_person.person_id)
LEFT JOIN public.tbl_studentlehrverband ON(public.tbl_prestudent.prestudent_id=public.tbl_studentlehrverband.prestudent_id AND campus.vw_student_lehrveranstaltung.studiensemester_kurzbz=public.tbl_studentlehrverband.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 tbl_student.prestudent_id=tbl_bisio.prestudent_id
LEFT JOIN bis.tbl_bisio ON(tbl_student.prestudent_id=tbl_bisio.prestudent_id)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'";
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid)." AND
vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);
if($lehreinheit_id!='')
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit_id)."'";
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id);
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
//echo $qry;
+14 -10
View File
@@ -16,8 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
//PDF fuer die Anwesenheitsliste auf CIS
@@ -125,24 +126,27 @@ $stsem_obj = new studiensemester();
$stsem_obj->load($stsem);
$stsemdatumvon = $stsem_obj->start;
$stsemdatumbis = $stsem_obj->ende;
$qry = "SELECT
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, foto_sperre,
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.bis, tbl_bisio.von,
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis,
tbl_zeugnisnote.note
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)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_prestudent ON(public.tbl_prestudent.person_id=public.tbl_person.person_id)
LEFT JOIN public.tbl_studentlehrverband ON(public.tbl_prestudent.prestudent_id=public.tbl_studentlehrverband.prestudent_id AND campus.vw_student_lehrveranstaltung.studiensemester_kurzbz=public.tbl_studentlehrverband.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 public.tbl_student.prestudent_id=tbl_bisio.prestudent_id
LEFT JOIN bis.tbl_bisio ON(tbl_student.prestudent_id=tbl_bisio.prestudent_id)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'";
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid)." AND
vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);
if($lehreinheit_id!='')
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit_id)."'";
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id);
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
$lineheight=80;
+3 -2
View File
@@ -16,8 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/****************************************************************************
* @class Stundenplan