From 0addc4ffb59108aa384e4791c19d1e668c67721f Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 21 Feb 2020 17:22:50 +0100 Subject: [PATCH 1/6] gebiet.class.php: improved offset calculation, LIMIT maxfragen instead multiplication --- include/gebiet.class.php | 138 +++++++++++++++++++++++---------------- 1 file changed, 82 insertions(+), 56 deletions(-) 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)) From 166a4a76e84ba5c65b6364fa236e4ed61a7a6d8d Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 24 Feb 2020 16:44:57 +0100 Subject: [PATCH 2/6] stammdaten/auswertung_fhtw.php: - added column "Punkte mit offset" - removed commented code concerning RT-punkte without Physik --- vilesci/stammdaten/auswertung_fhtw.php | 83 +++++++++++--------------- 1 file changed, 36 insertions(+), 47 deletions(-) diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php index a47230087..18b783e8e 100644 --- a/vilesci/stammdaten/auswertung_fhtw.php +++ b/vilesci/stammdaten/auswertung_fhtw.php @@ -1211,7 +1211,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 @@ -1476,18 +1480,22 @@ 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; } } @@ -1518,6 +1526,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)) @@ -1529,28 +1546,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; - } - }*/ } } @@ -1703,7 +1698,7 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls') foreach ($gebiet AS $gbt) { ++$spalte; - $worksheet->write($zeile, ++$spalte, strip_tags($gbt->name) . (isset($gbt->gewicht) ? " (Gew: $gbt->gewicht)" : ""), $format_bold_border); + $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; } @@ -2142,7 +2137,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"), @@ -2940,22 +2935,24 @@ else Raum TG - Gesamt'; + Gesamt'; foreach ($gebiet AS $gbt) { - echo '' . $gbt->name . ''; + echo '' . $gbt->name . ''; } echo ' Punkte + Punkte mit Offset Prozent'; foreach ($gebiet AS $gbt) { echo "Punkte"; + echo "Punkte mit Offset"; echo "Prozent"; } @@ -3010,25 +3007,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])) @@ -3060,11 +3048,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 ''; } } From 0b74d28f8243086f814955e1899ebf73a8e831c3 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 27 Feb 2020 17:06:25 +0100 Subject: [PATCH 3/6] admin/edit_gebiet.php: "minimale Punkteanzahl" in "maximale Negativpunkte" umbenannt --- cis/testtool/admin/edit_gebiet.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/testtool/admin/edit_gebiet.php b/cis/testtool/admin/edit_gebiet.php index 68c502577..5dcefddc2 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 ''; From a9bc7a6c77d165791cce794d4f7518dc4e7b5cec Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 27 Feb 2020 17:20:25 +0100 Subject: [PATCH 4/6] auswertung_fhtw: - Notice "gewichtet" added for points sum and percent sum - added percent sign for percent sum - removed commented code --- vilesci/stammdaten/auswertung_fhtw.php | 207 +++---------------------- 1 file changed, 23 insertions(+), 184 deletions(-) diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php index 18b783e8e..a27200108 100644 --- a/vilesci/stammdaten/auswertung_fhtw.php +++ b/vilesci/stammdaten/auswertung_fhtw.php @@ -1456,18 +1456,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) { @@ -1496,7 +1484,7 @@ if (isset($_REQUEST['reihungstest'])) } else { - $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; } } @@ -1692,32 +1680,32 @@ 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->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 (gewichtet)', $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] = $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; $maxspalten = $spalte; @@ -1762,6 +1750,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); @@ -1775,10 +1771,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); } } @@ -1788,165 +1786,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 @@ -2935,7 +2774,7 @@ else Raum TG - Gesamt'; + Gesamt (gewichtet)'; foreach ($gebiet AS $gbt) { @@ -2989,7 +2828,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 From 895418ef829ebba92d58d2674cb0fa580470c5e4 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 28 Feb 2020 11:49:43 +0100 Subject: [PATCH 5/6] auswertung_fhtw: - replaced Notice "gewichtet" for points sum and percent sum to show only in "percent" column --- vilesci/stammdaten/auswertung_fhtw.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php index a27200108..235a48e4c 100644 --- a/vilesci/stammdaten/auswertung_fhtw.php +++ b/vilesci/stammdaten/auswertung_fhtw.php @@ -1689,7 +1689,7 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls') $worksheet->mergeCells($zeile, $spalte, 0, $spalte + 2); $spalte += 2; } - $worksheet->write($zeile, ++$spalte, 'Gesamt (gewichtet)', $format_bold_border); + $worksheet->write($zeile, ++$spalte, 'Gesamt', $format_bold_border); $worksheet->mergeCells($zeile, $spalte, 0, $spalte + 2); $spalte = 12; @@ -1702,10 +1702,11 @@ if (isset($_REQUEST['format']) && $_REQUEST['format'] == 'xls') $worksheet->write($zeile + 1, ++$spalte, 'Punkte + Offset', $format_bold_border); $worksheet->write($zeile + 1, ++$spalte, 'Prozent', $format_bold_border); } - $maxlength[$spalte +1] = $maxlength[$spalte + 2] = $maxlength[$spalte + 3] = 14; + $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, 'Punkte + Offset', $format_bold_border); - $worksheet->write($zeile + 1, ++$spalte, 'Prozent', $format_bold_border); + $worksheet->write($zeile + 1, ++$spalte, 'Prozent (gewichtet)', $format_bold_border); $maxspalten = $spalte; @@ -2774,7 +2775,7 @@ else Raum TG - Gesamt (gewichtet)'; + Gesamt'; foreach ($gebiet AS $gbt) { @@ -2786,7 +2787,7 @@ else Punkte Punkte mit Offset - Prozent'; + Prozent (gewichtet)'; foreach ($gebiet AS $gbt) { From 95beb1c36179f200c8b4feb0844584a38110ffa3 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 3 Mar 2020 09:27:19 +0100 Subject: [PATCH 6/6] testtool edit_gebiet.php: changed maxlength of offsetpunkte field so up to 4 decimals can be entered --- cis/testtool/admin/edit_gebiet.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/testtool/admin/edit_gebiet.php b/cis/testtool/admin/edit_gebiet.php index 5dcefddc2..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 (maximale Negativpunkte)'.$offsethinweis.''; + echo 'Offsetpunkte (maximale Negativpunkte)'.$offsethinweis.''; echo ''; echo 'Maximale Fragenanzahl'; echo '';