diff --git a/cis/testtool/admin/auswertung.php b/cis/testtool/admin/auswertung.php index 6382bfaa2..1727640da 100644 --- a/cis/testtool/admin/auswertung.php +++ b/cis/testtool/admin/auswertung.php @@ -27,6 +27,7 @@ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/studiengang.class.php'); require_once('../../../include/datum.class.php'); +require_once('../../../include/Excel/excel.php'); if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); @@ -76,15 +77,22 @@ $kategorie=array(); $erg_kat=array(); $datum_obj = new datum(); -$datum_von = isset($_POST['datum_von'])?$_POST['datum_von']:''; -$datum_bis = isset($_POST['datum_bis'])?$_POST['datum_bis']:''; -$reihungstest = isset($_POST['reihungstest'])?$_POST['reihungstest']:''; -$studiengang = isset($_POST['studiengang'])?$_POST['studiengang']:''; +$datum_von = isset($_REQUEST['datum_von'])?$_REQUEST['datum_von']:''; +$datum_bis = isset($_REQUEST['datum_bis'])?$_REQUEST['datum_bis']:''; +$reihungstest = isset($_REQUEST['reihungstest'])?$_REQUEST['reihungstest']:''; +$studiengang = isset($_REQUEST['studiengang'])?$_REQUEST['studiengang']:''; +$semester = isset($_REQUEST['semester'])?$_REQUEST['semester']:''; +$prestudent_id = isset($_REQUEST['prestudent_id'])?$_REQUEST['prestudent_id']:''; +$format = (isset($_REQUEST['format'])?$_REQUEST['format']:''); if($reihungstest!='' && !is_numeric($reihungstest)) die('ReihungstestID ist ungueltig'); if($studiengang!='' && !is_numeric($studiengang)) die('Studiengang ist ungueltig'); +if($semester!='' && !is_numeric($semester)) + die('Semester ist ungueltig'); +if($prestudent_id!='' && !is_numeric($prestudent_id)) + die('PrestudentID ist ungueltig'); if($datum_von!='') $datum_von = $datum_obj->formatDatum($datum_von, 'Y-m-d'); @@ -107,25 +115,33 @@ while ($row=$db->db_fetch_object($result)) $rtest[$row->reihungstest_id]->uhrzeit=$row->uhrzeit; } -if (isset($_POST['reihungstest'])) +if (isset($_REQUEST['reihungstest'])) { // Vorkommende Gebiete laden $sql_query=" - SELECT DISTINCT gebiet_id, gebiet + SELECT DISTINCT gebiet_id, gebiet, vw_auswertung_ablauf.reihung FROM - testtool.vw_auswertung + testtool.vw_auswertung_ablauf JOIN public.tbl_prestudent USING(prestudent_id) - JOIN public.tbl_reihungstest ON(vw_auswertung.reihungstest_id=tbl_reihungstest.reihungstest_id) + JOIN public.tbl_reihungstest ON(vw_auswertung_ablauf.reihungstest_id=tbl_reihungstest.reihungstest_id) + JOIN testtool.tbl_ablauf USING(gebiet_id) WHERE 1=1"; if($reihungstest!='') - $sql_query.=" AND vw_auswertung.reihungstest_id='".addslashes($reihungstest)."'"; + $sql_query.=" AND vw_auswertung_ablauf.reihungstest_id='".addslashes($reihungstest)."'"; if($datum_von!='') $sql_query.=" AND tbl_reihungstest.datum>='$datum_von'"; if($datum_bis!='') $sql_query.=" AND tbl_reihungstest.datum<='$datum_bis'"; if($studiengang!='') $sql_query.=" AND tbl_prestudent.studiengang_kz='".addslashes($studiengang)."'"; + if($semester!='') + $sql_query.=" AND tbl_ablauf.semester='".addslashes($semester)."' AND tbl_ablauf.studiengang_kz=tbl_prestudent.studiengang_kz"; + //if($prestudent_id!='') + // $sql_query.=" AND prestudent_id='".addslashes($prestudent_id)."'"; + $sql_query.=" ORDER BY vw_auswertung_ablauf.reihung, gebiet_id"; + + //echo $sql_query; if(!($result=$db->db_query($sql_query))) die($db->db_last_error()); @@ -135,24 +151,29 @@ if (isset($_POST['reihungstest'])) $gebiet[$row->gebiet_id]->gebiet_id=$row->gebiet_id; } - // Alle Personen des Reihungstests laden - $sql_query="SELECT + // Alle Personen und deren Ergebnisse laden + $sql_query="SELECT DISTINCT ON (pruefling_id,vw_auswertung_ablauf.gebiet_id) * FROM - testtool.vw_auswertung + testtool.vw_auswertung_ablauf JOIN public.tbl_prestudent USING(prestudent_id) - JOIN public.tbl_reihungstest ON(vw_auswertung.reihungstest_id=tbl_reihungstest.reihungstest_id) - WHERE 1=1"; + JOIN public.tbl_reihungstest ON(vw_auswertung_ablauf.reihungstest_id=tbl_reihungstest.reihungstest_id) + JOIN testtool.tbl_ablauf ON(tbl_ablauf.gebiet_id=vw_auswertung_ablauf.gebiet_id) + WHERE 1=1 AND tbl_ablauf.studiengang_kz=tbl_prestudent.studiengang_kz /*AND tbl_ablauf.semester=vw_auswertung_ablauf.semester*/"; if($reihungstest!='') - $sql_query.=" AND vw_auswertung.reihungstest_id='".addslashes($reihungstest)."'"; + $sql_query.=" AND vw_auswertung_ablauf.reihungstest_id='".addslashes($reihungstest)."'"; if($datum_von!='') $sql_query.=" AND tbl_reihungstest.datum>='$datum_von'"; if($datum_bis!='') $sql_query.=" AND tbl_reihungstest.datum<='$datum_bis'"; if($studiengang!='') $sql_query.=" AND tbl_prestudent.studiengang_kz='".addslashes($studiengang)."'"; + if($semester!='') + $sql_query.=" AND tbl_ablauf.semester='".addslashes($semester)."'"; + if($prestudent_id!='') + $sql_query.=" AND prestudent_id='".addslashes($prestudent_id)."'"; + - //echo $sql_query; if(!($result=$db->db_query($sql_query))) die($db->db_last_error()); @@ -177,12 +198,24 @@ if (isset($_POST['reihungstest'])) $prozent=100; else $prozent = ($row->punkte/$row->maxpunkte)*100; + + if($row->punkte>=$row->maxpunkte) + $punkte=$row->maxpunkte; + else + $punkte=$row->punkte; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->prozent=$prozent; + $ergebnis[$row->pruefling_id]->gebiet[$row->gebiet_id]->punkte=$punkte; if (isset($ergebnis[$row->pruefling_id]->gesamt)) $ergebnis[$row->pruefling_id]->gesamt+=$prozent*$row->gewicht; else $ergebnis[$row->pruefling_id]->gesamt=$prozent*$row->gewicht; + + if (isset($ergebnis[$row->pruefling_id]->gesamtpunkte)) + $ergebnis[$row->pruefling_id]->gesamtpunkte+=$punkte; + else + $ergebnis[$row->pruefling_id]->gesamtpunkte=$punkte; } $ergb=sortByField($ergebnis,'gesamt'); @@ -191,14 +224,14 @@ if (isset($_POST['reihungstest'])) $sql_query="SELECT DISTINCT kategorie_kurzbz, (SELECT sum(punkte) FROM testtool.tbl_vorschlag JOIN testtool.tbl_frage USING(frage_id) - WHERE tbl_frage.kategorie_kurzbz=vw_auswertung_kategorie.kategorie_kurzbz) as gesamtpunkte + WHERE tbl_frage.kategorie_kurzbz=vw_auswertung_kategorie_semester.kategorie_kurzbz) as gesamtpunkte FROM - testtool.vw_auswertung_kategorie + testtool.vw_auswertung_kategorie_semester JOIN public.tbl_prestudent USING(prestudent_id) - JOIN public.tbl_reihungstest ON(vw_auswertung_kategorie.reihungstest_id=tbl_reihungstest.reihungstest_id) + JOIN public.tbl_reihungstest ON(vw_auswertung_kategorie_semester.reihungstest_id=tbl_reihungstest.reihungstest_id) WHERE 1=1"; if($reihungstest!='') - $sql_query.=" AND vw_auswertung_kategorie.reihungstest_id='".addslashes($reihungstest)."'"; + $sql_query.=" AND vw_auswertung_kategorie_semester.reihungstest_id='".addslashes($reihungstest)."'"; if($datum_von!='') $sql_query.=" AND tbl_reihungstest.datum>='$datum_von'"; if($datum_bis!='') @@ -221,23 +254,27 @@ if (isset($_POST['reihungstest'])) // Ergebnisse laden $sql_query=" SELECT - vw_auswertung_kategorie.*, + vw_auswertung_kategorie_semester.*, (SELECT typ FROM testtool.tbl_kriterien - WHERE gebiet_id=vw_auswertung_kategorie.gebiet_id AND punkte=vw_auswertung_kategorie.punkte - AND kategorie_kurzbz=vw_auswertung_kategorie.kategorie_kurzbz) as typ + WHERE gebiet_id=vw_auswertung_kategorie_semester.gebiet_id AND punkte=vw_auswertung_kategorie_semester.punkte + AND kategorie_kurzbz=vw_auswertung_kategorie_semester.kategorie_kurzbz) as typ FROM - testtool.vw_auswertung_kategorie + testtool.vw_auswertung_kategorie_semester JOIN public.tbl_prestudent USING(prestudent_id) - JOIN public.tbl_reihungstest ON(vw_auswertung_kategorie.reihungstest_id=tbl_reihungstest.reihungstest_id) + JOIN public.tbl_reihungstest ON(vw_auswertung_kategorie_semester.reihungstest_id=tbl_reihungstest.reihungstest_id) WHERE 1=1"; if($reihungstest!='') - $sql_query.=" AND vw_auswertung_kategorie.reihungstest_id='".addslashes($reihungstest)."'"; + $sql_query.=" AND vw_auswertung_kategorie_semester.reihungstest_id='".addslashes($reihungstest)."'"; if($datum_von!='') $sql_query.=" AND tbl_reihungstest.datum>='$datum_von'"; if($datum_bis!='') $sql_query.=" AND tbl_reihungstest.datum<='$datum_bis'"; if($studiengang!='') $sql_query.=" AND tbl_prestudent.studiengang_kz='".addslashes($studiengang)."'"; + //if($semester!='') + // $sql_query.=" AND vw_auswertung_kategorie_semester.semester='".addslashes($semester)."'"; + if($prestudent_id!='') + $sql_query.=" AND prestudent_id='".addslashes($prestudent_id)."'"; $sql_query.=" ORDER BY nachname, vorname"; @@ -256,6 +293,7 @@ if (isset($_POST['reihungstest'])) $erg_kat[$row->pruefling_id]->registriert=$row->registriert; $erg_kat[$row->pruefling_id]->stg_kurzbz=$row->stg_kurzbz; $erg_kat[$row->pruefling_id]->stg_bez=$row->stg_bez; + $erg_kat[$row->pruefling_id]->semester=$row->semester; $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->name=$row->kategorie_kurzbz; $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->typ=$row->typ; $erg_kat[$row->pruefling_id]->kategorie[$row->kategorie_kurzbz]->punkte=number_format($row->punkte,2).'/'.number_format($gesamtpunkte[$row->kategorie_kurzbz],2); @@ -270,146 +308,435 @@ $stg_arr = array(); foreach($stg_obj->result as $row) $stg_arr[$row->studiengang_kz]=$row->kuerzel; -?> - - - - Testtool - Auswertung - - - - - - -

