91 lines
4.5 KiB
PHP
Executable File
91 lines
4.5 KiB
PHP
Executable File
<?php
|
|
require_once ("config.inc.php");
|
|
|
|
function func_LB_obergrenze($prozentsatz)
|
|
{
|
|
|
|
// Werte können unter dem Jahr gespeichert werden.
|
|
// Daher die erfassten werte übernehmen, 1 Jahr nach dem letzten Wert eine Steigerung um 2%
|
|
// Ab jedem neuen Jahr eine Steigerung von 2%
|
|
|
|
$db = dbconnect();
|
|
$result_truncate = $db->query("TRUNCATE TABLE prog_tmp_lb_obergrenze");
|
|
$query_minjahr = $db->query("SELECT min(jahr) jahr
|
|
FROM `prog_vergaberahmen`
|
|
");
|
|
|
|
$row_minjahr = $query_minjahr->fetch_array();
|
|
$start = new DateTime($row_minjahr['jahr'] . '-01-01');
|
|
$query_maxjahr = $db->query("SELECT date_format(max(date_sub(weggang, INTERVAL 1 MONTH)),'%Y-%m-28') enddat_form
|
|
FROM `prog_tmp_professor`
|
|
");
|
|
|
|
$row_maxjahr = $query_maxjahr->fetch_array();
|
|
$ende = $row_maxjahr['enddat_form'];
|
|
$end = date_create($ende, new DateTimeZone('GMT'));
|
|
foreach(new DatePeriod($start, new DateInterval('P1M') , $end) as $cur) {
|
|
$akt_mon = $cur->format('Y-m');
|
|
$mon = $cur->format('m');
|
|
|
|
// ab welchem Datum wird eine prozentuale erhöhung vorgenommen. Maximaler Zuschlag bis einschl. 2017 war C3 Stufe15 - W2
|
|
$result_proz = $db->query("SELECT date_format(max(startdat), '%Y-%m') proz_dat
|
|
FROM `prog_grundgehalt`
|
|
WHERE besoldung='C3'
|
|
");
|
|
$row_proz = $result_proz->fetch_array();
|
|
if ($row_proz['proz_dat'] >= $akt_mon) {
|
|
|
|
// An der Oberfläche werden Jahreswerte berechnet. Diese werden anteilig auf den Monat verteilt
|
|
|
|
$result_akt_wert_c3 = $db->query("SELECT gid, betrag C3
|
|
FROM prog_grundgehalt
|
|
WHERE date_format(startdat, '%Y-%m') <= '$akt_mon'
|
|
AND besoldung = 'C3'
|
|
AND stufe = '15'
|
|
ORDER BY startdat desc
|
|
LIMIT 1");
|
|
$row_akt_wert_c3 = $result_akt_wert_c3->fetch_array();
|
|
|
|
$result_akt_wert_w2 = $db->query("SELECT gid, betrag W2
|
|
FROM prog_grundgehalt
|
|
WHERE date_format(startdat, '%Y-%m') <= '$akt_mon'
|
|
AND besoldung = 'W2'
|
|
AND stufe = '0'
|
|
ORDER BY startdat desc
|
|
LIMIT 1");
|
|
$row_akt_wert_w2 = $result_akt_wert_w2->fetch_array();
|
|
|
|
$max_zulage = $row_akt_wert_c3['C3']-$row_akt_wert_w2['W2'];
|
|
|
|
$result_insert = $db->query("INSERT INTO prog_tmp_lb_obergrenze (gidc3, gidw2, ab_datum, w2, c3, max_zulage, art) VALUES ($row_akt_wert_c3[gid], $row_akt_wert_w2[gid],'" . $cur->format('Y-m-01') . "', '$row_akt_wert_w2[W2]', '$row_akt_wert_c3[C3]', '$max_zulage', 'B')");
|
|
$last_wert_w2 = $row_akt_wert_w2['W2'];
|
|
$last_wert_c3 = $row_akt_wert_c3['C3'];
|
|
}
|
|
else {
|
|
|
|
// 1 Jahr nach dem letzten wert soll der Wert um 2 Prozent erhöht werden für weitere 12 Monate usw.
|
|
// Fiktiver Wert: Nachdem 12 Monate vergangen sind, dann +2% sowie alle 12 Monate
|
|
// echo "";
|
|
|
|
if ($mon == '01') { //Erhöhung im Januar um 2 Prozent
|
|
$prozent_w2 = $last_wert_w2 * $prozentsatz / 100;
|
|
$last_wert_w2 = $last_wert_w2 + $prozent_w2;
|
|
$prozent_c3 = $last_wert_c3 * $prozentsatz / 100;
|
|
$last_wert_c3 = $last_wert_c3 + $prozent_c3;
|
|
$max_zulage = $last_wert_c3 - $last_wert_w2;
|
|
$result_insert = $db->query("INSERT INTO prog_tmp_lb_obergrenze (gidc3, gidw2, ab_datum, w2, c3, max_zulage, art) VALUES ($row_akt_wert_c3[gid], $row_akt_wert_w2[gid], '" . $cur->format('Y-m-01') . "', '$last_wert_w2', '$last_wert_c3', '$max_zulage', 'F')");
|
|
}
|
|
else {
|
|
$max_zulage = $last_wert_c3 - $last_wert_w2;
|
|
$result_insert = $db->query("INSERT INTO prog_tmp_lb_obergrenze (gidc3, gidw2, ab_datum, w2, c3, max_zulage, art) VALUES ($row_akt_wert_c3[gid], $row_akt_wert_w2[gid], '" . $cur->format('Y-m-01') . "', '$last_wert_w2', '$last_wert_c3', '$max_zulage', 'F')");
|
|
}
|
|
}
|
|
|
|
// echo "INSERT INTO prog_tmp_lb_lz (lblzid, monat, did, wert) VALUES ($row[lblzid], '".$cur->format('Y-m-01')."', $row[did], $row[wert])<br />";
|
|
|
|
}
|
|
}
|
|
|
|
// func_LB_obergrenze(2);
|
|
|
|
?>
|