127 lines
6.1 KiB
PHP
Executable File
127 lines
6.1 KiB
PHP
Executable File
<?php
|
||
require_once("config.inc.php");
|
||
|
||
function func_doz_nachbes()
|
||
{
|
||
// Berechnung der Leistungszulagen BZ in die Zukunft sowie die fiktiven Zulagen.
|
||
|
||
$db = dbconnect();
|
||
$result_truncate = $db->query("TRUNCATE TABLE prog_tmp_professor");
|
||
$result_truncate = $db->query("TRUNCATE TABLE prog_tmp_professor_besoldung");
|
||
$result_truncate = $db->query("TRUNCATE TABLE prog_tmp_professor_arbumfang");
|
||
|
||
|
||
// Teil 1: Vorhandene Profs in Temp schreiben, auch die im Ruhestand
|
||
$query = "SELECT did, doz_titel, doz_vorname, doz_name, geb_dat, zugang, weggang, nachbesetzung, anz_zulagen
|
||
FROM prog_professor
|
||
ORDER BY doz_name ASC, doz_vorname ASC";
|
||
$result = $db->query($query) or die("Cannot execute query");
|
||
while ($row = $result->fetch_array()) {
|
||
// Wenn kein Enddatum vorhanden ist, dann wird das Auschscheidedatum/Ruhestandsdatum verwendet
|
||
$result_insert = $db->query("INSERT INTO prog_tmp_professor (did, doz_titel, doz_vorname, doz_name, geb_dat, zugang, weggang, anz_zulagen, art)
|
||
VALUES
|
||
('$row[did]', '$row[doz_titel]', '$row[doz_vorname]', '$row[doz_name]', '$row[geb_dat]', '$row[zugang]', '$row[weggang]', '$row[anz_zulagen]', 'B')");
|
||
}
|
||
|
||
|
||
# Ausbaustufe 3: Besoldung der Professoren extra schreiben
|
||
$query = "SELECT pbid, startdat, did, besoldung, stufe, bzid
|
||
FROM prog_professor_besoldung
|
||
ORDER BY startdat ASC";
|
||
$result = $db->query($query) or die("Cannot execute query");
|
||
while ($row = $result->fetch_array()) {
|
||
$result_insert = $db->query("INSERT INTO prog_tmp_professor_besoldung (pbid, startdat, did, besoldung, stufe, bzid,art)
|
||
VALUES
|
||
('$row[pbid]', '$row[startdat]', '$row[did]', '$row[besoldung]', '$row[stufe]', '$row[bzid]', 'B')");
|
||
}
|
||
|
||
|
||
# Ausbaustufe 3: Arbeitsumfang der Professoren extra schreiben
|
||
$query = "SELECT pad, startdat, did, prozent
|
||
FROM prog_professor_arbumfang
|
||
ORDER BY startdat ASC";
|
||
$result = $db->query($query) or die("Cannot execute query");
|
||
while ($row = $result->fetch_array()) {
|
||
|
||
|
||
$result_insert = $db->query("INSERT INTO prog_tmp_professor_arbumfang (pad, startdat, did, prozent, art)
|
||
VALUES
|
||
('$row[pad]', '$row[startdat]', '$row[did]', '$row[prozent]', 'B')");
|
||
}
|
||
|
||
|
||
// Teil 2: Fiktive Profs in Temp schreiben. Fiktive Nachfolge von Ruhestandsprofessoren
|
||
|
||
|
||
$query = "SELECT did, doz_titel, doz_vorname, doz_name, geb_dat, zugang, weggang, nachbesetzung, anz_zulagen
|
||
FROM prog_professor
|
||
WHERE nachbesetzung != '0000-00-00'
|
||
ORDER BY doz_name ASC, doz_vorname ASC";
|
||
$result = $db->query($query) or die("Cannot execute query");
|
||
while ($row = $result->fetch_array()) {
|
||
// Wenn kein Enddatum vorhanden ist, dann wird das Auschscheidedatum/Ruhestandsdatum verwendet
|
||
|
||
# F<>r fiktive Nachbesetzung muss man wissen, wann der letzte regul<75>re Prof in Ruhestand geht. Bis dahin laufen auch die fiktiven Professoren
|
||
$result_weggang = $db->query("SELECT max(weggang) enddat_form
|
||
FROM prog_professor
|
||
");
|
||
$row_weggang = $result_weggang->fetch_array();
|
||
$ende = $row_weggang['enddat_form'];
|
||
$doz_vorname = "$row[doz_vorname]";
|
||
$doz_nachname = "NACHFOLGER " . "$row[doz_name]";
|
||
$result_insert = $db->query("INSERT INTO prog_tmp_professor (doz_titel, doz_vorname, doz_name, geb_dat, zugang, weggang, nachbes_did, anz_zulagen, art)
|
||
VALUES
|
||
('', '$doz_vorname', '$doz_nachname', '', '$row[nachbesetzung]', '$ende', $row[did], '7', 'F')");
|
||
$did = $db->insert_id;
|
||
$result_update = $db->query("UPDATE prog_tmp_professor
|
||
SET did=$did
|
||
WHERE tdid=$did
|
||
");
|
||
}
|
||
|
||
# Ausbaustufe 3: Besoldung in eigene Tabelle schreiben
|
||
$query = "SELECT zugang, did
|
||
FROM prog_tmp_professor
|
||
WHERE art='F'
|
||
ORDER BY zugang ASC";
|
||
$result = $db->query($query) or die("Cannot execute query");
|
||
$pbid = 1000;
|
||
while ($row = $result->fetch_array()) {
|
||
$result_insert = $db->query("INSERT INTO prog_tmp_professor_besoldung (pbid, startdat, did, besoldung, stufe, bzid, art)
|
||
VALUES
|
||
('$pbid', '$row[zugang]', '$row[did]', 'W2', '0', 1, 'F')");
|
||
$pbid++;
|
||
}
|
||
|
||
# Ausbaustufe 3: Arbeitsumfang der Professoren extra schreiben
|
||
$query = "SELECT zugang, did, nachbes_did
|
||
FROM prog_tmp_professor
|
||
WHERE art='F'
|
||
ORDER BY zugang ASC";
|
||
$result = $db->query($query) or die("Cannot execute query");
|
||
$pad = 1000;
|
||
while ($row = $result->fetch_array()) {
|
||
|
||
# Aktuell wird der letzte Wert des Arbeitsumfangs verwendet, den der reale Professor hatte. Der wird an den fiktiven Professor weitergegeben.#
|
||
# Kann aber sein, dass die Hochschule immer 100% m<>chte bei einer Nachbesetzung.
|
||
# Mail an Dunkel/Gottwald am 27.12.2017
|
||
# $result_lastumf = $db->query("SELECT prozent
|
||
# FROM prog_professor_arbumfang
|
||
# WHERE did = $row[nachbes_did]
|
||
# ORDER BY startdat DESC
|
||
# LIMIT 1");
|
||
# $row_lastumf = $result_lastumf->fetch_array();
|
||
# $umfang = $row_lastumf[prozent];
|
||
# --> Antwort Frau Gottwald. Es wird der Nachfolger mit 1.00 angenommen
|
||
$umfang = 1;
|
||
|
||
$result_insert = $db->query("INSERT INTO prog_tmp_professor_arbumfang (pad, startdat, did, prozent, art)
|
||
VALUES
|
||
('$pad', '$row[zugang]', '$row[did]', '$umfang', 'F')");
|
||
$pad++;
|
||
}
|
||
|
||
} // Ende Funktion
|
||
|
||
#func_doz_nachbes();
|
||
?>
|