Auswertung Reihungstest

- - - - - -
-
- Reihungstest wählen:  - - -
- Studiengang: - - -  '; - echo 'bis Datum: '; - ?> -
-
- Auswertung auf Fragenebene -
- -

Technischer Teil

+ // Creating a workbook + $workbook = new Spreadsheet_Excel_Writer(); - - - - - - - $gbt->name"; - ?> - - - - Punkte"; - ?> - - - - "; - // - foreach ($gebiet AS $gbt) - if (isset($erg->gebiet[$gbt->gebiet_id])) - echo ''; + // sending HTTP headers + $workbook->send("Auswertung ".((isset ($_REQUEST['reihungstest']) && $_REQUEST['reihungstest']!='')?$stg_arr[$rtest[$reihungstest]->studiengang_kz]." ".$datum_obj->formatDatum($rtest[$reihungstest]->datum,'d.m.Y'):'aller Reihungstests').".xls"); + $workbook->setVersion(8); + $workbook->setCustomColor (15,192,192,192); //Setzen der HG-Farbe Hellgrau + $workbook->setCustomColor (22,193,0,0); //Setzen der HG-Farbe Dunkelrot + // Creating a worksheet + $titel_studiengang = (isset ($_REQUEST['studiengang']) && $_REQUEST['studiengang']!=''); + $titel_semester = (isset ($_REQUEST['semester']) && $_REQUEST['semester']!=''); + + $worksheet =& $workbook->addWorksheet("Technischer Teil " .($titel_studiengang?$stg_arr[$_REQUEST['studiengang']]:'').($titel_semester?' '.$semester.'.Semester':'')); + $worksheet->setInputEncoding('utf-8'); + $worksheet->setZoom (85); + //Formate Definieren + $format_bold =& $workbook->addFormat(); + $format_bold->setBold(); + $format_bold->setAlign("center"); + $format_bold->setFgColor(15); + $format_bold->setVAlign('vcenter'); + + $format_bold_border =& $workbook->addFormat(); + $format_bold_border->setBold(); + $format_bold_border->setAlign("center"); + $format_bold_border->setFgColor(15); + $format_bold_border->setBorder(1); + $format_bold_border->setBorderColor('white'); + + $format_date =& $workbook->addFormat(); + $format_date->setNumFormat('YYYY-MM-DD'); + + $format_registriert =& $workbook->addFormat(); + $format_registriert->setNumFormat('YYYY-MM-DD hh:mm:ss'); + + $format_punkte =& $workbook->addFormat(); + $format_punkte->setNumFormat('0.00'); + + $format_punkte_rot =& $workbook->addFormat(); + $format_punkte_rot->setNumFormat('0.00'); + $format_punkte_rot->setColor ('22'); + + $format_prozent =& $workbook->addFormat(); + $format_prozent->setNumFormat('0.00%'); + + $format_prozent_rot =& $workbook->addFormat(); + $format_prozent_rot->setNumFormat('0.00%'); + $format_prozent_rot->setColor ('22'); + + $format_male =& $workbook->addFormat(); + $format_male->setColor ('blue'); + + $format_female =& $workbook->addFormat(); + $format_female->setColor ('magenta'); + + $spalte=0; + $zeile=0; + + $worksheet->write(0,$spalte,'PrestudentIn_ID', $format_bold); + $worksheet->mergeCells(0,0,1,0); + $maxlength[0]=15; + $worksheet->write(0,++$spalte,'Nachname', $format_bold); + $worksheet->mergeCells(0,1,1,1); + $maxlength[1]=15; + $worksheet->write(0,++$spalte,'Vorname', $format_bold); + $worksheet->mergeCells(0,2,1,2); + $maxlength[2]=15; + $worksheet->write(0,++$spalte,'GebDatum', $format_bold); + $worksheet->mergeCells(0,3,1,3); + $maxlength[3]=10; + $worksheet->write(0,++$spalte,'G', $format_bold); + $worksheet->mergeCells(0,4,1,4); + $maxlength[4]=2; + $worksheet->write(0,++$spalte,'Registriert', $format_bold); + $worksheet->mergeCells(0,5,1,5); + $maxlength[5]=18; + $worksheet->write(0,++$spalte,'STG', $format_bold); + $worksheet->mergeCells(0,6,1,6); + $maxlength[6]=4; + $worksheet->write(0,++$spalte,'Studiengang', $format_bold); + $worksheet->mergeCells(0,7,1,7); + $maxlength[7]=25; + $worksheet->write(0,++$spalte,'S', $format_bold); + $worksheet->mergeCells(0,8,1,8); + $maxlength[8]=2; + + $spalte=7; + $zeile=0; + + foreach ($gebiet AS $gbt) + { + ++$spalte; + $worksheet->write($zeile,++$spalte,strip_tags($gbt->name), $format_bold_border); + $worksheet->mergeCells($zeile,$spalte,0,$spalte+1); + $maxlength[$spalte]=10; + } + $worksheet->write($zeile,++$spalte+1,'Gesamt', $format_bold_border); + $worksheet->mergeCells($zeile,++$spalte,0,$spalte+1); + $maxlength[$spalte]=12; + + $spalte=8; + $zeile=0; + + foreach ($gebiet AS $gbt) + { + $worksheet->write($zeile+1,++$spalte,'Punkte', $format_bold_border); + $worksheet->write($zeile+1,++$spalte,'Prozent', $format_bold_border); + $maxlength[$spalte]=10; + } + $worksheet->write($zeile+1,++$spalte,'Punkte', $format_bold_border); + $worksheet->write($zeile+1,++$spalte,'Prozent', $format_bold_border); + $maxlength[$spalte]=10; + + $maxspalten=$spalte; + + $zeile=1; + $spalte=0; + + if(isset($ergb)) + { + foreach ($ergb AS $erg) + { + $zeile++; + $spalte=0; + $worksheet->write($zeile,$spalte,$erg->prestudent_id); + $worksheet->write($zeile,++$spalte,$erg->nachname); + $worksheet->write($zeile,++$spalte,$erg->vorname); + $worksheet->write($zeile,++$spalte,$erg->gebdatum, $format_date); + if($erg->geschlecht=='m') + $worksheet->write($zeile,++$spalte,$erg->geschlecht, $format_male); else - echo ''; - echo ''; - echo ''; - } - } - ?> -
PrestudentIDNachnameVornamenGebDatumGRegistriertSTGStudiengangGesamt
ProzentProzentpunkte
$erg->prestudent_id$erg->nachname$erg->vorname$erg->gebdatum$erg->geschlecht$erg->registriert$erg->stg_kurzbz$erg->stg_bez$erg->idnachweis'.number_format($erg->gebiet[$gbt->gebiet_id]->punkte,2,',',' ').''.number_format($erg->gebiet[$gbt->gebiet_id]->prozent,2,',',' ').' %'.number_format($erg->gesamt,2,',',' ').'
+ $worksheet->write($zeile,++$spalte,$erg->geschlecht, $format_female); + $worksheet->write($zeile,++$spalte,$erg->registriert, $format_registriert); + $worksheet->write($zeile,++$spalte,$erg->stg_kurzbz); + $worksheet->write($zeile,++$spalte,$erg->stg_bez); + $worksheet->write($zeile,++$spalte,$erg->semester); + foreach ($gebiet AS $gbt) + if (isset($erg->gebiet[$gbt->gebiet_id])) + { + if($erg->gebiet[$gbt->gebiet_id]->punkte!='' && $erg->gebiet[$gbt->gebiet_id]->punkte!='0') + $worksheet->writeNumber($zeile,++$spalte,$erg->gebiet[$gbt->gebiet_id]->punkte,$format_punkte); + else + $worksheet->writeNumber($zeile,++$spalte,$erg->gebiet[$gbt->gebiet_id]->punkte,$format_punkte_rot); + if($erg->gebiet[$gbt->gebiet_id]->prozent!='0%') + $worksheet->writeNumber($zeile,++$spalte,$erg->gebiet[$gbt->gebiet_id]->prozent/100,$format_prozent); + else + $worksheet->writeNumber($zeile,++$spalte,$erg->gebiet[$gbt->gebiet_id]->prozent/100,$format_prozent_rot); + } + else + { + $worksheet->write($zeile,++$spalte,''); + $worksheet->write($zeile,++$spalte,''); + } + $worksheet->writeNumber($zeile,++$spalte,$erg->gesamtpunkte, $format_punkte); + $worksheet->writeNumber($zeile,++$spalte,$erg->gesamt, $format_punkte); + } + } + + //Die Breite der Spalten setzen + foreach($maxlength as $i=>$breite) + $worksheet->setColumn($i, $i, $breite); + + if(isset($erg_kat) && count($erg_kat)>0) + { + // Creating second worksheet + $worksheet2 =& $workbook->addWorksheet("Persoenlichkeit"); + $worksheet2->setInputEncoding('utf-8'); + $worksheet2->setZoom (85); + + $spalte=0; + $zeile=0; -

