diff --git a/cis/private/lehre/kreuzerltool/anwesenheitsliste.php b/cis/private/lehre/kreuzerltool/anwesenheitsliste.php index 81413741e..c560d62fd 100644 --- a/cis/private/lehre/kreuzerltool/anwesenheitsliste.php +++ b/cis/private/lehre/kreuzerltool/anwesenheitsliste.php @@ -53,12 +53,22 @@ if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); if(isset($_GET['uebung_id']) && is_numeric($_GET['uebung_id'])) +{ $uebung_id = $_GET['uebung_id']; -else - die('Fehlerhafte Parameteruebergabe'); - -$uebung_obj = new uebung($conn, $uebung_id); -$lehreinheit_obj = new lehreinheit($conn, $uebung_obj->lehreinheit_id); + $uebung_obj = new uebung($conn, $uebung_id); + $lehreinheit_obj = new lehreinheit($conn, $uebung_obj->lehreinheit_id); + +} +else +{ + if(!isset($_GET['all'])) + die('Fehlerhafte Parameteruebergabe'); + else + { + $lehreinheit_id = $_GET['lehreinheit_id']; + $lehreinheit_obj = new lehreinheit($conn, $lehreinheit_id); + } +} $qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE tbl_lehreinheit.lehreinheit_id='$lehreinheit_obj->lehreinheit_id' AND @@ -67,173 +77,394 @@ $qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeite if(!$result = pg_query($conn, $qry)) die('Fehler beim laden der Berechtigung'); +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + if(!(pg_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz))) die('Sie haben keine Berechtigung für diesen Bereich'); if(isset($_GET['output']) && $_GET['output']=='xls') { - //EXCEL VERSION - - // Creating a workbook - $workbook = new Spreadsheet_Excel_Writer(); - - // sending HTTP headers - $workbook->send("Kreuzerltool". "_" . date("d_m_Y") . ".xls"); - - // Creating a worksheet - $worksheet =& $workbook->addWorksheet("Kreuzerltool"); - - $format_bold =& $workbook->addFormat(); - $format_bold->setBold(); - - $format_title =& $workbook->addFormat(); - $format_title->setBold(); - // let's merge - $format_title->setAlign('merge'); - - $worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y'), $format_bold); - - //Ueberschrift - $i=0; - $worksheet->write(1,$i,"Vorname", $format_title); - $worksheet->write(1,++$i,"Nachname", $format_title); - $worksheet->write(1,++$i,"Matrikelnr", $format_title); - $beispiel_obj = new beispiel($conn); - $beispiel_obj->load_beispiel($uebung_id); - foreach($beispiel_obj->beispiele as $row_bsp) + if(isset($_GET['all'])) { - $worksheet->write(1,++$i,$row_bsp->bezeichnung, $format_title); - } - $worksheet->write(1,++$i,"Punkte heute", $format_title); - $worksheet->write(1,++$i,"Mitarbeit heute", $format_title); - $worksheet->write(1,++$i,"Punkte insgesamt", $format_title); - $worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title); - $worksheet->write(1,++$i,"Unterschrift", $format_title); + //EXCEL VERSION / ALLE Kreuzerllisten + $le_obj = new lehreinheit($conn); + $le_obj->load($lehreinheit_id); + + $lv_obj = new lehrveranstaltung($conn); + $lv_obj->load($le_obj->lehrveranstaltung_id); + + // Creating a workbook + $workbook = new Spreadsheet_Excel_Writer(); - if(isset($_GET['gruppe']) && $_GET['gruppe']!='') - { - $gruppe = $_GET['gruppe']; - $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'"; - if($result = pg_query($conn, $qry)) + // sending HTTP headers + $workbook->send("Kreuzerlliste_Gesamt_".$lv_obj->lehreverzeichnis. "_" . date("d_m_Y") . ".xls"); + + // Creating a worksheet + $worksheet =& $workbook->addWorksheet("Kreuzerltool"); + + $format_bold =& $workbook->addFormat(); + $format_bold->setBold(); + + $format_title =& $workbook->addFormat(); + $format_title->setBold(); + // let's merge + $format_title->setAlign('merge'); + + + + $worksheet->write(0,0,'Gesamtübersicht '.$lv_obj->bezeichnung.' vom '.date('d.m.Y'), $format_bold); + $maxlength = array(); + + //Ueberschrift + $i=0; + $worksheet->write(1,$i,"Vorname", $format_title); + $maxlength[$i]=strlen('Vorname'); + $worksheet->write(1,++$i,"Nachname", $format_title); + $maxlength[$i]=strlen('Nachname'); + $worksheet->write(1,++$i,"Matrikelnr", $format_title); + $maxlength[$i]=strlen('Matrikelnr'); + $ueb_obj = new uebung($conn); + $ueb_obj->load_uebung($lehreinheit_id); + foreach($ueb_obj->uebungen as $row_ueb) { - if($row = pg_fetch_object($result)) + $worksheet->write(1,++$i,$row_ueb->bezeichnung, $format_title); + $maxlength[$i]=strlen($row_ueb->bezeichnung); + } + $worksheet->write(1,++$i,"Summe", $format_title); + $maxlength[$i]=8; + $worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title); + $maxlength[$i]=strlen('Mitarbeit insgesamt'); + $worksheet->write(1,++$i,"Punkte insgesamt", $format_title); + $maxlength[$i]=strlen('Punkte insgesamt'); + $worksheet->write(1,++$i,"Unterschrift", $format_title); + $maxlength[$i]=strlen('Unterschrift')+5; + + if(isset($_GET['gruppe']) && $_GET['gruppe']!='') + { + $gruppe = $_GET['gruppe']; + $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'"; + if($result = pg_query($conn, $qry)) { - if($row->gruppe_kurzbz!='') + if($row = pg_fetch_object($result)) { - $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + if($row->gruppe_kurzbz!='') + { + $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + } + else + { + $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student + WHERE studiengang_kz='$row->studiengang_kz' + AND semester='$row->semester' ". + ($row->verband!=''?" AND verband='$row->verband'":''). + ($row->gruppe!=''?" AND gruppe='$row->gruppe'":''). + " ORDER BY nachname, vorname"; + } + } - else - { - $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student WHERE studiengang_kz='$row->studiengang_kz' AND semester='$row->semester' AND verband='$row->verband' AND gruppe='$row->gruppe' ORDER BY nachname, vorname"; - } - + else + die('Gruppe konnte nicht ermittelt werden'); } - else + else die('Gruppe konnte nicht ermittelt werden'); } else - die('Gruppe konnte nicht ermittelt werden'); - $lehreinheit_id = ''; + { + if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') + { + $lehreinheit_id = $_GET['lehreinheit_id']; + $gruppe_bez = 'Alle Studienrende'; + //Alle Studenten die dieser Lehreinheit zugeordnet sind + $qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe + WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + vw_student.uid = tbl_benutzergruppe.uid AND + tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz + UNION + SELECT vw_student.uid, vorname, nachname, matrikelnr FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE + tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND + tbl_lehreinheitgruppe.semester = vw_student.semester AND + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND + trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe)) + OR + (tbl_lehreinheitgruppe.verband<>'' AND + (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))) + ORDER BY nachname, vorname"; + } + else + die('Fehler bei der Parameteruebergabe'); + $gruppe=''; + } + + if($result_stud = pg_query($conn, $qry_stud)) + { + $zeile=3; + + while($row_stud = pg_fetch_object($result_stud)) + { + $spalte=0; + $summe=0; + //vorname + $worksheet->write($zeile,$spalte,$row_stud->vorname); + if(strlen($row_stud->vorname)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->vorname); + //nachname + $worksheet->write($zeile,++$spalte,$row_stud->nachname); + if(strlen($row_stud->nachname)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->nachname); + //matrikelnr + $worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"'); + if(strlen($row_stud->matrikelnr)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->matrikelnr); + + foreach($ueb_obj->uebungen as $row_ueb) + { + $qry = "SELECT count(*) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$row_ueb->uebung_id' AND student_uid='$row_stud->uid' AND vorbereitet=true"; + if($result = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $punkte = $row->punkte; + $summe +=$punkte; + } + else + $punkte = 'failed'; + } + else + $punkte='failed'; + //punkte auf uebung + $worksheet->write($zeile,++$spalte,$punkte); + } + + //summe + $worksheet->write($zeile,++$spalte,$summe); + + //mitarbeit + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$row_stud->uid'"; + if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit=$row->mitarbeit; + else + $mitarbeit='failed'; + else + $mitarbeit='failed'; + + $worksheet->write($zeile,++$spalte,($row->mitarbeit!=''?$mitarbeit:'0')); + //punkte insgesamt + $worksheet->write($zeile,++$spalte,($summe+$mitarbeit), $format_bold); + + $zeile++; + } + for($i=0;$isetColumn(0, $i, $maxlength[$i]); + } + } + + $workbook->close(); + } else { - if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') + //EXCEL VERSION / Einzelne Kreuzerlliste + + // Creating a workbook + $workbook = new Spreadsheet_Excel_Writer(); + + // sending HTTP headers + $workbook->send("Kreuzerltool". "_" . date("d_m_Y") . ".xls"); + + // Creating a worksheet + $worksheet =& $workbook->addWorksheet("Kreuzerltool"); + + $format_bold =& $workbook->addFormat(); + $format_bold->setBold(); + + $format_title =& $workbook->addFormat(); + $format_title->setBold(); + // let's merge + $format_title->setAlign('merge'); + + $worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y'), $format_bold); + $maxlength = array(); + //Ueberschrift + $i=0; + $worksheet->write(1,$i,"Vorname", $format_title); + $maxlength[$i]=strlen('Vorname'); + $worksheet->write(1,++$i,"Nachname", $format_title); + $maxlength[$i]=strlen('Nachname'); + $worksheet->write(1,++$i,"Matrikelnr", $format_title); + $maxlength[$i]=strlen('Matrikelnr'); + $beispiel_obj = new beispiel($conn); + $beispiel_obj->load_beispiel($uebung_id); + foreach($beispiel_obj->beispiele as $row_bsp) { - $lehreinheit_id = $_GET['lehreinheit_id']; - $gruppe_bez = 'Alle Studienrende'; + $worksheet->write(1,++$i,$row_bsp->bezeichnung, $format_title); + $maxlength[$i]=strlen($row_bsp->bezeichnung); + } + $worksheet->write(1,++$i,"Punkte heute", $format_title); + $maxlength[$i]=strlen('Punkte heute'); + $worksheet->write(1,++$i,"Mitarbeit heute", $format_title); + $maxlength[$i]=strlen('Mitarbeit_heute'); + $worksheet->write(1,++$i,"Punkte insgesamt", $format_title); + $maxlength[$i]=strlen('Punkte insgesamt'); + $worksheet->write(1,++$i,"Mitarbeit insgesamt", $format_title); + $maxlength[$i]=strlen('Mitarbeit insgesamt'); + $worksheet->write(1,++$i,"Unterschrift", $format_title); + $maxlength[$i]=strlen('Unterschrift')+5; + + if(isset($_GET['gruppe']) && $_GET['gruppe']!='') + { + $gruppe = $_GET['gruppe']; + $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'"; + if($result = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + if($row->gruppe_kurzbz!='') + { + $gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + } + else + { + $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student + WHERE studiengang_kz='$row->studiengang_kz' + AND semester='$row->semester' ". + ($row->verband!=''?" AND verband='$row->verband'":''). + ($row->gruppe!=''?" AND gruppe='$row->gruppe'":''). + " ORDER BY nachname, vorname"; + } + + } + else + die('Gruppe konnte nicht ermittelt werden'); + } + else + die('Gruppe konnte nicht ermittelt werden'); + - $qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe - WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND - vw_student.uid = tbl_benutzergruppe.uid AND - tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz - UNION - SELECT vw_student.uid, vorname, nachname, matrikelnr FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE - tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND - tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND - tbl_lehreinheitgruppe.semester = vw_student.semester AND - tbl_lehreinheitgruppe.verband = vw_student.verband AND - tbl_lehreinheitgruppe.gruppe = vw_student.gruppe ORDER BY nachname, vorname"; + $lehreinheit_id = $uebung_obj->lehreinheit_id; } else - die('Fehler bei der Parameteruebergabe'); - $gruppe=''; - } - - if($result_stud = pg_query($conn, $qry_stud)) - { - $zeile=3; - - while($row_stud = pg_fetch_object($result_stud)) - { - $spalte=0; - $punkte_heute=0; - //vorname - $worksheet->write($zeile,$spalte,$row_stud->vorname); - //nachname - $worksheet->write($zeile,++$spalte,$row_stud->nachname); - //matrikelnr - $worksheet->write($zeile,++$spalte,$row_stud->matrikelnr); - - foreach($beispiel_obj->beispiele as $row_bsp) + { + if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='') { - $studentbeispiel_obj = new beispiel($conn); - $studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id); - if($studentbeispiel_obj->vorbereitet) - $punkte = $row_bsp->punkte; - else - $punkte = 0; - $punkte_heute +=$punkte; - //punkte auf uebung - $worksheet->write($zeile,++$spalte,$punkte); + $lehreinheit_id = $_GET['lehreinheit_id']; + $gruppe_bez = 'Alle Studienrende'; + //Alle Studenten die dieser Lehreinheit zugeordnet sind + $qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe + WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + vw_student.uid = tbl_benutzergruppe.uid AND + tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz + UNION + SELECT vw_student.uid, vorname, nachname, matrikelnr FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE + tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND + tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND + tbl_lehreinheitgruppe.semester = vw_student.semester AND + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND + trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe)) + OR + (tbl_lehreinheitgruppe.verband<>'' AND + (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))) + ORDER BY nachname, vorname"; } - - //punkte heute - $worksheet->write($zeile,++$spalte,$punkte_heute); - - //mitarbeit heute - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id' AND student_uid='$row_stud->uid'"; - if($result = pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); - else - $worksheet->write($zeile,++$spalte,'failed'); else - $worksheet->write($zeile,++$spalte,'failed'); - - //punkte insgesamt - $qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE - tbl_studentbeispiel.student_uid='$row_stud->uid' AND - tbl_studentbeispiel.vorbereitet=true AND - tbl_uebung.lehreinheit_id='$uebung_obj->lehreinheit_id' AND - tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_beispiel.beispiel_id=tbl_studentbeispiel.beispiel_id - "; - if($result = pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $worksheet->write($zeile,++$spalte,($row->gesamt_ohne_mitarbeit!=''?$row->gesamt_ohne_mitarbeit:'0')); - else - $worksheet->write($zeile,++$spalte,'failed'); - else - $worksheet->write($zeile,++$spalte,'failed'); - - //mitarbeit insgesamt - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE student_uid='$row_stud->uid' AND lehreinheit_id='$lehreinheit_id'"; - if($result = pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); - else - $worksheet->write($zeile,++$spalte,'failed'); - else - $worksheet->write($zeile,++$spalte,'failed'); - - $zeile++; + die('Fehler bei der Parameteruebergabe'); + $gruppe=''; } + + if($result_stud = pg_query($conn, $qry_stud)) + { + $zeile=3; + + while($row_stud = pg_fetch_object($result_stud)) + { + $spalte=0; + $punkte_heute=0; + //vorname + $worksheet->write($zeile,$spalte,$row_stud->vorname); + if(strlen($row_stud->vorname)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->vorname); + //nachname + $worksheet->write($zeile,++$spalte,$row_stud->nachname); + if(strlen($row_stud->nachname)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->nachname); + //matrikelnr + $worksheet->write($zeile,++$spalte,'="'.$row_stud->matrikelnr.'"'); + if(strlen($row_stud->matrikelnr)>$maxlength[$spalte]) + $maxlength[$spalte]=strlen($row_stud->matrikelnr); + + foreach($beispiel_obj->beispiele as $row_bsp) + { + $studentbeispiel_obj = new beispiel($conn); + $studentbeispiel_obj->load_studentbeispiel($row_stud->uid, $row_bsp->beispiel_id); + if($studentbeispiel_obj->vorbereitet) + $punkte = $row_bsp->punkte; + else + $punkte = 0; + $punkte_heute +=$punkte; + //punkte auf uebung + $worksheet->write($zeile,++$spalte,$punkte); + } + + //punkte heute + $worksheet->write($zeile,++$spalte,$punkte_heute); + + //mitarbeit heute + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id' AND student_uid='$row_stud->uid'"; + if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); + else + $worksheet->write($zeile,++$spalte,'failed'); + else + $worksheet->write($zeile,++$spalte,'failed'); + + //punkte insgesamt + $qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE + tbl_studentbeispiel.student_uid='$row_stud->uid' AND + tbl_studentbeispiel.vorbereitet=true AND + tbl_uebung.lehreinheit_id='$uebung_obj->lehreinheit_id' AND + tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_beispiel.beispiel_id=tbl_studentbeispiel.beispiel_id + "; + if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $worksheet->write($zeile,++$spalte,($row->gesamt_ohne_mitarbeit!=''?$row->gesamt_ohne_mitarbeit:'0')); + else + $worksheet->write($zeile,++$spalte,'failed'); + else + $worksheet->write($zeile,++$spalte,'failed'); + + //mitarbeit insgesamt + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE student_uid='$row_stud->uid' AND lehreinheit_id='$lehreinheit_id'"; + if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0')); + else + $worksheet->write($zeile,++$spalte,'failed'); + else + $worksheet->write($zeile,++$spalte,'failed'); + + $zeile++; + } + for($i=0;$isetColumn(0, $i, $maxlength[$i]); + } + + $workbook->close(); } - - $workbook->close(); - } else { @@ -338,7 +569,12 @@ function addUser(student_uid) else { $gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe; - $qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student WHERE studiengang_kz='$row->studiengang_kz' AND semester='$row->semester' AND verband='$row->verband' AND gruppe='$row->gruppe' ORDER BY nachname, vorname"; + $qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student + WHERE studiengang_kz='$row->studiengang_kz' + AND semester='$row->semester' ". + ($row->verband!=''?" AND verband='$row->verband'":''). + ($row->gruppe!=''?" AND gruppe='$row->gruppe'":''). + " ORDER BY nachname, vorname"; } } @@ -355,7 +591,7 @@ function addUser(student_uid) { $lehreinheit_id = $_GET['lehreinheit_id']; $gruppe_bez = 'Alle Studienrende'; - + //Alle Studenten die dieser lehreinheit zugeordnet sind $qry_stud = "SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND vw_student.uid = tbl_benutzergruppe.uid AND @@ -365,13 +601,21 @@ function addUser(student_uid) tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND tbl_lehreinheitgruppe.semester = vw_student.semester AND - tbl_lehreinheitgruppe.verband = vw_student.verband AND - tbl_lehreinheitgruppe.gruppe = vw_student.gruppe ORDER BY nachname, vorname"; + ((tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband) AND + trim(tbl_lehreinheitgruppe.gruppe) = trim(vw_student.gruppe)) + OR + (tbl_lehreinheitgruppe.verband<>'' AND + (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) AND + trim(tbl_lehreinheitgruppe.verband) = trim(vw_student.verband))) + ORDER BY nachname, vorname"; } else die('Fehler bei der Parameteruebergabe'); $gruppe=''; } + echo "
"; echo ""; echo " @@ -380,7 +624,7 @@ function addUser(student_uid)
- +
$lehrveranstaltung_obj->semester.Semester$stg_obj->kurzbz - $lehrveranstaltung_obj->bezeichnung - $uebung_obj->bezeichnung - $gruppe_bez$stg_obj->kuerzel - $lehrveranstaltung_obj->bezeichnung - $uebung_obj->bezeichnung - $gruppe_bez ".date('d.m.Y')."
@@ -411,7 +655,7 @@ function addUser(student_uid) } echo ''; - echo "

"; + echo "

"; echo '
' ?> diff --git a/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php b/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php index e55294cc8..e12fa6949 100644 --- a/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php +++ b/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php @@ -246,15 +246,15 @@ $uebung_obj = new uebung($conn); $uebung_obj->load($uebung_id); echo "

$uebung_obj->bezeichnung

"; - -echo "