mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
changes for tbl_zeugnisnote
This commit is contained in:
@@ -127,18 +127,18 @@ if (isset($lehrende->result))
|
||||
$qry = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, perskz,
|
||||
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,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.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_prestudent.studiengang_kz AS stg_kz_student,
|
||||
tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid
|
||||
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)
|
||||
LEFT JOIN public.tbl_prestudent ON(vw_student_lehrveranstaltung.uid=tbl_prestudent.uid)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband ON(public.tbl_student.prestudent_id=tbl_studentlehrverband.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=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(uid=tbl_bisio.student_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband ON(public.tbl_prestudent.prestudent_id=tbl_studentlehrverband.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.prestudent_id=tbl_prestudent.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.prestudent_id)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($studiensemester)."'";
|
||||
|
||||
@@ -149,15 +149,15 @@ $stsemdatumbis = $stsem_obj->ende;
|
||||
$qry = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id,
|
||||
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,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.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_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 ON(public.tbl_student.prestudent_id=tbl_studentlehrverband.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=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)
|
||||
JOIN public.tbl_person USING(person_id) JOIN public.tbl_prestudent ON(tbl_benutzer.uid=tbl_prestudent.uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband ON(public.tbl_prestudent.prestudent_id=tbl_studentlehrverband.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.prestudent_id=tbl_prestudent.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(public.tbl_prestudent.prestudent_id=tbl_bisio.prestudent_id)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'";
|
||||
|
||||
@@ -244,7 +244,8 @@ if (isset($_REQUEST["submit"]))
|
||||
|
||||
// Hole Zeugnisnote wenn schon eine eingetragen ist
|
||||
/*
|
||||
if ($zeugnisnote = new zeugnisnote($lvid, $student_uid, $stsem))
|
||||
$student = new student($student_uid);
|
||||
if ($zeugnisnote = new zeugnisnote($lvid, $student->prestudent_id, $stsem))
|
||||
$znote = $zeugnisnote->note;
|
||||
else
|
||||
$znote = null;
|
||||
|
||||
@@ -1186,7 +1186,7 @@ echo "
|
||||
}
|
||||
else
|
||||
$note_vorschlag = null;
|
||||
if ($zeugnisnote = new zeugnisnote($lvid, $row_stud->uid, $stsem))
|
||||
if ($zeugnisnote = new zeugnisnote($lvid, $row_stud->prestudent_id, $stsem))
|
||||
$znote = $zeugnisnote->note;
|
||||
else
|
||||
$znote = null;
|
||||
|
||||
@@ -172,7 +172,9 @@ else
|
||||
}
|
||||
else
|
||||
$sqlFilter = "";
|
||||
|
||||
|
||||
$student = new student($user);
|
||||
|
||||
$qry = "SELECT
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_zeugnisnote.note, tbl_zeugnisnote.punkte,
|
||||
tbl_lvgesamtnote.note as lvnote, tbl_lvgesamtnote.punkte as lvpunkte,
|
||||
@@ -184,7 +186,7 @@ else
|
||||
campus.tbl_lvgesamtnote
|
||||
USING (lehrveranstaltung_id, student_uid, studiensemester_kurzbz)
|
||||
WHERE
|
||||
tbl_zeugnisnote.student_uid = ".$db->db_add_param($user)
|
||||
tbl_zeugnisnote.prestudent_id = ".$db->db_add_param($student->prestudent_id, FHC_INTEGER)
|
||||
.$sqlFilter."
|
||||
AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_zeugnisnote.lehrveranstaltung_id
|
||||
ORDER BY bezeichnung";
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*
|
||||
* Zeigt den Studienplan eines Studierenden an
|
||||
* und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen.
|
||||
@@ -410,7 +411,8 @@ function drawTree($tree, $depth)
|
||||
$lvregel = new lvregel();
|
||||
if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id))
|
||||
{
|
||||
if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id))
|
||||
$student = new student($uid);
|
||||
if($lvregel->isAbgeschlossen($student->prestudent_id, $row_tree->studienplan_lehrveranstaltung_id))
|
||||
$abgeschlossen=true;
|
||||
else
|
||||
$abgeschlossen=false;
|
||||
@@ -553,7 +555,8 @@ function drawTree($tree, $depth)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem))
|
||||
$student = new student($uid);
|
||||
if(!$lvregel->isZugangsberechtigt($student->prestudent_id, $row_tree->studienplan_lehrveranstaltung_id, $stsem))
|
||||
{
|
||||
$regelerfuellt=false;
|
||||
}
|
||||
|
||||
@@ -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>.
|
||||
*/
|
||||
/**
|
||||
* Erstellt einen Notenspiegel
|
||||
@@ -78,14 +79,14 @@ $stg->load($studiengang_kz);
|
||||
|
||||
$student = new student();
|
||||
$result_student = $student->getStudents($studiengang_kz,$semester,null,null,null, $semester_aktuell);
|
||||
$uids='';
|
||||
$preids='';
|
||||
foreach ($result_student as $row)
|
||||
{
|
||||
if($uids!='')
|
||||
$uids.=',';
|
||||
$uids.=$db->db_add_param($row->uid);
|
||||
if($preids!='')
|
||||
$preids.=',';
|
||||
$preids.=$db->db_add_param($row->prestudent_id, FHC_INTEGER);
|
||||
}
|
||||
if($uids=='')
|
||||
if($preids=='')
|
||||
die('Es befinden sich keine Studierende in diesem Semester');
|
||||
|
||||
$qry = "SELECT
|
||||
@@ -114,7 +115,7 @@ $qry = "SELECT
|
||||
lehre.tbl_lehrveranstaltung JOIN lehre.tbl_zeugnisnote USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER)." AND
|
||||
tbl_zeugnisnote.student_uid in($uids) AND
|
||||
tbl_zeugnisnote.prestudent_id in($preids) AND
|
||||
tbl_zeugnisnote.studiensemester_kurzbz=".$db->db_add_param($semester_aktuell)."
|
||||
ORDER BY bezeichnung";
|
||||
|
||||
@@ -256,7 +257,7 @@ if($typ=='xls')
|
||||
|
||||
//Alle Zeugnisnoten des Studierenden holen
|
||||
$noten = array();
|
||||
$qry = "SELECT * FROM lehre.tbl_zeugnisnote WHERE student_uid=".$db->db_add_param($row_student->uid)." AND studiensemester_kurzbz=".$db->db_add_param($semester_aktuell);
|
||||
$qry = "SELECT * FROM lehre.tbl_zeugnisnote WHERE prestudent_id=".$db->db_add_param($row_student->prestudent_id, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($semester_aktuell);
|
||||
if($result = $db->db_query($qry))
|
||||
while($row = $db->db_fetch_object($result))
|
||||
$noten[$row->lehrveranstaltung_id] = $row->note;
|
||||
@@ -444,7 +445,7 @@ else
|
||||
echo "<tr><td>$i</td><td>$row_student->nachname $row_student->vorname</td><td>$row_student->matrikelnr</td>";
|
||||
|
||||
$noten = array();
|
||||
$qry = "SELECT * FROM lehre.tbl_zeugnisnote WHERE student_uid=".$db->db_add_param($row_student->uid)." AND studiensemester_kurzbz=".$db->db_add_param($semester_aktuell);
|
||||
$qry = "SELECT * FROM lehre.tbl_zeugnisnote WHERE prestudent_id=".$db->db_add_param($row_student->prestudent_id, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($semester_aktuell);
|
||||
if($result = $db->db_query($qry))
|
||||
while($row = $db->db_fetch_object($result))
|
||||
$noten[$row->lehrveranstaltung_id] = $row->note;
|
||||
|
||||
@@ -2668,7 +2668,7 @@ if(!$error)
|
||||
else
|
||||
{
|
||||
|
||||
if($noten->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz))
|
||||
if($noten->load($lehrveranstaltung_id, $prestudent_id, $studiensemester_kurzbz))
|
||||
{
|
||||
$noten->new = false;
|
||||
$noten->updateamum = date('Y-m-d H:i:s');
|
||||
@@ -2686,7 +2686,7 @@ if(!$error)
|
||||
'updateamum= '.$db->db_add_param($noten->updateamum).', '.
|
||||
'updatevon='.$db->db_add_param($noten->updatevon).' '.
|
||||
'WHERE lehrveranstaltung_id='.$db->db_add_param($noten->lehrveranstaltung_id, FHC_INTEGER).' '.
|
||||
'AND student_uid='.$db->db_add_param($noten->student_uid).' '.
|
||||
'AND prestudent_id='.$db->db_add_param($noten->prestudent_id, FHC_INTEGER).' '.
|
||||
'AND studiensemester_kurzbz='.$db->db_add_param($noten->studiensemester_kurzbz).';';
|
||||
$log->sqlundo = $noten->getUndo('update');
|
||||
$log->save(true);
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
* 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>.
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Stefan Puraner <puraner@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
require_once(dirname(__FILE__) . '/basis_db.class.php');
|
||||
require_once(dirname(__FILE__) . '/functions.inc.php');
|
||||
|
||||
+24
-24
@@ -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>.
|
||||
*/
|
||||
/**
|
||||
* Klasse lvregel
|
||||
@@ -477,32 +478,32 @@ class lvregel extends basis_db
|
||||
|
||||
/**
|
||||
* Prüft ob sich ein Student zu einer Lehrveranstaltung anmelden darf
|
||||
* @param $uid UID des Studierenden
|
||||
* @param $prestudent_id prestudent_id des Studierenden
|
||||
* @param $studienplan_lehrveranstaltung_id ID der Lehrveranstaltungszuordnung
|
||||
*/
|
||||
public function isZugangsberechtigt($uid, $studienplan_lehrveranstaltung_id, $studiensemester_kurzbz=null)
|
||||
public function isZugangsberechtigt($prestudent_id, $studienplan_lehrveranstaltung_id, $studiensemester_kurzbz=null)
|
||||
{
|
||||
$this->debug('Teste Zugangsberechtigung für '.$uid,2);
|
||||
$this->debug('Teste Zugangsberechtigung für '.$prestudent_id,2);
|
||||
if($result = $this->getLVRegelTree($studienplan_lehrveranstaltung_id))
|
||||
{
|
||||
return $this->TestRegeln($uid, $result, $studiensemester_kurzbz);
|
||||
return $this->TestRegeln($prestudent_id, $result, $studiensemester_kurzbz);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Regeln fuer einen Studierenden
|
||||
* @param $uid UID des Studierenden
|
||||
* @param $prestudent_id prestudent_id des Studierenden
|
||||
* @param $regel_obj Regel Baum
|
||||
* @param $studiensemester_kurzbz Studiensemester das geprueft werden soll
|
||||
*/
|
||||
public function TestRegeln($uid, $regel_obj, $studiensemester_kurzbz=null, $retval=true)
|
||||
public function TestRegeln($prestudent_id, $regel_obj, $studiensemester_kurzbz=null, $retval=true)
|
||||
{
|
||||
$ects=0;
|
||||
foreach($regel_obj as $regel)
|
||||
{
|
||||
|
||||
list($testval,$ects_tmp) = $this->Test($uid, $regel, $studiensemester_kurzbz, $retval);
|
||||
list($testval,$ects_tmp) = $this->Test($prestudent_id, $regel, $studiensemester_kurzbz, $retval);
|
||||
$this->debug("<br>Compare ".$regel[0]->operator.", ".($retval?'T':'F').", ".($testval?'T':'F'),5);
|
||||
$retval = $this->Compare($regel[0]->operator, $retval, $testval);
|
||||
|
||||
@@ -562,16 +563,16 @@ class lvregel extends basis_db
|
||||
|
||||
/**
|
||||
* Testet die Regel für einen Studenten
|
||||
* @param $uid User
|
||||
* @param $prestudent_id prestudent_id
|
||||
* @param $regel_obj
|
||||
* @param $studiensemester_kurzbz
|
||||
*/
|
||||
public function Test($uid, $regel_obj, $studiensemester_kurzbz=null, $retvalglobal)
|
||||
public function Test($prestudent_id, $regel_obj, $studiensemester_kurzbz=null, $retvalglobal)
|
||||
{
|
||||
$regel = $regel_obj[0];
|
||||
$ects=0;
|
||||
$this->debug('<br><b>Teste Regel '.$regel->lvregel_id.'</b>',2);
|
||||
$this->debug("<br>UID:$uid OP:$regel->operator STSEM:$studiensemester_kurzbz RETVAL:".($retvalglobal?'T':'F'),5);
|
||||
$this->debug("<br>prestudent_id:$prestudent_id OP:$regel->operator STSEM:$studiensemester_kurzbz RETVAL:".($retvalglobal?'T':'F'),5);
|
||||
|
||||
switch($regel->lvregeltyp_kurzbz)
|
||||
{
|
||||
@@ -589,19 +590,18 @@ class lvregel extends basis_db
|
||||
}
|
||||
|
||||
// Ausbildungssemester wird nur beim 1. durchlauf ermittelt
|
||||
if(!isset($this->cache[$uid]) && !isset($this->cache[$uid][$studiensemester_kurzbz]))
|
||||
if(!isset($this->cache[$prestudent_id]) && !isset($this->cache[$prestudent_id][$studiensemester_kurzbz]))
|
||||
{
|
||||
$student = new student();
|
||||
$student->load($uid);
|
||||
|
||||
$student = new student($prestudent_id);
|
||||
|
||||
// Ausbildungssemester aus dem Status holen
|
||||
$prestudent = new prestudent();
|
||||
if($prestudent->getLastStatus($student->prestudent_id, $studiensemester_kurzbz))
|
||||
if($prestudent->getLastStatus($prestudent_id, $studiensemester_kurzbz))
|
||||
{
|
||||
$this->cache[$uid][$studiensemester_kurzbz]=$prestudent->ausbildungssemester;
|
||||
$this->cache[$prestudent_id][$studiensemester_kurzbz]=$prestudent->ausbildungssemester;
|
||||
}
|
||||
}
|
||||
$ausbildungssemester = $this->cache[$uid][$studiensemester_kurzbz];
|
||||
$ausbildungssemester = $this->cache[$prestudent_id][$studiensemester_kurzbz];
|
||||
|
||||
// Vergleichen des Ausbildungssemesters mit dem RegelParameter
|
||||
if($ausbildungssemester>=$regel->parameter)
|
||||
@@ -629,7 +629,7 @@ class lvregel extends basis_db
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_note.positiv
|
||||
AND student_uid=".$this->db_add_param($uid)."
|
||||
AND prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)."
|
||||
AND lehrveranstaltung_id=".$this->db_add_param($regel->lehrveranstaltung_id);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
@@ -663,7 +663,7 @@ class lvregel extends basis_db
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_note.positiv
|
||||
AND student_uid=".$this->db_add_param($uid)."
|
||||
AND prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)."
|
||||
AND lehrveranstaltung_id=".$this->db_add_param($regel->lehrveranstaltung_id);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
@@ -698,7 +698,7 @@ class lvregel extends basis_db
|
||||
if(isset($regel_obj['childs']) && count($regel_obj['childs'])>0)
|
||||
{
|
||||
$this->debug('<br> == <b>Subregel:'.$regel->lvregel_id.'</b> Start ==',2);
|
||||
list($testval,$ects_tmp) = $this->TestRegeln($uid, $regel_obj['childs'],null, $retval);
|
||||
list($testval,$ects_tmp) = $this->TestRegeln($prestudent_id, $regel_obj['childs'],null, $retval);
|
||||
$retval = $this->Compare($regel->operator, $retval, $testval);
|
||||
|
||||
if($testval)
|
||||
@@ -753,18 +753,18 @@ class lvregel extends basis_db
|
||||
|
||||
/**
|
||||
* Prüft ob das Modul für den Studierenden abgeschlossen ist
|
||||
* @param $uid UID des Studierenden
|
||||
* @param $prestudent_id prestudent_id des Studierenden
|
||||
* @param $studienplan_lehrveranstaltung_id ID der Lehrveranstaltungszuordnung
|
||||
*/
|
||||
public function isAbgeschlossen($uid, $studienplan_lehrveranstaltung_id)
|
||||
public function isAbgeschlossen($prestudent_id, $studienplan_lehrveranstaltung_id)
|
||||
{
|
||||
$this->debug('Teste Abschluss für '.$uid,2);
|
||||
$this->debug('Teste Abschluss für '.$prestudent_id,2);
|
||||
$ects=0;
|
||||
$retval=true;
|
||||
|
||||
if($result = $this->getLVRegelTree($studienplan_lehrveranstaltung_id))
|
||||
{
|
||||
list($retval, $ects) = $this->TestRegeln($uid, $result, null);
|
||||
list($retval, $ects) = $this->TestRegeln($prestudent_id, $result, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -271,8 +271,8 @@ class basis_db extends db
|
||||
*
|
||||
* Verwendungsbeispiel:
|
||||
* Update tbl_person set nachname=$this->db_add_param($var)
|
||||
* Update tbl_person set aktiv=$this->db_add_param($var, FHC_BOOL, false)
|
||||
* Update tbl_person set anzahlkinder=$this->db_add_param($var, FHC_INT)
|
||||
* Update tbl_person set aktiv=$this->db_add_param($var, FHC_BOOLEAN, false)
|
||||
* Update tbl_person set anzahlkinder=$this->db_add_param($var, FHC_INTEGER)
|
||||
*/
|
||||
public function db_add_param($var, $type=FHC_STRING, $nullable=true)
|
||||
{
|
||||
@@ -290,6 +290,7 @@ class basis_db extends db
|
||||
$var = $this->db_escape($var);
|
||||
if(!is_numeric($var) && $var!=='')
|
||||
die('Invalid Integer Parameter detected:'.$var);
|
||||
|
||||
$var = $this->db_null_value($var, false);
|
||||
break;
|
||||
|
||||
|
||||
@@ -256,7 +256,7 @@ $stsemdatumbis = $stsem_obj->ende;
|
||||
$qry = "SELECT
|
||||
distinct on(nachname, vorname, 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,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.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_zeugnisnote.note
|
||||
FROM
|
||||
@@ -265,8 +265,8 @@ $qry = "SELECT
|
||||
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 lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.prestudent_id=tbl_prestudent.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(tbl_prestudent.prestudent_id=tbl_bisio.prestudent_id)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid)." AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);
|
||||
|
||||
@@ -130,7 +130,7 @@ $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,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.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_zeugnisnote.note
|
||||
FROM
|
||||
@@ -139,8 +139,8 @@ $qry = "SELECT
|
||||
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 lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.prestudent_id=tbl_prestudent.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN bis.tbl_bisio ON(tbl_prestudent.prestudent_id=tbl_bisio.prestudent_id)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid)." AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);
|
||||
|
||||
@@ -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>.
|
||||
*/
|
||||
/**
|
||||
* Klasse Zeugnisnote
|
||||
@@ -30,7 +31,7 @@ class zeugnisnote extends basis_db
|
||||
public $result=array();
|
||||
//Tabellenspalten
|
||||
public $lehrveranstaltung_id; /// serial
|
||||
public $student_uid; // varchar(16)
|
||||
public $prestudent_id; // int
|
||||
public $studiensemester_kurzbz; // varchar(16)
|
||||
public $note; // smalint
|
||||
public $uebernahmedatum; // date
|
||||
@@ -51,24 +52,24 @@ class zeugnisnote extends basis_db
|
||||
* Laedt optional eine Zeugnisnote
|
||||
*
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $student_uid
|
||||
* @param $prestudent_id
|
||||
* @param $studiensemester_kurzbz
|
||||
*/
|
||||
public function __construct($lehrveranstaltung_id=null, $student_uid=null, $studiensemester_kurzbz=null)
|
||||
public function __construct($lehrveranstaltung_id=null, $prestudent_id=null, $studiensemester_kurzbz=null)
|
||||
{
|
||||
parent::__construct();
|
||||
if($lehrveranstaltung_id!=null && $student_uid!=null && $studiensemester_kurzbz!=null)
|
||||
$this->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz);
|
||||
if($lehrveranstaltung_id!=null && $prestudent_id!=null && $studiensemester_kurzbz!=null)
|
||||
$this->load($lehrveranstaltung_id, $prestudent_id, $studiensemester_kurzbz);
|
||||
}
|
||||
/**
|
||||
* Laedt eine Zeugnisnote
|
||||
*
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $student_uid
|
||||
* @param $prestudent_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
|
||||
public function load($lehrveranstaltung_id, $prestudent_id, $studiensemester_kurzbz)
|
||||
{
|
||||
if(!is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
@@ -81,14 +82,14 @@ class zeugnisnote extends basis_db
|
||||
lehre.tbl_zeugnisnote
|
||||
WHERE
|
||||
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND student_uid=".$this->db_add_param($student_uid)."
|
||||
AND prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$this->student_uid = $row->student_uid;
|
||||
$this->prestudent_id = $row->prestudent_id;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$this->note = $row->note;
|
||||
$this->uebernahmedatum = $row->uebernahmedatum;
|
||||
@@ -125,9 +126,9 @@ class zeugnisnote extends basis_db
|
||||
$this->errormsg = 'Lehrveranstaltung_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->student_uid=='')
|
||||
if(!is_numeric($this->prestudent_id))
|
||||
{
|
||||
$this->errormsg = 'UID muss angegeben werden';
|
||||
$this->errormsg = 'prestudent_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if($this->studiensemester_kurzbz=='')
|
||||
@@ -167,11 +168,11 @@ class zeugnisnote extends basis_db
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='INSERT INTO lehre.tbl_zeugnisnote (lehrveranstaltung_id, student_uid,
|
||||
$qry='INSERT INTO lehre.tbl_zeugnisnote (lehrveranstaltung_id, prestudent_id,
|
||||
studiensemester_kurzbz, note, uebernahmedatum, benotungsdatum, bemerkung,
|
||||
updateamum, updatevon, insertamum, insertvon, punkte) VALUES('.
|
||||
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->student_uid).', '.
|
||||
$this->db_add_param($this->prestudent_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
$this->db_add_param($this->note).', '.
|
||||
$this->db_add_param($this->uebernahmedatum).', '.
|
||||
@@ -194,7 +195,7 @@ class zeugnisnote extends basis_db
|
||||
'updateamum= '.$this->db_add_param($this->updateamum).', '.
|
||||
'updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
'WHERE lehrveranstaltung_id='.$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).' '.
|
||||
'AND student_uid='.$this->db_add_param($this->student_uid).' '.
|
||||
'AND 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))
|
||||
@@ -210,15 +211,15 @@ class zeugnisnote extends basis_db
|
||||
/**
|
||||
* Loescht den Datenensatz mit der ID die uebergeben wird
|
||||
* @param $lehrveranstaltung_id
|
||||
* $student_uid
|
||||
* $prestudent_id
|
||||
* $studiensemester_kurzbz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz)
|
||||
public function delete($lehrveranstaltung_id, $prestudent_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "DELETE FROM lehre.tbl_zeugnisnote WHERE
|
||||
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER, false)." AND
|
||||
student_uid=".$this->db_add_param($student_uid)." AND
|
||||
prestudent_id=".$this->db_add_param($prestudent_id)." AND
|
||||
studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
@@ -231,7 +232,7 @@ class zeugnisnote extends basis_db
|
||||
/**
|
||||
* Laedt die Noten
|
||||
* @param $lehrveranstaltung_id
|
||||
* $student_uid
|
||||
* $prestudent_id
|
||||
* $studiensemester_kurzbz
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
@@ -276,7 +277,7 @@ class zeugnisnote extends basis_db
|
||||
LEFT JOIN public.tbl_student ON( public.tbl_student.student_uid=vw_student_lehrveranstaltung.uid)
|
||||
WHERE true $where
|
||||
UNION
|
||||
SELECT lehre.tbl_lehrveranstaltung.lehrveranstaltung_id,prestudent_id, lehre.tbl_zeugnisnote.student_uid AS uid,studiensemester_kurzbz, note, punkte,
|
||||
SELECT lehre.tbl_lehrveranstaltung.lehrveranstaltung_id,prestudent_id, lehre.tbl_zeugnisnote.prestudent_id AS uid,studiensemester_kurzbz, note, punkte,
|
||||
uebernahmedatum, benotungsdatum,lehre.tbl_lehrveranstaltung.ects,lehre.tbl_lehrveranstaltung.semesterstunden, tbl_zeugnisnote.updateamum, tbl_zeugnisnote.updatevon, tbl_zeugnisnote.insertamum,
|
||||
tbl_zeugnisnote.insertvon, tbl_zeugnisnote.ext_id, lehre.tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, lehre.tbl_lehrveranstaltung.bezeichnung_english as lehrveranstaltung_bezeichnung_english,
|
||||
tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung as bemerkung, tbl_lehrveranstaltung.sort, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.studiengang_kz,
|
||||
@@ -285,7 +286,7 @@ class zeugnisnote extends basis_db
|
||||
lehre.tbl_zeugnisnote
|
||||
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_note USING(note)
|
||||
LEFT JOIN public.tbl_student ON( public.tbl_student.student_uid=lehre.tbl_zeugnisnote.student_uid )
|
||||
LEFT JOIN public.tbl_student ON( public.tbl_student.student_uid=lehre.tbl_zeugnisnote.prestudent_id )
|
||||
WHERE true $where2
|
||||
ORDER BY sort";
|
||||
if($this->db_query($qry))
|
||||
@@ -329,11 +330,11 @@ class zeugnisnote extends basis_db
|
||||
/**
|
||||
* Laedt die Noten Studienjahr
|
||||
* @param $lehrveranstaltung_id
|
||||
* $student_uid
|
||||
* $prestudent_id
|
||||
* $studiensemester_kurzbz
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getZeugnisnotenStudienplan($student_uid, $studiensemester_arr, $studienplan_id)
|
||||
public function getZeugnisnotenStudienplan($prestudent_id, $studiensemester_arr, $studienplan_id)
|
||||
{
|
||||
$stsem = $this->db_implode4SQL($studiensemester_arr);
|
||||
/*
|
||||
@@ -404,7 +405,7 @@ class zeugnisnote extends basis_db
|
||||
{
|
||||
$obj = new zeugnisnote();
|
||||
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$obj->student_uid = $student_uid;
|
||||
$obj->prestudent_id = $prestudent_id;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$obj->note = $row->note;
|
||||
$obj->uebernahmedatum = $row->uebernahmedatum;
|
||||
@@ -446,11 +447,11 @@ class zeugnisnote extends basis_db
|
||||
{
|
||||
if(strtoupper($crud) === 'INSERT')
|
||||
{
|
||||
return 'INSERT INTO lehre.tbl_zeugnisnote (lehrveranstaltung_id, student_uid,
|
||||
return 'INSERT INTO lehre.tbl_zeugnisnote (lehrveranstaltung_id, prestudent_id,
|
||||
studiensemester_kurzbz, note, uebernahmedatum, benotungsdatum, bemerkung,
|
||||
updateamum, updatevon, insertamum, insertvon, punkte) VALUES('.
|
||||
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->student_uid).', '.
|
||||
$this->db_add_param($this->prestudent_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
$this->db_add_param($this->note).', '.
|
||||
$this->db_add_param($this->uebernahmedatum).', '.
|
||||
@@ -473,7 +474,7 @@ class zeugnisnote extends basis_db
|
||||
'updateamum= '.$this->db_add_param($this->updateamum).', '.
|
||||
'updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
'WHERE lehrveranstaltung_id='.$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).' '.
|
||||
'AND student_uid='.$this->db_add_param($this->student_uid).' '.
|
||||
'AND prestudent_id='.$this->db_add_param($this->prestudent_id, FHC_INTEGER).' '.
|
||||
'AND studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).';';
|
||||
}
|
||||
else
|
||||
|
||||
@@ -69,10 +69,10 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
if($db->db_query($query))
|
||||
{
|
||||
if(!$row = $db->db_fetch_object())
|
||||
die('Student not found'.$uid_arr[$i]);
|
||||
die('Student not found: '.$uid_arr[$i]);
|
||||
}
|
||||
else
|
||||
die('Student not found'.$uid_arr[$i]);
|
||||
die('Student not found: '.$uid_arr[$i]);
|
||||
|
||||
//Bei DEW und DPW werden 60 ECTS angerechnet
|
||||
if($row->studiengang_kz==92 || $row->studiengang_kz==91)
|
||||
@@ -291,11 +291,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
|
||||
}
|
||||
|
||||
if(!$std = new student($uid_arr[$i]))
|
||||
if(!$student = new student($uid_arr[$i]))
|
||||
die("Student nicht gefunden");
|
||||
|
||||
$akadgrad_id='';
|
||||
$qry = "SELECT bezeichnung, akadgrad_id, bezeichnung_english FROM lehre.tbl_abschlusspruefung JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) WHERE prestudent_id=".$db->db_add_param($student->prestudent_id)." ORDER BY datum DESC LIMIT 1";
|
||||
$qry = "SELECT bezeichnung, akadgrad_id, bezeichnung_english FROM lehre.tbl_abschlusspruefung JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) WHERE prestudent_id=".$db->db_add_param($student->prestudent_id, FHC_INTEGER)." ORDER BY datum DESC LIMIT 1";
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($row1 = $db->db_fetch_object())
|
||||
@@ -555,7 +555,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$semester_ects = 0;
|
||||
//$thesis_beschreibung = '';
|
||||
echo "<semesters>";
|
||||
|
||||
$student = new student($uid_arr[$i]);
|
||||
|
||||
// alle semester für das ausbildungssemester holen
|
||||
// Semester wo Unterbrecher nicht holen
|
||||
@@ -563,9 +563,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
from lehre.tbl_zeugnisnote zeugnis
|
||||
join lehre.tbl_note note using(note)
|
||||
join lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
join public.tbl_student student USING(student_uid)
|
||||
join public.tbl_prestudentstatus status USING(prestudent_id)
|
||||
where student_uid = ".$db->db_add_param($uid_arr[$i])." AND
|
||||
where prestudent_id = ".$db->db_add_param($student->prestudent_id, FHC_INTEGER)." AND
|
||||
zeugnis = true AND
|
||||
status.ausbildungssemester = ".$db->db_add_param($start)." AND
|
||||
status.status_kurzbz NOT IN('Unterbrecher', 'Interessent','Bewerber','Aufgenommener','Abgewiesener','Wartender')
|
||||
@@ -596,7 +595,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$semester_kurzbz = 'Winter Semester '.$year.'/'.$helpyear;
|
||||
}
|
||||
|
||||
$sqlStudent = new student();
|
||||
$sqlStudent = new student($uid_arr[$i]);
|
||||
|
||||
echo " <semesterKurzbz>Semester $start | $semester_kurzbz</semesterKurzbz>";
|
||||
|
||||
@@ -609,7 +608,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
from lehre.tbl_zeugnisnote zeugnis
|
||||
join lehre.tbl_note note using(note)
|
||||
join lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
where student_uid = ".$db->db_add_param($uid_arr[$i])." AND zeugnis = true AND
|
||||
where prestudent_id = ".$db->db_add_param($sqlStudent->prestudent_id, FHC_INTEGER)." AND zeugnis = true AND
|
||||
studiensemester_kurzbz in (".$sqlStudent->implode4SQL($aktuellesSemester).")
|
||||
ORDER BY sort, tbl_lehrveranstaltung.bezeichnung;";
|
||||
|
||||
@@ -748,12 +747,12 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
}
|
||||
$arrayLvAusbildungssemester[$row_stud->lehrveranstaltung_id]['lehrform_kurzbz']= $lehrform_kurzbz;
|
||||
// echo " <lehrform_kurzbz>$lehrform_kurzbz</lehrform_kurzbz>";
|
||||
|
||||
$student = new student($uid_arr[$i]);
|
||||
// hole benotungsdatum von aktueller LV
|
||||
$qry_benotung = "SELECT benotungsdatum FROM
|
||||
lehre.tbl_zeugnisnote WHERE lehrveranstaltung_id = ".$db->db_add_param($row_stud->lehrveranstaltung_id)."
|
||||
AND studiensemester_kurzbz = ".$db->db_add_param($row_stud->studiensemester_kurzbz)."
|
||||
AND student_uid = ".$db->db_add_param($uid_arr[$i]).";";
|
||||
AND prestudent_id = ".$db->db_add_param($student->prestudent_id, FHC_INTEGER).";";
|
||||
if($result_benotung = $db->db_query($qry_benotung))
|
||||
{
|
||||
if($row_benotung = $db->db_fetch_object($result_benotung))
|
||||
@@ -897,12 +896,13 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$note_outgoing = 'ar';
|
||||
$benotungsdatum_outgoing = '';
|
||||
$lehrform_kurzbz_outgoing = '';
|
||||
$student = new student($uid_arr[$i]);
|
||||
|
||||
$qry_outgoing_note = "SELECT anmerkung, benotungsdatum, lehrform_kurzbz
|
||||
FROM lehre.tbl_zeugnisnote
|
||||
JOIN tbl_lehrveranstaltung using(lehrveranstaltung_id)
|
||||
JOIN tbl_note using(note)
|
||||
WHERE lehrveranstaltung_id = ".$db->db_add_param($row_outgoing->lehrveranstaltung_id)." and student_uid = ".$db->db_add_param($uid_arr[$i]);
|
||||
WHERE lehrveranstaltung_id = ".$db->db_add_param($row_outgoing->lehrveranstaltung_id)." and prestudent_id = ".$db->db_add_param($student->prestudent_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($result_outgoing_note = $db->db_query($qry_outgoing_note))
|
||||
|
||||
+312
-311
@@ -1,311 +1,312 @@
|
||||
<?php
|
||||
/* Copyright (C) 2014 fhcomplete.org
|
||||
*
|
||||
* 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
header("Content-type: application/xhtml+xml");
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/zeugnisnote.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
require_once('../include/note.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/mitarbeiter.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/studienordnung.class.php');
|
||||
require_once('../include/studienplan.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
require_once('../include/prestudent.class.php');
|
||||
|
||||
$datum = new datum();
|
||||
$db = new basis_db();
|
||||
|
||||
$lehrveranstaltungen = array();
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
$uid = null;
|
||||
|
||||
$uid_arr = explode(";",$uid);
|
||||
|
||||
if ($uid_arr[0] == "")
|
||||
{
|
||||
unset($uid_arr[0]);
|
||||
$uid_arr = array_values($uid_arr);
|
||||
}
|
||||
|
||||
// Noten laden
|
||||
$note_arr = array();
|
||||
$note = new note();
|
||||
$note->getAll();
|
||||
foreach ($note->result as $n)
|
||||
{
|
||||
$note_arr[$n->note]['anmerkung'] = $n->anmerkung;
|
||||
$note_arr[$n->note]['positiv'] = $n->positiv;
|
||||
}
|
||||
$note_arr['']['anmerkung'] = '';
|
||||
$note_arr['']['positiv'] = false;
|
||||
|
||||
// Studienjahr ermitteln
|
||||
if(isset($_GET['ss']))
|
||||
$studiensemester_kurzbz = $_GET['ss'];
|
||||
else
|
||||
die('Parameter SS fehlt');
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester_kurzbz2 = $studiensemester->getStudienjahrStudiensemester($studiensemester_kurzbz);
|
||||
|
||||
|
||||
//Daten holen
|
||||
|
||||
$xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
|
||||
$xml .= "<zeugnisse>";
|
||||
|
||||
foreach($uid_arr as $uid)
|
||||
{
|
||||
$student = new student();
|
||||
if(!$student->load($uid))
|
||||
die($student->errormsg);
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$stgleiter = $studiengang->getLeitung($student->studiengang_kz);
|
||||
$stgl='';
|
||||
foreach ($stgleiter as $stgleiter_uid)
|
||||
{
|
||||
$stgl_ma = new mitarbeiter($stgleiter_uid);
|
||||
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
|
||||
}
|
||||
|
||||
$ausbildungssemester = 0;
|
||||
|
||||
//Wenn das Semester 0 ist, dann wird das Semester aus der Rolle geholt. (Ausnahme: Incoming)
|
||||
//damit bei Outgoing Studenten die im 0. Semester angelegt sind das richtige Semester aufscheint
|
||||
$qry ="SELECT ausbildungssemester as semester FROM public.tbl_prestudentstatus
|
||||
WHERE
|
||||
prestudent_id=".$db->db_add_param($student->prestudent_id)." AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent')
|
||||
ORDER BY DATUM DESC LIMIT 1";
|
||||
if($result_sem = $db->db_query($qry))
|
||||
{
|
||||
if($row_sem = $db->db_fetch_object($result_sem))
|
||||
{
|
||||
$ausbildungssemester = $row_sem->semester;
|
||||
}
|
||||
}
|
||||
|
||||
$qry ="SELECT ausbildungssemester as semester FROM public.tbl_prestudentstatus
|
||||
WHERE
|
||||
prestudent_id=".$db->db_add_param($student->prestudent_id)." AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz2)." AND
|
||||
status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent')
|
||||
ORDER BY DATUM DESC LIMIT 1";
|
||||
if($result_sem = $db->db_query($qry))
|
||||
{
|
||||
if($row_sem = $db->db_fetch_object($result_sem))
|
||||
{
|
||||
$ausbildungssemester2 = $row_sem->semester;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($ausbildungssemester/2==0)
|
||||
$ausbildungssemester2=$ausbildungssemester-1;
|
||||
else
|
||||
$ausbildungssemester2=$ausbildungssemester+1;
|
||||
}
|
||||
}
|
||||
|
||||
$student_studienjahr = round($ausbildungssemester/2);
|
||||
|
||||
$jahr1=mb_substr($studiensemester_kurzbz,2);
|
||||
$jahr2=mb_substr($studiensemester_kurzbz2,2);
|
||||
$studienjahr = ($jahr1>$jahr2?$jahr2.'/'.$jahr1:$jahr1.'/'.$jahr2);
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->load($student->studiengang_kz);
|
||||
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getLastStatus($student->prestudent_id, $studiensemester_kurzbz);
|
||||
|
||||
if($prestudent->studienplan_id=='')
|
||||
{
|
||||
die('keine Studienplan Zuordnung fuer '.$student->nachname);
|
||||
}
|
||||
$studienplan = new studienplan();
|
||||
if(!$studienplan->loadStudienplan($prestudent->studienplan_id))
|
||||
die('Studienplan ungueltig');
|
||||
|
||||
$studienordnung = new studienordnung();
|
||||
if(!$studienordnung->loadStudienordnung($studienplan->studienordnung_id))
|
||||
die('Studienordnung ungueltig');
|
||||
|
||||
|
||||
$xml .= "\n <zeugnis>";
|
||||
$xml .= "\n <semester>".$ausbildungssemester."</semester>";
|
||||
$xml .= "\n <studienjahr>".$studienjahr."</studienjahr>";
|
||||
$xml .= "\n <student_studienjahr>".$student_studienjahr."</student_studienjahr>";
|
||||
$xml .= "\n <studiengang>".$studienordnung->studiengangbezeichnung."</studiengang>";
|
||||
$xml .= "\n <studiengang_englisch>".$studienordnung->studiengangbezeichnung_englisch."</studiengang_englisch>";
|
||||
$xml .= "\n <studiengang_typ>".$studiengang->typ."</studiengang_typ>";
|
||||
$xml .= "\n <studiengang_kz>".sprintf('%04s', abs($studiengang->studiengang_kz))."</studiengang_kz>";
|
||||
$xml .= "\n <anrede>".$student->anrede."</anrede>";
|
||||
$xml .= "\n <vorname>".$student->vorname."</vorname>";
|
||||
$xml .= "\n <nachname>".$student->nachname."</nachname>";
|
||||
$xml .= "\n <name>".trim($student->titelpre.' '.trim($student->vorname.' '.$student->vornamen).' '.mb_strtoupper($student->nachname).($student->titelpost!=''?', '.$student->titelpost:''))."</name>";
|
||||
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
|
||||
$xml .= "\n <gebdatum>".$gebdatum."</gebdatum>";
|
||||
$xml .= "\n <personenkennzeichen>".$student->matrikelnr."</personenkennzeichen>";
|
||||
$xml .= "\n <studiengangsleiter>".$stgl."</studiengangsleiter>";
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$xml .= "\n <datum_aktuell>".$datum_aktuell."</datum_aktuell>";
|
||||
|
||||
$obj = new zeugnisnote();
|
||||
|
||||
|
||||
$obj->getZeugnisnotenStudienplan($uid, array($studiensemester_kurzbz, $studiensemester_kurzbz2),$prestudent->studienplan_id);
|
||||
|
||||
foreach ($obj->result as $row)
|
||||
{
|
||||
$stpllv[$row->studienplan_lehrveranstaltung_id] = $row->lehrveranstaltung_id;
|
||||
}
|
||||
|
||||
$durchlauf=0;
|
||||
|
||||
// Zweimal durchlaufen weil sonst manche Submodule nicht richtig erfasst werden
|
||||
while($durchlauf<2)
|
||||
{
|
||||
foreach($obj->result as $row)
|
||||
{
|
||||
// Nur die betreffenden Semester mitnehmen da sonst ein durcheinander entsteht wenn die gleiche LV in verschiedenen Semester in unterschiedlichen
|
||||
// Modulen verwendet wird
|
||||
if($row->studienplan_lehrveranstaltung_semester==$ausbildungssemester || $row->studienplan_lehrveranstaltung_semester==$ausbildungssemester2)
|
||||
{
|
||||
//Gruppieren der Module
|
||||
//$lvs['1']['childs']['2']=$obj;
|
||||
if($row->studienplan_lehrveranstaltung_id_parent=='') // 1. Ebene (Module)
|
||||
{
|
||||
$lehrveranstaltungen[$row->lehrveranstaltung_id]['data']=$row;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 2. Ebene
|
||||
if(isset($stpllv[$row->studienplan_lehrveranstaltung_id_parent]) && isset($lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]))
|
||||
{
|
||||
$lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data'] = $row;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 3. Ebene
|
||||
foreach($lehrveranstaltungen as $key=>$row_module)
|
||||
{
|
||||
if(isset($stpllv[$row->studienplan_lehrveranstaltung_id_parent]) && isset($lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]))
|
||||
{
|
||||
$lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data']=$row;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$durchlauf++;
|
||||
}
|
||||
|
||||
$ects_gesamt = 0;
|
||||
$ects_absolviert = 0;
|
||||
foreach ($lehrveranstaltungen as $row_lehrveranstaltungen)
|
||||
{
|
||||
$xml.=getLVRow($row_lehrveranstaltungen);
|
||||
}
|
||||
$xml .= "<ects_gesamt>".$ects_gesamt."</ects_gesamt>";
|
||||
$xml .= "<ects_absolviert>".$ects_absolviert."</ects_absolviert>";
|
||||
$xml .= " </zeugnis>";
|
||||
}
|
||||
$xml .= "</zeugnisse>";
|
||||
echo $xml;
|
||||
|
||||
function getLVRow($obj)
|
||||
{
|
||||
global $ects_gesamt, $ects_absolviert,$studienplan,$note_arr;
|
||||
$xml='';
|
||||
$row = $obj['data'];
|
||||
if($row->zeugnis)
|
||||
{
|
||||
if ($row->note!=='')
|
||||
$note = $note_arr[$row->note]['anmerkung'];
|
||||
else
|
||||
$note = "";
|
||||
|
||||
$bezeichnung = $row->lehrveranstaltung_bezeichnung;
|
||||
$bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english;
|
||||
|
||||
$wochen = $studienplan->semesterwochen;
|
||||
|
||||
$stsem_kurz = mb_substr($row->studiensemester_kurzbz,0,2);
|
||||
if($stsem_kurz=='')
|
||||
{
|
||||
// Das Studiensemester kommt aus der Note, wenn keine Note vorhanden ist,
|
||||
// wird SS und WS aufgrund der Semesterzuteilung der LV ermittelt
|
||||
// TODO passt nicht wenn studiengang im Sommersemester startet
|
||||
$stsem_kurz= ($row->studienplan_lehrveranstaltung_semester%2==0?'SS':'WS');
|
||||
}
|
||||
|
||||
$xml .= "\n <unterrichtsfach>";
|
||||
$xml .= "\n <bezeichnung><![CDATA[".$bezeichnung."]]></bezeichnung>";
|
||||
$xml .= "\n <bezeichnung_englisch><![CDATA[".$bezeichnung_englisch."]]></bezeichnung_englisch>";
|
||||
$xml .= "\n <lvnr>".$row->lehrveranstaltung_lvnr."</lvnr>";
|
||||
$xml .= "\n <stsem_kurz><![CDATA[".$stsem_kurz."]]></stsem_kurz>";
|
||||
$xml .= "\n <semester><![CDATA[".$row->studienplan_lehrveranstaltung_semester."]]></semester>";
|
||||
$xml .= "\n <note>".$note."</note>";
|
||||
$xml .= "\n <noteidx>".$row->note."</noteidx>";
|
||||
$xml .= "\n <positiv>".($note_arr[$row->note]['positiv']?'Ja':'Nein')."</positiv>";
|
||||
$xml .= "\n <sws>".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."</sws>";
|
||||
$ectspunkte='';
|
||||
|
||||
if($row->ects==0 || $row->ects=='')
|
||||
$ectspunkte='';
|
||||
else
|
||||
{
|
||||
//Bei 2 Nachkommastellen beide anzeigen, sonst nur 1
|
||||
if(number_format($row->ects,1)==number_format($row->ects,2))
|
||||
$ectspunkte=number_format($row->ects,1);
|
||||
else
|
||||
$ectspunkte=number_format($row->ects,2);
|
||||
}
|
||||
if($row->lv_lehrform_kurzbz!='MOD')
|
||||
$ects_gesamt+=$ectspunkte;
|
||||
|
||||
if($note_arr[$row->note]['positiv'])
|
||||
$ects_absolviert+=$ectspunkte;
|
||||
|
||||
$xml .= "\n <ects>".$ectspunkte."</ects>";
|
||||
$xml .= "\n <lehrform>".$row->lv_lehrform_kurzbz."</lehrform>";
|
||||
|
||||
if(isset($obj['childs']))
|
||||
{
|
||||
foreach($obj['childs'] as $row_childs)
|
||||
{
|
||||
$xml.=getLVRow($row_childs);
|
||||
}
|
||||
}
|
||||
|
||||
$xml .= "\n </unterrichtsfach>";
|
||||
}
|
||||
|
||||
return $xml;
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
/* Copyright (C) 2014 fhcomplete.org
|
||||
*
|
||||
* 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
header("Content-type: application/xhtml+xml");
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/zeugnisnote.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
require_once('../include/note.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/mitarbeiter.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/studienordnung.class.php');
|
||||
require_once('../include/studienplan.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
require_once('../include/prestudent.class.php');
|
||||
|
||||
$datum = new datum();
|
||||
$db = new basis_db();
|
||||
|
||||
$lehrveranstaltungen = array();
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
$uid = null;
|
||||
|
||||
$uid_arr = explode(";",$uid);
|
||||
|
||||
if ($uid_arr[0] == "")
|
||||
{
|
||||
unset($uid_arr[0]);
|
||||
$uid_arr = array_values($uid_arr);
|
||||
}
|
||||
|
||||
// Noten laden
|
||||
$note_arr = array();
|
||||
$note = new note();
|
||||
$note->getAll();
|
||||
foreach ($note->result as $n)
|
||||
{
|
||||
$note_arr[$n->note]['anmerkung'] = $n->anmerkung;
|
||||
$note_arr[$n->note]['positiv'] = $n->positiv;
|
||||
}
|
||||
$note_arr['']['anmerkung'] = '';
|
||||
$note_arr['']['positiv'] = false;
|
||||
|
||||
// Studienjahr ermitteln
|
||||
if(isset($_GET['ss']))
|
||||
$studiensemester_kurzbz = $_GET['ss'];
|
||||
else
|
||||
die('Parameter SS fehlt');
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester_kurzbz2 = $studiensemester->getStudienjahrStudiensemester($studiensemester_kurzbz);
|
||||
|
||||
|
||||
//Daten holen
|
||||
|
||||
$xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
|
||||
$xml .= "<zeugnisse>";
|
||||
|
||||
foreach($uid_arr as $uid)
|
||||
{
|
||||
$student = new student();
|
||||
if(!$student->load($uid))
|
||||
die($student->errormsg);
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$stgleiter = $studiengang->getLeitung($student->studiengang_kz);
|
||||
$stgl='';
|
||||
foreach ($stgleiter as $stgleiter_uid)
|
||||
{
|
||||
$stgl_ma = new mitarbeiter($stgleiter_uid);
|
||||
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
|
||||
}
|
||||
|
||||
$ausbildungssemester = 0;
|
||||
|
||||
//Wenn das Semester 0 ist, dann wird das Semester aus der Rolle geholt. (Ausnahme: Incoming)
|
||||
//damit bei Outgoing Studenten die im 0. Semester angelegt sind das richtige Semester aufscheint
|
||||
$qry ="SELECT ausbildungssemester as semester FROM public.tbl_prestudentstatus
|
||||
WHERE
|
||||
prestudent_id=".$db->db_add_param($student->prestudent_id)." AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent')
|
||||
ORDER BY DATUM DESC LIMIT 1";
|
||||
if($result_sem = $db->db_query($qry))
|
||||
{
|
||||
if($row_sem = $db->db_fetch_object($result_sem))
|
||||
{
|
||||
$ausbildungssemester = $row_sem->semester;
|
||||
}
|
||||
}
|
||||
|
||||
$qry ="SELECT ausbildungssemester as semester FROM public.tbl_prestudentstatus
|
||||
WHERE
|
||||
prestudent_id=".$db->db_add_param($student->prestudent_id)." AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz2)." AND
|
||||
status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent')
|
||||
ORDER BY DATUM DESC LIMIT 1";
|
||||
if($result_sem = $db->db_query($qry))
|
||||
{
|
||||
if($row_sem = $db->db_fetch_object($result_sem))
|
||||
{
|
||||
$ausbildungssemester2 = $row_sem->semester;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($ausbildungssemester/2==0)
|
||||
$ausbildungssemester2=$ausbildungssemester-1;
|
||||
else
|
||||
$ausbildungssemester2=$ausbildungssemester+1;
|
||||
}
|
||||
}
|
||||
|
||||
$student_studienjahr = round($ausbildungssemester/2);
|
||||
|
||||
$jahr1=mb_substr($studiensemester_kurzbz,2);
|
||||
$jahr2=mb_substr($studiensemester_kurzbz2,2);
|
||||
$studienjahr = ($jahr1>$jahr2?$jahr2.'/'.$jahr1:$jahr1.'/'.$jahr2);
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->load($student->studiengang_kz);
|
||||
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getLastStatus($student->prestudent_id, $studiensemester_kurzbz);
|
||||
|
||||
if($prestudent->studienplan_id=='')
|
||||
{
|
||||
die('keine Studienplan Zuordnung fuer '.$student->nachname);
|
||||
}
|
||||
$studienplan = new studienplan();
|
||||
if(!$studienplan->loadStudienplan($prestudent->studienplan_id))
|
||||
die('Studienplan ungueltig');
|
||||
|
||||
$studienordnung = new studienordnung();
|
||||
if(!$studienordnung->loadStudienordnung($studienplan->studienordnung_id))
|
||||
die('Studienordnung ungueltig');
|
||||
|
||||
|
||||
$xml .= "\n <zeugnis>";
|
||||
$xml .= "\n <semester>".$ausbildungssemester."</semester>";
|
||||
$xml .= "\n <studienjahr>".$studienjahr."</studienjahr>";
|
||||
$xml .= "\n <student_studienjahr>".$student_studienjahr."</student_studienjahr>";
|
||||
$xml .= "\n <studiengang>".$studienordnung->studiengangbezeichnung."</studiengang>";
|
||||
$xml .= "\n <studiengang_englisch>".$studienordnung->studiengangbezeichnung_englisch."</studiengang_englisch>";
|
||||
$xml .= "\n <studiengang_typ>".$studiengang->typ."</studiengang_typ>";
|
||||
$xml .= "\n <studiengang_kz>".sprintf('%04s', abs($studiengang->studiengang_kz))."</studiengang_kz>";
|
||||
$xml .= "\n <anrede>".$student->anrede."</anrede>";
|
||||
$xml .= "\n <vorname>".$student->vorname."</vorname>";
|
||||
$xml .= "\n <nachname>".$student->nachname."</nachname>";
|
||||
$xml .= "\n <name>".trim($student->titelpre.' '.trim($student->vorname.' '.$student->vornamen).' '.mb_strtoupper($student->nachname).($student->titelpost!=''?', '.$student->titelpost:''))."</name>";
|
||||
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
|
||||
$xml .= "\n <gebdatum>".$gebdatum."</gebdatum>";
|
||||
$xml .= "\n <personenkennzeichen>".$student->matrikelnr."</personenkennzeichen>";
|
||||
$xml .= "\n <studiengangsleiter>".$stgl."</studiengangsleiter>";
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$xml .= "\n <datum_aktuell>".$datum_aktuell."</datum_aktuell>";
|
||||
|
||||
$obj = new zeugnisnote();
|
||||
|
||||
|
||||
$obj->getZeugnisnotenStudienplan($prestudent_id, array($studiensemester_kurzbz, $studiensemester_kurzbz2),$prestudent->studienplan_id);
|
||||
|
||||
foreach ($obj->result as $row)
|
||||
{
|
||||
$stpllv[$row->studienplan_lehrveranstaltung_id] = $row->lehrveranstaltung_id;
|
||||
}
|
||||
|
||||
$durchlauf=0;
|
||||
|
||||
// Zweimal durchlaufen weil sonst manche Submodule nicht richtig erfasst werden
|
||||
while($durchlauf<2)
|
||||
{
|
||||
foreach($obj->result as $row)
|
||||
{
|
||||
// Nur die betreffenden Semester mitnehmen da sonst ein durcheinander entsteht wenn die gleiche LV in verschiedenen Semester in unterschiedlichen
|
||||
// Modulen verwendet wird
|
||||
if($row->studienplan_lehrveranstaltung_semester==$ausbildungssemester || $row->studienplan_lehrveranstaltung_semester==$ausbildungssemester2)
|
||||
{
|
||||
//Gruppieren der Module
|
||||
//$lvs['1']['childs']['2']=$obj;
|
||||
if($row->studienplan_lehrveranstaltung_id_parent=='') // 1. Ebene (Module)
|
||||
{
|
||||
$lehrveranstaltungen[$row->lehrveranstaltung_id]['data']=$row;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 2. Ebene
|
||||
if(isset($stpllv[$row->studienplan_lehrveranstaltung_id_parent]) && isset($lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]))
|
||||
{
|
||||
$lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data'] = $row;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 3. Ebene
|
||||
foreach($lehrveranstaltungen as $key=>$row_module)
|
||||
{
|
||||
if(isset($stpllv[$row->studienplan_lehrveranstaltung_id_parent]) && isset($lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]))
|
||||
{
|
||||
$lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data']=$row;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$durchlauf++;
|
||||
}
|
||||
|
||||
$ects_gesamt = 0;
|
||||
$ects_absolviert = 0;
|
||||
foreach ($lehrveranstaltungen as $row_lehrveranstaltungen)
|
||||
{
|
||||
$xml.=getLVRow($row_lehrveranstaltungen);
|
||||
}
|
||||
$xml .= "<ects_gesamt>".$ects_gesamt."</ects_gesamt>";
|
||||
$xml .= "<ects_absolviert>".$ects_absolviert."</ects_absolviert>";
|
||||
$xml .= " </zeugnis>";
|
||||
}
|
||||
$xml .= "</zeugnisse>";
|
||||
echo $xml;
|
||||
|
||||
function getLVRow($obj)
|
||||
{
|
||||
global $ects_gesamt, $ects_absolviert,$studienplan,$note_arr;
|
||||
$xml='';
|
||||
$row = $obj['data'];
|
||||
if($row->zeugnis)
|
||||
{
|
||||
if ($row->note!=='')
|
||||
$note = $note_arr[$row->note]['anmerkung'];
|
||||
else
|
||||
$note = "";
|
||||
|
||||
$bezeichnung = $row->lehrveranstaltung_bezeichnung;
|
||||
$bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english;
|
||||
|
||||
$wochen = $studienplan->semesterwochen;
|
||||
|
||||
$stsem_kurz = mb_substr($row->studiensemester_kurzbz,0,2);
|
||||
if($stsem_kurz=='')
|
||||
{
|
||||
// Das Studiensemester kommt aus der Note, wenn keine Note vorhanden ist,
|
||||
// wird SS und WS aufgrund der Semesterzuteilung der LV ermittelt
|
||||
// TODO passt nicht wenn studiengang im Sommersemester startet
|
||||
$stsem_kurz= ($row->studienplan_lehrveranstaltung_semester%2==0?'SS':'WS');
|
||||
}
|
||||
|
||||
$xml .= "\n <unterrichtsfach>";
|
||||
$xml .= "\n <bezeichnung><![CDATA[".$bezeichnung."]]></bezeichnung>";
|
||||
$xml .= "\n <bezeichnung_englisch><![CDATA[".$bezeichnung_englisch."]]></bezeichnung_englisch>";
|
||||
$xml .= "\n <lvnr>".$row->lehrveranstaltung_lvnr."</lvnr>";
|
||||
$xml .= "\n <stsem_kurz><![CDATA[".$stsem_kurz."]]></stsem_kurz>";
|
||||
$xml .= "\n <semester><![CDATA[".$row->studienplan_lehrveranstaltung_semester."]]></semester>";
|
||||
$xml .= "\n <note>".$note."</note>";
|
||||
$xml .= "\n <noteidx>".$row->note."</noteidx>";
|
||||
$xml .= "\n <positiv>".($note_arr[$row->note]['positiv']?'Ja':'Nein')."</positiv>";
|
||||
$xml .= "\n <sws>".($row->semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."</sws>";
|
||||
$ectspunkte='';
|
||||
|
||||
if($row->ects==0 || $row->ects=='')
|
||||
$ectspunkte='';
|
||||
else
|
||||
{
|
||||
//Bei 2 Nachkommastellen beide anzeigen, sonst nur 1
|
||||
if(number_format($row->ects,1)==number_format($row->ects,2))
|
||||
$ectspunkte=number_format($row->ects,1);
|
||||
else
|
||||
$ectspunkte=number_format($row->ects,2);
|
||||
}
|
||||
if($row->lv_lehrform_kurzbz!='MOD')
|
||||
$ects_gesamt+=$ectspunkte;
|
||||
|
||||
if($note_arr[$row->note]['positiv'])
|
||||
$ects_absolviert+=$ectspunkte;
|
||||
|
||||
$xml .= "\n <ects>".$ectspunkte."</ects>";
|
||||
$xml .= "\n <lehrform>".$row->lv_lehrform_kurzbz."</lehrform>";
|
||||
|
||||
if(isset($obj['childs']))
|
||||
{
|
||||
foreach($obj['childs'] as $row_childs)
|
||||
{
|
||||
$xml.=getLVRow($row_childs);
|
||||
}
|
||||
}
|
||||
|
||||
$xml .= "\n </unterrichtsfach>";
|
||||
}
|
||||
|
||||
return $xml;
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
* 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> and
|
||||
* Gerald Raab <gerald.raab@technikum-wien.at>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Gerald Raab <gerald.raab@technikum-wien.at> and
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>.
|
||||
*/
|
||||
// content type setzen
|
||||
header("Content-type: application/xhtml+xml");
|
||||
@@ -30,6 +31,7 @@ require_once('../include/note.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/mitarbeiter.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
|
||||
$datum = new datum();
|
||||
$db = new basis_db();
|
||||
@@ -230,10 +232,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= "\n <studiengangsleiter>".$stgl."</studiengangsleiter>";
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$xml .= "\n <ort_datum>Wien, am ".$datum_aktuell."</ort_datum>";
|
||||
|
||||
|
||||
|
||||
$student = new student($uid_arr[$i]);
|
||||
|
||||
$obj = new zeugnisnote();
|
||||
$obj->load($lehrveranstaltung_id, $uid_arr[$i], $studiensemester_kurzbz);
|
||||
$obj->load($lehrveranstaltung_id, $student->prestudent_id, $studiensemester_kurzbz);
|
||||
|
||||
if ($obj->note)
|
||||
{
|
||||
@@ -276,4 +279,4 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= "</zertifikate>";
|
||||
echo $xml;
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -16,9 +16,10 @@
|
||||
* 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> and
|
||||
* Gerald Raab <gerald.raab@technikum-wien.at>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Gerald Raab <gerald.raab@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
// content type setzen
|
||||
header("Content-type: application/xhtml+xml");
|
||||
@@ -279,10 +280,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= "\n <studiengangsleiter>".$stgl."</studiengangsleiter>";
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$xml .= "\n <ort_datum>Wien, am ".$datum_aktuell."</ort_datum>";
|
||||
|
||||
|
||||
|
||||
$student = new student($uid_arr[$i]);
|
||||
|
||||
$obj = new zeugnisnote();
|
||||
$obj->load($lehrveranstaltung_id, $uid_arr[$i], $studiensemester_kurzbz);
|
||||
$obj->load($lehrveranstaltung_id, $student->prestudent_id, $studiensemester_kurzbz);
|
||||
|
||||
if ($obj->note)
|
||||
{
|
||||
|
||||
+10
-7
@@ -16,9 +16,10 @@
|
||||
* 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> and
|
||||
* Gerald Raab <gerald.raab@technikum-wien.at>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
|
||||
* Gerald Raab <gerald.raab@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
// content type setzen
|
||||
header("Content-type: application/xhtml+xml");
|
||||
@@ -30,6 +31,7 @@ require_once('../include/note.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/mitarbeiter.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
|
||||
$datum = new datum();
|
||||
$db = new basis_db();
|
||||
@@ -215,10 +217,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= "\n <studiengangsleiter>".$stgl."</studiengangsleiter>";
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$xml .= "\n <ort_datum>Wien, am ".$datum_aktuell."</ort_datum>";
|
||||
|
||||
|
||||
|
||||
$student = new student($uid_arr[$i]);
|
||||
|
||||
$obj = new zeugnisnote();
|
||||
$obj->load($lehrveranstaltung_id, $uid_arr[$i], $studiensemester_kurzbz);
|
||||
$obj->load($lehrveranstaltung_id, $student->prestudent_id, $studiensemester_kurzbz);
|
||||
|
||||
if ($obj->note)
|
||||
{
|
||||
@@ -253,4 +256,4 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
$xml .= "</zertifikate>";
|
||||
echo $xml;
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -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>
|
||||
*/
|
||||
|
||||
// header für no cache
|
||||
|
||||
+2
-1
@@ -15,7 +15,8 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Karl Burkhart <burkhart@technikum-wien.at>.
|
||||
* Authors: Karl Burkhart <burkhart@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
|
||||
@@ -44,8 +44,8 @@ array
|
||||
array("schema" => "lehre", "name" => "tbl_projektarbeit", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"),
|
||||
array("schema" => "fue", "name" => "tbl_ressource", "from" => "student_uid", "to" => "uid", "datatype" => "varchar(32)", "newTarget" => "tbl_benutzer", "newTargetSchema" => "public", "pickDataFrom" => "tbl_benutzer", "pickDataFromCol" => "uid" , "constraint" => ""),
|
||||
array("schema" => "lehre", "name" => "tbl_pruefung", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"),
|
||||
array("schema" => "lehre", "name" => "tbl_zeugnis", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"),
|
||||
array("schema" => "lehre", "name" => "tbl_zeugnisnote", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"),
|
||||
array("schema" => "lehre", "name" => "tbl_zeugnis", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"),
|
||||
array("schema" => "lehre", "name" => "tbl_zeugnisnote", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"),
|
||||
|
||||
);
|
||||
|
||||
|
||||
+39
-107
@@ -16,7 +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>.
|
||||
Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
/*
|
||||
* Prueft die Daten in der Datenbank auf konsistenz und gibt Hinweise
|
||||
@@ -54,7 +54,7 @@ echo '<!DOCTYPE HTML>
|
||||
|
||||
/************************************************************************************
|
||||
* Pruefung auf falschen Personenkreislauf
|
||||
* tbl_person->tbl_benutzer->tbl_student->tbl_prestudent->tbl_person
|
||||
* tbl_person->tbl_benutzer->tbl_prestudent->tbl_person
|
||||
*/
|
||||
|
||||
$qry = "SELECT
|
||||
@@ -63,15 +63,14 @@ $qry = "SELECT
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
JOIN public.tbl_student ON(uid=student_uid)
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
JOIN public.tbl_prestudent USING(person_id)
|
||||
WHERE
|
||||
tbl_person.person_id<>tbl_prestudent.person_id
|
||||
ORDER BY nachname, vorname, uid";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
echo '<h2>Inkonsistenter Personenkreislauf tbl_person->tbl_benutzer->tbl_student->tbl_prestudent->tbl_person</h2>';
|
||||
echo '<h2>Inkonsistenter Personenkreislauf tbl_person->tbl_benutzer->tbl_prestudent->tbl_person</h2>';
|
||||
$anzahl = $db->db_num_rows($result);
|
||||
echo '<span class="'.($anzahl>0?'error':'ok').'">'.$anzahl.' Probleme gefunden</span>';
|
||||
|
||||
@@ -130,7 +129,7 @@ $qry = "SELECT
|
||||
public.tbl_benutzer
|
||||
LEFT JOIN public.tbl_person USING(person_id)
|
||||
WHERE
|
||||
NOT EXISTS (SELECT 1 FROM public.tbl_student WHERE student_uid=tbl_benutzer.uid)
|
||||
NOT EXISTS (SELECT 1 FROM public.tbl_prestudent WHERE uid=tbl_benutzer.uid)
|
||||
AND NOT EXISTS (SELECT 1 FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=tbl_benutzer.uid)";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
@@ -191,11 +190,11 @@ $qry = "SELECT
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE
|
||||
status_kurzbz IN('Student','Absolvent','Diplomand','Incoming')
|
||||
AND NOT EXISTS (SELECT 1 FROM public.tbl_student WHERE prestudent_id=tbl_prestudent.prestudent_id)";
|
||||
AND public.tbl_prestudent.uid IS NULL";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
echo '<h2>Prestudenten mit Studenten/Absolventen/Diplomanden/Incoming Status aber ohne StudentUID</h2>';
|
||||
echo '<h2>Prestudenten mit Studenten/Absolventen/Diplomanden/Incoming Status aber ohne UID</h2>';
|
||||
|
||||
$anzahl = $db->db_num_rows($result);
|
||||
|
||||
@@ -240,79 +239,16 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************************
|
||||
* StgKz von Stunent und Prestudent unterschiedlich
|
||||
*
|
||||
*/
|
||||
$qry = "SELECT
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id, tbl_student.student_uid,
|
||||
tbl_student.studiengang_kz as stud_studiengang_kz, tbl_prestudent.studiengang_kz as pre_studiengang_kz
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE
|
||||
tbl_student.studiengang_kz<>tbl_prestudent.studiengang_kz";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
echo '<h2>Studiengangskennzahl von tbl_student ungleich tbl_prestudent</h2>';
|
||||
|
||||
$anzahl = $db->db_num_rows($result);
|
||||
|
||||
echo '<span class="'.($anzahl>0?'error':'ok').'">'.$anzahl.' Probleme gefunden</span>';
|
||||
|
||||
if($anzahl>0)
|
||||
{
|
||||
echo '<br><a href="#Anzeigen" onclick="$(\'#stgungleich\').toggle(); return false;">Anzeigen >></a>';
|
||||
echo '
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#stgungleich").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<table class="tablesorter" id="stgungleich" style="display:none">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nachname</th>
|
||||
<th>Vorname</th>
|
||||
<th>PrestudentID</th>
|
||||
<th>StudentStgKZ</th>
|
||||
<th>PrestudentStgKZ</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$error_kritisch++;
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->prestudent_id).'</td>
|
||||
<td>'.$db->convert_html_chars($row->stud_studiengang_kz).'</td>
|
||||
<td>'.$db->convert_html_chars($row->pre_studiengang_kz).'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************************
|
||||
* Studenten ohne passenden Status
|
||||
*
|
||||
*/
|
||||
$qry = "SELECT
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id, tbl_student.student_uid,
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id, tbl_prestudent.uid,
|
||||
get_rolle_prestudent(prestudent_id, null) as laststatus
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE
|
||||
NOT EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id AND status_kurzbz in('Student','Incoming','Diplomand','Absolvent'))";
|
||||
@@ -358,7 +294,7 @@ if($result = $db->db_query($qry))
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->prestudent_id).'</td>
|
||||
<td>'.$db->convert_html_chars($row->student_uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->laststatus).'</td>
|
||||
</tr>';
|
||||
}
|
||||
@@ -428,13 +364,13 @@ if($result = $db->db_query($qry))
|
||||
*
|
||||
*/
|
||||
$qry = "SELECT
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_prestudent.uid
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_benutzer ON(tbl_benutzer.uid=tbl_prestudent.uid)
|
||||
JOIN public.tbl_person ON(tbl_person.person_id=tbl_prestudent.person_id)
|
||||
WHERE
|
||||
NOT EXISTS(SELECT 1 FROM public.tbl_studentlehrverband WHERE prestudent_id=tbl_student.prestudent_id)";
|
||||
NOT EXISTS(SELECT 1 FROM public.tbl_studentlehrverband WHERE prestudent_id=tbl_prestudent.prestudent_id)";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
@@ -474,7 +410,7 @@ if($result = $db->db_query($qry))
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->student_uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->uid).'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
@@ -486,14 +422,13 @@ if($result = $db->db_query($qry))
|
||||
*
|
||||
*/
|
||||
$qry = "SELECT
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_prestudent.uid
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE
|
||||
NOT EXISTS(SELECT 1 FROM bis.tbl_bisio WHERE prestudent_id=tbl_student.prestudent_id)
|
||||
AND EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id AND status_kurzbz='Incoming')";
|
||||
NOT EXISTS(SELECT 1 FROM bis.tbl_bisio WHERE prestudent_id=tbl_prestudent.prestudent_id)
|
||||
AND EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id AND status_kurzbz='Incoming')";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
@@ -533,7 +468,7 @@ if($result = $db->db_query($qry))
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->student_uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->uid).'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
@@ -545,14 +480,13 @@ if($result = $db->db_query($qry))
|
||||
*
|
||||
*/
|
||||
$qry = "SELECT
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid, tbl_student.matrikelnr, tbl_student.studiengang_kz
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_prestudent.uid, tbl_prestudent.perskz, tbl_prestudent.studiengang_kz
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE
|
||||
tbl_student.studiengang_kz<1000 AND tbl_student.studiengang_kz>0
|
||||
AND tbl_student.studiengang_kz::text!=trim(leading '0' from substring(matrikelnr,5,3))";
|
||||
tbl_prestudent.studiengang_kz<1000 AND tbl_prestudent.studiengang_kz>0
|
||||
AND tbl_prestudent.studiengang_kz::text!=trim(leading '0' from substring(perskz,5,3))";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
@@ -594,8 +528,8 @@ if($result = $db->db_query($qry))
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->student_uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->matrikelnr).'</td>
|
||||
<td>'.$db->convert_html_chars($row->uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->perskz).'</td>
|
||||
<td>'.$db->convert_html_chars($row->studiengang_kz).'</td>
|
||||
</tr>';
|
||||
}
|
||||
@@ -608,15 +542,14 @@ if($result = $db->db_query($qry))
|
||||
*
|
||||
*/
|
||||
$qry = "SELECT
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_prestudent.uid
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE
|
||||
tbl_student.studiengang_kz<1000 AND tbl_student.studiengang_kz>0
|
||||
AND EXISTS (SELECT 1 FROM public.tbl_prestudentstatus WHERE status_kurzbz='Absolvent' AND prestudent_id=tbl_student.prestudent_id)
|
||||
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_abschlusspruefung WHERE prestudent_id=tbl_student.prestudent_id)";
|
||||
tbl_prestudent.studiengang_kz<1000 AND tbl_prestudent.studiengang_kz>0
|
||||
AND EXISTS (SELECT 1 FROM public.tbl_prestudentstatus WHERE status_kurzbz='Absolvent' AND prestudent_id=tbl_prestudent.prestudent_id)
|
||||
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_abschlusspruefung WHERE prestudent_id=tbl_prestudent.prestudent_id)";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
@@ -656,7 +589,7 @@ if($result = $db->db_query($qry))
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->student_uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->uid).'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
@@ -668,15 +601,14 @@ if($result = $db->db_query($qry))
|
||||
*
|
||||
*/
|
||||
$qry = "SELECT
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid
|
||||
tbl_person.vorname, tbl_person.nachname, tbl_prestudent.uid
|
||||
FROM
|
||||
public.tbl_student
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
WHERE
|
||||
tbl_student.studiengang_kz<1000 AND tbl_student.studiengang_kz>0
|
||||
AND 1<(SELECT count(*) FROM public.tbl_prestudentstatus WHERE status_kurzbz='Student' AND prestudent_id=tbl_student.prestudent_id)
|
||||
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_zeugnisnote WHERE student_uid=tbl_student.student_uid)";
|
||||
tbl_prestudent.studiengang_kz<1000 AND tbl_prestudent.studiengang_kz>0
|
||||
AND 1<(SELECT count(*) FROM public.tbl_prestudentstatus WHERE status_kurzbz='Student' AND tbl_prestudentstatus.prestudent_id=tbl_prestudent.prestudent_id)
|
||||
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_zeugnisnote WHERE tbl_zeugnisnote.prestudent_id=tbl_prestudent.prestudent_id)";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
@@ -716,7 +648,7 @@ if($result = $db->db_query($qry))
|
||||
<tr>
|
||||
<td>'.$db->convert_html_chars($row->nachname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->vorname).'</td>
|
||||
<td>'.$db->convert_html_chars($row->student_uid).'</td>
|
||||
<td>'.$db->convert_html_chars($row->uid).'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
|
||||
Reference in New Issue
Block a user