Kategorien

+ $worksheet2->write(0,$spalte,'PrestudentIn_ID', $format_bold); + $worksheet2->mergeCells(0,0,1,0); + $maxlength[0]=15; + $worksheet2->write(0,++$spalte,'Nachname', $format_bold); + $worksheet2->mergeCells(0,1,1,1); + $maxlength[1]=15; + $worksheet2->write(0,++$spalte,'Vorname', $format_bold); + $worksheet2->mergeCells(0,2,1,2); + $maxlength[2]=15; + $worksheet2->write(0,++$spalte,'GebDatum', $format_bold); + $worksheet2->mergeCells(0,3,1,3); + $maxlength[3]=10; + $worksheet2->write(0,++$spalte,'G', $format_bold); + $worksheet2->mergeCells(0,4,1,4); + $maxlength[4]=2; + $worksheet2->write(0,++$spalte,'Registriert', $format_bold); + $worksheet2->mergeCells(0,5,1,5); + $maxlength[5]=18; + $worksheet2->write(0,++$spalte,'STG', $format_bold); + $worksheet2->mergeCells(0,6,1,6); + $maxlength[6]=4; + $worksheet2->write(0,++$spalte,'Studiengang', $format_bold); + $worksheet2->mergeCells(0,7,1,7); + $maxlength[7]=25; + $worksheet2->write(0,++$spalte,'S', $format_bold); + $worksheet2->mergeCells(0,8,1,8); + $maxlength[8]=2; + + $spalte=7; + $zeile=0; + + foreach ($kategorie AS $gbt) + { + ++$spalte; + $worksheet2->write($zeile,++$spalte,$gbt->name, $format_bold_border); + $worksheet2->mergeCells($zeile,$spalte,0,$spalte+1); + $maxlength[$spalte]=10; + } + + $spalte=8; + $zeile=0; + + foreach ($kategorie AS $gbt) + { + $worksheet2->write($zeile+1,++$spalte,'Punkte', $format_bold_border); + $worksheet2->write($zeile+1,++$spalte,'Typ', $format_bold_border); + $maxlength[$spalte]=10; + } + + $maxspalten=$spalte; - - - - - - - write($zeile,$spalte,$erg->prestudent_id); + $worksheet2->write($zeile,++$spalte,$erg->nachname); + $worksheet2->write($zeile,++$spalte,$erg->vorname); + $worksheet2->write($zeile,++$spalte,$erg->gebdatum, $format_date); + if($erg->geschlecht=='m') + $worksheet2->write($zeile,++$spalte,$erg->geschlecht, $format_male); + else + $worksheet2->write($zeile,++$spalte,$erg->geschlecht, $format_female); + $worksheet2->write($zeile,++$spalte,$erg->registriert, $format_registriert); + $worksheet2->write($zeile,++$spalte,$erg->stg_kurzbz); + $worksheet2->write($zeile,++$spalte,$erg->stg_bez); + $worksheet2->write($zeile,++$spalte,$erg->semester); foreach ($kategorie AS $gbt) - echo ""; - ?> - - - Punkte"; - ?> - - - "; - // - foreach ($kategorie AS $gbt) - echo ''; - echo ''; - } - ?> -
IDNachnameVornamenGebDatumGRegistriertSTGStudiengang$gbt->name
Typ
$erg->pruefling_id$erg->nachname$erg->vorname$erg->gebdatum$erg->geschlecht$erg->registriert$erg->stg_kurzbz$erg->stg_bez$erg->idnachweis'.$erg->kategorie[$gbt->name]->punkte.''.$erg->kategorie[$gbt->name]->typ.'
- -write($zeile,++$spalte,$erg->kategorie[$gbt->name]->punkte); + $worksheet2->write($zeile,++$spalte,$erg->kategorie[$gbt->name]->typ); + } + } + + //Die Breite der Spalten setzen + foreach($maxlength as $i=>$breite) + $worksheet2->setColumn($i, $i, $breite); + } + $workbook->close(); } +else +{ + echo ' + + + + Testtool - Auswertung + + + + + + +

