first commit
This commit is contained in:
127
func_doz_nachbes.php
Executable file
127
func_doz_nachbes.php
Executable file
@ -0,0 +1,127 @@
|
||||
<?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();
|
||||
?>
|
Reference in New Issue
Block a user