From 349ad451f88f81c43e58323ad1d42280396be830 Mon Sep 17 00:00:00 2001 From: Manfred Date: Tue, 19 Apr 2022 19:33:44 +0200 Subject: [PATCH] lehreinheiten_vorrueckung: Langbezeichnung in DropDown --- vilesci/lehre/lehreinheiten_vorrueckung.php | 959 ++++++++++---------- 1 file changed, 484 insertions(+), 475 deletions(-) diff --git a/vilesci/lehre/lehreinheiten_vorrueckung.php b/vilesci/lehre/lehreinheiten_vorrueckung.php index 7d48c4778..23533cd91 100644 --- a/vilesci/lehre/lehreinheiten_vorrueckung.php +++ b/vilesci/lehre/lehreinheiten_vorrueckung.php @@ -1,475 +1,484 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - * Manfred Kindl < manfred.kindl@technikum-wien.at > - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../config/global.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/lehreinheit.class.php'); -require_once('../../include/lehreinheitmitarbeiter.class.php'); -require_once('../../include/lehreinheitgruppe.class.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/mitarbeiter.class.php'); -require_once('../../include/gruppe.class.php'); -require_once('../../include/bisverwendung.class.php'); - -if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - -$user = get_uid(); -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if (!$rechte->isBerechtigt('lehre/vorrueckung', null, 'suid')) - die($rechte->errormsg); - -$stg_obj = new studiengang(); -$stg_obj->loadArray($rechte->getStgKz('lehre/vorrueckung'),'typ, kurzbz'); - -$stg_arr = array(); - -foreach ($stg_obj->result as $stg) -{ - $stg_arr[$stg->studiengang_kz] = $stg->kuerzel; -} - -$studiengang_kz = (isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:''); -$semester = (isset($_GET['semester'])?$_GET['semester']:''); -$stsem_von = (isset($_GET['stsem_von'])?$_GET['stsem_von']:''); -$stsem_nach = (isset($_GET['stsem_nach'])?$_GET['stsem_nach']:''); -$text = ''; -$anzahl_lehreinheiten = 0; -$anzahl_lehreinheitmitarbeiter = 0; -$anzahl_lehreinheitgruppe = 0; -$error_lehreinheit = 0; -$error_lehreinheitmitarbeiter = 0; -$error_lehreinheitgruppe = 0; - -if ($stsem_von == '') -{ - $stsem_obj = new studiensemester(); - $stsem_von = $stsem_obj->getPrevious(); -} - -if ($stsem_nach == '') -{ - $stsem_obj = new studiensemester(); - $stsem_obj->getNextStudiensemester(); - $stsem_nach = $stsem_obj->studiensemester_kurzbz; -} - -echo ' - - - Lehreinheit Vorrueckung - - - - -

Lehreinheiten Vorrückung

