diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index ed0ee56e1..e1bcffd84 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -74,7 +74,10 @@ require_once('../../include/reihungstest.class.php'); require_once('../../include/studienplan.class.php'); require_once('../../include/mobilitaet.class.php'); require_once('../../include/studienordnung.class.php'); +require_once('../../include/mitarbeiter.class.php'); +require_once('../../include/bisverwendung.class.php'); require_once('../../include/bismeldestichtag.class.php'); +require_once('../../include/stundensatz.class.php'); $user = get_uid(); $db = new basis_db(); @@ -4654,6 +4657,7 @@ if(!$error) $errormsg = 'Fehlerhafte Parameteruebergabe'; } } + elseif(isset($_POST['type']) && $_POST['type']=='getstundensatz') { if(isset($_POST['person_id']) && isset($_POST['studiensemester_kurzbz'])) @@ -4661,33 +4665,87 @@ if(!$error) $studiensemester = new studiensemester(); if ($studiensemester->load($_POST['studiensemester_kurzbz'])) { - $qry = "SELECT ss.stundensatz - FROM hr.tbl_stundensatz ss - JOIN public.tbl_mitarbeiter ON ss.uid = tbl_mitarbeiter.mitarbeiter_uid - JOIN public.tbl_benutzer ON(tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid) - WHERE person_id=".$db->db_add_param($_POST['person_id'], FHC_INTEGER) ." - AND stundensatztyp = ". $db->db_add_param('lehre') ." - AND gueltig_von <= ". $db->db_add_param($studiensemester->ende) ." - AND (gueltig_bis >= ". $db->db_add_param($studiensemester->start) ." OR gueltig_bis IS NULL) - ORDER BY gueltig_bis DESC NULLS FIRST, gueltig_von DESC NULLS LAST LIMIT 1 - "; - if($result = $db->db_query($qry)) + if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ') + && !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ) { - if($row = $db->db_fetch_object($result)) + // Mitarbeiter laden + $qry = " + SELECT + mitarbeiter_uid, fixangestellt + FROM + public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON(tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid) + WHERE + person_id=".$db->db_add_param($_POST['person_id'], FHC_INTEGER) ." + ORDER BY tbl_mitarbeiter.insertamum DESC NULLS LAST LIMIT 1 + "; + if($result = $db->db_query($qry)) { - $data = $row->stundensatz; - $return = true; - } - else - { - $data = '80.00'; - $return = true; + if($row = $db->db_fetch_object($result)) + { + $uid = $row->mitarbeiter_uid; + + if($db->db_parse_bool($row->fixangestellt)==true) + { + // Fixangestellte haben keinen Stundensatz + $data = ''; + $return = true; + } + else + { + // Stundensatz des Mitarbeiters laden + $stundensatz = new stundensatz(); + if($stundensatz->getStundensatzDatum($uid, $studiensemester->start, $studiensemester->ende, 'lehre')) + { + $data = $stundensatz->stundensatz; + $return = true; + } + else + { + // Keine Stundensatz hinterlegt + $data = '0.00'; + $return = true; + } + } + } + else + { + // Kein Mitarbeiter gefunden, kein Stundensatz + $data = '0.00'; + $return = true; + } } } else { - $return = false; - $errormsg = 'Unbekannter Fehler'; + $qry = "SELECT ss.stundensatz + FROM hr.tbl_stundensatz ss + JOIN public.tbl_mitarbeiter ON ss.uid = tbl_mitarbeiter.mitarbeiter_uid + JOIN public.tbl_benutzer ON(tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid) + WHERE person_id=".$db->db_add_param($_POST['person_id'], FHC_INTEGER) ." + AND stundensatztyp = ". $db->db_add_param('lehre') ." + AND gueltig_von <= ". $db->db_add_param($studiensemester->ende) ." + AND (gueltig_bis >= ". $db->db_add_param($studiensemester->start) ." OR gueltig_bis IS NULL) + ORDER BY gueltig_bis DESC NULLS FIRST, gueltig_von DESC NULLS LAST LIMIT 1 + "; + if($result = $db->db_query($qry)) + { + if($row = $db->db_fetch_object($result)) + { + $data = $row->stundensatz; + $return = true; + } + else + { + $data = '80.00'; + $return = true; + } + } + else + { + $return = false; + $errormsg = 'Unbekannter Fehler'; + } } } else @@ -4695,8 +4753,15 @@ if(!$error) $return = false; $errormsg = 'Fehler beim Laden des Studiensemesters'; } + } - } + else + { + $data = '20.00'.$_POST['studiensemester_kurzbz']; + $return = true; + } + } + elseif(isset($_POST['type']) && $_POST['type']=='saveanrechnung') { $anrechnung = new anrechnung(); diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index a18b94b6d..6c3919327 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -393,6 +393,7 @@ function StudentProjektarbeitAuswahl() anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" )); gesamtstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gesamtstunden" )); final = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#final" )); + var lehreinheit_stsem = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_stsem" )); var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value; @@ -440,6 +441,7 @@ function StudentProjektarbeitAuswahl() //Werte setzen document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value=projektarbeit_id; + document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value=lehreinheit_stsem; document.getElementById('student-projektarbeit-menulist-projekttyp').value=projekttyp_kurzbz; document.getElementById('student-projektarbeit-menulist-lehrveranstaltung').value=lehrveranstaltung_id; document.getElementById('student-projektarbeit-menulist-lehreinheit').value=lehreinheit_id; @@ -649,6 +651,8 @@ function StudentProjektarbeitNeu() document.getElementById('student-projektarbeit-checkbox-neu').checked=true; document.getElementById('student-projektarbeit-textbox-projektarbeit_id').value=''; + document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value=''; + StudentProjektarbeitResetFields(); StudentProjektarbeitDetailDisableFields(false); StudentProjektbetreuerDisableFields(true); @@ -872,6 +876,7 @@ function StudentProjektbetreuerAuswahl() name = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#name" )); punkte = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#punkte" )); stunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stunden" )); + stundensatz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" )); betreuerart_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betreuerart_kurzbz" )); person_nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_nachname" )); @@ -892,6 +897,16 @@ function StudentProjektbetreuerAuswahl() document.getElementById('student-projektbetreuer-textbox-person_id').value=person_id; document.getElementById('student-projektbetreuer-checkbox-neu').checked=false; + var lehreinheitstsem = document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value; + var default_stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, lehreinheitstsem); + + if (default_stundensatz != '') + default_stundensatz = 'Stundensatz (Default '+default_stundensatz+'):'; + else + default_stundensatz = 'Stundensatz'; + + document.getElementById('student-projektbetreuer-label-stundensatz').value= default_stundensatz; + var gesamtkosten = StudentProjektbetreuerGesamtkosten(); @@ -1171,7 +1186,9 @@ function StudentProjektbetreuerDetailReset() document.getElementById('student-projektbetreuer-textbox-stunden').value='0.0'; document.getElementById('student-projektbetreuer-menulist-betreuerart').value='Begutachter'; } + document.getElementById('student-projektbetreuer-textbox-stundensatz').value='80.0'; + document.getElementById('student-projektbetreuer-label-stundensatz').value= 'Stundensatz (Default 80.0):'; document.getElementById('student-projektbetreuer-menulist-person').value=''; } @@ -1358,16 +1375,16 @@ function StudentProjektbetreuerLoeschen() } } -function StudentProjektbetreuerLoadMitarbeiterDaten() +function StudentProjektbetreuerLoadStundensatz(person_id, studiensemester) { - person_id = MenulistGetSelectedValue('student-projektbetreuer-menulist-person'); + var stundensatz=''; var url = 'content/student/studentDBDML.php'; var req = new phpRequest(url,'',''); req.add('type', 'getstundensatz'); req.add('person_id', person_id); - req.add('studiensemester_kurzbz', getStudiensemester()) + req.add('studiensemester_kurzbz', studiensemester) var response = req.executePOST(); @@ -1385,7 +1402,23 @@ function StudentProjektbetreuerLoadMitarbeiterDaten() stundensatz = val.dbdml_data } - document.getElementById('student-projektbetreuer-textbox-stundensatz').value=stundensatz; + return stundensatz; +} + +function StudentProjektbetreuerLoadMitarbeiterDaten() +{ + var person_id = MenulistGetSelectedValue('student-projektbetreuer-menulist-person'); + var lehreinheitstsem = document.getElementById('student-projektarbeit-textbox-lehreinheit_stsem').value; + + var stundensatz = StudentProjektbetreuerLoadStundensatz(person_id, lehreinheitstsem); + + if (stundensatz != '') + default_stundensatz = 'Stundensatz (Default '+stundensatz+'):'; + else + default_stundensatz = 'Stundensatz'; + + document.getElementById('student-projektbetreuer-label-stundensatz').value = default_stundensatz; + document.getElementById('student-projektbetreuer-textbox-stundensatz').value = stundensatz; } // **** diff --git a/content/student/studentprojektarbeitoverlay.xul.php b/content/student/studentprojektarbeitoverlay.xul.php index fde05d4ad..71cae9cf6 100644 --- a/content/student/studentprojektarbeitoverlay.xul.php +++ b/content/student/studentprojektarbeitoverlay.xul.php @@ -171,7 +171,11 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN') -