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ä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(); ?>