Auswertung Reihungstest

+ + + + + + + + +
+
+ Reihungstest wählen:  + + +
+ Studiengang: + + Semester: + '; + + echo 'von Datum:  '; + echo 'bis Datum: '; + echo '
PrestudentID: '; + echo '
+
+ Auswertung auf Fragenebene +
'; + //var_dump($stg_arr); + echo 'Auswahl: '; + if (isset ($_REQUEST['studiengang']) && $_REQUEST['studiengang']!='') + echo $stg_arr[$_REQUEST['studiengang']].' '; + else + echo 'Alle '; + if (isset ($_REQUEST['semester']) && $_REQUEST['semester']!='') + echo $semester.'. Semester '; + if ($datum_von!='') + echo 'von '.$datum_von; + if ($datum_bis!='') + echo ' bis '.$datum_bis; + if ($prestudent_id!='') + echo ' PrestudentID: '.$prestudent_id; + + echo ''; + echo '
+ Excel Icon +
'; + + if (isset($_REQUEST['reihungstest'])) + { + + echo '

Technischer Teil

+ + + + + + + '; + + foreach ($gebiet AS $gbt) + echo ''; + + echo ' + + '; + + foreach ($gebiet AS $gbt) + echo ""; + + echo ' + '; + + if(isset($ergb)) + { + foreach ($ergb AS $erg) + { + echo " + "; + // + foreach ($gebiet AS $gbt) + if (isset($erg->gebiet[$gbt->gebiet_id])) + if ($erg->gebiet[$gbt->gebiet_id]->punkte!='' && $erg->gebiet[$gbt->gebiet_id]->punkte!='0') + echo ''; + else + echo ''; + else + echo ''; + echo ''; + echo ''; + echo ''; + } + } + + echo '
PrestudentIn_IDNachnameVornamenGebDatumGRegistriertSTGStudiengangS'.$gbt->name.'Gesamt
PunkteProzentPunkteProzent
$erg->prestudent_id [prestudent_id target='blank'>Detail]$erg->nachname$erg->vorname$erg->gebdatum$erg->geschlecht$erg->registriert$erg->stg_kurzbz$erg->stg_bez$erg->semester$erg->idnachweis'.number_format($erg->gebiet[$gbt->gebiet_id]->punkte,2,',',' ').''.number_format($erg->gebiet[$gbt->gebiet_id]->prozent,2,',',' ').' %'.number_format($erg->gebiet[$gbt->gebiet_id]->punkte,2,',',' ').''.number_format($erg->gebiet[$gbt->gebiet_id]->prozent,2,',',' ').' %'.number_format($erg->gesamtpunkte,2,',',' ').''.number_format($erg->gesamt,2,',',' ').'
+ +

