$stunden_oe_kurzbz = null; $stg_obj = new studiengang(); $stg_obj->load($lva->studiengang_kz); //Maximale Stundenanzahl ermitteln if ($fixangestellt) { list($stunden_oe_kurzbz, $max_stunden) = $oe_obj->getStundengrenze($stg_obj->oe_kurzbz, true); } else { list($stunden_oe_kurzbz, $max_stunden) = $oe_obj->getStundengrenze($stg_obj->oe_kurzbz, false); } //Bei freien Lektoren muss geprueft werden ob die Stundengrenze erreicht wurde if (!$fixangestellt && !LehrauftragAufFirma($lem->mitarbeiter_uid)) { //Summe der Stunden ermitteln $le = new lehreinheit(); $le->load($lem->lehreinheit_id); $oe_obj = new organisationseinheit(); $oe_arr = $oe_obj->getChilds($stunden_oe_kurzbz); $qry = "SELECT\n\t\t\t\t\t\t\t\tsum(tbl_lehreinheitmitarbeiter.semesterstunden) as summe\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\tlehre.tbl_lehreinheitmitarbeiter\n\t\t\t\t\t\t\t\tJOIN lehre.tbl_lehreinheit USING(lehreinheit_id)\n\t\t\t\t\t\t\t\tJOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)\n\t\t\t\t\t\t\t\tJOIN public.tbl_studiengang USING(studiengang_kz)\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\tmitarbeiter_uid=" . $db->db_add_param($lem->mitarbeiter_uid) . " AND\n\t\t\t\t\t\t\t\tstudiensemester_kurzbz=" . $db->db_add_param($le->studiensemester_kurzbz) . " AND\n\t\t\t\t\t\t\t\tfaktor>0 AND\n\t\t\t\t\t\t\t\tstundensatz>0 AND\n\t\t\t\t\t\t\t\tbismelden"; if (count($oe_arr) > 0) { $qry .= " AND tbl_studiengang.oe_kurzbz in(" . $db->db_implode4SQL($oe_arr) . ")"; } if ($result_std = $db->db_query($qry)) { if ($row_std = $db->db_fetch_object($result_std)) { //Grenze ueberschritten if ($row_std->summe >= $max_stunden) { $return = false; $error = true; $errormsg = "ACHTUNG: Die maximal erlaubte Semesterstundenanzahl des Lektors von {$max_stunden} Stunden ({$stunden_oe_kurzbz}) wurde ueberschritten!\n Daten wurden NICHT gespeichert!\n\n"; $errormsg .= getStundenproInstitut($lem->mitarbeiter_uid, $le->studiensemester_kurzbz, $oe_arr); } else { //Stunden berechnen die noch maximal unterrichtet werden darf $maxstunden = $max_stunden - $row_std->summe;
widgets: [\'zebra\'] }); }); </script> </head> <body> <h1>', $p->t('tools/ampelsystem'), '</h1> '; $datum_obj = new datum(); //Leiter OEs holen $benutzerfunktion = new benutzerfunktion(); $benutzerfunktion->getBenutzerFunktionen('Leitung', '', '', $user); $organisationseinheit = new organisationseinheit(); $oes = array(); foreach ($benutzerfunktion->result as $row) { $oe = $organisationseinheit->getChilds($row->oe_kurzbz); $oes = array_merge($oe, $oes); } //Berechtigungs OEs holen $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if ($rechte->isBerechtigt('basis/ampeluebersicht')) { $oes_berechtigung = $rechte->getOEkurzbz('basis/ampeluebersicht'); $oes = array_merge($oes_berechtigung, $oes); } array_unique($oes); if (count($oes) == 0) { die($p->t('global/keineBerechtigungFuerDieseSeite')); } if (!$organisationseinheit->loadArray($oes, 'organisationseinheittyp_kurzbz, bezeichnung')) { echo 'Fehler:' . $organisationseinheit->errormsg;