-'; -echo '
'; -echo 'Studiengang: '; - -echo ' Semester: '; - -echo ' Von: '; - -echo ' Nach: '; - -echo '  
'; - -if (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') - && VILESCI_STUNDENSATZ_VORRUECKUNG != '' - && is_numeric(VILESCI_STUNDENSATZ_VORRUECKUNG)) -{ - echo '
- Alle Lehraufträge werden mit dem Stundensatz "'.VILESCI_STUNDENSATZ_VORRUECKUNG.'" vorgerückt - '; -} -elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') - && VILESCI_STUNDENSATZ_VORRUECKUNG != '' - && VILESCI_STUNDENSATZ_VORRUECKUNG == 'default') -{ - echo '
- Alle Lehraufträge werden mit dem aktuell hinterlegten Standard-Stundensatz der/des Lehrenden vorgerückt - '; -} -elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') - && VILESCI_STUNDENSATZ_VORRUECKUNG != '' - && VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart') -{ - echo '
- Stundensätze werden abhängig von der Beschaeftigungsart aktualisiert. - '; -} -else -{ - echo '
- Alle Lehraufträge werden mit dem Stundensatz des Vorjahres vorgerückt - '; -} - -echo '
'; - -if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '') -{ - $stg_obj = new studiengang(); - if (!$stg_obj->load($studiengang_kz)) - die('Studiengang kann nicht geladen werden'); - - if (!$rechte->isBerechtigt('lehre/vorrueckung', $stg_obj->oe_kurzbz, 'suid')) - die($rechte->errormsg); - - echo '
Starte Vorrückung '.$stg_arr[$studiengang_kz]." $semester von $stsem_von nach $stsem_nach ..."; - - $qry = "SELECT tbl_lehreinheit.lehreinheit_id - FROM - lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - WHERE - tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem_von); - if ($semester != '') - $qry .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester); - - if ($result = $db->db_query($qry)) - { - $anzahl_von = $db->db_num_rows($result); - } - //Pruefen, ob schon eine Vorrueckung stattgefunden hat - $qry_nach = "SELECT tbl_lehreinheit.lehreinheit_id - FROM - lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - WHERE - tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem_nach); - if ($semester != '') - $qry_nach .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester); - - if ($result = $db->db_query($qry_nach)) - { - $anzahl_nach = $db->db_num_rows($result); - $baseurl = basename($_SERVER['REQUEST_URI']); - if ($anzahl_nach >= $anzahl_von && !isset($_GET['continue'])) - { - echo '

Es sind schon Lehreinheiten fuer das - '.$stsem_nach.' in '.$stg_arr[$studiengang_kz].' '.$semester.' vorhanden. - Trotzdem fortsetzen?