Persönlichkeit

+ + + + + + + '; + + foreach ($kategorie AS $gbt) + echo ''; + + echo ''; + + foreach ($kategorie AS $gbt) + echo ''; + + foreach ($erg_kat AS $erg) + { + echo " + "; + // + foreach ($kategorie AS $gbt) + echo ''; + echo ''; + } + + echo '
PrestudentIDNachnameVornamenGebDatumGRegistriertSTGStudiengangS'.$gbt->name.'
PunkteTyp'; + + echo '
$erg->prestudent_id$erg->nachname$erg->vorname$erg->gebdatum$erg->geschlecht$erg->registriert$erg->stg_kurzbz$erg->stg_bez$erg->semester$erg->idnachweis'.$erg->kategorie[$gbt->name]->punkte.''.$erg->kategorie[$gbt->name]->typ.'
'; + } +} +echo ''; ?> - - diff --git a/cis/testtool/admin/auswertung_detail_prestudent.php b/cis/testtool/admin/auswertung_detail_prestudent.php new file mode 100644 index 000000000..d1dc39cf6 --- /dev/null +++ b/cis/testtool/admin/auswertung_detail_prestudent.php @@ -0,0 +1,112 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens . + */ +/** + * Detailergebnisse eines Prestudenten beim Reihungstest + */ +require_once('../../../config/vilesci.config.inc.php'); +require_once('../../../include/benutzerberechtigung.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$user = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +echo ' + + + + Reihungstest Detailergebnis + + + + + + + +

