mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -0,0 +1,352 @@
|
||||
<?php
|
||||
/* Copyright (C) 2016 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>
|
||||
*/
|
||||
/**
|
||||
* Menue Addon zur Auswahl von LVs
|
||||
*
|
||||
* Dieses Addon erstellt ein Formular zur Auswahl von
|
||||
* Studiensemester, Studiengang, Ausbildungssemester, Studienplan und zeigt die
|
||||
* zugehoerigen LVs an
|
||||
*
|
||||
* Parameter fuer das Params Array:
|
||||
* - studiengang_kz
|
||||
* - semester
|
||||
* - studiensemester_kurzbz
|
||||
* - studienplan_id
|
||||
* - studiengang_kurzbz_lo 3-stelliges Studiengangskuerzel kleingeschrieben
|
||||
* - studiengang_kurzbz_hi 3-stelliges Studiengangskuerzel grossgeschrieben
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/menu_addon.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/studiengang.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/studienordnung.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/studienplan.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/organisationsform.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../include/phrasen.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/student.class.php');
|
||||
|
||||
class menu_addon_lehrveranstaltungen_studienplan extends menu_addon
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
global $params;
|
||||
|
||||
parent::__construct();
|
||||
|
||||
$this->link=false;
|
||||
|
||||
$sprache = getSprache();
|
||||
$user = get_uid();
|
||||
$student = new student();
|
||||
$studiengang_kz='';
|
||||
$semester='';
|
||||
$studienplan_id='';
|
||||
$studienordnung_id='';
|
||||
$db = new basis_db();
|
||||
|
||||
if($student->load($user))
|
||||
{
|
||||
$studiengang_kz=$student->studiengang_kz;
|
||||
$semester=$student->semester;
|
||||
}
|
||||
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
$sprachen_obj = new sprache();
|
||||
$sprachen_obj->getAll();
|
||||
$sprachen_arr=array();
|
||||
|
||||
foreach($sprachen_obj->result as $row)
|
||||
{
|
||||
if(isset($row->bezeichnung_arr[$sprache]))
|
||||
$sprachen_arr[$row->sprache]=$row->bezeichnung_arr[$sprache];
|
||||
else
|
||||
$sprachen_arr[$row->sprache]=$row->sprache;
|
||||
}
|
||||
|
||||
$orgform_obj = new organisationsform();
|
||||
$orgform_obj->getAll();
|
||||
$orgform_arr=array();
|
||||
foreach($orgform_obj->result as $row)
|
||||
$orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung;
|
||||
|
||||
|
||||
$stsem = new studiensemester();
|
||||
$studiensemester_kurzbz=$stsem->getaktornext();
|
||||
|
||||
if(isset($params['studiensemester_kurzbz']))
|
||||
$studiensemester_kurzbz=$params['studiensemester_kurzbz'];
|
||||
|
||||
if(isset($params['studiengang_kz']) && is_numeric($params['studiengang_kz']))
|
||||
$studiengang_kz=$params['studiengang_kz'];
|
||||
|
||||
if(isset($params['semester']) && is_numeric($params['semester']))
|
||||
$semester=$params['semester'];
|
||||
else
|
||||
{
|
||||
if(!isset($semester))
|
||||
$semester=1;
|
||||
}
|
||||
if(isset($params['studienplan_id']))
|
||||
$studienplan_id=$params['studienplan_id'];
|
||||
|
||||
$this->block.='
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
<!--
|
||||
function MM_jumpMenu(targ, selObj, restore)
|
||||
{
|
||||
eval(targ + ".location=\'" + selObj.options[selObj.selectedIndex].value + "\'");
|
||||
|
||||
if(restore)
|
||||
{
|
||||
selObj.selectedIndex = 0;
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>';
|
||||
|
||||
$this->block.='
|
||||
<table class="tabcontent">';
|
||||
|
||||
// Studiensemester
|
||||
|
||||
$this->block.='
|
||||
<tr>
|
||||
<td class="tdwrap">
|
||||
Studiensemester<br>
|
||||
<select name="stsem" onChange="MM_jumpMenu(\'self\',this,0)" style="width:150px">';
|
||||
|
||||
//Anzeigen des DropDown Menues mit Studiensemester
|
||||
$studiensemester = new studiensemester();
|
||||
$akt_studiensemester = $studiensemester->getakt();
|
||||
if($studiensemester->getPlusMinus(5,10))
|
||||
{
|
||||
foreach($studiensemester->studiensemester as $row)
|
||||
{
|
||||
$selected = '';
|
||||
if($row->studiensemester_kurzbz==$studiensemester_kurzbz)
|
||||
$selected = 'selected';
|
||||
elseif ($studiensemester_kurzbz=='' && $row->studiensemester_kurzbz==$akt_studiensemester)
|
||||
{
|
||||
$selected = 'selected';
|
||||
$studiensemester_kurzbz=$akt_studiensemester;
|
||||
}
|
||||
|
||||
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$studiengang_kz.'&semester='.$semester.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz.'" '.$selected.'>'.$row->bezeichnung.'</option>';
|
||||
}
|
||||
$this->block.= '</SELECT>';
|
||||
}
|
||||
else
|
||||
|
||||
$errormsg .= $studiensemester->errormsg;
|
||||
$this->block.='
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
// Studiengang
|
||||
$this->block.='
|
||||
<tr>
|
||||
<td class="nowrap">
|
||||
Studiengang<br>
|
||||
<select name="course" onChange="MM_jumpMenu(\'self\',this,0)" style="width:150px">';
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->loadStudiengangFromStudiensemester($studiensemester_kurzbz);
|
||||
|
||||
if(isset($params['studienplan_id']) && is_numeric($params['studienplan_id']))
|
||||
$studienplan_id=$params['studienplan_id'];
|
||||
|
||||
$sel_kurzbzlang='';
|
||||
foreach($stg_obj->result as $row)
|
||||
{
|
||||
if($row->studiengang_kz!=0)
|
||||
{
|
||||
if(isset($studiengang_kz) AND $studiengang_kz == $row->studiengang_kz)
|
||||
{
|
||||
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$row->studiengang_kz.'&semester='.$semester.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'" selected>'.$row->kuerzel .' ('.$row->bezeichnung.')</option>';
|
||||
$sel_kurzbzlang=$row->kurzbzlang;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->block.='<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$row->studiengang_kz.'&semester='.$semester.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'">'.$row->kuerzel .' ('.$row->bezeichnung.')</option>';
|
||||
}
|
||||
if(!isset($studiengang_kz) || $studiengang_kz=='')
|
||||
{
|
||||
$studiengang_kz=$row->studiengang_kz;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->block.='
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="nowrap">
|
||||
Semester<br>
|
||||
<select name="term" onChange="MM_jumpMenu(\'self\',this,0)" style="width:150px">';
|
||||
|
||||
$vorhandenesemester=array();
|
||||
|
||||
$studienplan_obj = new studienplan();
|
||||
$studienplan_obj->getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz);
|
||||
foreach($studienplan_obj->result as $row_sto)
|
||||
$vorhandenesemester[]=$row_sto->semester;
|
||||
|
||||
if(!in_array($semester, $vorhandenesemester))
|
||||
$semester='';
|
||||
$vorhandenesemester = array_unique($vorhandenesemester);
|
||||
sort($vorhandenesemester);
|
||||
|
||||
$studiengang_obj = new studiengang();
|
||||
$studiengang_obj->load($studiengang_kz);
|
||||
$short = $studiengang_obj->kuerzel;
|
||||
|
||||
$params['studiengang_kz'] = $studiengang_kz;
|
||||
$params['semester'] = $semester;
|
||||
$params['studiengang_kurzbz_lo'] = strtolower($short);
|
||||
$params['studiengang_kurzbz_hi'] = $short;
|
||||
|
||||
foreach($vorhandenesemester as $i)
|
||||
{
|
||||
if($semester=='')
|
||||
$semester=$i;
|
||||
if($i==$semester)
|
||||
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$studiengang_kz.'&semester='.$i.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'" selected >'.$i.'. Semester</option>';
|
||||
else
|
||||
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$studiengang_kz.'&semester='.$i.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'">'.$i.'. Semester</option>';
|
||||
}
|
||||
|
||||
$this->block.='
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="nowrap">
|
||||
Studienplan<br>
|
||||
<select name="studienplan_id" onChange="MM_jumpMenu(\'self\',this,0)" style="width:150px">';
|
||||
|
||||
// Studienplan
|
||||
$studienplan_obj = new studienplan();
|
||||
$studienplan_obj->getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz, $semester);
|
||||
$studienordnung_arr = array();
|
||||
$studienplan_arr = array();
|
||||
foreach($studienplan_obj->result as $row_sto)
|
||||
{
|
||||
$studienordnung_arr[$row_sto->studienordnung_id]['bezeichnung']=$row_sto->bezeichnung_studienordnung;
|
||||
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['bezeichnung']=$row_sto->bezeichnung_studienplan;
|
||||
|
||||
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['orgform_kurzbz']=$row_sto->orgform_kurzbz;
|
||||
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['sprache']=$sprachen_arr[$row_sto->sprache];
|
||||
}
|
||||
// Pruefen ob uebergebene StudienplanID in Auswahl enthalten
|
||||
// ist und ggf auf leer setzen
|
||||
if($studienplan_id!='')
|
||||
{
|
||||
$studienplan_found=false;
|
||||
foreach($studienplan_arr as $stoid=>$row_sto)
|
||||
{
|
||||
if(array_key_exists($studienplan_id, $studienplan_arr[$stoid]))
|
||||
{
|
||||
$studienplan_found=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!$studienplan_found)
|
||||
{
|
||||
$studienplan_id='';
|
||||
}
|
||||
}
|
||||
foreach($studienordnung_arr as $stoid=>$row_sto)
|
||||
{
|
||||
$selected='';
|
||||
|
||||
if($studienordnung_id=='')
|
||||
$studienordnung_id=$stoid;
|
||||
|
||||
$this->block.='<option value="" disabled>'.$p->t('lehre/studienordnung').': '.$db->convert_html_chars($row_sto['bezeichnung']).'</option>';
|
||||
|
||||
foreach($studienplan_arr[$stoid] as $stpid=>$row_stp)
|
||||
{
|
||||
$selected='';
|
||||
if($studienplan_id=='')
|
||||
$studienplan_id=$stpid;
|
||||
if($stpid == $studienplan_id)
|
||||
$selected='selected';
|
||||
|
||||
$this->block.= '<option value="?content_id='.$_GET['content_id'].'&studiengang_kz='.$studiengang_kz.'&semester='.$semester.'&studiensemester_kurzbz='.$studiensemester_kurzbz.'&studienplan_id='.$stpid.'" '.$selected.'>'.$db->convert_html_chars($row_stp['bezeichnung']).' ( '.$orgform_arr[$row_stp['orgform_kurzbz']].', '.$row_stp['sprache'].' ) </option>';
|
||||
}
|
||||
}
|
||||
$this->block.='</select></td></tr>';
|
||||
|
||||
$this->block.='</table><br /><br />';
|
||||
|
||||
$this->block.= '<script language="JavaScript" type="text/javascript">';
|
||||
$this->block.= ' parent.content.location.href="../cms/news.php?studiengang_kz='.$studiengang_kz.'&semester='.$semester.'"';
|
||||
$this->block.= '</script>';
|
||||
|
||||
if (!$lv_obj = new lehrveranstaltung())
|
||||
die('Fehler beim Oeffnen der Lehrveranstaltung');
|
||||
|
||||
$lv_obj->lehrveranstaltungen=array();
|
||||
if($lv_obj->loadLehrveranstaltungStudienplan($studienplan_id, $semester,'bezeichnung'))
|
||||
{
|
||||
$tree = $lv_obj->getLehrveranstaltungTree();
|
||||
$this->printTree($tree, $sprache);
|
||||
}
|
||||
|
||||
$this->output();
|
||||
}
|
||||
|
||||
/**
|
||||
* Stellt die Lehrveranstaltungen in einer Baumstruktur dar.
|
||||
*/
|
||||
private function printTree($tree, $sprache)
|
||||
{
|
||||
$this->block.='<ul>';
|
||||
foreach ($tree as $row)
|
||||
{
|
||||
if(!$row->lehre)
|
||||
continue;
|
||||
if($row->lehrtyp_kurzbz=='modul')
|
||||
$bold='font-weight:bold;';
|
||||
else
|
||||
$bold='';
|
||||
$this->block.= "<li style='display:inline-block;white-space: nowrap;padding: 0px; margin:0px; $bold'><a title=\"".$row->bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id\" target=\"content\">".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."</a></li>";
|
||||
if(isset($row->childs))
|
||||
$this->printTree($row->childs, $sprache);
|
||||
}
|
||||
$this->block.="</ul>";
|
||||
}
|
||||
|
||||
private function CutString($strVal, $limit)
|
||||
{
|
||||
if(mb_strlen($strVal) > $limit+3)
|
||||
{
|
||||
return mb_substr($strVal, 0, $limit) . "...";
|
||||
}
|
||||
else
|
||||
{
|
||||
return $strVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
new menu_addon_lehrveranstaltungen_studienplan();
|
||||
?>
|
||||
@@ -1605,12 +1605,11 @@ function LehrveranstaltungGesamtNotenTreeSelectDifferent()
|
||||
break;
|
||||
}
|
||||
|
||||
//Wenn die Noten unterschiedlich sind, aber das benotungsdatum im Zeugnis
|
||||
//Wenn das benotungsdatum im Zeugnis
|
||||
//nach dem benotungsdatum des lektors liegt, dann wird die zeile auch nicht markiert.
|
||||
//damit wird verhindert, dass pruefungsnoten die nur von der assistenz eingetragen wurden,
|
||||
//durch den alten eintrag des lektors wieder ueberschrieben werden
|
||||
if(zeugnisuid==lvgesamtuid
|
||||
&& zeugnisnote!=lvgesamtnote
|
||||
&& zeugnisbenotungsdatum>lvgesamtbenotungsdatum)
|
||||
{
|
||||
found=true;
|
||||
|
||||
@@ -3557,12 +3557,11 @@ function StudentNotenTreeSelectDifferent()
|
||||
break;
|
||||
}
|
||||
|
||||
//Wenn die Noten unterschiedlich sind, aber das benotungsdatum im Zeugnis
|
||||
//Wenn das benotungsdatum im Zeugnis
|
||||
//nach dem benotungsdatum des lektors liegt, dann wird die zeile auch nicht markiert.
|
||||
//damit wird verhindert, dass pruefungsnoten die nur von der assistenz eingetragen wurden,
|
||||
//durch den alten eintrag des lektors wieder ueberschrieben werden
|
||||
if(zeugnislehrveranstaltung_id==lvgesamtlehrveranstaltung_id
|
||||
&& zeugnisnote!=lvgesamtnote
|
||||
&& zeugnisbenotungsdatum>lvgesamtbenotungsdatum)
|
||||
{
|
||||
found=true;
|
||||
|
||||
@@ -1177,7 +1177,7 @@ class lehrveranstaltung extends basis_db
|
||||
* @param $semeser Semester optional
|
||||
* @return boolean true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function loadLehrveranstaltungStudienplan($studienplan_id, $semester = null)
|
||||
public function loadLehrveranstaltungStudienplan($studienplan_id, $semester = null, $order=null)
|
||||
{
|
||||
if (!is_numeric($studienplan_id) || $studienplan_id === '')
|
||||
{
|
||||
@@ -1204,7 +1204,10 @@ class lehrveranstaltung extends basis_db
|
||||
{
|
||||
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
|
||||
}
|
||||
$qry.=" ORDER BY stpllv_sort, semester, sort";
|
||||
if(is_null($order))
|
||||
$qry.=" ORDER BY stpllv_sort, semester, sort";
|
||||
else
|
||||
$qry.=' ORDER BY '.$order;
|
||||
$this->lehrveranstaltungen = array();
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -1733,103 +1733,4 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Studenten eines Studienplans und eines Studiensemesters
|
||||
* @param $studienplan_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $studiengang_kz
|
||||
* @return array mit allen Prestudenten, welche sich für den angegebenen Studienplan im angegebenen Semester beworben haben
|
||||
*/
|
||||
public function getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz)
|
||||
{
|
||||
if(!is_numeric($studienplan_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!$studiensemester_kurzbz || $studiensemester_kurzbz == "")
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->load($studiengang_kz);
|
||||
|
||||
if($stg_obj->typ=='m')
|
||||
{
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus,
|
||||
(Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber') as anmerkung
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgvmas_code)
|
||||
LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
tbl_prestudent.studiengang_kz=". $this->db_add_param($studiengang_kz)."
|
||||
AND EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
WHERE
|
||||
tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id
|
||||
AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber'
|
||||
AND (
|
||||
studienplan_id=". $this->db_add_param($studienplan_id)."
|
||||
OR
|
||||
(anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%')
|
||||
)
|
||||
);";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus,
|
||||
(Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber') as anmerkung
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgv_code)
|
||||
LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
tbl_prestudent.studiengang_kz=". $this->db_add_param($studiengang_kz)."
|
||||
AND EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
WHERE
|
||||
tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id
|
||||
AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber'
|
||||
AND (
|
||||
studienplan_id=". $this->db_add_param($studienplan_id)."
|
||||
OR
|
||||
(anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%')
|
||||
)
|
||||
);";
|
||||
}
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
$ret = array();
|
||||
|
||||
while($row = $this->db_fetch_object($result))
|
||||
$ret[] = $row;
|
||||
|
||||
return $ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+135
-71
@@ -16,15 +16,15 @@
|
||||
* 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>.
|
||||
* 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 studiengang extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $new; // boolean
|
||||
public $result = array(); // studiengang Objekt
|
||||
|
||||
public $studiengang_kz; // integer
|
||||
@@ -63,7 +63,7 @@ class studiengang extends basis_db
|
||||
public $projektarbeit_note_anzeige; // boolean
|
||||
public $bezeichnung_arr = array();
|
||||
|
||||
public $beschreibung;
|
||||
public $beschreibung;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -75,13 +75,6 @@ class studiengang extends basis_db
|
||||
|
||||
if(!is_null($studiengang_kz))
|
||||
$this->load($studiengang_kz);
|
||||
|
||||
//$this->getAllTypes();
|
||||
/* $this->studiengang_typ_arr["b"] = "Bachelor";
|
||||
$this->studiengang_typ_arr["d"] = "Diplom";
|
||||
$this->studiengang_typ_arr["m"] = "Master";
|
||||
$this->studiengang_typ_arr["l"] = "LLL";
|
||||
$this->studiengang_typ_arr["e"] = "Erhalter"; */
|
||||
}
|
||||
|
||||
public function __get($value)
|
||||
@@ -234,22 +227,16 @@ class studiengang extends basis_db
|
||||
|
||||
/**
|
||||
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
|
||||
* @param array $studiensemester_kurzbz default: null Array aus Studiensemestern fuer die man sich onlinebewerben kann
|
||||
* @return boolean
|
||||
*/
|
||||
public function getAllForBewerbung($studiensemester_kurzbz_arr=null)
|
||||
public function getAllForBewerbung()
|
||||
{
|
||||
$qry = 'SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch, lgartcode, tbl_lgartcode.bezeichnung '
|
||||
. 'FROM lehre.vw_studienplan '
|
||||
. 'LEFT JOIN bis.tbl_lgartcode USING (lgartcode) '
|
||||
. 'WHERE onlinebewerbung IS TRUE '
|
||||
. 'AND aktiv IS TRUE ';
|
||||
|
||||
/*if (!is_null($studiensemester_kurzbz_arr))
|
||||
{
|
||||
$studiensemester_kurzbz_arr = $this->implode4SQL($studiensemester_kurzbz_arr);
|
||||
$qry .= ' AND studiensemester_kurzbz IN('.$studiensemester_kurzbz_arr.')';
|
||||
}*/
|
||||
|
||||
$qry .= ' ORDER BY typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC';
|
||||
|
||||
if(!$result = $this->db_query($qry))
|
||||
@@ -693,56 +680,62 @@ class studiengang extends basis_db
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function getStudiengangTyp($typ)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_studiengangstyp WHERE typ =".$this->db_add_param($typ,FHC_STRING).";";
|
||||
/**
|
||||
* Laedt einen Studiengangstyp
|
||||
*
|
||||
* @param $typ Studiengangstyp
|
||||
* @return boolean true wenn erfolgreich geladen, false im Fehlerfall
|
||||
*/
|
||||
public function getStudiengangTyp($typ)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_studiengangstyp WHERE typ =".$this->db_add_param($typ,FHC_STRING).";";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->typ = $row->typ;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
}
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->typ = $row->typ;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $studiengaenge array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function getTypes($studiengaenge) {
|
||||
/**
|
||||
* @param $studiengaenge array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function getTypes($studiengaenge) {
|
||||
|
||||
$qry = 'SELECT distinct typ ' .
|
||||
'FROM public.tbl_studiengang ' .
|
||||
'WHERE studiengang_kz IN (' . implode(',', $studiengaenge) . ')';
|
||||
$qry = 'SELECT distinct typ ' .
|
||||
'FROM public.tbl_studiengang ' .
|
||||
'WHERE studiengang_kz IN (' . implode(',', $studiengaenge) . ')';
|
||||
|
||||
$types = array();
|
||||
$types = array();
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result)) {
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result)) {
|
||||
|
||||
$types[] = $row->typ;
|
||||
$types[] = $row->typ;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return $types;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return $types;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sucht nach einem Studiengang
|
||||
@@ -751,13 +744,13 @@ class studiengang extends basis_db
|
||||
*/
|
||||
public function search($searchItem)
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_studiengang WHERE
|
||||
LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\') OR
|
||||
LOWER(english) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
|
||||
ORDER BY typ,bezeichnung;';
|
||||
$qry = 'SELECT * FROM public.tbl_studiengang WHERE
|
||||
LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\') OR
|
||||
LOWER(english) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
|
||||
ORDER BY typ,bezeichnung;';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new studiengang();
|
||||
@@ -799,12 +792,12 @@ class studiengang extends basis_db
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Studiengangs';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -911,4 +904,75 @@ class studiengang extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Studiengänge die innerhalb eines Studiensemesters gültig sind
|
||||
* @param $studiensemester_kurzbz
|
||||
*/
|
||||
public function loadStudiengangFromStudiensemester($studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct tbl_studiengang.*
|
||||
FROM
|
||||
public.tbl_studiengang
|
||||
JOIN lehre.tbl_studienordnung USING(studiengang_kz)
|
||||
JOIN lehre.tbl_studienplan USING(studienordnung_id)
|
||||
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
|
||||
WHERE
|
||||
tbl_studienplan_semester.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
ORDER BY
|
||||
typ, kurzbz";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new studiengang();
|
||||
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->kurzbz = $row->kurzbz;
|
||||
$obj->kurzbzlang = $row->kurzbzlang;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->english = $row->english;
|
||||
$obj->typ = $row->typ;
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->email = $row->email;
|
||||
$obj->max_semester = $row->max_semester;
|
||||
$obj->max_verband = $row->max_verband;
|
||||
$obj->max_gruppe = $row->max_gruppe;
|
||||
$obj->erhalter_kz = $row->erhalter_kz;
|
||||
$obj->bescheid = $row->bescheid;
|
||||
$obj->bescheidbgbl1 = $row->bescheidbgbl1;
|
||||
$obj->bescheidbgbl2 = $row->bescheidbgbl2;
|
||||
$obj->bescheidgz = $row->bescheidgz;
|
||||
$obj->bescheidvom = $row->bescheidvom;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
$obj->kuerzel = mb_strtoupper($row->typ . $row->kurzbz);
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->zusatzinfo_html = $row->zusatzinfo_html;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->studienplaetze = $row->studienplaetze;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->lgartcode = $row->lgartcode;
|
||||
$obj->telefon = $row->telefon;
|
||||
$obj->titelbescheidvom = $row->titelbescheidvom;
|
||||
$obj->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
|
||||
$obj->moodle = $this->db_parse_bool($row->moodle);
|
||||
$obj->mischform = $this->db_parse_bool($row->mischform);
|
||||
$obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
|
||||
|
||||
$obj->bezeichnung_arr['German'] = $obj->bezeichnung;
|
||||
$obj->bezeichnung_arr['English'] = $obj->english;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Datenbankabfrage aufgetreten.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,24 +149,30 @@ class studienordnung extends basis_db
|
||||
|
||||
if(is_null($studiensemester_kurzbz))
|
||||
{
|
||||
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung FROM lehre.tbl_studienordnung sto
|
||||
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung, tbl_studiensemester.start as gueltig_startdatum
|
||||
FROM lehre.tbl_studienordnung sto
|
||||
LEFT JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
|
||||
LEFT JOIN public.tbl_studiensemester ON(sto.gueltigvon=tbl_studiensemester.studiensemester_kurzbz)
|
||||
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'SELECT distinct sto.*, s.bezeichnung as status_bezeichnung, sem.* FROM lehre.tbl_studienordnung sto
|
||||
$qry = 'SELECT distinct sto.*, s.bezeichnung as status_bezeichnung, sem.*, tbl_studiensemester.start as gueltig_startdatum
|
||||
FROM lehre.tbl_studienordnung sto
|
||||
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
|
||||
LEFT JOIN lehre.tbl_studienplan USING(studienordnung_id)
|
||||
LEFT JOIN lehre.tbl_studienplan_semester sem USING (studienplan_id)
|
||||
LEFT JOIN public.tbl_studiensemester ON(sto.gueltigvon=tbl_studiensemester.studiensemester_kurzbz)
|
||||
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
|
||||
if (!is_null($studiensemester_kurzbz))
|
||||
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING,false);
|
||||
$qry.=" AND sem.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING,false);
|
||||
if (!is_null($semester))
|
||||
$qry.=" AND semester=".$this->db_add_param($semester, FHC_INTEGER,false);
|
||||
}
|
||||
|
||||
$qry.=" ORDER BY gueltig_startdatum desc";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
|
||||
@@ -157,6 +157,7 @@ class studienplan extends basis_db
|
||||
|
||||
if(!is_null($orgform_kurzbz))
|
||||
$qry.=" AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz);
|
||||
$qry.=" ORDER BY bezeichnung";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -703,42 +704,42 @@ class studienplan extends basis_db
|
||||
function getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester="", $orgform_kurzbz = "")
|
||||
{
|
||||
$qry = "SELECT
|
||||
studienplan_id,
|
||||
studienordnung_id,
|
||||
orgform_kurzbz,
|
||||
tbl_studienplan.version AS version_studienplan,
|
||||
tbl_studienplan.bezeichnung AS bezeichnung_studienplan,
|
||||
regelstudiendauer,
|
||||
sprache,
|
||||
aktiv,
|
||||
semesterwochen,
|
||||
testtool_sprachwahl,
|
||||
tbl_studienplan.insertamum AS insertamum_studienplan,
|
||||
tbl_studienplan.insertvon AS insertvon_studienplan,
|
||||
tbl_studienplan.updateamum AS updateamum_studienplan,
|
||||
tbl_studienplan.updatevon AS updatevon_studienplan,
|
||||
ects_stpl,
|
||||
pflicht_sws,
|
||||
pflicht_lvs,
|
||||
studiengang_kz,
|
||||
studienplan_id,
|
||||
studienordnung_id,
|
||||
orgform_kurzbz,
|
||||
tbl_studienplan.version AS version_studienplan,
|
||||
tbl_studienplan.bezeichnung AS bezeichnung_studienplan,
|
||||
regelstudiendauer,
|
||||
sprache,
|
||||
aktiv,
|
||||
semesterwochen,
|
||||
testtool_sprachwahl,
|
||||
tbl_studienplan.insertamum AS insertamum_studienplan,
|
||||
tbl_studienplan.insertvon AS insertvon_studienplan,
|
||||
tbl_studienplan.updateamum AS updateamum_studienplan,
|
||||
tbl_studienplan.updatevon AS updatevon_studienplan,
|
||||
ects_stpl,
|
||||
pflicht_sws,
|
||||
pflicht_lvs,
|
||||
studiengang_kz,
|
||||
tbl_studienordnung.version AS version_studienordnung,
|
||||
gueltigvon,
|
||||
gueltigbis,
|
||||
tbl_studienordnung.bezeichnung AS bezeichnung_studienordnung,
|
||||
ects,
|
||||
studiengangbezeichnung,
|
||||
studiengangbezeichnung_englisch,
|
||||
studiengangkurzbzlang,
|
||||
akadgrad_id,
|
||||
tbl_studienordnung.insertamum AS insertamum_studienordnung,
|
||||
tbl_studienordnung.insertvon AS insertvon_studienordnung,
|
||||
tbl_studienordnung.updateamum AS updateamum_studienordnung,
|
||||
tbl_studienordnung.updatevon AS updatevon_studienordnung,
|
||||
status_kurzbz,
|
||||
standort_id,
|
||||
studienplan_semester_id,
|
||||
studiensemester_kurzbz,
|
||||
semester
|
||||
gueltigvon,
|
||||
gueltigbis,
|
||||
tbl_studienordnung.bezeichnung AS bezeichnung_studienordnung,
|
||||
ects,
|
||||
studiengangbezeichnung,
|
||||
studiengangbezeichnung_englisch,
|
||||
studiengangkurzbzlang,
|
||||
akadgrad_id,
|
||||
tbl_studienordnung.insertamum AS insertamum_studienordnung,
|
||||
tbl_studienordnung.insertvon AS insertvon_studienordnung,
|
||||
tbl_studienordnung.updateamum AS updateamum_studienordnung,
|
||||
tbl_studienordnung.updatevon AS updatevon_studienordnung,
|
||||
status_kurzbz,
|
||||
standort_id,
|
||||
studienplan_semester_id,
|
||||
studiensemester_kurzbz,
|
||||
semester
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
|
||||
@@ -41,4 +41,7 @@ $this->phrasen['lehre/AbmeldungErfolgreich']='Sie wurden erfolgreich von der Leh
|
||||
$this->phrasen['lehre/AbmeldungAusGruppeNichtMoeglich']='Sie können sich nicht von dieser Lehrveranstaltung abmelden';
|
||||
$this->phrasen['lehre/confirmAbmeldung']='Wollen Sie sich wirklich von der Lehrveranstaltung "%s" abmelden?';
|
||||
$this->phrasen['lehre/nichtzugeteilt']='Sie sind nicht zu dieser Lehrveranstaltung zugeteilt';
|
||||
|
||||
$this->phrasen['lehre/studienordnung']='Studienordnung';
|
||||
$this->phrasen['lehre/studienplan']='Studienplan';
|
||||
?>
|
||||
|
||||
@@ -73,8 +73,8 @@ $this->phrasen['pruefung/lvErfolgreichEntfernt'] = 'Insegnamento tolto con succe
|
||||
$this->phrasen['pruefung/pruefungStorniert'] = 'Esame cancellato';
|
||||
$this->phrasen['pruefung/terminGeloescht'] = 'Appello eliminato';
|
||||
$this->phrasen['pruefung/unbegrenzt'] = '';
|
||||
$this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu';
|
||||
$this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl';
|
||||
$this->phrasen['pruefung/bewertungenZu'] = 'Studenti iscritti all’appello di';
|
||||
$this->phrasen['pruefung/keineAuswahl'] = 'Nessuna selezione';
|
||||
|
||||
// pruefungsbewertung
|
||||
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Voti d’esame';
|
||||
@@ -105,7 +105,7 @@ $this->phrasen['pruefung/keineLvAngegeben'] = 'Nessun corso definito.';
|
||||
$this->phrasen['pruefung/kollisionMitAnderemTermin'] = 'Date sovrapposte.';
|
||||
$this->phrasen['pruefung/terminNichtInDerVergangenheit'] = 'La data dell’appello non è nel passato.';
|
||||
$this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Nessun corso disponibile.';
|
||||
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Nessuna studente iscritto.';
|
||||
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Nessun studente iscritto.';
|
||||
|
||||
// anmeldungen Verwalten
|
||||
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Gestione delle prenotazioni degli appelli';
|
||||
|
||||
@@ -62,8 +62,7 @@ switch($action)
|
||||
die("keine studiensemester_kurzbz erhalten");
|
||||
$studiensemester_kurzbz = $_REQUEST["studiensemester_kurzbz"];
|
||||
|
||||
$prestudent = new prestudent();
|
||||
$return = $prestudent->getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz);
|
||||
$return = getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz);
|
||||
|
||||
$db = new basis_db();
|
||||
foreach($return as $key=>$value)
|
||||
@@ -170,10 +169,16 @@ switch($action)
|
||||
$maxlength[$spalte]=10;
|
||||
$worksheet->write($zeile,++$spalte,'Reihung',$format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,'RT Punkte 1',$format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,'RT Punkte 2',$format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,'RT Gesamt',$format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,'Interviewbogen',$format_bold);
|
||||
$maxlength[$spalte]=14;
|
||||
$worksheet->write($zeile,++$spalte,'EMail',$format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,'Status',$format_bold);
|
||||
$maxlength[$spalte]=8;
|
||||
$worksheet->write($zeile,++$spalte,'Auswahl',$format_bold);
|
||||
@@ -215,6 +220,31 @@ switch($action)
|
||||
if(mb_strlen((isset($s->seqPlace)?$s->seqPlace:''))>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=mb_strlen((isset($s->seqPlace)?$s->seqPlace:''));
|
||||
|
||||
if(isset($s->rt_punkte1) && $s->rt_punkte1)
|
||||
{
|
||||
$worksheet->writeNumber($zeile,++$spalte, $s->rt_punkte1, $format_float);
|
||||
if(mb_strlen($s->rt_punkte1)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=mb_strlen($s->rt_punkte1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$worksheet->write($zeile,++$spalte, "");
|
||||
if(mb_strlen("")>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=mb_strlen("");
|
||||
}
|
||||
if(isset($s->rt_punkte2) && $s->rt_punkte2)
|
||||
{
|
||||
$worksheet->writeNumber($zeile,++$spalte, $s->rt_punkte2, $format_float);
|
||||
if(mb_strlen($s->rt_punkte2)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=mb_strlen($s->rt_punkte2);
|
||||
}
|
||||
else
|
||||
{
|
||||
$worksheet->write($zeile,++$spalte, "");
|
||||
if(mb_strlen("")>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=mb_strlen("");
|
||||
}
|
||||
|
||||
if(isset($s->rt_gesamtpunkte) && $s->rt_gesamtpunkte)
|
||||
{
|
||||
$worksheet->writeNumber($zeile,++$spalte, $s->rt_gesamtpunkte, $format_float);
|
||||
@@ -240,6 +270,11 @@ switch($action)
|
||||
if(mb_strlen("")>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=mb_strlen("");
|
||||
}
|
||||
|
||||
$worksheet->write($zeile,++$spalte, $s->email_privat);
|
||||
if(mb_strlen($s->email_privat)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=mb_strlen($s->email_privat);
|
||||
|
||||
$worksheet->write($zeile,++$spalte, $s->laststatus);
|
||||
if(mb_strlen($s->laststatus)>$maxlength[$spalte])
|
||||
$maxlength[$spalte]=mb_strlen($s->laststatus);
|
||||
@@ -279,4 +314,105 @@ function studentsSort($a, $b)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Studenten fuer die Reduktion
|
||||
* @param $studienplan_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $studiengang_kz
|
||||
* @return array mit allen Prestudenten, welche sich für den angegebenen Studienplan im angegebenen Semester beworben haben
|
||||
*/
|
||||
function getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz)
|
||||
{
|
||||
$db = new basis_db();
|
||||
|
||||
if(!is_numeric($studienplan_id))
|
||||
{
|
||||
$errormsg = 'studienplan_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!$studiensemester_kurzbz || $studiensemester_kurzbz == "")
|
||||
{
|
||||
$errormsg = 'studiensemester_kurzbz ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->load($studiengang_kz);
|
||||
|
||||
if($stg_obj->typ=='m')
|
||||
{
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus,
|
||||
(Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $db->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber') as anmerkung, rt_punkte1, rt_punkte2,
|
||||
(SELECT kontakt FROM public.tbl_kontakt where kontakttyp='email' AND zustellung AND person_id=tbl_person.person_id limit 1) as email_privat
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgvmas_code)
|
||||
LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
tbl_prestudent.studiengang_kz=". $db->db_add_param($studiengang_kz)."
|
||||
AND EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
WHERE
|
||||
tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id
|
||||
AND studiensemester_kurzbz=". $db->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber'
|
||||
AND (
|
||||
studienplan_id=". $db->db_add_param($studienplan_id)."
|
||||
OR
|
||||
(anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $db->db_add_param($studienplan_id).") || '%')
|
||||
)
|
||||
);";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus,
|
||||
(Select anmerkung from public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id AND studiensemester_kurzbz=". $db->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber') as anmerkung, rt_punkte1, rt_punkte2,
|
||||
(SELECT kontakt FROM public.tbl_kontakt where kontakttyp='email' AND zustellung AND person_id=tbl_person.person_id limit 1) as email_privat
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgv_code)
|
||||
LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
tbl_prestudent.studiengang_kz=". $db->db_add_param($studiengang_kz)."
|
||||
AND EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
WHERE
|
||||
tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id
|
||||
AND studiensemester_kurzbz=". $db->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber'
|
||||
AND (
|
||||
studienplan_id=". $db->db_add_param($studienplan_id)."
|
||||
OR
|
||||
(anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $db->db_add_param($studienplan_id).") || '%')
|
||||
)
|
||||
);";
|
||||
}
|
||||
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$ret = array();
|
||||
|
||||
while($row = $db->db_fetch_object($result))
|
||||
$ret[] = $row;
|
||||
|
||||
return $ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -241,17 +241,17 @@
|
||||
var neededStudentsCount = aqr.selectedStudienplatz.apz - aqr.getAcceptedCount();
|
||||
var perZGV = aqr.studenten.length;
|
||||
var zgvElems = [];
|
||||
var allApplicants = [];
|
||||
var allCountedStudents = [];
|
||||
|
||||
aqr.studenten.forEach(function(j)
|
||||
{
|
||||
if(j.applicant)
|
||||
allApplicants.push(j);
|
||||
if((j.applicant || j.selected))
|
||||
allCountedStudents.push(j);
|
||||
});
|
||||
|
||||
var applicantCount = aqr.selectedStudienplatz.apz;
|
||||
if(applicantCount > allApplicants.length)
|
||||
applicantCount = allApplicants.length;
|
||||
if(applicantCount > allCountedStudents.length)
|
||||
applicantCount = allCountedStudents.length;
|
||||
|
||||
|
||||
zgvs.forEach(function(i)
|
||||
@@ -259,12 +259,12 @@
|
||||
var applicantsFromZGV = [];
|
||||
aqr.studenten.forEach(function(j)
|
||||
{
|
||||
if(j.applicant && j.bezeichnung === i)
|
||||
if((j.applicant || j.selected) && j.bezeichnung === i)
|
||||
applicantsFromZGV.push(j);
|
||||
});
|
||||
|
||||
// calculate the aliquote reduction for every ZGV
|
||||
var percent = applicantsFromZGV.length / allApplicants.length * 100;
|
||||
var percent = applicantsFromZGV.length / allCountedStudents.length * 100;
|
||||
var neededFromZGV = (applicantCount / 100 * percent) - aqr.getAcceptedCount(i);
|
||||
|
||||
if(neededFromZGV < 0)
|
||||
@@ -446,6 +446,8 @@
|
||||
<th ts-criteria="vorname">Vorname</th>
|
||||
<th ts-criteria="bezeichnung">ZGV Gruppe</th>
|
||||
<th ts-criteria="seqPlace|parseInt" ts-default="ascending">Reihung</th>
|
||||
<th ts-criteria="rt_punkte1|parseFloat">RT Punkte 1</th>
|
||||
<th ts-criteria="rt_punkte2|parseFloat">RT Punkte 2</th>
|
||||
<th ts-criteria="rt_gesamtpunkte|parseFloat" ts-default="ascending">RT Gesamt</th>
|
||||
<th ts-criteria="interviewbogen">Interviewbogen</th>
|
||||
<th ts-criteria="anmerkung">Anmerkung/Prio</th>
|
||||
@@ -462,6 +464,8 @@
|
||||
<td ng-if="stud.bezeichnung">{{stud.bezeichnung}}</td>
|
||||
<td ng-if="!stud.bezeichnung" style="font-weight: bold;">Keine Angabe</td>
|
||||
<td>{{stud.seqPlace}}</td>
|
||||
<td>{{stud.rt_punkte1}}</td>
|
||||
<td>{{stud.rt_punkte2}}</td>
|
||||
<td>{{stud.rt_gesamtpunkte}}</td>
|
||||
<td>{{stud.interviewbogen?'vorhanden':'nicht vorhanden'}}</td>
|
||||
<td>{{stud.anmerkung}}</td>
|
||||
@@ -514,6 +518,8 @@
|
||||
<th ts-criteria="vorname">Vorname</th>
|
||||
<th ts-criteria="bezeichnung">ZGV Gruppe</th>
|
||||
<th ts-criteria="seqPlace|parseInt" ts-default="ascending">Reihung</th>
|
||||
<th ts-criteria="rt_punkte1|parseFloat">RT Punkte 1</th>
|
||||
<th ts-criteria="rt_punkte2|parseFloat">RT Punkte 2</th>
|
||||
<th ts-criteria="rt_gesamtpunkte|parseFloat">RT Gesamt</th>
|
||||
<th ts-criteria="interviewbogen">Interviewbogen</th>
|
||||
<th ts-criteria="anmerkung">Anmerkung/Prio</th>
|
||||
@@ -529,6 +535,8 @@
|
||||
<td ng-if="stud.bezeichnung">{{stud.bezeichnung}}</td>
|
||||
<td ng-if="!stud.bezeichnung" style="font-weight: bold;">Keine Angabe</td>
|
||||
<td>{{stud.seqPlace}}</td>
|
||||
<td>{{stud.rt_punkte1}}</td>
|
||||
<td>{{stud.rt_punkte2}}</td>
|
||||
<td>{{stud.rt_gesamtpunkte}}</td>
|
||||
<td>{{stud.interviewbogen?'vorhanden':'nicht vorhanden'}}</td>
|
||||
<td>{{stud.anmerkung}}</td>
|
||||
|
||||
Reference in New Issue
Block a user