-
'; - die (); - } - } - - $stsem_nach_obj = new studiensemester(); - $stsem_nach_obj->load($stsem_nach); - - if ($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - $text .= "
Lehreinheit $row->lehreinheit_id wird vorgerueckt"; - $le_obj = new lehreinheit(); - //Lehreinheit Neu Anlegen - if ($le_obj->load($row->lehreinheit_id)) - { - $le_obj->new = true; - $le_obj->studiensemester_kurzbz = $stsem_nach; - $le_obj->insertamum = date('Y-m-d H:i:s'); - $le_obj->insertvon = 'Vorrueckung_'.$user; - $le_obj->ext_id = ''; - $le_obj->unr = ''; - - if ($le_obj->save()) - { - $anzahl_lehreinheiten++; - - //LehreinheitMitarbeiter Eintrag neu Anlengen - $qry_lem = "SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter - WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id); - - if ($result_lem = $db->db_query($qry_lem)) - { - while ($row_lem = $db->db_fetch_object($result_lem)) - { - $lem_obj = new lehreinheitmitarbeiter(); - if ($lem_obj->load($row->lehreinheit_id, $row_lem->mitarbeiter_uid)) - { - // Pruefen ob der Lektor ueber die im Config festgelegte Stundengrenze - // kommt und Meldung ausgeben - $qry_stundengrenze=" - SELECT - mitarbeiter_uid,fixangestellt,SUM(semesterstunden) AS summe, aktiv - FROM - lehre.tbl_lehreinheitmitarbeiter - JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) - JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid) - JOIN public.tbl_benutzer ON (uid=mitarbeiter_uid) - WHERE - mitarbeiter_uid=".$db->db_add_param($row_lem->mitarbeiter_uid)." - AND studiensemester_kurzbz=".$db->db_add_param($stsem_von)." - GROUP BY - mitarbeiter_uid, fixangestellt, aktiv"; - - if ($result_stundengrenze = $db->db_query($qry_stundengrenze)) - { - if ($row_stundengrenze = $db->db_fetch_object($result_stundengrenze)) - { - if (!$db->db_parse_bool($row_stundengrenze->fixangestellt) - && $row_stundengrenze->summe > WARN_SEMESTERSTD_FREI) - { - $text .= " - Stundengrenze ".WARN_SEMESTERSTD_FREI." Stunden ueberschritten - von $row_lem->mitarbeiter_uid"; - } - elseif ($db->db_parse_bool($row_stundengrenze->fixangestellt) - && $row_stundengrenze->summe > WARN_SEMESTERSTD_FIX) - { - $text .= " - Stundengrenze ".WARN_SEMESTERSTD_FIX." Stunden ueberschritten - von $row_lem->mitarbeiter_uid"; - } - - // Meldung, wenn Benutzer inaktiv - if ($db->db_parse_bool($row_stundengrenze->aktiv) == false) - { - $text .= "; Achtung! MitarbeiterIn - $row_lem->mitarbeiter_uid ist nicht aktiv"; - } - } - } - $lem_obj->lehreinheit_id = $le_obj->lehreinheit_id; - $lem_obj->new = true; - // Wenn VILESCI_STUNDENSATZ_VORRUECKUNG definiert ist, - // wird nicht der Stundensatz des Vorjahres verwendet - // Wenn VILESCI_STUNDENSATZ_VORRUECKUNG numerisch ist, - // wird dieser Wert fuer den Stundensatz verwendet - if (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') - && VILESCI_STUNDENSATZ_VORRUECKUNG != '' - && is_numeric(VILESCI_STUNDENSATZ_VORRUECKUNG)) - { - $lem_obj->stundensatz = VILESCI_STUNDENSATZ_VORRUECKUNG; - } - // Wenn VILESCI_STUNDENSATZ_VORRUECKUNG default ist, - //wird der Standard-Stundensatz des jeweiligen Lektors geladen und gespeichert - elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') - && VILESCI_STUNDENSATZ_VORRUECKUNG != '' - && VILESCI_STUNDENSATZ_VORRUECKUNG == 'default') - { - $stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid); - $lem_obj->stundensatz = $stundensatz->stundensatz; - } - // Wenn VILESCI_STUNDENSATZ_VORRUECKUNG nachbeschaeftigungsart ist, wird - // bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt - // bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt - // bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt - elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') - && VILESCI_STUNDENSATZ_VORRUECKUNG != '' - && VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart') - { - if ($lem_obj->stundensatz != '0') - { - $stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid); - $lem_obj->stundensatz = $stundensatz->stundensatz; - - $bisverwendung = new bisverwendung(); - if(!$bisverwendung->getVerwendungRange($row_lem->mitarbeiter_uid, $stsem_nach_obj->start, $stsem_nach_obj->ende)) - { - $bisverwendung->getLastAktVerwendung($row_lem->mitarbeiter_uid); - $bisverwendung->result[] = $bisverwendung; - } - - foreach($bisverwendung->result as $row_verwendung) - { - // Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz - // geliefert da dies im Vertrag inkludiert ist. - if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1) - { - $lem_obj->stundensatz = ''; - break; - } - } - } - } - $lem_obj->insertamum = date('Y-m-d H:i:s'); - $lem_obj->insertvon = 'Vorrueckung_'.$user; - $lem_obj->ext_id = ''; - $lem_obj->vertrag_id = ''; - - if (!$lem_obj->save()) - { - $error_lehreinheitmitarbeiter++; - $text .= 'Fehler beim Anlegen des Lehreinheitmitarbeiter - Eintrages: '.$lem_obj->errormsg; - } - else - $anzahl_lehreinheitmitarbeiter++; - } - else - { - $text .= 'Fehler beim Laden der Mitarbeiter'; - $error_lehreinheitmitarbeiter++; - } - } - } - else - { - $text .= 'Fehler beim Laden der Mitarbeiter '.$db->db_last_error(); - $error_lehreinheitmitarbeiter++; - } - - //LehreinheitGruppe Eintrag neu Anlegen - $qry_leg = " - SELECT - lehreinheitgruppe_id - FROM - lehre.tbl_lehreinheitgruppe - WHERE - lehreinheit_id=".$db->db_add_param($row->lehreinheit_id)." - AND NOT (tbl_lehreinheitgruppe.semester='0' AND tbl_lehreinheitgruppe.verband='I')"; - - if ($result_leg = $db->db_query($qry_leg)) - { - while($row_leg = $db->db_fetch_object($result_leg)) - { - $leg_obj = new lehreinheitgruppe(); - if ($leg_obj->load($row_leg->lehreinheitgruppe_id)) - { - // Direktinskriptionsgruppen werden nicht vorgerückt - if ($leg_obj->gruppe_kurzbz != '') - { - $grp = new gruppe(); - $grp->load($leg_obj->gruppe_kurzbz); - if ($grp->direktinskription) - continue; - } - - $leg_obj->lehreinheit_id = $le_obj->lehreinheit_id; - $leg_obj->new = true; - $leg_obj->insertamum = date('Y-m-d H:i:s'); - $leg_obj->insertvon = 'Vorrueckung_'.$user; - $leg_obj->ext_id = ''; - - if (!$leg_obj->save()) - { - $error_lehreinheitgruppe++; - $text .= 'Fehler beim Anlegen des Lehreinheitgruppe Eintrages: '.$leg_obj->errormsg; - } - else - $anzahl_lehreinheitgruppe++; - } - else - { - $text .= 'Fehler beim Laden der Gruppe '.$leg_obj->errormsg.' '.$db->db_last_error(); - $error_lehreinheitgruppe++; - } - } - } - else - { - $text .= 'Fehler beim Auslesen der Gruppen'; - $error_lehreinheitgruppe++; - } - } - else - { - $error_lehreinheit++; - $text .= 'Fehler beim Speichern der Lehreinheit '.$le_obj->errormsg; - } - } - else - { - $error_lehreinheit++; - $text .= 'Fehler beim Laden der Lehreinheit '.$le_obj->errormsg; - } - } - } - else - { - $text .= 'Fehler beim Laden der Lehreinheiten '.$db->db_last_error(); - $error_lehreinheit++; - } - - echo "

"; - echo "Vorgerueckte Lehreinheiten: $anzahl_lehreinheiten
"; - echo "Vorgerueckte LEMitarbeiter: $anzahl_lehreinheitmitarbeiter
"; - echo "Vorgerueckte LEGruppen: $anzahl_lehreinheitgruppe
"; - echo "Fehler bei Lehreinheiten: $error_lehreinheit
"; - echo "Fehler bei LEMitarbeiter: $error_lehreinheitmitarbeiter
"; - echo "Fehler bei LEGruppen: $error_lehreinheitmitarbeiter
"; - - echo '


'; - echo $text; - echo '







'; -} - -?> - - + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Manfred Kindl < manfred.kindl@technikum-wien.at > + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../config/global.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/lehreinheit.class.php'); +require_once('../../include/lehreinheitmitarbeiter.class.php'); +require_once('../../include/lehreinheitgruppe.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/mitarbeiter.class.php'); +require_once('../../include/gruppe.class.php'); +require_once('../../include/bisverwendung.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$user = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if (!$rechte->isBerechtigt('lehre/vorrueckung', null, 'suid')) + die($rechte->errormsg); + +$stg_obj = new studiengang(); +$stg_obj->loadArray($rechte->getStgKz('lehre/vorrueckung'),'typ, kurzbz'); + +$stg_arr = array(); + +foreach ($stg_obj->result as $stg) +{ + $stg_arr[$stg->studiengang_kz] = $stg->kuerzel; +} + +$studiengang_kz = (isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:''); +$semester = (isset($_GET['semester'])?$_GET['semester']:''); +$stsem_von = (isset($_GET['stsem_von'])?$_GET['stsem_von']:''); +$stsem_nach = (isset($_GET['stsem_nach'])?$_GET['stsem_nach']:''); +$text = ''; +$anzahl_lehreinheiten = 0; +$anzahl_lehreinheitmitarbeiter = 0; +$anzahl_lehreinheitgruppe = 0; +$error_lehreinheit = 0; +$error_lehreinheitmitarbeiter = 0; +$error_lehreinheitgruppe = 0; + +if ($stsem_von == '') +{ + $stsem_obj = new studiensemester(); + $stsem_von = $stsem_obj->getPrevious(); +} + +if ($stsem_nach == '') +{ + $stsem_obj = new studiensemester(); + $stsem_obj->getNextStudiensemester(); + $stsem_nach = $stsem_obj->studiensemester_kurzbz; +} + +echo ' + + + Lehreinheit Vorrueckung + + + + +

Lehreinheiten Vorrückung

+'; +echo '
'; +echo 'Studiengang: '; + +echo ' Semester: '; + +echo ' Von: '; + +echo ' Nach: '; + +echo '  
'; + +if (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') + && VILESCI_STUNDENSATZ_VORRUECKUNG != '' + && is_numeric(VILESCI_STUNDENSATZ_VORRUECKUNG)) +{ + echo '
+ Alle Lehraufträge werden mit dem Stundensatz "'.VILESCI_STUNDENSATZ_VORRUECKUNG.'" vorgerückt + '; +} +elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') + && VILESCI_STUNDENSATZ_VORRUECKUNG != '' + && VILESCI_STUNDENSATZ_VORRUECKUNG == 'default') +{ + echo '
+ Alle Lehraufträge werden mit dem aktuell hinterlegten Standard-Stundensatz der/des Lehrenden vorgerückt + '; +} +elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') + && VILESCI_STUNDENSATZ_VORRUECKUNG != '' + && VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart') +{ + echo '
+ Stundensätze werden abhängig von der Beschaeftigungsart aktualisiert. + '; +} +else +{ + echo '
+ Alle Lehraufträge werden mit dem Stundensatz des Vorjahres vorgerückt + '; +} + +echo '
'; + +if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '') +{ + $stg_obj = new studiengang(); + if (!$stg_obj->load($studiengang_kz)) + die('Studiengang kann nicht geladen werden'); + + if (!$rechte->isBerechtigt('lehre/vorrueckung', $stg_obj->oe_kurzbz, 'suid')) + die($rechte->errormsg); + + echo '
Starte Vorrückung '.$stg_arr[$studiengang_kz]." $semester von $stsem_von nach $stsem_nach ..."; + + $qry = "SELECT tbl_lehreinheit.lehreinheit_id + FROM + lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE + tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem_von); + if ($semester != '') + $qry .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester); + + if ($result = $db->db_query($qry)) + { + $anzahl_von = $db->db_num_rows($result); + } + //Pruefen, ob schon eine Vorrueckung stattgefunden hat + $qry_nach = "SELECT tbl_lehreinheit.lehreinheit_id + FROM + lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE + tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem_nach); + if ($semester != '') + $qry_nach .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester); + + if ($result = $db->db_query($qry_nach)) + { + $anzahl_nach = $db->db_num_rows($result); + $baseurl = basename($_SERVER['REQUEST_URI']); + if ($anzahl_nach >= $anzahl_von && !isset($_GET['continue'])) + { + echo '

