133 lines
3.9 KiB
PHP
Executable File
133 lines
3.9 KiB
PHP
Executable File
<?php
|
||
session_start();
|
||
#if(isset($_POST['get_option'])){
|
||
$jahrgang = $_SESSION["jahrgang"];
|
||
$jahrgang2 = $jahrgang+1;
|
||
|
||
require_once("config/datenbankanbindung.php"); // fügt die Datenbankanbindung ein: Sys:\php\includes\kurs\datenbankanbindung.php
|
||
require_once("func_timediff.php"); // Funktionen für die Berechnung der Differenz der Tage
|
||
|
||
|
||
$std = str_replace(',','.',str_replace('.','', $_POST['get_option']));
|
||
$beginn_funktion = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['get_beginn_funktion']);
|
||
$ende_funktion = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $_POST['get_ende_funktion']);
|
||
if($std == ''){
|
||
$std = 0;
|
||
}
|
||
|
||
|
||
/*
|
||
$std = 2;
|
||
$beginn_funktion = '2017-07-01';
|
||
$ende_funktion = '2022-09-30';
|
||
*/
|
||
|
||
$dat_min = strtotime($jahrgang."-09-01");
|
||
$dat_max = strtotime($jahrgang2."-08-31");
|
||
$dat_beginn = strtotime($beginn_funktion);
|
||
$dat_ende = strtotime($ende_funktion);
|
||
if($dat_beginn <= $dat_min or $beginn_funktion == ''){
|
||
$beginn_funktion = $jahrgang."-09-01";
|
||
}
|
||
if($dat_ende >= $dat_max or $ende_funktion == ''){
|
||
$ende_funktion = $jahrgang2."-08-31";
|
||
}
|
||
$year_start = substr($beginn_funktion,0,4);
|
||
$mon_start = substr($beginn_funktion,5,2);
|
||
$day_start = substr($beginn_funktion,8,2);
|
||
|
||
$year_ende = substr($ende_funktion,0,4);
|
||
$mon_ende = substr($ende_funktion,5,2);
|
||
$day_ende = substr($ende_funktion,8,2);
|
||
|
||
|
||
/*Grundsätzlich beginnen die Beauftragungen / Funktionen an der Hochschule zum Monatsersten und enden am Monatsletzten.
|
||
Aber: ich kann auch nicht mit 100%iger Sicherheit sagen, dass dies immer so ist. Daher sollten wir zur Sicherheit mit Tagen rechnen.
|
||
Im Beispiel unten: Beauftragung vom 1.10.2019 – 30.09.2022. Für das Studienjahr 2019/20 bedeutet dies, dass er für 335 von 365 Tagen die Ermäßigung erhält.
|
||
Das sind 60,57 LVS Ermäßigung. Hatten wir hier uns schon auf eine Rundung festgelegt? Falls nicht, würde ich auf 2 Stellen nach dem Komma runden, dann wäre die Ermäßigung (nach Rundung) 60,58 LVS.
|
||
*/
|
||
|
||
# Wie viele Tage hat das Schuljahr 365 bzw 366 Tage
|
||
$start = $jahrgang."-09-01";
|
||
$ende = $jahrgang2."-08-31";
|
||
$jahr_tage = tage($start, $ende);
|
||
|
||
# Wie viele Tage wurde die Funktion ausgeübt
|
||
$funk_tage = tage($beginn_funktion, $ende_funktion);
|
||
|
||
|
||
# func_timediff.php
|
||
# Je nach vorgehensweise. Werden die Anzahl der Tage im Jahr zugrunde gerlegt (tage()) 300/365
|
||
# oder die Anzahl der Monate (datediff_ymd()) 11/12
|
||
|
||
# $module = $_COOKIE["modulid"];
|
||
|
||
$db = dbconnect();
|
||
$query_sw = $db->query("SELECT sw
|
||
FROM dep_kat_lvs
|
||
WHERE jahr <=$jahrgang
|
||
ORDER BY jahr desc
|
||
LIMIT 1");
|
||
$row_sw = $query_sw->fetch_array();
|
||
$sw = $row_sw['sw'];
|
||
# Die 33 sind Semesterwochen aus dep_kat_lvs
|
||
|
||
|
||
|
||
# Bsp Beauftragung ging 11 Monate
|
||
$ausgabe = round($std*$sw*$funk_tage/$jahr_tage,2);
|
||
$start2 = mktime(0, 0, 0, $mon_start, $day_start, $year_start);
|
||
$ende2 = mktime(0, 0, 0, $mon_ende, $day_ende, $year_ende);
|
||
$ende2_form = mktime(0, 0, 0, $mon_ende, $day_ende, $year_ende);
|
||
echo "<b>Berechnung:</b>
|
||
<table>
|
||
<tr>
|
||
<td>
|
||
Funktionsbeginn:
|
||
</td>
|
||
<td>"
|
||
.date("d.m.Y", $start2)."
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
Funktionsende:
|
||
</td>
|
||
<td>"
|
||
.date("d.m.Y",$ende2_form)."
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
Funktionstage:
|
||
</td>
|
||
<td>"
|
||
.$funk_tage."
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
Rechenweg:
|
||
</td>
|
||
<td>"
|
||
.number_format($std, 2, ',', '.')." x $sw x $funk_tage / $jahr_tage
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>
|
||
LVS:
|
||
</td>
|
||
<td>"
|
||
.number_format($ausgabe, 2, ',', '.')."
|
||
</td>
|
||
</tr>
|
||
</table>"."||".$ausgabe;
|
||
|
||
#echo "Rechenweg: $std*$sw*$funk_tage/$jahr_tage<br>LVS: $ausgabe||$ausgabe";
|
||
|
||
exit;
|
||
#}
|
||
?>
|
||
|