- pv21 stundensaetze hinzugefuegt

This commit is contained in:
ma0048
2023-08-14 14:14:37 +02:00
parent d689e8fb2f
commit c4377010b1
11 changed files with 490 additions and 73 deletions
+1
View File
@@ -385,6 +385,7 @@ var LeLektorDDObserver=
req.add('lehreinheit_id', lehreinheit_id);
req.add('mitarbeiter_uid', uid);
req.add('studiensemester_kurzbz', getStudiensemester());
var response = req.executePOST();
+86 -63
View File
@@ -54,6 +54,7 @@ require_once('../../include/datum.class.php');
require_once('../../include/vertrag.class.php');
require_once('../../include/benutzergruppe.class.php');
require_once('../../include/bisverwendung.class.php');
require_once('../../include/stundensatz.class.php');
$user = get_uid();
$db = new basis_db();
@@ -543,51 +544,61 @@ if(!$error)
$lem->new=true;
$fixangestellt=false;
//Stundensatz aus tbl_mitarbeiter holen
$mitarbeiter = new mitarbeiter();
if ($mitarbeiter->load($_POST['mitarbeiter_uid']))
//"lehre" Stundensatz aus hr.tbl_stundensatz holen
$studiensemester = new studiensemester();
if (!$studiensemester->load($_POST['studiensemester_kurzbz']))
{
$fixangestellt = $mitarbeiter->fixangestellt;
$lem->stundensatz = $mitarbeiter->stundensatz;
$return = false;
$error = true;
$errormsg = 'Fehler beim Laden des Studiensemesters';
}
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
if (!$error)
{
$mitarbeiter = new mitarbeiter();
if ($mitarbeiter->load($_POST['mitarbeiter_uid']))
{
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
$data = $mitarbeiter->stundensatz;
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
$fixangestellt = $mitarbeiter->fixangestellt;
$stundensatz = new stundensatz();
$stundensatz->getStundensatzDatum($mitarbeiter->uid, $studiensemester->start, $studiensemester->ende, 'lehre');
$lem->stundensatz = $stundensatz->stundensatz;
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
{
$bisverwendung->getLastAktVerwendung($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 ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
{
$fixangestellt = true;
$lem->stundensatz = '';
break;
$bisverwendung->getLastAktVerwendung($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 ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
{
$fixangestellt = true;
$lem->stundensatz = '';
break;
}
}
}
}
else
{
$lem->stundensatz = $mitarbeiter->stundensatz;
$error=true;
$return=false;
$errormsg='Mitarbeiter '.$db->convert_html_chars($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
}
}
else
{
$error=true;
$return=false;
$errormsg='Mitarbeiter '.$db->convert_html_chars($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
}
$maxstunden=9999;
@@ -1556,49 +1567,61 @@ if(!$error)
}
elseif(isset($_POST['type']) && $_POST['type']=='getstundensatz')
{
if(isset($_POST['mitarbeiter_uid']))
if(isset($_POST['mitarbeiter_uid']) && isset($_POST['studiensemester_kurzbz']))
{
$mitarbeiter = new mitarbeiter();
if($mitarbeiter->load($_POST['mitarbeiter_uid']))
$studiensemester = new studiensemester();
if (!$studiensemester->load($_POST['studiensemester_kurzbz']))
{
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
$return = false;
$error = true;
$errormsg = 'Fehler beim Laden des Studiensemesters';
}
if (!$error)
{
$mitarbeiter = new mitarbeiter();
if($mitarbeiter->load($_POST['mitarbeiter_uid']))
{
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
$data = $mitarbeiter->stundensatz;
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
$stundensatz = new stundensatz();
$stundensatz->getStundensatzDatum($mitarbeiter->uid, $studiensemester->start, $studiensemester->ende, 'lehre');
$data = $stundensatz->stundensatz;
if (defined('FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ')
&& !FAS_LV_LEKTORINNENZUTEILUNG_FIXANGESTELLT_STUNDENSATZ)
{
$bisverwendung->getLastAktVerwendung($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 ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
$stsem = new studiensemester();
$stsem->load($semester_aktuell);
$bisverwendung = new bisverwendung();
if(!$bisverwendung->getVerwendungRange($mitarbeiter->uid, $stsem->start, $stsem->ende))
{
$data = '';
break;
$bisverwendung->getLastAktVerwendung($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 ((in_array($row_verwendung->ba1code, $arrEchterDV)) && $row_verwendung->inkludierte_lehre == -1)
{
$data = '';
break;
}
}
}
$return = true;
}
else
$data = $mitarbeiter->stundensatz;
$return = true;
}
else
{
$errormsg = 'Fehler beim Laden des Mitarbeitenden';
$return = false;
{
$errormsg = 'Fehler beim Laden des Mitarbeitenden';
$return = false;
}
}
}
else
{
$errormsg = 'MitarbeitendeUID muss uebergeben werden';
$errormsg = 'MitarbeitendeUID und Studiensemester muessen uebergeben werden';
$return = false;
}
}
@@ -1228,6 +1228,7 @@ function LeMitarbeiterLektorChange()
req.add('type', 'getstundensatz');
req.add('mitarbeiter_uid', mitarbeiter_uid);
req.add('studiensemester_kurzbz', getStudiensemester());
var response = req.executePOST();
@@ -1340,6 +1341,7 @@ function LeMitarbeiterAuswahl()
req_stundensatz.add('type', 'getstundensatz');
req_stundensatz.add('mitarbeiter_uid', mitarbeiter_uid);
req_stundensatz.add('studiensemester_kurzbz', getStudiensemester());
var response_stundensatz = req_stundensatz.executePOST();
+27 -10
View File
@@ -4614,27 +4614,44 @@ if(!$error)
}
elseif(isset($_POST['type']) && $_POST['type']=='getstundensatz')
{
if(isset($_POST['person_id']))
if(isset($_POST['person_id']) && isset($_POST['studiensemester_kurzbz']))
{
$qry = "SELECT stundensatz FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid)
WHERE person_id=".$db->db_add_param($_POST['person_id'], FHC_INTEGER);
if($result = $db->db_query($qry))
$studiensemester = new studiensemester();
if ($studiensemester->load($_POST['studiensemester_kurzbz']))
{
if($row = $db->db_fetch_object($result))
$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))
{
$data = $row->stundensatz;
$return = true;
if($row = $db->db_fetch_object($result))
{
$data = $row->stundensatz;
$return = true;
}
else
{
$data = '80.00';
$return = true;
}
}
else
{
$data = '80.00';
$return = true;
$return = false;
$errormsg = 'Unbekannter Fehler';
}
}
else
{
$return = false;
$errormsg = 'Unbekannter Fehler';
$errormsg = 'Fehler beim Laden des Studiensemesters';
}
}
}
@@ -1367,6 +1367,7 @@ function StudentProjektbetreuerLoadMitarbeiterDaten()
req.add('type', 'getstundensatz');
req.add('person_id', person_id);
req.add('studiensemester_kurzbz', getStudiensemester())
var response = req.executePOST();