deputat/#func_lvs_teilzeit.php
2023-04-25 13:25:59 +02:00

64 lines
2.2 KiB
PHP
Executable File

<?php
## Funktion berechnet die Lehrveranstaltungsstunden des Dozenten auf das Jahr
Funktion wurde abgelöst durch func_jahrsabschluss_erm.php
## Funktion muss überarbeitet werden, da Ausgangspunkt nicht mehr 594 LVS pauschal sind, sondern erst in Rangfolge 2 (sort_order) kommt.
function lvs_teilzeit($imtuid, $jahrgang){
require("config.inc.php");
$jahrgang2 = $jahrgang+1;
$db = dbconnect();
$lvs = "";
$start = new DateTime($jahrgang . '-09-01');
$ende = $jahrgang2.'-08-31';
$end = date_create($ende, new DateTimeZone('GMT'));
# Sind Einträge vorhanden
$query_vorh = $db->query("SELECT count(*) Anz
FROM dep_deputat_ermaessigung
WHERE jahr = '$jahrgang'
AND imtuid = $uid
AND art = 'Teilzeit'");
$row_vorh = $query_vorh->fetch_array();
# Was ist die Standard LVS
$query_baselvs = $db->query("SELECT lvs
FROM dep_kat_lvs
WHERE jahr <=$jahrgang
ORDER BY jahr desc
LIMIT 1");
$row_baselvs = $query_baselvs->fetch_array();
$baselvs = $row_baselvs['lvs'];
if($row_vorh['Anz'] > 0){
foreach (new DatePeriod($start, new DateInterval('P1M'), $end) as $cur) {
# Schleife läuft alle Monate des Studienjahrs durch und prüft monatliche Teilzeit
$akt_mon = $cur->format('Y-m');
$result_umf = $db->query("SELECT prozent
FROM dep_deputat_ermaessigung
WHERE date_format(beginn, '%Y-%m') <= '$akt_mon'
AND imtuid = $imtuid
AND art = 'Teilzeit'
ORDER BY beginn desc
LIMIT 1
");
$row_umf = $result_umf->fetch_array();
$lvs_ber = $baselvs/12*$row_umf['prozent'];
$lvs = $lvs+$lvs_ber;
echo "$akt_mon -> $row_umf[prozent] -> $lvs<br>";
}
}else{
# Keine Teilzeit
$lvs = $baselvs;
}
return $lvs;
}
echo lvs_teilzeit(1,2019);
?>