diff --git a/cis/testtool/admin/edit_gebiet.php b/cis/testtool/admin/edit_gebiet.php index 68c502577..2fe6af39f 100644 --- a/cis/testtool/admin/edit_gebiet.php +++ b/cis/testtool/admin/edit_gebiet.php @@ -268,7 +268,7 @@ if ($gebiet_id != '') $offsethinweis = ' empfohlene Offsetpunkteanzahl: '.round($offsetpunkte).(round($offsetpunkte) != $offsetpunkte ? ' ('.$offsetpunkte.' gerundet)' : '').''; $offsethinweis .= ''.$offsetwarnung.''; } - echo 'Offsetpunkte (minimale Punkteanzahl)'.$offsethinweis.''; + echo 'Offsetpunkte (maximale Negativpunkte)'.$offsethinweis.''; echo ''; echo 'Maximale Fragenanzahl'; echo ''; diff --git a/include/gebiet.class.php b/include/gebiet.class.php index 7f622c299..a4df72338 100644 --- a/include/gebiet.class.php +++ b/include/gebiet.class.php @@ -677,13 +677,13 @@ class gebiet extends basis_db $qry = " WITH fragen AS ( - SELECT tbl_frage.frage_id, tbl_frage.gebiet_id, tbl_frage.level, punkte - FROM testtool.tbl_frage - JOIN testtool.tbl_vorschlag USING (frage_id) - WHERE tbl_vorschlag.aktiv - AND tbl_vorschlag.punkte < 0 - AND tbl_frage.demo = false - AND tbl_frage.aktiv + SELECT tbl_frage.frage_id, tbl_frage.gebiet_id, tbl_frage.level, tbl_frage.nummer, punkte + FROM testtool.tbl_frage + JOIN testtool.tbl_vorschlag USING (frage_id) + WHERE tbl_vorschlag.aktiv + AND tbl_vorschlag.punkte < 0 + AND tbl_frage.demo = false + AND tbl_frage.aktiv ), fragenanzahl AS ( SELECT gebiet_id, level, levelgleichverteilung, @@ -712,57 +712,83 @@ class gebiet extends basis_db tbl_gebiet.level_start, ( CASE WHEN tbl_gebiet.levelgleichverteilung THEN - (CASE WHEN tbl_gebiet.multipleresponse=false THEN - (SELECT sum(frprolevel) FROM - ( - SELECT fragen.level, (min(punkte) - * (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = fragen.gebiet_id and fragenanzahl.level = fragen.level LIMIT 1)) AS frprolevel - FROM fragen - WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id - GROUP BY fragen.gebiet_id, level - ) pkteprolevel) - ELSE - (SELECT sum(frprolevel) FROM - ( - SELECT fragen.level, (sum(punkte) - * (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = fragen.gebiet_id and fragenanzahl.level = fragen.level LIMIT 1)) AS frprolevel - FROM fragen - WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id - AND frage_id = (SELECT min(frage_id) FROM fragen fr WHERE fr.gebiet_id = fragen.gebiet_id AND fr.level = fragen.level) - GROUP BY fragen.gebiet_id, level - ) pkteprolevel) - END) + (CASE WHEN tbl_gebiet.multipleresponse=false THEN + (SELECT sum(frprolevel) FROM + ( + SELECT fragen.level, (SELECT sum(punkte) FROM (SELECT min(punkte) AS punkte FROM fragen lvlfr WHERE lvlfr.gebiet_id = fragen.gebiet_id and lvlfr.level = fragen.level + GROUP BY lvlfr.frage_id, lvlfr.nummer + ORDER BY lvlfr.nummer + LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = fragen.gebiet_id and fragenanzahl.level = fragen.level LIMIT 1)) fr) + AS frprolevel + FROM fragen + WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id + GROUP BY fragen.gebiet_id, level + ) pkteprolevel) + ELSE + (SELECT sum(frprolevel) FROM + ( + SELECT fragen.level, + (SELECT sum(punkte) FROM (SELECT sum(punkte) AS punkte FROM fragen lvlfr WHERE lvlfr.gebiet_id = fragen.gebiet_id and lvlfr.level = fragen.level + GROUP by lvlfr.frage_id, lvlfr.nummer + ORDER BY lvlfr.nummer + LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = fragen.gebiet_id and fragenanzahl.level = fragen.level LIMIT 1)) fr) + AS frprolevel + FROM fragen + WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id + GROUP BY fragen.gebiet_id, level + ) pkteprolevel) + END) WHEN tbl_gebiet.level_start IS NOT NULL THEN - (CASE WHEN tbl_gebiet.multipleresponse=false THEN - ( - SELECT min(punkte) - FROM fragen - WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id + (CASE WHEN tbl_gebiet.multipleresponse=false THEN + (SELECT sum(pkte) + FROM ( + SELECT min(punkte) AS pkte + FROM fragen + WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id AND fragen.level = tbl_gebiet.level_start - ) * (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id AND fragenanzahl.level = tbl_gebiet.level_start LIMIT 1) - ELSE - (SELECT sum(punkte) - FROM fragen - WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id - AND frage_id = (SELECT min(frage_id) FROM fragen WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id) - AND fragen.level = tbl_gebiet.level_start - )* (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id AND fragenanzahl.level = tbl_gebiet.level_start LIMIT 1) - END) + GROUP BY frage_id, nummer + ORDER BY nummer + LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id AND fragenanzahl.level = tbl_gebiet.level_start LIMIT 1) + ) minpkte + ) + ELSE + ( + SELECT sum(pkte) + FROM (SELECT sum(punkte) AS pkte + FROM fragen + WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id + AND fragen.level = tbl_gebiet.level_start + GROUP BY frage_id, nummer + ORDER BY nummer + LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id AND fragenanzahl.level = tbl_gebiet.level_start LIMIT 1) + ) sumpkte + ) + END) ELSE - (CASE WHEN tbl_gebiet.multipleresponse=false THEN - ( - SELECT min(punkte) - FROM fragen - WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id - ) * (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id LIMIT 1) - ELSE - (SELECT sum(punkte) - FROM fragen - WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id - AND frage_id = (SELECT min(frage_id) FROM fragen WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id) - )* (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id LIMIT 1) - END) - + (CASE WHEN tbl_gebiet.multipleresponse=false THEN + ( + SELECT sum(pkte) + FROM (SELECT min(punkte) AS pkte + FROM fragen + WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id + GROUP BY frage_id, nummer + ORDER BY nummer + LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id LIMIT 1) + ) minpkte + ) + ELSE + ( + SELECT sum(pkte) + FROM (SELECT sum(punkte) AS pkte + FROM fragen + WHERE fragen.gebiet_id = tbl_gebiet.gebiet_id + GROUP BY frage_id, nummer + ORDER BY nummer + LIMIT (SELECT anzahl FROM fragenanzahl WHERE fragenanzahl.gebiet_id = tbl_gebiet.gebiet_id LIMIT 1) + ) sumpkte + ) + END) + END) * (-1) AS offsetpunkte FROM testtool.tbl_gebiet @@ -770,7 +796,7 @@ class gebiet extends basis_db EXISTS( SELECT 1 FROM fragen WHERE fragen.gebiet_id=tbl_gebiet.gebiet_id ) - AND gebiet_id = ".$this->db_add_param($gebiet_id, FHC_INTEGER)." + AND gebiet_id = ".$this->db_add_param($gebiet_id, FHC_INTEGER)." "; if($this->db_query($qry)) diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php index 7808846af..88e7ef4d8 100644 --- a/vilesci/stammdaten/auswertung_fhtw.php +++ b/vilesci/stammdaten/auswertung_fhtw.php @@ -1228,7 +1228,11 @@ if (isset($_REQUEST['reihungstest'])) } $gebiet[$row->gebiet_id]->name = $row->gebiet; $gebiet[$row->gebiet_id]->gebiet_id = $row->gebiet_id; - $gebiet[$row->gebiet_id]->gewicht = $row->gewicht; + //gewicht ist meist für alle Studiengänge gleich (Bachelor, Master und Distance haben jeweilsandere Gebiete) + if (!isset($gebiet[$row->gebiet_id]->gewicht)) + { + $gebiet[$row->gebiet_id]->gewicht = $row->gewicht; + } } // Alle Ergebnisse laden @@ -1473,18 +1477,6 @@ if (isset($_REQUEST['reihungstest'])) } $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->name = $row->gebiet; - /*if ($row->punkte == 0 && $row->punkte != '') - { - $prozent = '0'; - } - elseif ($row->punkte >= $row->maxpunkte) //wenn maxpunkte ueberschritten wurde -> 100% - { - $prozent = 100; - } - else - { - $prozent = ($row->punkte / $row->maxpunkte) * 100; - }*/ if ($row->punkte >= $row->maxpunkte) { @@ -1497,19 +1489,23 @@ if (isset($_REQUEST['reihungstest'])) $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = null; $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punkte = $punkte; + $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punktemitoffset = null; // Punkte berechnen if (isset($punkte)) { + //offset zur Vermeidung negativer Prozentzahlen + $punkte_positiv = $punkte + $row->offsetpunkte; + $maxpunkte_positiv = $row->maxpunkte + $row->offsetpunkte; + $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punktemitoffset = $punkte_positiv; + if ($row->punkte >= $row->maxpunkte) + { $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = 100; + } else { - //offset zur Vermeidung negativer Prozentzahlen - $punkte_positiv = $punkte + $row->offsetpunkte; - $maxpunkte_positiv = $row->maxpunkte + $row->offsetpunkte; - //Formel: Summe(Punkte/Maxpunkte * Gewicht) - $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = $maxpunkte_positiv > 0 ? $punkte_positiv / $maxpunkte_positiv * /*$row->gewicht **/ 100 : null; + $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = $maxpunkte_positiv > 0 ? $punkte_positiv / $maxpunkte_positiv * 100 : null; } } @@ -1539,6 +1535,15 @@ if (isset($_REQUEST['reihungstest'])) $ergebnis[$row->prestudent_id]->gesamtpunkte = $punkte; } + if (isset($ergebnis[$row->prestudent_id]->gesamtoffsetpunkte)) + { + $ergebnis[$row->prestudent_id]->gesamtoffsetpunkte += $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punktemitoffset; + } + else + { + $ergebnis[$row->prestudent_id]->gesamtoffsetpunkte = $ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punktemitoffset; + } + if (isset($row->punkte)) { if (isset($ergebnis[$row->prestudent_id]->gesamtgewicht)) @@ -1550,28 +1555,6 @@ if (isset($_REQUEST['reihungstest'])) $ergebnis[$row->prestudent_id]->gesamtgewicht = $row->gewicht; } } - - // Gesamtpunkte ohne Physik -/* if ($row->gebiet_id != 10) - { - if (isset($ergebnis[$row->prestudent_id]->gesamt_ohne_physik)) - { - $ergebnis[$row->prestudent_id]->gesamt_ohne_physik += $prozent * $row->gewicht; - } - else - { - $ergebnis[$row->prestudent_id]->gesamt_ohne_physik = $prozent * $row->gewicht; - } - - if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik)) - { - $ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik += $punkte; - } - else - { - $ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik = $punkte; - } - }*/ } } @@ -1718,32 +1701,33 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls') $worksheet->mergeCells(0, 12, 1, 12); $maxlength[12] = 20; - $spalte = 11; + $spalte = 12; $zeile = 0; foreach ($gebiet AS $gbt) { - ++$spalte; - $worksheet->write($zeile, ++$spalte, strip_tags($gbt->name) . (isset($gbt->gewicht) ? " (Gew: $gbt->gewicht)" : ""), $format_bold_border); - $worksheet->mergeCells($zeile, $spalte, 0, $spalte + 1); - $maxlength[$spalte] = 10; + $worksheet->write($zeile, ++$spalte, strip_tags($gbt->name) . ( isset($gbt->gewicht) ? " (Gew: $gbt->gewicht)" : ""), $format_bold_border); + $worksheet->mergeCells($zeile, $spalte, 0, $spalte + 2); + $spalte += 2; } - $worksheet->write($zeile, ++$spalte + 1, 'Gesamt', $format_bold_border); - $worksheet->mergeCells($zeile, ++$spalte, 0, $spalte + 1); - $maxlength[$spalte] = 12; + $worksheet->write($zeile, ++$spalte, 'Gesamt', $format_bold_border); + $worksheet->mergeCells($zeile, $spalte, 0, $spalte + 2); $spalte = 12; $zeile = 0; foreach ($gebiet AS $gbt) { + $maxlength[$spalte +1] = $maxlength[$spalte + 2] = $maxlength[$spalte + 3] = 14; $worksheet->write($zeile + 1, ++$spalte, 'Punkte', $format_bold_border); + $worksheet->write($zeile + 1, ++$spalte, 'Punkte + Offset', $format_bold_border); $worksheet->write($zeile + 1, ++$spalte, 'Prozent', $format_bold_border); - $maxlength[$spalte] = 10; } + $maxlength[$spalte +1] = $maxlength[$spalte + 2] = 14; + $maxlength[$spalte + 3] = 17; $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 + Offset', $format_bold_border); + $worksheet->write($zeile + 1, ++$spalte, 'Prozent (gewichtet)', $format_bold_border); $maxspalten = $spalte; @@ -1788,6 +1772,14 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls') { $worksheet->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punkte, $format_punkte_rot); } + if ($erg->gebiet[$gbt->gebiet_id]->punktemitoffset != '' && $erg->gebiet[$gbt->gebiet_id]->punktemitoffset != '0') + { + $worksheet->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punktemitoffset, $format_punkte); + } + else + { + $worksheet->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punktemitoffset, $format_punkte_rot); + } if ($erg->gebiet[$gbt->gebiet_id]->prozent != '0%') { $worksheet->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->prozent / 100, $format_prozent); @@ -1801,10 +1793,12 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls') { $worksheet->write($zeile, ++$spalte, ''); $worksheet->write($zeile, ++$spalte, ''); + $worksheet->write($zeile, ++$spalte, ''); } } $worksheet->writeNumber($zeile, ++$spalte, $erg->gesamtpunkte, $format_punkte); - $worksheet->writeNumber($zeile, ++$spalte, $erg->gesamt, $format_punkte); + $worksheet->writeNumber($zeile, ++$spalte, $erg->gesamtoffsetpunkte, $format_punkte); + $worksheet->writeNumber($zeile, ++$spalte, $erg->gesamt / 100, $format_prozent); } } @@ -1814,165 +1808,6 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls') $worksheet->setColumn($i, $i, $breite); } - // Worksheet ohne Physik nur für Bachelor-Studiengänge - /*if (isset($studiengangObj) && $studiengangObj->typ == 'b') - { - $worksheetOhnePhsyik =& $workbook->addWorksheet("Auswertung OHNE Physik " . ($titel_studiengang ? $stg_arr[$_REQUEST['studiengang']] : '') . ($titel_semester ? ' ' . $semester . '.Semester' : '')); - $worksheetOhnePhsyik->setInputEncoding('utf-8'); - $worksheetOhnePhsyik->setZoom(85); - - $spalte = 0; - $zeile = 0; - - $worksheetOhnePhsyik->write(0, $spalte, 'PrestudentIn_ID', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 0, 1, 0); - $maxlength[0] = 15; - $worksheetOhnePhsyik->write(0, ++$spalte, 'Nachname', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 1, 1, 1); - $maxlength[1] = 15; - $worksheetOhnePhsyik->write(0, ++$spalte, 'Vorname', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 2, 1, 2); - $maxlength[2] = 15; - $worksheetOhnePhsyik->write(0, ++$spalte, 'GebDatum', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 3, 1, 3); - $maxlength[3] = 10; - $worksheetOhnePhsyik->write(0, ++$spalte, 'G', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 4, 1, 4); - $maxlength[4] = 2; - $worksheetOhnePhsyik->write(0, ++$spalte, 'Registriert', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 5, 1, 5); - $maxlength[5] = 18; - $worksheetOhnePhsyik->write(0, ++$spalte, 'STG', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 6, 1, 6); - $maxlength[6] = 4; - $worksheetOhnePhsyik->write(0, ++$spalte, 'Studiengang', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 7, 1, 7); - $maxlength[7] = 25; - $worksheetOhnePhsyik->write(0, ++$spalte, 'S', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 8, 1, 8); - $maxlength[8] = 2; - $worksheetOhnePhsyik->write(0, ++$spalte, 'OrgForm', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 9, 1, 9); - $maxlength[9] = 8; - $worksheetOhnePhsyik->write(0, ++$spalte, 'Prio', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 10, 1, 10); - $maxlength[10] = 5; - $worksheetOhnePhsyik->write(0, ++$spalte, 'ZGV', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 11, 1, 11); - $maxlength[11] = 20; - $worksheetOhnePhsyik->write(0, ++$spalte, 'ZGV MA', $format_bold); - $worksheetOhnePhsyik->mergeCells(0, 12, 1, 12); - $maxlength[12] = 20; - - $spalte = 11; - $zeile = 0; - - foreach ($gebiet AS $gbt) - { - if ($gbt->gebiet_id == 10) - { - continue; - } - ++$spalte; - $worksheetOhnePhsyik->write($zeile, ++$spalte, strip_tags($gbt->name), $format_bold_border); - $worksheetOhnePhsyik->mergeCells($zeile, $spalte, 0, $spalte + 1); - $maxlength[$spalte] = 10; - } - $worksheetOhnePhsyik->write($zeile, ++$spalte + 1, 'Gesamt', $format_bold_border); - $worksheetOhnePhsyik->mergeCells($zeile, ++$spalte, 0, $spalte + 1); - $maxlength[$spalte] = 12; - - $spalte = 12; - $zeile = 0; - - foreach ($gebiet AS $gbt) - { - if ($gbt->gebiet_id == 10) - { - continue; - } - $worksheetOhnePhsyik->write($zeile + 1, ++$spalte, 'Punkte', $format_bold_border); - $worksheetOhnePhsyik->write($zeile + 1, ++$spalte, 'Prozent', $format_bold_border); - $maxlength[$spalte] = 10; - } - $worksheetOhnePhsyik->write($zeile + 1, ++$spalte, 'Punkte', $format_bold_border); - $worksheetOhnePhsyik->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; - $worksheetOhnePhsyik->write($zeile, $spalte, $erg->prestudent_id); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->nachname); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->vorname); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->gebdatum, $format_date); - if ($erg->geschlecht == 'm') - { - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->geschlecht, $format_male); - } - else - { - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->geschlecht, $format_female); - } - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->registriert, $format_registriert); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->stg_kurzbz); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->stg_bez); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->ausbildungssemester); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->orgform); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $erg->prioritaet); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $zgv_arr[$erg->zgv]); - $worksheetOhnePhsyik->write($zeile, ++$spalte, $zgvma_arr[$erg->zgvma]); - foreach ($gebiet AS $gbt) - { - if ($gbt->gebiet_id == 10) - { - continue; - } - if (isset($erg->gebiet[$gbt->gebiet_id])) - { - if ($erg->gebiet[$gbt->gebiet_id]->punkte != '' && $erg->gebiet[$gbt->gebiet_id]->punkte != '0') - { - $worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punkte, $format_punkte); - } - else - { - $worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->punkte, $format_punkte_rot); - } - if ($erg->gebiet[$gbt->gebiet_id]->prozent != '0%') - { - $worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->prozent / 100, $format_prozent); - } - else - { - $worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gebiet[$gbt->gebiet_id]->prozent / 100, $format_prozent_rot); - } - } - else - { - $worksheetOhnePhsyik->write($zeile, ++$spalte, ''); - $worksheetOhnePhsyik->write($zeile, ++$spalte, ''); - } - } - $worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gesamtpunkte_ohne_physik, $format_punkte); - $worksheetOhnePhsyik->writeNumber($zeile, ++$spalte, $erg->gesamt_ohne_physik, $format_punkte); - } - } - - //Die Breite der Spalten setzen - foreach ($maxlength as $i => $breite) - { - $worksheetOhnePhsyik->setColumn($i, $i, $breite); - } - }*/ - if (isset($erg_kat) && count($erg_kat) > 0) { // Creating second worksheet @@ -2163,7 +1998,7 @@ else $("#auswertung_table").tablesorter( { widgets: ["zebra", "filter", "columnSelector"], - sortList: [[15,1],[17,1],[3,0],[4,0]],//16th fake hidden column for correct sort with colspan + sortList: [[15,1],[18,1],[3,0],[4,0]],//16th (index 15) fake hidden column for correct sort with colspan headers: {0: { sorter: false, filter: false}, 2: { sorter: false, filter: false}, 4: { dateFormat: "ddmmyyyy" }, 15: { sorter: false, filter: false}} /*widgetOptions : { columnSelector_container : $("#columnSelector"), @@ -2973,22 +2808,24 @@ else Raum TG - Gesamt'; + Gesamt'; foreach ($gebiet AS $gbt) { - echo '' . $gbt->name . ''; + echo '' . $gbt->name . ''; } echo ' Punkte - Prozent'; + Punkte mit Offset + Prozent (gewichtet)'; foreach ($gebiet AS $gbt) { echo "Punkte"; + echo "Punkte mit Offset"; echo "Prozent"; } @@ -3025,7 +2862,7 @@ else $erg->raum ".($erg->teilgenommen == true ? "" : "").""; //$erg->idnachweis - $gesamtprozent = ($erg->gesamt != '' ? number_format($erg->gesamt, 2, ',', ' ') : ''); + $gesamtprozent = ($erg->gesamt != '' ? number_format($erg->gesamt, 2, ',', ' ') . ' %': ''); echo ''. $gesamtprozent .''; echo ' '; // Punkte können nur gelöscht werden, solange "Zum Reihungstest angetreten" nicht gesetzt ist @@ -3043,25 +2880,16 @@ else echo ' ' . ($erg->gesamtpunkte != '' ? number_format($erg->gesamtpunkte, 2, ',', ' ') : '') . ''; } echo ' '; -/* if (!isset($erg->gesamtpunkte_ohne_physik)) - { - $erg->gesamtpunkte_ohne_physik = ''; - }*/ -/* if (!isset($erg->gesamt_ohne_physik)) - { - $erg->gesamt_ohne_physik = ''; - }*/ + + echo ' + ' . ($erg->gesamtoffsetpunkte != '' ? number_format($erg->gesamtoffsetpunkte, 2, ',', ' ') : '') . ' + '; + echo ' ' . $gesamtprozent . ' '; -/* echo ' - ' . ($erg->gesamtpunkte_ohne_physik != '' ? number_format($erg->gesamtpunkte_ohne_physik, 2, ',', ' ') : '') . ' - ';*/ -/* echo ' - ' . ($erg->gesamt_ohne_physik != '' ? number_format($erg->gesamt_ohne_physik, 2, ',', ' ') : '') . ' - - ';*/ + foreach ($gebiet AS $gbt) { if (isset($erg->gebiet[$gbt->gebiet_id])) @@ -3093,11 +2921,12 @@ else echo ' ' . ($erg->gebiet[$gbt->gebiet_id]->punkte != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->punkte, 2, ',', ' ') : '') . ''; } echo ''; + echo '' . ($erg->gebiet[$gbt->gebiet_id]->punktemitoffset != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->punktemitoffset, 2, ',', ' ') : '') . ''; echo '' . ($erg->gebiet[$gbt->gebiet_id]->prozent != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->prozent, 2, ',', ' ') . ' %' : '') . ''; } else { - echo ''; + echo ''; } }