From d67d71abd54b18237bc3e12583bfc070f95e1641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 21 Nov 2023 11:20:05 +0100 Subject: [PATCH] =?UTF-8?q?Betr=C3=A4ge=20am=20Lehrauftrag=20werden=20Abh?= =?UTF-8?q?=C3=A4ngig=20von=20der=20Vertragsart=20angezeigt=20und=20nicht?= =?UTF-8?q?=20mehr=20anhand=20der=20Inkludierten=20Lehre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lehrauftrag/LehrauftragAkzeptieren.php | 41 +++++++++++++++---- rdf/lehrauftrag.xml.php | 30 ++++++++++++-- rdf/lehrauftrag_annehmen.xml.php | 32 +++++++++++++-- 3 files changed, 88 insertions(+), 15 deletions(-) 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.']]> + '; } }