mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
moved db logic to lehrelisthelper class
This commit is contained in:
@@ -28,6 +28,7 @@ require_once('../../../include/studiensemester.class.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/erhalter.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/lehrelisthelper.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -68,188 +69,10 @@ isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehre
|
||||
|
||||
$doc = new dokument_export('Anwesenheitslist');
|
||||
|
||||
// Teilnehmende Gruppen laden
|
||||
$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz)
|
||||
UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
|
||||
semester,
|
||||
verband,
|
||||
gruppe,
|
||||
gruppe_kurzbz
|
||||
FROM campus.vw_lehreinheit
|
||||
WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester);
|
||||
if($lehreinheit!='')
|
||||
$qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit, FHC_INTEGER);
|
||||
|
||||
$gruppen_string = '';
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($gruppen_string!='')
|
||||
$gruppen_string.=', ';
|
||||
if($row->gruppe_kurzbz=='')
|
||||
$gruppen_string.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe);
|
||||
else
|
||||
$gruppen_string.=$row->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Verplante Räume laden
|
||||
$qry = "SELECT distinct(ort_kurzbz)
|
||||
FROM lehre.tbl_stundenplan
|
||||
WHERE lehreinheit_id in
|
||||
(
|
||||
SELECT lehreinheit_id
|
||||
FROM campus.vw_lehreinheit
|
||||
WHERE lehrveranstaltung_id = ".$db->db_add_param($lvid, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz = ".$db->db_add_param($studiensemester)."
|
||||
)";
|
||||
if($lehreinheit!='')
|
||||
$qry.= " AND tbl_stundenplan.lehreinheit_id = ".$db->db_add_param($lehreinheit, FHC_INTEGER);
|
||||
|
||||
|
||||
$raum_string = '';
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($raum_string!='')
|
||||
$raum_string.=', ';
|
||||
if($row->ort_kurzbz!='')
|
||||
$raum_string.=$row->ort_kurzbz;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->load($lv->studiengang_kz);
|
||||
|
||||
$studiengang_bezeichnung=$stg->bezeichnung;
|
||||
|
||||
$stg->getAllTypes();
|
||||
|
||||
$data = array(
|
||||
'gruppen'=>$gruppen_string,
|
||||
'bezeichnung'=>$lv->bezeichnung,
|
||||
'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id,
|
||||
'studiengang'=>$studiengang_bezeichnung,
|
||||
'studiengang_kz'=>$lv->studiengang_kz,
|
||||
'typ'=>$stg->studiengang_typ_arr[$stg->typ],
|
||||
'ects'=>$lv->ects,
|
||||
'sprache'=>$lv->sprache,
|
||||
'studiensemester'=>$studiensemester,
|
||||
'semester'=>$lv->semester,
|
||||
'orgform'=>$lv->orgform_kurzbz,
|
||||
'raum'=>$raum_string,
|
||||
);
|
||||
|
||||
//Lehrende der LV laden und in ein Array schreiben
|
||||
$lehrende = new lehreinheitmitarbeiter();
|
||||
$lehrende->getMitarbeiterLV($lvid, $studiensemester, $lehreinheit);
|
||||
$arr_lehrende = array();
|
||||
if (isset($lehrende->result))
|
||||
{
|
||||
foreach($lehrende->result AS $row)
|
||||
{
|
||||
$data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname));
|
||||
$arr_lehrende[]=mb_strtoupper($row->uid);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Studierende der LV laden und in ein Array schreiben
|
||||
|
||||
$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,
|
||||
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student,
|
||||
tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz
|
||||
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_mitarbeiter ON(uid=mitarbeiter_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_note USING (note)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz)
|
||||
LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id='.$db->db_add_param($lvid, FHC_INTEGER).' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='.$db->db_add_param($studiensemester);';';
|
||||
|
||||
|
||||
if($lehreinheit!='')
|
||||
$qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$db->db_add_param($lehreinheit, FHC_INTEGER);
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->load($studiensemester);
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
|
||||
$erhalter = new erhalter();
|
||||
$erhalter->getAll();
|
||||
|
||||
$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW)
|
||||
$anzahl_studierende = 0;
|
||||
$datum = new datum();
|
||||
$zusatz = '';
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($row->status!='Abbrecher' && $row->status!='Unterbrecher')
|
||||
{
|
||||
$anzahl_studierende++;
|
||||
|
||||
if($row->status=='Incoming') //Incoming
|
||||
$zusatz='(i)';
|
||||
else
|
||||
$zusatz='';
|
||||
|
||||
if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing
|
||||
$zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')';
|
||||
|
||||
if($row->lkt_ueberschreibbar == 'f') // angerechnet / intern angerechnet / nicht zugelassen
|
||||
$zusatz.= '('. $row->anmerkung. ')';
|
||||
|
||||
if($row->mitarbeiter_uid!='') //mitarbeiter
|
||||
$zusatz.='(ma)';
|
||||
|
||||
if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende
|
||||
$zusatz.='(a.o.)';
|
||||
|
||||
if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student
|
||||
$zusatz.='(d.d.)';
|
||||
|
||||
//$zusatz.='test';
|
||||
|
||||
$data[]=array('student'=>array(
|
||||
'vorname'=>$row->vorname,
|
||||
'nachname'=>$row->nachname,
|
||||
'personenkennzeichen'=>trim($row->matrikelnr),
|
||||
'matr_nr'=>$row->matr_nr,
|
||||
'semester'=>$row->semester,
|
||||
'verband'=>trim($row->verband),
|
||||
'gruppe'=>trim($row->gruppe),
|
||||
'zusatz'=>$zusatz,
|
||||
'studiengang_kurzbz'=>$row->kurzbzlang,
|
||||
'mobilitaetstyp_kurzbz'=>$row->mobilitaetstyp_kurzbz
|
||||
));
|
||||
}
|
||||
}
|
||||
//Anzahl Studierende in Array $data (an erster Stelle) einfuegen
|
||||
$data = array_reverse($data, true);
|
||||
$data['anzahl_studierende'] = $anzahl_studierende;
|
||||
$data = array_reverse($data, true);
|
||||
}
|
||||
$lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $lehreinheit);
|
||||
$arr_lehrende = $lehrelisthelper->getArr_Lehrende();
|
||||
$data = $lehrelisthelper->getData();
|
||||
$studentuids = $lehrelisthelper->getStudentUids();
|
||||
|
||||
$doc->addDataArray($data,'anwesenheitsliste');
|
||||
if($lehreinheit!='')
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
* Authors: Manfred Kindl <manfred.kindl@technikum-wien.at>
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/dokument_export.class.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../../include/lehreinheit.class.php');
|
||||
@@ -28,6 +27,7 @@ require_once('../../../include/studiensemester.class.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/erhalter.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/lehrelisthelper.class.php');
|
||||
require_once('../../../include/covid/covidhelper.class.php');
|
||||
|
||||
$debug = false;
|
||||
@@ -59,199 +59,13 @@ if( !$berechtigung->isBerechtigt('admin')
|
||||
&& !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester))
|
||||
die('Sie muessen LektorIn der LV sein oder das Recht "ADMIN", "ASSISTENZ" oder "LEHRE" haben, um diese Seite aufrufen zu koennen');
|
||||
|
||||
$output='pdf';
|
||||
|
||||
if(isset($_GET['output']) && ($output='odt' || $output='doc'))
|
||||
$output=$_GET['output'];
|
||||
|
||||
isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL;
|
||||
isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL;
|
||||
|
||||
// Teilnehmende Gruppen laden
|
||||
$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz)
|
||||
UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
|
||||
semester,
|
||||
verband,
|
||||
gruppe,
|
||||
gruppe_kurzbz
|
||||
FROM campus.vw_lehreinheit
|
||||
WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester);
|
||||
if($lehreinheit!='')
|
||||
$qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit, FHC_INTEGER);
|
||||
|
||||
$gruppen_string = '';
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($gruppen_string!='')
|
||||
$gruppen_string.=', ';
|
||||
if($row->gruppe_kurzbz=='')
|
||||
$gruppen_string.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe);
|
||||
else
|
||||
$gruppen_string.=$row->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Verplante Räume laden
|
||||
$qry = "SELECT distinct(ort_kurzbz)
|
||||
FROM lehre.tbl_stundenplan
|
||||
WHERE lehreinheit_id in
|
||||
(
|
||||
SELECT lehreinheit_id
|
||||
FROM campus.vw_lehreinheit
|
||||
WHERE lehrveranstaltung_id = ".$db->db_add_param($lvid, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz = ".$db->db_add_param($studiensemester)."
|
||||
)";
|
||||
if($lehreinheit!='')
|
||||
$qry.= " AND tbl_stundenplan.lehreinheit_id = ".$db->db_add_param($lehreinheit, FHC_INTEGER);
|
||||
|
||||
|
||||
$raum_string = '';
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($raum_string!='')
|
||||
$raum_string.=', ';
|
||||
if($row->ort_kurzbz!='')
|
||||
$raum_string.=$row->ort_kurzbz;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->load($lv->studiengang_kz);
|
||||
|
||||
$studiengang_bezeichnung=$stg->bezeichnung;
|
||||
|
||||
$stg->getAllTypes();
|
||||
|
||||
$data = array(
|
||||
'gruppen'=>$gruppen_string,
|
||||
'bezeichnung'=>$lv->bezeichnung,
|
||||
'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id,
|
||||
'studiengang'=>$studiengang_bezeichnung,
|
||||
'studiengang_kz'=>$lv->studiengang_kz,
|
||||
'typ'=>$stg->studiengang_typ_arr[$stg->typ],
|
||||
'ects'=>$lv->ects,
|
||||
'sprache'=>$lv->sprache,
|
||||
'studiensemester'=>$studiensemester,
|
||||
'semester'=>$lv->semester,
|
||||
'orgform'=>$lv->orgform_kurzbz,
|
||||
'raum'=>$raum_string,
|
||||
);
|
||||
|
||||
//Lehrende der LV laden und in ein Array schreiben
|
||||
$lehrende = new lehreinheitmitarbeiter();
|
||||
$lehrende->getMitarbeiterLV($lvid, $studiensemester, $lehreinheit);
|
||||
$arr_lehrende = array();
|
||||
if (isset($lehrende->result))
|
||||
{
|
||||
foreach($lehrende->result AS $row)
|
||||
{
|
||||
$data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname));
|
||||
$arr_lehrende[]=mb_strtoupper($row->uid);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Studierende der LV laden und in ein Array schreiben
|
||||
|
||||
$qry = 'SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id 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,
|
||||
tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz
|
||||
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_mitarbeiter ON(uid=mitarbeiter_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_note USING (note)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz)
|
||||
LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id='.$db->db_add_param($lvid, FHC_INTEGER).' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='.$db->db_add_param($studiensemester);';';
|
||||
|
||||
|
||||
if($lehreinheit!='')
|
||||
$qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$db->db_add_param($lehreinheit, FHC_INTEGER);
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->load($studiensemester);
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
|
||||
$erhalter = new erhalter();
|
||||
$erhalter->getAll();
|
||||
|
||||
$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW)
|
||||
$anzahl_studierende = 0;
|
||||
$datum = new datum();
|
||||
$zusatz = '';
|
||||
|
||||
$studentuids = array();
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($row->status!='Abbrecher' && $row->status!='Unterbrecher')
|
||||
{
|
||||
$anzahl_studierende++;
|
||||
|
||||
if($row->status=='Incoming') //Incoming
|
||||
$zusatz='(i)';
|
||||
else
|
||||
$zusatz='';
|
||||
|
||||
if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing
|
||||
$zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')';
|
||||
|
||||
if($row->lkt_ueberschreibbar == 'f') // angerechnet / intern angerechnet / nicht zugelassen
|
||||
$zusatz.= '('. $row->anmerkung. ')';
|
||||
|
||||
if($row->mitarbeiter_uid!='') //mitarbeiter
|
||||
$zusatz.='(ma)';
|
||||
|
||||
if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende
|
||||
$zusatz.='(a.o.)';
|
||||
|
||||
if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student
|
||||
$zusatz.='(d.d.)';
|
||||
|
||||
//$zusatz.='test';
|
||||
|
||||
$studentuids[] = $row->student_uid;
|
||||
$data[]=array('student'=>array(
|
||||
'uid' => $row->student_uid,
|
||||
'vorname'=>$row->vorname,
|
||||
'nachname'=>$row->nachname,
|
||||
'personenkennzeichen'=>trim($row->matrikelnr),
|
||||
'matr_nr'=>$row->matr_nr,
|
||||
'semester'=>$row->semester,
|
||||
'verband'=>trim($row->verband),
|
||||
'gruppe'=>trim($row->gruppe),
|
||||
'zusatz'=>$zusatz,
|
||||
'studiengang_kurzbz'=>$row->kurzbzlang,
|
||||
'mobilitaetstyp_kurzbz'=>$row->mobilitaetstyp_kurzbz
|
||||
));
|
||||
}
|
||||
}
|
||||
//Anzahl Studierende in Array $data (an erster Stelle) einfuegen
|
||||
$data = array_reverse($data, true);
|
||||
$data['anzahl_studierende'] = $anzahl_studierende;
|
||||
$data = array_reverse($data, true);
|
||||
}
|
||||
$lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $lehreinheit);
|
||||
$arr_lehrende = $lehrelisthelper->getArr_Lehrende();
|
||||
$data = $lehrelisthelper->getData();
|
||||
$studentuids = $lehrelisthelper->getStudentUids();
|
||||
|
||||
$covidhelper = new CovidHelper();
|
||||
$covidhelper->fetchCovidStatus($studentuids);
|
||||
@@ -273,15 +87,20 @@ header('Content-Type: text/html; charset=utf-8');
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
|
||||
<h1>Covid-Status-Liste <?php echo $data['bezeichnung']; ?></h1>
|
||||
<h2>Gruppen: <?php echo $data['gruppen']; ?> Studiensemester: <?php echo $data['studiensemester']; ?></h2>
|
||||
<h3>Lehrende: <?php echo implode(', ',array_unique($arr_lehrende)); ?></h3>
|
||||
<h4>generiert: <?php echo $now->format('d.m.Y H:i'); ?></h4>
|
||||
<h1>Covid-Status-Liste "<?php echo $data['bezeichnung']; ?>"</h1>
|
||||
<ul>
|
||||
<li><strong>Gruppen</strong>: <?php echo $data['gruppen']; ?></li>
|
||||
<li><strong>Studiensemester</strong>: <?php echo $data['studiensemester']; ?></li>
|
||||
<li><strong>Lehrende</strong>: <?php echo $lehrelisthelper->getLehrende_String(); ?></li>
|
||||
<li><strong>generiert</strong>: <?php echo $now->format('d.m.Y H:i'); ?></li>
|
||||
<li><strong>Anzahl der Studierenden</strong>: <?php echo $data['anzahl_studierende']; ?></li>
|
||||
</ul>
|
||||
|
||||
<table class="table table-striped table-hover table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Student</th>
|
||||
<th>lfd.Nr.</th>
|
||||
<th>Name</th>
|
||||
<th>Kennzeichen</th>
|
||||
<th>Gruppe</th>
|
||||
<th>Covid-Status</th>
|
||||
@@ -289,6 +108,8 @@ header('Content-Type: text/html; charset=utf-8');
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$len = strlen($data['anzahl_studierende']);
|
||||
$lfdnr = 1;
|
||||
foreach ($data as $value) {
|
||||
if( !(is_array($value) && isset($value['student'])) ) {
|
||||
continue;
|
||||
@@ -296,12 +117,14 @@ foreach ($data as $value) {
|
||||
$tmpstudent =& $value['student'];
|
||||
?>
|
||||
<tr class="<?php echo $covidhelper->getBootstrapClass($tmpstudent['uid'])?>" title="<?php echo $covidhelper->getTitle($tmpstudent['uid'])?>">
|
||||
<td><?php echo sprintf('%0' . $len . 'd', $lfdnr); ?></td>
|
||||
<td><?php echo $tmpstudent['nachname'] . ' ' . $tmpstudent['vorname'] . ' ' . $tmpstudent['zusatz']; ?></td>
|
||||
<td><?php echo $tmpstudent['personenkennzeichen']; ?></td>
|
||||
<td><?php echo $tmpstudent['semester'] . $tmpstudent['verband'] . $tmpstudent['gruppe']; ?></td>
|
||||
<td><?php echo $covidhelper->getIconHtml($tmpstudent['uid']); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
$lfdnr++;
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
|
||||
@@ -0,0 +1,293 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Harald Bamberger <harald.bamberger@technikum-wien.at>
|
||||
* Manfred Kindl <manfred.kindl@technikum-wien.at>
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../../include/lehreinheit.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/lehreinheitmitarbeiter.class.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/erhalter.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
/**
|
||||
* Description of lehrelisthelper
|
||||
*
|
||||
* @author bambi
|
||||
*/
|
||||
class LehreListHelper
|
||||
{
|
||||
protected $db;
|
||||
protected $studiensemester;
|
||||
protected $lvid;
|
||||
protected $lv;
|
||||
protected $lehreinheit;
|
||||
|
||||
protected $arr_lehrende;
|
||||
protected $studentuids;
|
||||
protected $data;
|
||||
|
||||
protected $gruppen_string;
|
||||
protected $lehrende_string;
|
||||
protected $raum_string;
|
||||
|
||||
public function __construct(basis_db $db, $studiensemester, $lvid,
|
||||
lehrveranstaltung $lv, $lehreinheit='')
|
||||
{
|
||||
$this->db = $db;
|
||||
$this->studiensemester = $studiensemester;
|
||||
$this->lvid = $lvid;
|
||||
$this->lv = $lv;
|
||||
$this->lehreinheit = $lehreinheit;
|
||||
|
||||
$this->arr_lehrende = array();
|
||||
$this->studentuids = array();
|
||||
$this->data = array();
|
||||
|
||||
$this->gruppen_string = '';
|
||||
$this->lehrende_string = '';
|
||||
$this->raum_string = '';
|
||||
|
||||
$this->loadMemberGroups();
|
||||
$this->loadPlannedRooms();
|
||||
$this->initData();
|
||||
$this->loadLehrende();
|
||||
$this->loadStudierende();
|
||||
}
|
||||
|
||||
public function getData()
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
public function getStudentUids()
|
||||
{
|
||||
return $this->studentuids;
|
||||
}
|
||||
|
||||
public function getArr_Lehrende() {
|
||||
return $this->arr_lehrende;
|
||||
}
|
||||
|
||||
public function getLehrende_String()
|
||||
{
|
||||
return $this->lehrende_string;
|
||||
}
|
||||
|
||||
protected function loadMemberGroups()
|
||||
{
|
||||
// Teilnehmende Gruppen laden
|
||||
$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz)
|
||||
UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
|
||||
semester,
|
||||
verband,
|
||||
gruppe,
|
||||
gruppe_kurzbz
|
||||
FROM campus.vw_lehreinheit
|
||||
WHERE lehrveranstaltung_id=".$this->db->db_add_param($this->lvid, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz=".$this->db->db_add_param($this->studiensemester);
|
||||
if($this->lehreinheit!='')
|
||||
$qry.=" AND lehreinheit_id=".$this->db->db_add_param($this->lehreinheit, FHC_INTEGER);
|
||||
|
||||
$this->gruppen_string = '';
|
||||
if($result = $this->db->db_query($qry))
|
||||
{
|
||||
while($row = $this->db->db_fetch_object($result))
|
||||
{
|
||||
if($this->gruppen_string!='')
|
||||
$this->gruppen_string.=', ';
|
||||
if($row->gruppe_kurzbz=='')
|
||||
$this->gruppen_string.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe);
|
||||
else
|
||||
$this->gruppen_string.=$row->gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function loadPlannedRooms()
|
||||
{
|
||||
// Verplante Räume laden
|
||||
$qry = "SELECT distinct(ort_kurzbz)
|
||||
FROM lehre.tbl_stundenplan
|
||||
WHERE lehreinheit_id in
|
||||
(
|
||||
SELECT lehreinheit_id
|
||||
FROM campus.vw_lehreinheit
|
||||
WHERE lehrveranstaltung_id = ".$this->db->db_add_param($this->lvid, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz = ".$this->db->db_add_param($this->studiensemester)."
|
||||
)";
|
||||
if($this->lehreinheit!='')
|
||||
$qry.= " AND tbl_stundenplan.lehreinheit_id = ".$this->db->db_add_param($this->lehreinheit, FHC_INTEGER);
|
||||
|
||||
|
||||
$this->raum_string = '';
|
||||
if($result = $this->db->db_query($qry))
|
||||
{
|
||||
while($row = $this->db->db_fetch_object($result))
|
||||
{
|
||||
if($this->raum_string!='')
|
||||
$this->raum_string.=', ';
|
||||
if($row->ort_kurzbz!='')
|
||||
$this->raum_string.=$row->ort_kurzbz;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function initData()
|
||||
{
|
||||
$stg = new studiengang();
|
||||
$stg->load($this->lv->studiengang_kz);
|
||||
|
||||
$studiengang_bezeichnung=$stg->bezeichnung;
|
||||
|
||||
$stg->getAllTypes();
|
||||
|
||||
$this->data = array(
|
||||
'gruppen'=>$this->gruppen_string,
|
||||
'bezeichnung'=>$this->lv->bezeichnung,
|
||||
'lehrveranstaltung_id'=>$this->lv->lehrveranstaltung_id,
|
||||
'studiengang'=>$studiengang_bezeichnung,
|
||||
'studiengang_kz'=>$this->lv->studiengang_kz,
|
||||
'typ'=>$stg->studiengang_typ_arr[$stg->typ],
|
||||
'ects'=>$this->lv->ects,
|
||||
'sprache'=>$this->lv->sprache,
|
||||
'studiensemester'=>$this->studiensemester,
|
||||
'semester'=>$this->lv->semester,
|
||||
'orgform'=>$this->lv->orgform_kurzbz,
|
||||
'raum'=>$this->raum_string,
|
||||
);
|
||||
}
|
||||
|
||||
protected function loadLehrende() {
|
||||
//Lehrende der LV laden und in ein Array schreiben
|
||||
$lehrende = new lehreinheitmitarbeiter();
|
||||
$lehrende->getMitarbeiterLV($this->lvid, $this->studiensemester, $this->lehreinheit);
|
||||
$this->arr_lehrende = array();
|
||||
if (isset($lehrende->result))
|
||||
{
|
||||
foreach($lehrende->result AS $row)
|
||||
{
|
||||
$this->data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname));
|
||||
$this->arr_lehrende[]=mb_strtoupper($row->uid);
|
||||
$this->lehrende_string .= (strlen($this->lehrende_string) > 0)
|
||||
? ', ' . $row->vorname . ' ' . $row->nachname
|
||||
: $row->vorname . ' ' . $row->nachname;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function loadStudierende() {
|
||||
//Studierende der LV laden und in ein Array schreiben
|
||||
|
||||
$qry = 'SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid,
|
||||
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
|
||||
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id 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,
|
||||
tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz
|
||||
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_mitarbeiter ON(uid=mitarbeiter_uid)
|
||||
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
|
||||
LEFT JOIN lehre.tbl_note USING (note)
|
||||
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
|
||||
LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz)
|
||||
LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id)
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id='.$this->db->db_add_param($this->lvid, FHC_INTEGER).' AND
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz='.$this->db->db_add_param($this->studiensemester);
|
||||
|
||||
|
||||
if($this->lehreinheit!='')
|
||||
$qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$this->db->db_add_param($this->lehreinheit, FHC_INTEGER);
|
||||
|
||||
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->load($this->studiensemester);
|
||||
$stsemdatumvon = $stsem_obj->start;
|
||||
$stsemdatumbis = $stsem_obj->ende;
|
||||
|
||||
$erhalter = new erhalter();
|
||||
$erhalter->getAll();
|
||||
|
||||
$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW)
|
||||
$anzahl_studierende = 0;
|
||||
$datum = new datum();
|
||||
$zusatz = '';
|
||||
|
||||
$this->studentuids = array();
|
||||
if($result = $this->db->db_query($qry))
|
||||
{
|
||||
while($row = $this->db->db_fetch_object($result))
|
||||
{
|
||||
if($row->status!='Abbrecher' && $row->status!='Unterbrecher')
|
||||
{
|
||||
$anzahl_studierende++;
|
||||
|
||||
if($row->status=='Incoming') //Incoming
|
||||
$zusatz='(i)';
|
||||
else
|
||||
$zusatz='';
|
||||
|
||||
if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing
|
||||
$zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')';
|
||||
|
||||
if($row->lkt_ueberschreibbar == 'f') // angerechnet / intern angerechnet / nicht zugelassen
|
||||
$zusatz.= '('. $row->anmerkung. ')';
|
||||
|
||||
if($row->mitarbeiter_uid!='') //mitarbeiter
|
||||
$zusatz.='(ma)';
|
||||
|
||||
if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende
|
||||
$zusatz.='(a.o.)';
|
||||
|
||||
if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student
|
||||
$zusatz.='(d.d.)';
|
||||
|
||||
//$zusatz.='test';
|
||||
|
||||
$this->studentuids[] = $row->student_uid;
|
||||
$this->data[]=array('student'=>array(
|
||||
'uid' => $row->student_uid,
|
||||
'vorname'=>$row->vorname,
|
||||
'nachname'=>$row->nachname,
|
||||
'personenkennzeichen'=>trim($row->matrikelnr),
|
||||
'matr_nr'=>$row->matr_nr,
|
||||
'semester'=>$row->semester,
|
||||
'verband'=>trim($row->verband),
|
||||
'gruppe'=>trim($row->gruppe),
|
||||
'zusatz'=>$zusatz,
|
||||
'studiengang_kurzbz'=>$row->kurzbzlang,
|
||||
'mobilitaetstyp_kurzbz'=>$row->mobilitaetstyp_kurzbz
|
||||
));
|
||||
}
|
||||
}
|
||||
//Anzahl Studierende in Array $data (an erster Stelle) einfuegen
|
||||
$this->data = array_reverse($this->data, true);
|
||||
$this->data['anzahl_studierende'] = $anzahl_studierende;
|
||||
$this->data = array_reverse($this->data, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user