diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php
index 01ec1c93f..065820c91 100644
--- a/cis/private/lehre/anwesenheitsliste.pdf.php
+++ b/cis/private/lehre/anwesenheitsliste.pdf.php
@@ -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.');
@@ -64,183 +65,15 @@ if(isset($_GET['output']) && ($output='odt' || $output='doc'))
isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL;
isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL;
-
-
-$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;
+$doc = new dokument_export('Anwesenheitslist');
-$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
- 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)
- 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.)';
-
- $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
- ));
- }
- }
- //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, $stg, $lehreinheit);
+$arr_lehrende = $lehrelisthelper->getArr_Lehrende();
+$data = $lehrelisthelper->getData();
+$studentuids = $lehrelisthelper->getStudentUids();
$doc->addDataArray($data,'anwesenheitsliste');
if($lehreinheit!='')
diff --git a/cis/private/lehre/anwesenheitsliste.php b/cis/private/lehre/anwesenheitsliste.php
index bc7d96083..2cdf56d5f 100644
--- a/cis/private/lehre/anwesenheitsliste.php
+++ b/cis/private/lehre/anwesenheitsliste.php
@@ -34,6 +34,7 @@
require_once('../../../include/lehrveranstaltung.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/vertrag.class.php');
+ require_once '../../../include/covid/covidhelper.class.php';
$sprache = getSprache();
$p=new phrasen($sprache);
@@ -61,7 +62,8 @@
$stsem = $_GET['stsem'];
else
die($p->t('anwesenheitsliste/studiensemesterIstUngueltig'));
-
+
+$covidhelper = new CovidHelper();
?>
@@ -69,6 +71,11 @@
+
@@ -84,6 +91,7 @@
isUdfDefined()) ? '| ' . $p->t('anwesenheitsliste/gesamtliste') . ' ' . $lv->bezeichnung . ' |
' : '';
$aw_content .= "| ".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung |
";
$awbild_content .= "| ".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung |
";
$nt_content .= "| ".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung |
";
@@ -151,6 +160,7 @@
}
}
+ $covid_content .= ($covidhelper->isUdfDefined()) ? ' ' . $kurzbz . ' - ' . $lehrform . ' - ' . $gruppen . ' (' . $lektoren . ') |
' : '';
$aw_content .= " $kurzbz - $lehrform - $gruppen ($lektoren) |
";
$awbild_content .= " $kurzbz - $lehrform - $gruppen ($lektoren) |
";
$nt_content .= " $kurzbz - $lehrform - $gruppen ($lektoren) |
";
@@ -186,6 +196,7 @@
}
}
+ $covid_content .= ($covidhelper->isUdfDefined()) ? ' ' . $kurzbz . ' - ' . $lehrform . ' - ' . $gruppen . ' (' . $lektoren . ') |
' : '';
$aw_content .= " $kurzbz - $lehrform - $gruppen ($lektoren) |
";
$awbild_content .= " $kurzbz - $lehrform - $gruppen ($lektoren) |
";
$nt_content .= " $kurzbz - $lehrform - $gruppen ($lektoren) |
";
@@ -198,6 +209,11 @@
}
else
{
+ if($covid_content!='')
+ $covid_content = "".$p->t('anwesenheitsliste/covidstatuslisten')." |
".$covid_content."
";
+ else
+ $covid_content = ($covidhelper->isUdfDefined()) ? $p->t('anwesenheitsliste/keineStudentenVorhanden') : '';
+
if($aw_content!='')
$aw_content = "".$p->t('anwesenheitsliste/anwesenheitslisten')." |
".$aw_content."
";
else
@@ -221,17 +237,20 @@
$aw_content='';
if(defined('CIS_ANWESENHEITSLISTE_ANWESENHEITSLISTE_BILD_ANZEIGEN') && !CIS_ANWESENHEITSLISTE_ANWESENHEITSLISTE_BILD_ANZEIGEN)
$awbild_content='';
-
+
echo "
-
+
| $aw_content |
+ $covid_content |
| $awbild_content |
+ |
| $nt_content |
+ |
";
diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
index 407502178..70d15d801 100644
--- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
+++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
@@ -45,6 +45,8 @@ require_once ('../../../../include/note.class.php');
require_once ('../../../../include/notenschluessel.class.php');
require_once ('../../../../include/studienplan.class.php');
require_once ('../../../../include/addon.class.php');
+require_once ('../../../../include/mobilitaet.class.php');
+require_once ('../../../../include/student.class.php');
$summe_stud = 0;
$summe_t2 = 0;
@@ -80,6 +82,8 @@ if (! $lv_obj->load($lvid))
// Studiengang laden
$stg_obj = new studiengang($lv_obj->studiengang_kz);
+$stg_obj->studiengang_kz;
+
$datum_obj = new datum();
if (isset($_GET['stsem']))
@@ -1113,8 +1117,8 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
campus.vw_student_lehrveranstaltung
JOIN campus.vw_student USING(uid)
WHERE
- studiensemester_kurzbz = " . $db->db_add_param($stsem) . "
- AND lehrveranstaltung_id = " . $db->db_add_param($lvid) . "
+ studiensemester_kurzbz = ". $db->db_add_param($stsem). "
+ AND lehrveranstaltung_id = ". $db->db_add_param($lvid). "
ORDER BY nachname, vorname ";
if ($result_stud = $db->db_query($qry_stud))
@@ -1122,11 +1126,29 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$i = 1;
$errorshown = false;
$summe_stud = $db->db_num_rows($result_stud);
+
+ //Ergänzung um Mobility-Eintrag (d.d.)
while ($row_stud = $db->db_fetch_object($result_stud))
{
$grades[$row_stud->uid]['vorname'] = $row_stud->vorname;
$grades[$row_stud->uid]['nachname'] = $row_stud->nachname;
+ $student = new student();
+ $student->load($row_stud->uid);
+ $student->result[]= $student;
+ $prestudent_id = $student->prestudent_id;
+
+ $mobility = new mobilitaet();
+ $mobility->loadPrestudent($prestudent_id);
+ $output = $mobility->result;
+ $eintrag = '';
+ foreach ($output as $k)
+ {
+ if($k->mobilitaetstyp_kurzbz == 'GS')
+ $eintrag = ' (d.d.)';
+ }
+ $grades[$row_stud->uid]['mobility'] = $eintrag;
+
// Noten aus Uebungstool
$le = new lehreinheit();
$le->load_lehreinheiten($lvid, $stsem);
@@ -1167,12 +1189,13 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$anzahlChanged = 0;
foreach ($grades as $uid => $data)
+ //Ausgabe Array
{
$htmlstring .= '
 |
' . $db->convert_html_chars($uid) . ' |
' . $db->convert_html_chars($data['nachname']) . ' |
- ' . $db->convert_html_chars($data['vorname']) . ' | ';
+ ' . $db->convert_html_chars($data['vorname']) . $db->convert_html_chars($data['mobility']) .' | ';
// Bereits eingetragene Note ermitteln
if ($lvgesamtnote = new lvgesamtnote($lvid, $uid, $stsem))
@@ -1619,5 +1642,11 @@ echo $htmlstring;
+
+
+
Legende
+
(d.d.)... Double Degree Program
+
+