diff --git a/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php b/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php index 6ac2da887..4abb1c400 100644 --- a/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php +++ b/application/controllers/lehre/lehrauftrag/LehrauftragAkzeptieren.php @@ -35,6 +35,7 @@ class LehrauftragAkzeptieren extends Auth_Controller $this->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel'); $this->load->model('codex/Bisverwendung_model', 'BisverwendungModel'); $this->load->model('person/Benutzer_model', 'BenutzerModel'); + $this->load->model('vertragsbestandteil/Dienstverhaeltnis_model', 'DienstverhaeltnisModel'); // Load libraries $this->load->library('WidgetLib'); @@ -94,9 +95,9 @@ class LehrauftragAkzeptieren extends Auth_Controller 'lektor' => true, 'aktiv' => true )); - + $is_external_lector = hasData($result) ? true : false; - + $view_data = array( 'studiensemester_selected' => $studiensemester_kurzbz, 'is_external_lector' => $is_external_lector @@ -207,15 +208,41 @@ class LehrauftragAkzeptieren extends Auth_Controller */ public function checkInkludierteLehre() { - $result = $this->BisverwendungModel->getLast($this->_uid, false); - - if (hasData($result)) + if(defined('DIENSTVERHAELTNIS_SUPPORT') && DIENSTVERHAELTNIS_SUPPORT) { - $this->outputJsonSuccess(!is_null($result->retval[0]->inkludierte_lehre) && $result->retval[0]->inkludierte_lehre != 0); + // Bei neuer Vertragsstruktur wird nur anhand des echten DVs entschieden ob eine Anzeige + // des Stundensatzes erfolgt oder nicht. + $result = $this->DienstverhaeltnisModel->getDVByPersonUID($this->_uid, null, date('Y-m-d')); + + if (hasData($result)) + { + $data = getData($result); + foreach($data as $row) + { + if($row->vertragsart_kurzbz == 'echterdv') + $this->outputJsonSuccess(true); + else + $this->outputJsonSuccess(false); + } + } + else + { + $this->outputJsonError(getError($result)); + } } else { - $this->outputJsonError(getError($result)); + // DEPRECATED + $result = $this->BisverwendungModel->getLast($this->_uid, false); + + if (hasData($result)) + { + $this->outputJsonSuccess(!is_null($result->retval[0]->inkludierte_lehre) && $result->retval[0]->inkludierte_lehre != 0); + } + else + { + $this->outputJsonError(getError($result)); + } } } diff --git a/rdf/lehrauftrag.xml.php b/rdf/lehrauftrag.xml.php index b4e90101e..e28cf8604 100644 --- a/rdf/lehrauftrag.xml.php +++ b/rdf/lehrauftrag.xml.php @@ -242,9 +242,31 @@ function drawLehrauftrag($uid) $name_gesamt = trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost); $zuhanden=''; } - // Lädt die letzte (aktuellste) Verwendungen eines Mitarbeiters um die inkludierte Lehre auslesen zu können - $bis = new bisverwendung(); - $bis->getLastAktVerwendung($uid); + + $show_betrag = true; + + if (defined('DIENSTVERHAELTNIS_SUPPORT') && DIENSTVERHAELTNIS_SUPPORT) + { + $qry = " + SELECT + 1 + FROM + hr.tbl_dienstverhaeltnis + WHERE + mitarbeiter_uid=".$db->db_add_param($uid)." + AND vertragsart_kurzbz = 'echterdv' + AND von <= (SELECT ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=".$db->db_add_param($ss).") + AND COALESCE(bis,'2999-12-31') >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=".$db->db_add_param($ss).") + "; + + if($result = $db->db_query($qry)) + { + if($db->db_num_rows($result)>0) + { + $show_betrag = false; + } + } + } $xml .= ' @@ -259,7 +281,7 @@ function drawLehrauftrag($uid) svnr.']]> personalnummer.']]> - inkludierte_lehre.']]> + '; } } diff --git a/rdf/lehrauftrag_annehmen.xml.php b/rdf/lehrauftrag_annehmen.xml.php index 990701901..d5c850d49 100644 --- a/rdf/lehrauftrag_annehmen.xml.php +++ b/rdf/lehrauftrag_annehmen.xml.php @@ -24,6 +24,7 @@ * Erstellt ein XML File fuer den Lehrauftrag */ require_once('../config/vilesci.config.inc.php'); +require_once('../config/global.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/studiengang.class.php'); @@ -246,9 +247,32 @@ function drawLehrauftrag($uid) $name_gesamt = trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost); $zuhanden=''; } - // Lädt die letzte (aktuellste) Verwendungen eines Mitarbeiters um die inkludierte Lehre auslesen zu können - $bis = new bisverwendung(); - $bis->getLastAktVerwendung($uid); + + $show_betrag = true; + + if (defined('DIENSTVERHAELTNIS_SUPPORT') && DIENSTVERHAELTNIS_SUPPORT) + { + $qry = " + SELECT + 1 + FROM + hr.tbl_dienstverhaeltnis + WHERE + mitarbeiter_uid=".$db->db_add_param($uid)." + AND vertragsart_kurzbz = 'echterdv' + AND von <= (SELECT ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=".$db->db_add_param($ss).") + AND COALESCE(bis,'2999-12-31') >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=".$db->db_add_param($ss).") + "; + + if($result = $db->db_query($qry)) + { + if($db->db_num_rows($result)>0) + { + $show_betrag = false; + } + } + } + $xml .= ' @@ -263,7 +287,7 @@ function drawLehrauftrag($uid) svnr.']]> personalnummer.']]> - inkludierte_lehre.']]> + '; } }