Auswertung Reihungstest Detailergebnis PrestudentIn '.$_GET['prestudent_id'].'

'; + +if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +// Testergebnisse anzeigen +//echo '

Testergebnisse der Person mit der Prestudent_id
'; +if(isset($_GET['prestudent_id'])) +{ + if(is_numeric($_GET['prestudent_id']) && $_GET['prestudent_id']!='') + { + $qry="SELECT nachname,vorname,person_id,prestudent_id,tbl_pruefling.pruefling_id,tbl_pruefling_frage.begintime,bezeichnung,kurzbz,tbl_frage.nummer,level, tbl_vorschlag.nummer as antwortnummer, tbl_vorschlag.punkte + FROM testtool.tbl_antwort + JOIN testtool.tbl_vorschlag USING(vorschlag_id) + JOIN testtool.tbl_frage USING (frage_id) + JOIN testtool.tbl_gebiet USING (gebiet_id) + JOIN testtool.tbl_pruefling USING (pruefling_id) + JOIN testtool.tbl_pruefling_frage ON (tbl_pruefling.pruefling_id=tbl_pruefling_frage.pruefling_id AND tbl_frage.frage_id =tbl_pruefling_frage.frage_id) + JOIN public.tbl_prestudent USING (prestudent_id) + JOIN public.tbl_person USING (person_id) + WHERE prestudent_id='".$_GET['prestudent_id']."' + ORDER BY kurzbz,tbl_pruefling_frage.begintime,nummer"; + if($result = $db->db_query($qry)) + { + echo ' + + + + + + + + + + + + + + + + '; + while($row = $db->db_fetch_object($result)) + { + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ''; + } + echo '
NachnameVornamePersonIDPrestudentIDPrueflingIDBeginnzeitGebietFrage #LevelAntwort #Punkte
$row->nachname$row->vorname$row->person_id$row->prestudent_id$row->pruefling_id$row->begintime$row->bezeichnung ($row->kurzbz)$row->nummer$row->level$row->antwortnummer$row->punkte
'; + } + } +} + +echo ' +'; +?>