Es sind schon Lehreinheiten fuer das + '.$stsem_nach.' in '.$stg_arr[$studiengang_kz].' '.$semester.' vorhanden. + Trotzdem fortsetzen?

+
'; + die (); + } + } + + $stsem_nach_obj = new studiensemester(); + $stsem_nach_obj->load($stsem_nach); + + if ($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + $text .= "
Lehreinheit $row->lehreinheit_id wird vorgerueckt"; + $le_obj = new lehreinheit(); + //Lehreinheit Neu Anlegen + if ($le_obj->load($row->lehreinheit_id)) + { + $le_obj->new = true; + $le_obj->studiensemester_kurzbz = $stsem_nach; + $le_obj->insertamum = date('Y-m-d H:i:s'); + $le_obj->insertvon = 'Vorrueckung_'.$user; + $le_obj->ext_id = ''; + $le_obj->unr = ''; + + if ($le_obj->save()) + { + $anzahl_lehreinheiten++; + + //LehreinheitMitarbeiter Eintrag neu Anlengen + $qry_lem = "SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter + WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id); + + if ($result_lem = $db->db_query($qry_lem)) + { + while ($row_lem = $db->db_fetch_object($result_lem)) + { + $lem_obj = new lehreinheitmitarbeiter(); + if ($lem_obj->load($row->lehreinheit_id, $row_lem->mitarbeiter_uid)) + { + // Pruefen ob der Lektor ueber die im Config festgelegte Stundengrenze + // kommt und Meldung ausgeben + $qry_stundengrenze=" + SELECT + mitarbeiter_uid,fixangestellt,SUM(semesterstunden) AS summe, aktiv + FROM + lehre.tbl_lehreinheitmitarbeiter + JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) + JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid) + JOIN public.tbl_benutzer ON (uid=mitarbeiter_uid) + WHERE + mitarbeiter_uid=".$db->db_add_param($row_lem->mitarbeiter_uid)." + AND studiensemester_kurzbz=".$db->db_add_param($stsem_von)." + GROUP BY + mitarbeiter_uid, fixangestellt, aktiv"; + + if ($result_stundengrenze = $db->db_query($qry_stundengrenze)) + { + if ($row_stundengrenze = $db->db_fetch_object($result_stundengrenze)) + { + if (!$db->db_parse_bool($row_stundengrenze->fixangestellt) + && $row_stundengrenze->summe > WARN_SEMESTERSTD_FREI) + { + $text .= " + Stundengrenze ".WARN_SEMESTERSTD_FREI." Stunden ueberschritten + von $row_lem->mitarbeiter_uid"; + } + elseif ($db->db_parse_bool($row_stundengrenze->fixangestellt) + && $row_stundengrenze->summe > WARN_SEMESTERSTD_FIX) + { + $text .= " + Stundengrenze ".WARN_SEMESTERSTD_FIX." Stunden ueberschritten + von $row_lem->mitarbeiter_uid"; + } + + // Meldung, wenn Benutzer inaktiv + if ($db->db_parse_bool($row_stundengrenze->aktiv) == false) + { + $text .= "; Achtung! MitarbeiterIn + $row_lem->mitarbeiter_uid ist nicht aktiv"; + } + } + } + $lem_obj->lehreinheit_id = $le_obj->lehreinheit_id; + $lem_obj->new = true; + // Wenn VILESCI_STUNDENSATZ_VORRUECKUNG definiert ist, + // wird nicht der Stundensatz des Vorjahres verwendet + // Wenn VILESCI_STUNDENSATZ_VORRUECKUNG numerisch ist, + // wird dieser Wert fuer den Stundensatz verwendet + if (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') + && VILESCI_STUNDENSATZ_VORRUECKUNG != '' + && is_numeric(VILESCI_STUNDENSATZ_VORRUECKUNG)) + { + $lem_obj->stundensatz = VILESCI_STUNDENSATZ_VORRUECKUNG; + } + // Wenn VILESCI_STUNDENSATZ_VORRUECKUNG default ist, + //wird der Standard-Stundensatz des jeweiligen Lektors geladen und gespeichert + elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') + && VILESCI_STUNDENSATZ_VORRUECKUNG != '' + && VILESCI_STUNDENSATZ_VORRUECKUNG == 'default') + { + $stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid); + $lem_obj->stundensatz = $stundensatz->stundensatz; + } + // Wenn VILESCI_STUNDENSATZ_VORRUECKUNG nachbeschaeftigungsart ist, wird + // bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt + // bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt + // bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt + elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG') + && VILESCI_STUNDENSATZ_VORRUECKUNG != '' + && VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart') + { + if ($lem_obj->stundensatz != '0') + { + $stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid); + $lem_obj->stundensatz = $stundensatz->stundensatz; + + $bisverwendung = new bisverwendung(); + if(!$bisverwendung->getVerwendungRange($row_lem->mitarbeiter_uid, $stsem_nach_obj->start, $stsem_nach_obj->ende)) + { + $bisverwendung->getLastAktVerwendung($row_lem->mitarbeiter_uid); + $bisverwendung->result[] = $bisverwendung; + } + + foreach($bisverwendung->result as $row_verwendung) + { + // Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz + // geliefert da dies im Vertrag inkludiert ist. + if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1) + { + $lem_obj->stundensatz = ''; + break; + } + } + } + } + $lem_obj->insertamum = date('Y-m-d H:i:s'); + $lem_obj->insertvon = 'Vorrueckung_'.$user; + $lem_obj->ext_id = ''; + $lem_obj->vertrag_id = ''; + + if (!$lem_obj->save()) + { + $error_lehreinheitmitarbeiter++; + $text .= 'Fehler beim Anlegen des Lehreinheitmitarbeiter + Eintrages: '.$lem_obj->errormsg; + } + else + $anzahl_lehreinheitmitarbeiter++; + } + else + { + $text .= 'Fehler beim Laden der Mitarbeiter'; + $error_lehreinheitmitarbeiter++; + } + } + } + else + { + $text .= 'Fehler beim Laden der Mitarbeiter '.$db->db_last_error(); + $error_lehreinheitmitarbeiter++; + } + + //LehreinheitGruppe Eintrag neu Anlegen + $qry_leg = " + SELECT + lehreinheitgruppe_id + FROM + lehre.tbl_lehreinheitgruppe + WHERE + lehreinheit_id=".$db->db_add_param($row->lehreinheit_id)." + AND NOT (tbl_lehreinheitgruppe.semester='0' AND tbl_lehreinheitgruppe.verband='I')"; + + if ($result_leg = $db->db_query($qry_leg)) + { + while($row_leg = $db->db_fetch_object($result_leg)) + { + $leg_obj = new lehreinheitgruppe(); + if ($leg_obj->load($row_leg->lehreinheitgruppe_id)) + { + // Direktinskriptionsgruppen werden nicht vorgerückt + if ($leg_obj->gruppe_kurzbz != '') + { + $grp = new gruppe(); + $grp->load($leg_obj->gruppe_kurzbz); + if ($grp->direktinskription) + continue; + } + + $leg_obj->lehreinheit_id = $le_obj->lehreinheit_id; + $leg_obj->new = true; + $leg_obj->insertamum = date('Y-m-d H:i:s'); + $leg_obj->insertvon = 'Vorrueckung_'.$user; + $leg_obj->ext_id = ''; + + if (!$leg_obj->save()) + { + $error_lehreinheitgruppe++; + $text .= 'Fehler beim Anlegen des Lehreinheitgruppe Eintrages: '.$leg_obj->errormsg; + } + else + $anzahl_lehreinheitgruppe++; + } + else + { + $text .= 'Fehler beim Laden der Gruppe '.$leg_obj->errormsg.' '.$db->db_last_error(); + $error_lehreinheitgruppe++; + } + } + } + else + { + $text .= 'Fehler beim Auslesen der Gruppen'; + $error_lehreinheitgruppe++; + } + } + else + { + $error_lehreinheit++; + $text .= 'Fehler beim Speichern der Lehreinheit '.$le_obj->errormsg; + } + } + else + { + $error_lehreinheit++; + $text .= 'Fehler beim Laden der Lehreinheit '.$le_obj->errormsg; + } + } + } + else + { + $text .= 'Fehler beim Laden der Lehreinheiten '.$db->db_last_error(); + $error_lehreinheit++; + } + + echo "

"; + echo "Vorgerueckte Lehreinheiten: $anzahl_lehreinheiten
"; + echo "Vorgerueckte LEMitarbeiter: $anzahl_lehreinheitmitarbeiter
"; + echo "Vorgerueckte LEGruppen: $anzahl_lehreinheitgruppe
"; + echo "Fehler bei Lehreinheiten: $error_lehreinheit
"; + echo "Fehler bei LEMitarbeiter: $error_lehreinheitmitarbeiter
"; + echo "Fehler bei LEGruppen: $error_lehreinheitmitarbeiter
"; + + echo '


'; + echo $text; + echo '







'; +} + +?> + +