mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-16 19:49:28 +00:00
Merge branch 'feature-6511/Reihungstest_Punkteberechnung_fixes'
This commit is contained in:
@@ -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
@@ -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))
|
||||
|
||||
@@ -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>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user