Merge branch 'feature-6511/Reihungstest_Punkteberechnung_fixes'

This commit is contained in:
Andreas Österreicher
2020-03-05 12:11:04 +01:00
3 changed files with 144 additions and 289 deletions
+1 -1
View File
@@ -268,7 +268,7 @@ if ($gebiet_id != '')
$offsethinweis = ' <span class="error">empfohlene Offsetpunkteanzahl: '.round($offsetpunkte).(round($offsetpunkte) != $offsetpunkte ? ' ('.$offsetpunkte.' gerundet)' : '').'</span>';
$offsethinweis .= '<span class="error">'.$offsetwarnung.'</span>';
}
echo '<td>Offsetpunkte (minimale Punkteanzahl)</td><td><input type="text" size="5" maxlength="5" name="offsetpunkte" value="'.$gebiet->offsetpunkte.'">'.$offsethinweis.'</td>';
echo '<td>Offsetpunkte (maximale Negativpunkte)</td><td><input type="text" size="5" maxlength="7" name="offsetpunkte" value="'.$gebiet->offsetpunkte.'">'.$offsethinweis.'</td>';
echo '</tr><tr>';
echo '<td>Maximale Fragenanzahl</td><td><input type="text" size="5" maxlength="5" name="maxfragen" value="'.$gebiet->maxfragen.'"></td>';
echo '</tr><tr>';
+82 -56
View File
@@ -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))
+61 -232
View File
@@ -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
<th rowspan="2">Raum</th>
<th title="Teilgenommen" rowspan="2">TG</th>
<th style="display: none"></th>
<th colspan="2">Gesamt</th>';
<th colspan="3">Gesamt</th>';
foreach ($gebiet AS $gbt)
{
echo '<th colspan="2">' . $gbt->name . '</th>';
echo '<th colspan="3">' . $gbt->name . '</th>';
}
echo '</tr>
<tr>
<th style="display: none"></th>
<th><small>Punkte</small></th>
<th><small>Prozent</small></th>';
<th><small>Punkte mit Offset</small></th>
<th><small>Prozent (gewichtet)</small></th>';
foreach ($gebiet AS $gbt)
{
echo "<th><small>Punkte</small></th>";
echo "<th><small>Punkte mit Offset</small></th>";
echo "<th><small>Prozent</small></th>";
}
@@ -3025,7 +2862,7 @@ else
<td class='".$inaktiv."'>$erg->raum</td>
<td class='".$inaktiv."'>".($erg->teilgenommen == true ? "<span class='glyphicon glyphicon-ok'></span>" : "")."</td>";
//<td>$erg->idnachweis</td>
$gesamtprozent = ($erg->gesamt != '' ? number_format($erg->gesamt, 2, ',', ' ') : '');
$gesamtprozent = ($erg->gesamt != '' ? number_format($erg->gesamt, 2, ',', ' ') . ' %': '');
echo '<td style="display: none">'. $gesamtprozent .'</td>';
echo ' <td style="text-align: right; padding-right: 3px" class="punkte '.$inaktiv.'" nowrap>';
// Punkte können nur gelöscht werden, solange "Zum Reihungstest angetreten" nicht gesetzt ist
@@ -3043,25 +2880,16 @@ else
echo ' <span class=""><b>' . ($erg->gesamtpunkte != '' ? number_format($erg->gesamtpunkte, 2, ',', ' ') : '') . '</b></span>';
}
echo ' </td>';
/* if (!isset($erg->gesamtpunkte_ohne_physik))
{
$erg->gesamtpunkte_ohne_physik = '';
}*/
/* if (!isset($erg->gesamt_ohne_physik))
{
$erg->gesamt_ohne_physik = '';
}*/
echo ' <td style="text-align: right; padding-right: 3px" class="col_gesamtpunkte_mit_offset '.$inaktiv.'" nowrap>
<b>' . ($erg->gesamtoffsetpunkte != '' ? number_format($erg->gesamtoffsetpunkte, 2, ',', ' ') : '') . '</b>
</td>';
echo ' <td style="text-align: right; padding-right: 3px" class="col_gesamtpunkte punkte '.$inaktiv.'" nowrap>
<b>' . $gesamtprozent . '</b>
<span class="erg_gesamt" style="display: none">'.$erg->gesamt.'</span>
</td>';
/* echo ' <td style="text-align: right; padding-right: 3px" class="col_gesamtpunkte_ohne_physik '.$inaktiv.'" nowrap>
<b>' . ($erg->gesamtpunkte_ohne_physik != '' ? number_format($erg->gesamtpunkte_ohne_physik, 2, ',', ' ') : '') . '</b>
</td>';*/
/* echo ' <td style="text-align: right; padding-right: 3px" class="punkte '.$inaktiv.'" nowrap>
<b>' . ($erg->gesamt_ohne_physik != '' ? number_format($erg->gesamt_ohne_physik, 2, ',', ' ') : '') . '</b>
<span class="erg_gesamt_ohne_physik" style="display: none">'.$erg->gesamt_ohne_physik.'</span>
</td>';*/
foreach ($gebiet AS $gbt)
{
if (isset($erg->gebiet[$gbt->gebiet_id]))
@@ -3093,11 +2921,12 @@ else
echo ' <span class="">' . ($erg->gebiet[$gbt->gebiet_id]->punkte != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->punkte, 2, ',', ' ') : '') . '</span>';
}
echo '</td>';
echo '<td ' . $style . ' class="pst_' . $erg->prestudent_id . '_gbt_' . $gbt->gebiet_id . ' punkte '.$inaktiv.'" nowrap>' . ($erg->gebiet[$gbt->gebiet_id]->punktemitoffset != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->punktemitoffset, 2, ',', ' ') : '') . '</td>';
echo '<td ' . $style . ' class="pst_' . $erg->prestudent_id . '_gbt_' . $gbt->gebiet_id . ' punkte '.$inaktiv.'" nowrap>' . ($erg->gebiet[$gbt->gebiet_id]->prozent != '' ? number_format($erg->gebiet[$gbt->gebiet_id]->prozent, 2, ',', ' ') . ' %' : '') . '</td>';
}
else
{
echo '<td></td><td></td>';
echo '<td></td><td></td><td></td>';
}
}