*/ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/bisfunktion.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/benutzerfunktion.class.php'); require_once('../../include/funktion.class.php'); require_once('../../include/bisverwendung.class.php'); require_once('../../include/benutzer.class.php'); if (!$db = new basis_db()) die ('Es konnte keine Verbindung zum Server aufgebaut werden.'); $uid = get_uid(); $datum_obj = new datum(); $fkt_obj = new funktion(); $fkt_obj->getAll(); $fkt_arr = array(); foreach ($fkt_obj->result as $row_fkt) $fkt_arr[$row_fkt->funktion_kurzbz] = $row_fkt->beschreibung; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); $studiensemester = new studiensemester(); $studiensemester->getAll(); $stsem_arr = array(); foreach($studiensemester->studiensemester as $row_stsem) { $stsem_arr[$row_stsem->studiensemester_kurzbz]['start']=$row_stsem->start; $stsem_arr[$row_stsem->studiensemester_kurzbz]['ende']=$row_stsem->ende; } if (!$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'suid')) die ('Sie haben keine Berechtigung für diese Seite'); echo ' '; include('../../include/meta/jquery.php'); include('../../include/meta/jquery-tablesorter.php'); echo ' Mitarbeitermeldung

Freie Lektoren mit Lehrauftrag ohne Verwendung

Die folgenden freien Lektoren haben einen aktiven Lehrauftrag im Meldezeitraum, haben jedoch keine aktive Verwendung.

Beim Klicken auf "Alle Verwendungen generieren/aktualisieren" werden die Verwendungen automatisch verlängert wenn die letzte Verwendung näher als 10 Monate liegt. Ansonsten wird eine neue Verwendung erstellt. Als neues Ende-Datum wird das Ende des Semesters letzten Lehrauftrages herangezogen.
'; $qry = "SELECT ma.* FROM ( SELECT vorname, nachname, uid, personalnummer, insertamum, anmerkung, aktiv, ( SELECT studiensemester_kurzbz FROM ( SELECT studiensemester_kurzbz, tbl_studiensemester.start FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid UNION SELECT studiensemester_kurzbz, tbl_studiensemester.start FROM lehre.tbl_projektbetreuer JOIN lehre.tbl_projektarbeit USING(projektarbeit_id) JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id ) a ORDER BY start DESC LIMIT 1 ) as letzter_lehrauftrag FROM campus.vw_mitarbeiter WHERE fixangestellt = false AND lektor = true AND bismelden = true AND personalnummer > 0 AND EXISTS( SELECT 1 FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid AND tbl_lehreinheit.studiensemester_kurzbz IN( SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start <= now() ORDER BY start DESC OFFSET 1 LIMIT 2) UNION SELECT 1 FROM lehre.tbl_projektbetreuer JOIN lehre.tbl_projektarbeit USING(projektarbeit_id) JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE tbl_lehreinheit.studiensemester_kurzbz IN(SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start <= now() ORDER BY start DESC OFFSET 1 LIMIT 2) AND tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id ) AND NOT EXISTS( SELECT 1 FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid=vw_mitarbeiter.uid AND (ende is null OR ende>=now()) ) ) ma LEFT JOIN public.tbl_studiensemester ON(studiensemester_kurzbz=ma.letzter_lehrauftrag) WHERE tbl_studiensemester.start >= (SELECT ende FROM bis.tbl_bisverwendung WHERE mitarbeiter_uid=ma.uid ORDER BY ende DESC LIMIT 1)"; if ($result = $db->db_query($qry)) { echo '

Anzahl:'.$db->db_num_rows($result); echo '
'; echo '

'; while ($row = $db->db_fetch_object($result)) { echo ' '; $bisverwendung = new bisverwendung(); $bisverwendung->getLastVerwendung($row->uid); echo ''; echo ''; if(isset($stsem_arr[$row->letzter_lehrauftrag]) && $stsem_arr[$row->letzter_lehrauftrag]['start'] > $bisverwendung->ende) { // wenn das Stsem des letzten Lehrauftrags größer ist als die Verwendung // Wenn die letzte Verwendung weniger als 10 Monate alt ist, wird die bestehende // Verwendung aktualisiert auf das neue Datum // Ansonsten wird eine neue Verwendung erstellt $dt_verwendungsendeplus10 = new DateTime($bisverwendung->ende); $dt_now = new DateTime(); $dt_verwendungsendeplus10->add(new DateInterval('P10M')); if ($dt_verwendungsendeplus10 > $dt_now) { $bisverwendung->ende = $stsem_arr[$row->letzter_lehrauftrag]['ende']; $bisverwendung->updateamum = date('Y-m-d H:i:s'); $bisverwendung->updatevon = $uid; if(isset($_POST['action']) && $_POST['action']=='generateall') { if ($bisverwendung->save(false)) { echo ''; } else { echo ''; } } else echo ''; } else { $bisverwendung->beginn = $stsem_arr[$row->letzter_lehrauftrag]['start']; $bisverwendung->ende = $stsem_arr[$row->letzter_lehrauftrag]['ende']; $bisverwendung->updateamum = date('Y-m-d H:i:s'); $bisverwendung->updatevon = $uid; $bisverwendung->insertamum = date('Y-m-d H:i:s'); $bisverwendung->insertvon = $uid; if(isset($_POST['action']) && $_POST['action']=='generateall') { if ($bisverwendung->save(true)) { echo ''; } else { echo ''; } } else echo ''; } } else { echo ''; } echo ''; } echo '
Nachname Vorname UID Aktiv Personalnummer Anlagedatum Letzer Lehrauftrag Aktive Funktionen Letzte Verwendung Anmerkung Aktion
'.$db->convert_html_chars($row->nachname).' '.$db->convert_html_chars($row->vorname).' '.$db->convert_html_chars($row->uid).' '.($db->db_parse_bool($row->aktiv)?'Ja':'Nein').' '.$db->convert_html_chars($row->personalnummer).' '.$db->convert_html_chars($datum_obj->formatDatum($row->insertamum,'d.m.Y')).' '.$db->convert_html_chars($row->letzter_lehrauftrag).' '; $fkt = new benutzerfunktion(); $fkt->getBenutzerFunktionByUid($row->uid, null, date('Y-m-d')); foreach ($fkt->result as $row_fkt) { echo ''; } echo '
'.$fkt_arr[$row_fkt->funktion_kurzbz].' '.$row_fkt->oe_kurzbz.'
'.($bisverwendung->beginn != ''?$datum_obj->formatDatum($bisverwendung->beginn,'d.m.Y'):' unbekannt '); echo ' - '.($bisverwendung->ende != ''?$datum_obj->formatDatum($bisverwendung->ende,'d.m.Y'):' jetzt ').''.($row->anmerkung != ''?'':'').'Verwendung verlängertFailed:'.$bisverwendung->errormsg.'Verlängerung bis '.$bisverwendung->ende.'Neue Verwendung erstelltFailed:'.$bisverwendung->errormsg.'Neue Verwendung wird erstellt '.$bisverwendung->beginn.' bis '.$bisverwendung->ende.'passt eigentlich
'; } echo ' ';