From 8cf2bf6eafa0a6355ddde96f15a9d9a4be1ed663 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 24 Sep 2012 08:27:58 +0000 Subject: [PATCH] =?UTF-8?q?Distinct=20auf=20UNR=20(zeigt=20nur=20mehr=20ei?= =?UTF-8?q?nen=20Eintrag=20pro=20=C3=9Cberbuchung)=20Lehrfach=20wird=20ang?= =?UTF-8?q?ezeigt=20Datumsbereich=20vorausgef=C3=BCllt=20auf=20Heute=20+8?= =?UTF-8?q?=20Tage=20Neuer=20Tablesorter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/lehre/check/ueberbuchung.php | 69 +++++++++++++++++++--------- 1 file changed, 48 insertions(+), 21 deletions(-) diff --git a/vilesci/lehre/check/ueberbuchung.php b/vilesci/lehre/check/ueberbuchung.php index ead754ba8..f6c61bce6 100644 --- a/vilesci/lehre/check/ueberbuchung.php +++ b/vilesci/lehre/check/ueberbuchung.php @@ -49,8 +49,26 @@ echo ' LV-Plan - Überbuchungen - + + + + +

LV-Plan Überbuchungen - '.$db_stpl_table.'

@@ -63,8 +81,10 @@ if($beginn=='' || $ende=='') $stsem_akt = $stsem_obj->getaktorNext(); $stsem_obj->load($stsem_akt); - $beginn = $stsem_obj->start; - $ende = $stsem_obj->ende; + //$beginn = $stsem_obj->start; + $beginn = date("Y-m-d"); + //$ende = $stsem_obj->ende; + $ende = date("Y-m-d", strtotime('+8 days')); $dontloadcontent=true; } @@ -102,22 +122,23 @@ foreach ($ort_obj->result as $row) { $ort[$row->ort_kurzbz]->max_person = $row->max_person; } -$qry = "SELECT distinct datum, stunde, ort_kurzbz, studiensemester_kurzbz, vw_".$db_stpl_table.".studiengang_kz, vw_".$db_stpl_table.".semester, verband, gruppe, gruppe_kurzbz, UPPER(stg_typ || stg_kurzbz) as stg_kurzbz +$qry = "SELECT DISTINCT ON (unr) vw_".$db_stpl_table.".unr,datum, stunde, ort_kurzbz, studiensemester_kurzbz, vw_".$db_stpl_table.".studiengang_kz, vw_".$db_stpl_table.".semester, verband, gruppe, gruppe_kurzbz, UPPER(stg_typ || stg_kurzbz) as stg_kurzbz, lehrfach, lehrfach_bez FROM lehre.vw_".$db_stpl_table." JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id) WHERE datum>='".addslashes($beginn)."' AND datum<='".addslashes($ende)."'"; if($stg_kz!='') $qry.=" AND tbl_lehrveranstaltung.studiengang_kz='".addslashes($stg_kz)."'"; -$qry.=" ORDER BY datum, stunde, ort_kurzbz, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, stg_kurzbz"; +$qry.=" ORDER BY unr, datum, stunde, ort_kurzbz, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, stg_kurzbz"; -echo ' +echo '
- - - - - + + + + + + '; @@ -127,6 +148,8 @@ $lastdatum=0; $laststunde=0; $lastort=0; $anzahl_studenten=0; +$lehrfach=''; +$lehrfach_bez=''; function getAnzahl($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz, $studiensemester_kurzbz) { @@ -162,7 +185,7 @@ if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { - if($lastdatum==$row->datum && $laststunde==$row->stunde && $lastort==$row->ort_kurzbz) + if($lastdatum==$row->datum && $laststunde==$row->stunde && $lastort==$row->ort_kurzbz && $lehrfach==$row->lehrfach && $lehrfach_bez==$row->lehrfach_bez) { //Solange alles gleich ist zusammenzaehlen $anzahl = getAnzahl($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->gruppe_kurzbz, $row->studiensemester_kurzbz); @@ -178,18 +201,20 @@ if($result = $db->db_query($qry)) $gruppen = mb_substr($gruppen, 0, mb_strlen($gruppen)-2); if($anzahl_studenten>$ort[$lastort]->max_person) { - $diff = $anzahl_studenten-$ort[$lastort]->max_person; + //$diff = $anzahl_studenten-$ort[$lastort]->max_person; + $diffprozent = ($ort[$lastort]->max_person)/100*10; $style=''; - if($diff>=2) - $style='style="background-color: ff6c00;"'; - if($diff>=4) - $style='style="background-color: ff5400;"'; - if($diff>=6) + if((($ort[$lastort]->max_person+$diffprozent)-$anzahl_studenten)<0) + $style='style="background-color: FCC850;"'; + if((($ort[$lastort]->max_person+$diffprozent)-$anzahl_studenten)<-2) + $style='style="background-color: FF702D;"'; + if((($ort[$lastort]->max_person+$diffprozent)-$anzahl_studenten)<-4) $style='style="background-color: e83700;"'; - if($diff>=8) - $style='style="background-color: a00404;"'; - echo ""; + if((($ort[$lastort]->max_person+$diffprozent)-$anzahl_studenten)<-6) + $style='style="background-color: a00404; color: d3d3d3"'; + + echo ""; } $anzahl_studenten=0; $gruppen=''; @@ -202,6 +227,8 @@ if($result = $db->db_query($qry)) $lastdatum = $row->datum; $laststunde = $row->stunde; $lastort = $row->ort_kurzbz; + $lehrfach = $row->lehrfach; + $lehrfach_bez = $row->lehrfach_bez; } } else
DatumStundeOrtStudenten aktuell (Plätze maximal)Gruppen (Studenten aktuell)DatumStundeOrtStudierende aktuell (Plätze maximal)Gruppen (Studierende aktuell)Lehrfach
$lastdatum$laststunde$lastort$anzahl_studenten (".$ort[$lastort]->max_person.")$gruppen
$lastdatum$laststunde$lastort$anzahl_studenten (".$ort[$lastort]->max_person.")$gruppen$lehrfach - $lehrfach_bez