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
-
-
-Technischer Teil
+ // Creating a workbook
+ $workbook = new Spreadsheet_Excel_Writer();
-
-
- | PrestudentID | Nachname | Vornamen |
- GebDatum | G |
-
- Registriert | STG | Studiengang |
- $gbt->name";
- ?>
- Gesamt |
-
-
- Punkte| Prozent | ";
- ?>
- Prozentpunkte |
-
- $erg->prestudent_id | $erg->nachname | $erg->vorname | $erg->gebdatum | $erg->geschlecht |
- $erg->registriert | $erg->stg_kurzbz | $erg->stg_bez | ";
- //$erg->idnachweis |
- foreach ($gebiet AS $gbt)
- if (isset($erg->gebiet[$gbt->gebiet_id]))
- echo ''.number_format($erg->gebiet[$gbt->gebiet_id]->punkte,2,',',' ').' | '.number_format($erg->gebiet[$gbt->gebiet_id]->prozent,2,',',' ').' % | ';
+ // 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 ''.number_format($erg->gesamt,2,',',' ').' | ';
- echo '';
- }
- }
- ?>
-
+ $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;
-
-
- | ID | Nachname | Vornamen |
- GebDatum | G |
-
- Registriert | STG | Studiengang |
- 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 "$gbt->name | ";
- ?>
-
-
- Punkte| Typ | ";
- ?>
-
- $erg->pruefling_id | $erg->nachname | $erg->vorname | $erg->gebdatum | $erg->geschlecht |
- $erg->registriert | $erg->stg_kurzbz | $erg->stg_bez | ";
- //$erg->idnachweis |
- foreach ($kategorie AS $gbt)
- echo ''.$erg->kategorie[$gbt->name]->punkte.' | '.$erg->kategorie[$gbt->name]->typ.' | ';
- echo '';
- }
- ?>
-
-
-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
+
+
+ |
+
+ |
+
+ 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 ' |
+
+
+
+ |
+
';
+
+ if (isset($_REQUEST['reihungstest']))
+ {
+
+ echo 'Technischer Teil
+
+
+
+ | PrestudentIn_ID | Nachname | Vornamen |
+ GebDatum | G |
+
+ Registriert | STG | Studiengang | S | ';
+
+ foreach ($gebiet AS $gbt)
+ echo ''.$gbt->name.' | ';
+
+ echo 'Gesamt |
+
+ ';
+
+ foreach ($gebiet AS $gbt)
+ echo "| Punkte | Prozent | ";
+
+ echo 'Punkte | Prozent |
+
';
+
+ if(isset($ergb))
+ {
+ foreach ($ergb AS $erg)
+ {
+ echo "| $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 |
+ 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 ''.number_format($erg->gebiet[$gbt->gebiet_id]->punkte,2,',',' ').' | '.number_format($erg->gebiet[$gbt->gebiet_id]->prozent,2,',',' ').' % | ';
+ else
+ echo ''.number_format($erg->gebiet[$gbt->gebiet_id]->punkte,2,',',' ').' | '.number_format($erg->gebiet[$gbt->gebiet_id]->prozent,2,',',' ').' % | ';
+ else
+ echo ' | | ';
+ echo ''.number_format($erg->gesamtpunkte,2,',',' ').' | ';
+ echo ''.number_format($erg->gesamt,2,',',' ').' | ';
+ echo '
';
+ }
+ }
+
+ echo '
+
+ Persönlichkeit
+
+
+
+ | PrestudentID | Nachname | Vornamen |
+ GebDatum | G |
+
+ Registriert | STG | Studiengang | S | ';
+
+ foreach ($kategorie AS $gbt)
+ echo ''.$gbt->name.' | ';
+
+ echo '
';
+
+ foreach ($kategorie AS $gbt)
+ echo '| Punkte | Typ';
+
+ echo ' |
';
+
+ foreach ($erg_kat AS $erg)
+ {
+ echo "| $erg->prestudent_id | $erg->nachname | $erg->vorname | $erg->gebdatum | $erg->geschlecht |
+ $erg->registriert | $erg->stg_kurzbz | $erg->stg_bez | $erg->semester | ";
+ //$erg->idnachweis |
+ foreach ($kategorie AS $gbt)
+ echo ''.$erg->kategorie[$gbt->name]->punkte.' | '.$erg->kategorie[$gbt->name]->typ.' | ';
+ echo '
';
+ }
+
+ echo '
';
+ }
+}
+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 '
';
+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 '
+
+
+ | Nachname |
+ Vorname |
+ PersonID |
+ PrestudentID |
+ PrueflingID |
+ Beginnzeit |
+ Gebiet |
+ Frage # |
+ Level |
+ Antwort # |
+ Punkte |
+
+
+ ';
+ while($row = $db->db_fetch_object($result))
+ {
+ echo '';
+ echo "| $row->nachname | ";
+ echo "$row->vorname | ";
+ echo "$row->person_id | ";
+ echo "$row->prestudent_id | ";
+ echo "$row->pruefling_id | ";
+ echo "$row->begintime | ";
+ echo "$row->bezeichnung ($row->kurzbz) | ";
+ echo "$row->nummer | ";
+ echo "$row->level | ";
+ echo "$row->antwortnummer | ";
+ echo "$row->punkte | ";
+ echo '
';
+ }
+ echo '
';
+ }
+ }
+}
+
+echo '
+';
+?>