conn = $conn; $qry = "SET CLIENT_ENCODING TO 'UNICODE';"; if(!pg_query($conn,$qry)) { $this->errormsg = "Encoding konnte nicht gesetzt werden"; return false; } //Mitarbeiter laden if($person_id!=null) $this->load($person_id); } /** * ueberprueft die Variablen auf Gueltigkeit * @return true wenn gueltig, false im Fehlerfall */ function checkvars() { //Hochkomma herausfiltern $this->persnr = str_replace("'","`", $this->persnr); $this->kurzbez = str_replace("'","`", $this->kurzbez); //Maximallaenge pruefen $this->errormsg='Die Maximallaenge eines Feldes wurde ueberschritten'; if(strlen($this->persnr)>20) { $this->errormsg='PersonalNr darf nicht länger als 20 Zeichen sein'; return false; } if(strlen($this->kurzbez)>10) { $this->errormsg="Kurzbezeichnung darf nicht länger als 10 Zeichen sein:".strlen($this->kurzbez); return false; } //Zahlenwerte ueberpruefen $this->errormsg='Ein Zahlenfeld enthaelt ungueltige Zeichen'; //if(!is_numeric($this->qualifikation)) return false; //if(!is_numeric($this->hauptberuf)) return false; if(!is_numeric($this->stundensatz) && $this->stundensatz!='') { $this->errormsg='Stundensatz muss eine gueltige Zahl sein'; return false; } if(!is_numeric($this->ausbildung) && $this->ausbildung!='') { $this->errormsg='ausbildung muss eine gueltige Zahl sein'; return false; } /*if(!is_numeric($this->semesterwochenstunden)) { $this->errormsg='SWS muss eine gueltige Zahl sein'; return false; }*/ if($this->kurzbz_exists($this->kurzbez, $this->mitarbeiter_id)) { $this->errormsg = 'Diese Kurzbezeichnung wird bereits verwendet'; return false; } $this->errormsg = ''; return true; } /** * Speichert die Mitarbeiterdaten in die Datenbank * @return true wenn ok, false im Fehlerfall */ function save() { //Variablen checken if(!$this->checkvars()) return false; pg_query($this->conn,"Begin;"); //Basisdaten speichern if(!person::save()) { pg_query($this->conn,"Rollback;"); return false; } if($this->new) { //Neuen Datensatz einfuegen //naechste ID aus Sequence auslesen $qry = "SELECT nextval('mitarbeiter_seq') as id;"; if(!$row = pg_fetch_object(pg_query($this->conn,$qry))) { $this->errormsg = 'Fehler beim auslesen der Sequence'; return false; } $this->mitarbeiter_id = $row->id; $qry = "INSERT INTO mitarbeiter (mitarbeiter_pk, beginndatum, akadgrad, habilitation,". //" mitgliedentwicklungsteam,". //" qualifikation, hauptberuflich, hauptberuf, semesterwochenstunden,". " creationdate, creationuser, persnr,". " person_fk, beendigungsdatum, ausgeschieden, kurzbez, stundensatz, ausbildung, aktiv) VALUES (". " '$this->mitarbeiter_id',". (strlen($this->beginndatum)>0?"'$this->beginndatum'":"NULL") .", '".($this->akadgrad?'J':'N')."',". " '".($this->habilitation?'J':'N')."', ". //"'".($this->mitgliedentwicklungsteam?'J':'N')."',". //" '$this->qualifikation', '".($this->hauptberuflich?'J':'N')."', '$this->hauptberuf', '$this->semesterwochenstunden',". " now(),". " '$this->updatevon', '$this->persnr', '$this->person_id',". (strlen($this->beendigungsdatum)>0?"'$this->beendigungsdatum'":"null").",". " '".($this->ausgeschieden?'J':'N')."',". (strlen($this->kurzbez)>0?"'$this->kurzbez'":"null").", '$this->stundensatz',". ($this->ausbildung!=''?"'$this->ausbildung'":'null').",'$this->aktiv');"; } else { //Bestehenden Datensatz ueberschreiben //mitarbeiter_id auf Gueltigkeit pruefen if(!is_numeric($this->mitarbeiter_id)) { $this->errormsg = 'mitarbeiter_id muss eine gueltige Zahl sein'; return false; } $qry = "UPDATE mitarbeiter SET". " beginndatum=".($this->beginndatum!=''?"'$this->beginndatum'":'null').",". " akadgrad='".($this->akadgrad?'J':'N')."',". " habilitation='".($this->habilitation?'J':'N')."',". //" mitgliedentwicklungsteam='".($this->mitgliedentwicklungsteam?'J':'N')."',". //" qualifikation='$this->qualifikation', hauptberuflich='".($this->hauptberuflich?'J':'N')."',". //" hauptberuf='$this->hauptberuf', semesterwochenstunden='$this->semesterwochenstunden',". " persnr=".($this->persnr!=''?"'$this->persnr'":'null').",". " person_fk='$this->person_id',". " beendigungsdatum=".($this->beendigungsdatum!=''?"'$this->beendigungsdatum'":'null').",". " ausgeschieden='".($this->ausgeschieden?'J':'N')."',". " kurzbez=".($this->kurzbez!=''?"'$this->kurzbez'":'null').",". " stundensatz=".($this->stundensatz!=''?"'$this->stundensatz'":'null').",". " ausbildung=".($this->ausbildung!=''?"'$this->ausbildung'":'null').",". " aktiv='$this->aktiv'". " WHERE mitarbeiter_pk=$this->mitarbeiter_id;"; } if(pg_query($this->conn,$qry)) { //Wenn nicht ausgeschieden dann den Status neu setzen //Da sonst beim ruecksetzen des Hakerls ausgeschieden der status bleibt if(!$this->ausgeschieden) { if(!person::updateaktstatus($this->person_id)) { pg_query($this->conn,"Rollback;"); return false; } } else { if(!person::setaktstatus(150,$this->person_id)) { pg_query($this->conn,"Rollback;"); return false; } } pg_query($this->conn,"Commit;"); //Log schreiben $sql = $qry; $qry = "SELECT nextval('log_seq') as id;"; if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) { $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; return false; } $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; if(pg_query($this->conn, $qry)) return true; else { $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; return false; } } else { pg_query($this->conn,"Rollback;"); $this->errormsg = 'Fehler beim Speichern des Mitarbeiter-Datensatzes'; return false; } } /** * Ladet die Daten aus der Datenbank * @param $fix wenn 'true' Fixangestellte laden * wenn 'false' Freie MA laden * $stgl wenn 'true' Studiengangsleiter laden * $fbl wenn 'true' Fachbereichsleiter laden * $aktiv wenn 'true' Aktive MA laden * $karrenziert wenn 'true' Karenzierte laden * $ausgesch wenn 'true' Ausgeschiedene laden * @return true wenn ok, false im Fehlerfall */ function getMitarbeiter($mitarbeiter_id='', $fix='', $stgl='', $fbl='', $aktiv='', $karenziert='', $ausgesch='', $adresse=false, $studiensemester_id='') { $qry = "SELECT * FROM (mitarbeiter JOIN person ON (person_pk=mitarbeiter.person_fk))"; if($adresse) $qry .= " LEFT JOIN adresse on(person_pk=adresse.person_fk)"; $qry .= " WHERE true"; if($mitarbeiter_id!='') if(is_numeric($mitarbeiter_id)) $qry .= " AND mitarbeiter_pk = $mitarbeiter_id"; else { $this->errormsg = "mitarbeiter_id muss eine gueltige Zahl sein"; return false; } if($studiensemester_id=='') { $query = "Select studiensemester_pk FROM studiensemester WHERE aktuell='J'"; if($row = pg_fetch_object(pg_query($this->conn, $query))) $studiensemester_id = $row->studiensemester_pk; } if($fix=='true') // Alle Fixangestellten $qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.beschart1=3 AND funktion.studiensemester_fk='$studiensemester_id')"; if($fix=='false') // Freie Mitarbeiter $qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.beschart1=4 AND funktion.studiensemester_fk='$studiensemester_id')"; if($stgl=='true') //Alle Studiengangsleiter $qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.funktion=5 AND funktion.studiensemester_fk='$studiensemester_id')"; if($fbl=='true') //Alle Fachbereichsleiter $qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.funktion=6 AND funktion.studiensemester_fk='$studiensemester_id')"; if($aktiv=='true') //Alle aktiven $qry .= " AND aktiv=true"; if($karenziert=='true') //Alle Karenzierten $qry .= " AND mitarbeiter_pk IN(SELECT distinct funktion.mitarbeiter_fk FROM funktion WHERE funktion.ausmass=5 AND funktion.studiensemester_fk='$studiensemester_id')"; if($ausgesch=='true') // Alle Ausgeschiedenen $qry .= " AND beendigungsdatum is not null"; $qry .= " ORDER BY familienname"; if(!$res = pg_query($this->conn,$qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } while($row = pg_fetch_object($res)) { $mitarb = new mitarbeiter($this->conn); //Personendaten $mitarb->person_id = $row->person_pk; $mitarb->familienname = $row->familienname; $mitarb->angelegtam = $row->angelegtam; $mitarb->vorname = $row->vorname; $mitarb->anrede = $row->anrede; $mitarb->vornamen = $row->vornamen; $mitarb->geschlecht = $row->geschlecht; $mitarb->gebdat = $row->gebdat; $mitarb->gebort = $row->gebort; $mitarb->staatsbuergerschaft = $row->staatsbuergerschaft; $mitarb->familienstand = $row->familienstand; $mitarb->familienstand_bezeichnung = $this->getFamilienstandBezeichnung($row->familienstand); $mitarb->svnr = $row->svnr; $mitarb->anzahlderkinder = $row->anzahlderkinder; $mitarb->ersatzkennzeichen = $row->ersatzkennzeichen; $mitarb->bemerkung = $row->bemerkung; $mitarb->aktstatus = $row->aktstatus; $mitarb->aktstatus_bezeichnung = $this->getAktstatusBezeichnung($row->aktstatus); $mitarb->bismelden = ($row->bismelden=='J'?true:false); $mitarb->bismelden_bezeichnung = ($row->bismelden=='J'?'Ja':'Nein'); $mitarb->titelpre = $row->titel; $mitarb->titelpost = $row->postnomentitel; $mitarb->uid = $row->uid; $mitarb->gebnation = $row->gebnation; //Mitarbeiterdaten $mitarb->mitarbeiter_id = $row->mitarbeiter_pk; $mitarb->beginndatum = $row->beginndatum; $mitarb->akadgrad = ($row->akadgrad=='J'?true:false); $mitarb->akadgrad_bezeichnung = ($row->akadgrad=='J'?'Ja':'Nein'); $mitarb->habilitation = ($row->habilitation=='J'?true:false); $mitarb->habilitation_bezeichnung = ($row->habilitation=='J'?'Ja':'Nein'); $mitarb->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false); $mitarb->qualifikation = $row->qualifikation; $mitarb->hauptberuflich = ($row->hauptberuflich=='J'?true:false); $mitarb->hauptberuf = $row->hauptberuf; $mitarb->updateamum = $row->creationdate; $mitarb->updatevon = $row->creationuser; $mitarb->semesterwochenstunden = $row->semesterwochenstunden; $mitarb->persnr = $row->persnr; $mitarb->beendigungsdatum = $row->beendigungsdatum; $mitarb->ausgeschieden = ($row->ausgeschieden=='J'?true:false); $mitarb->ausgeschieden_bezeichnung = ($row->ausgeschieden=='J'?'Ja':'Nein'); $mitarb->kurzbez = $row->kurzbez; $mitarb->stundensatz = $row->stundensatz; $mitarb->ausbildung = $row->ausbildung; $mitarb->ausbildung_bezeichnung = $this->getAusbildungBezeichnung($row->ausbildung); $mitarb->aktiv = ($row->aktiv=='t'?true:false); $mitarb->aktiv_bezeichnung = ($row->aktiv=='t'?'Ja':'Nein'); if($adresse) { $mitarb->zustelladresse_plz = $row->plz; $mitarb->zustelladresse_strasse = $row->strasse; $mitarb->zustelladresse_ort = $row->ort; } $this->result[] = $mitarb; } return true; } /** * Liefert alle Mitarbeiter * @return true wenn ok, false im Fehlerfall */ function getAll() { $qry = "Select person_pk, familienname, angelegtam, vorname, anrede, vornamen, geschlecht, gebdat, gebort, staatsbuergerschaft, ". "familienstand, svnr, anzahlderkinder, ersatzkennzeichen, bemerkung, aktstatus, bismelden, titel, postnomentitel, uid, gebnation, ". "mitarbeiter_pk, beginndatum, akadgrad, habilitation, mitgliedentwicklungsteam, qualifikation, hauptberuflich, hauptberuf, ". "mitarbeiter.creationdate, mitarbeiter.creationuser, semesterwochenstunden, persnr, beendigungsdatum, ausgeschieden, ". "kurzbez, stundensatz, ausbildung, aktiv FROM mitarbeiter JOIN person ON(person_pk=person_fk)"; if(!$res = pg_query($this->conn,$qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } while($row = pg_fetch_object($res)) { $mitarb = new mitarbeiter($this->conn); //Personendaten $mitarb->person_id = $row->person_pk; $mitarb->familienname = $row->familienname; $mitarb->angelegtam = $row->angelegtam; $mitarb->vorname = $row->vorname; $mitarb->anrede = $row->anrede; $mitarb->vornamen = $row->vornamen; $mitarb->geschlecht = $row->geschlecht; $mitarb->gebdat = $row->gebdat; $mitarb->gebort = $row->gebort; $mitarb->staatsbuergerschaft = $row->staatsbuergerschaft; $mitarb->familienstand = $row->familienstand; $mitarb->svnr = $row->svnr; $mitarb->anzahlderkinder = $row->anzahlderkinder; $mitarb->ersatzkennzeichen = $row->ersatzkennzeichen; $mitarb->bemerkung = $row->bemerkung; $mitarb->aktstatus = $row->aktstatus; $mitarb->bismelden = ($row->bismelden=='J'?true:false); $mitarb->titelpre = $row->titel; $mitarb->titelpost = $row->postnomentitel; $mitarb->uid = $row->uid; $mitarb->gebnation = $row->gebnation; //Mitarbeiterdaten $mitarb->mitarbeiter_id = $row->mitarbeiter_pk; $mitarb->beginndatum = $row->beginndatum; $mitarb->akadgrad = ($row->akadgrad=='J'?true:false); $mitarb->habilitation = ($row->habilitation=='J'?true:false); $mitarb->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false); $mitarb->qualifikation = $row->qualifikation; $mitarb->hauptberuflich = ($row->hauptberuflich=='J'?true:false); $mitarb->hauptberuf = $row->hauptberuf; $mitarb->updateamum = $row->creationdate; $mitarb->updatevon = $row->creationuser; $mitarb->semesterwochenstunden = $row->semesterwochenstunden; $mitarb->persnr = $row->persnr; $mitarb->beendigungsdatum = $row->beendigungsdatum; $mitarb->ausgeschieden = ($row->ausgeschieden=='J'?true:false); $mitarb->kurzbez = $row->kurzbez; $mitarb->stundensatz = $row->stundensatz; $mitarb->ausbildung = $row->ausbildung; $mitarb->aktiv = ($row->aktiv=='t'?true:false); $this->result[] = $mitarb; } return true; } /** * Laedt die Mitarbeiterdaten der uebergebenen ID * @param $person_id ID der Person die geladen werden soll * @return true wenn ok, false im Fehlerfall */ function load($person_id) { //person_id auf Gueltigkeit pruefen if(!is_numeric($person_id) || $person_id=='') { $this->errormsg = 'Person_id muss eine Zahl sein'; return false; } $qry = "SELECT person_pk, familienname, angelegtam, vorname, anrede, vornamen, geschlecht, gebdat, gebort, staatsbuergerschaft, ". "familienstand, svnr, anzahlderkinder, ersatzkennzeichen, bemerkung, aktstatus, bismelden, titel, postnomentitel, uid, gebnation, ". "mitarbeiter_pk, beginndatum, akadgrad, habilitation, mitgliedentwicklungsteam, qualifikation, hauptberuflich, hauptberuf, ". "mitarbeiter.creationdate, mitarbeiter.creationuser, semesterwochenstunden, persnr, beendigungsdatum, ausgeschieden, ". "kurzbez, stundensatz, ausbildung, aktiv FROM mitarbeiter JOIN person ON(person_pk=person_fk) where person_pk=$person_id"; if(!$res = pg_query($this->conn,$qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } if($row = pg_fetch_object($res)) { //Personendaten $this->person_id = $row->person_pk; $this->familienname = $row->familienname; $this->angelegtam = $row->angelegtam; $this->vorname = $row->vorname; $this->anrede = $row->anrede; $this->vornamen = $row->vornamen; $this->geschlecht = $row->geschlecht; $this->gebdat = $row->gebdat; $this->gebort = $row->gebort; $this->staatsbuergerschaft = $row->staatsbuergerschaft; $this->familienstand = $row->familienstand; $this->svnr = $row->svnr; $this->anzahlderkinder = $row->anzahlderkinder; $this->ersatzkennzeichen = $row->ersatzkennzeichen; $this->bemerkung = $row->bemerkung; $this->aktstatus = $row->aktstatus; $this->bismelden = ($row->bismelden=='J'?true:false); $this->titelpre = $row->titel; $this->titelpost = $row->postnomentitel; $this->uid = $row->uid; $this->gebnation = $row->gebnation; //Mitarbeiterdaten $this->mitarbeiter_id = $row->mitarbeiter_pk; $this->beginndatum = $row->beginndatum; $this->akadgrad = ($row->akadgrad=='J'?true:false); $this->habilitation = ($row->habilitation=='J'?true:false); $this->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false); $this->qualifikation = $row->qualifikation; $this->hauptberuflich = ($row->hauptberuflich=='J'?true:false); $this->hauptberuf = $row->hauptberuf; $this->updateamum = $row->creationdate; $this->updatevon = $row->creationuser; $this->semesterwochenstunden = $row->semesterwochenstunden; $this->persnr = $row->persnr; $this->beendigungsdatum = $row->beendigungsdatum; $this->ausgeschieden = ($row->ausgeschieden=='J'?true:false); $this->kurzbez = $row->kurzbez; $this->stundensatz = $row->stundensatz; $this->ausbildung = $row->ausbildung; $this->aktiv = ($row->aktiv=='t'?true:false); } else { $this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden'; return false; } return true; } /** * Laedt die Mitarbeiterdaten der uebergebenen ID * @param $mitarbeiter_id ID der Person die geladen werden soll * @return true wenn ok, false im Fehlerfall */ function load_mitarbeiter($mitarbeiter_id) { //person_id auf Gueltigkeit pruefen if(!is_numeric($mitarbeiter_id) || $mitarbeiter_id=='') { $this->errormsg = 'Person_id muss eine Zahl sein'; return false; } $qry = "SELECT person_pk, familienname, angelegtam, vorname, anrede, vornamen, geschlecht, gebdat, gebort, staatsbuergerschaft, ". "familienstand, svnr, anzahlderkinder, ersatzkennzeichen, bemerkung, aktstatus, bismelden, titel, postnomentitel, uid, gebnation, ". "mitarbeiter_pk, beginndatum, akadgrad, habilitation, mitgliedentwicklungsteam, qualifikation, hauptberuflich, hauptberuf, ". "mitarbeiter.creationdate, mitarbeiter.creationuser, semesterwochenstunden, persnr, beendigungsdatum, ausgeschieden, ". "kurzbez, stundensatz, ausbildung, aktiv FROM mitarbeiter JOIN person ON(person_pk=person_fk) where mitarbeiter_pk=$mitarbeiter_id"; if(!$res = pg_query($this->conn,$qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; } if($row = pg_fetch_object($res)) { //Personendaten $this->person_id = $row->person_pk; $this->familienname = $row->familienname; $this->angelegtam = $row->angelegtam; $this->vorname = $row->vorname; $this->anrede = $row->anrede; $this->vornamen = $row->vornamen; $this->geschlecht = $row->geschlecht; $this->gebdat = $row->gebdat; $this->gebort = $row->gebort; $this->staatsbuergerschaft = $row->staatsbuergerschaft; $this->familienstand = $row->familienstand; $this->svnr = $row->svnr; $this->anzahlderkinder = $row->anzahlderkinder; $this->ersatzkennzeichen = $row->ersatzkennzeichen; $this->bemerkung = $row->bemerkung; $this->aktstatus = $row->aktstatus; $this->bismelden = ($row->bismelden=='J'?true:false); $this->titelpre = $row->titel; $this->titelpost = $row->postnomentitel; $this->uid = $row->uid; $this->gebnation = $row->gebnation; //Mitarbeiterdaten $this->mitarbeiter_id = $row->mitarbeiter_pk; $this->beginndatum = $row->beginndatum; $this->akadgrad = ($row->akadgrad=='J'?true:false); $this->habilitation = ($row->habilitation=='J'?true:false); $this->mitgliedentwicklungsteam = ($row->mitgliedentwicklungsteam=='J'?true:false); $this->qualifikation = $row->qualifikation; $this->hauptberuflich = ($row->hauptberuflich=='J'?true:false); $this->hauptberuf = $row->hauptberuf; $this->updateamum = $row->creationdate; $this->updatevon = $row->creationuser; $this->semesterwochenstunden = $row->semesterwochenstunden; $this->persnr = $row->persnr; $this->beendigungsdatum = $row->beendigungsdatum; $this->ausgeschieden = ($row->ausgeschieden=='J'?true:false); $this->kurzbez = $row->kurzbez; $this->stundensatz = $row->stundensatz; $this->ausbildung = $row->ausbildung; $this->aktiv = ($row->aktiv=='t'?true:false); } else { $this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden'; return false; } return true; } /** * loescht den Mitarbeiter mit der uebergebenen ID * @param ma_id Mitarbeiter_id * @return true wenn ok, false im Fehlerfall */ function delete($person_id) { //person_id auf Gueltigkeit pruefen if(!is_numeric($person_id) || $person_id=='') { $this->errormsg = 'Person_id muss eine Zahl sein'; return false; } $qry = "DELETE FROM funktion where mitarbeiter_fk=(Select mitarbeiter_pk from mitarbeiter where person_fk=$person_id);". " DELETE FROM adresse where person_fk=$person_id;". " DELETE FROM telefonnummer where person_fk=$person_id;". " DELETE FROM email where person_fk=$person_id;". " DELETE FROM mitarbeiter where person_fk=$person_id"; if(!pg_query($this->conn,$qry)) { $this->errormsg = 'Fehler beim Loeschen'; return false; } else { if(!person::delete($person_id)) return false; else { //Log schreiben $sql = $qry; $qry = "SELECT nextval('log_seq') as id;"; if(!$row = pg_fetch_object(pg_query($this->conn, $qry))) { $this->errormsg = 'Fehler beim Auslesen der Log-Sequence'; return false; } $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')"; if(pg_query($this->conn, $qry)) return true; else { $this->errormsg = 'Fehler beim Speichern des Log-Eintrages'; return false; } } } return true; } /** * Liefert die passende Bezeichnung des Familienstandes * @param $id ID des Familienstandes */ function getFamilienstandBezeichnung($id) { switch($id) { case 1: return 'ledig'; case 2: return 'verheiratet'; case 3: return 'geschieden'; case 4: return 'verwitwet'; default: return ''; } } /** * Liefert die passende Bezeichnung der Ausbildung * @param $id ID der Ausbildung */ function getAusbildungBezeichnung($id) { switch($id) { case 1: return 'Universitätsabschluss mit Doktorat als Zweit- oder Dritt- oder PhD-Abschluss'; case 2: return 'Universitäts- oder Hochschulabschluss auf Diplom oder Magisterebene, Doktor als Erstabschluss'; case 3: return 'Fachhochschulabschluss auf Diplom- oder Magisterebene'; case 4: return 'Universitätsabschluss auf Bakkalaureatsebene'; case 5: return 'Fachhochschulabschluss auf Bakkalaureatsebene'; case 6: return 'Diplom einer Akademie'; case 7: return 'Anderer tertiärer Bildungsabschluss'; case 8: return 'Reifeprüfung einer allgemeinbildenden höheren Schule'; case 9: return 'Reifeprüfung einer berufsbildenden höheren Schule'; case 10: return 'Lehrabschlussprüfung'; case 11: return 'Pflichtschule'; default: return ''; } } /** * Liefert die passende Bezeichnung des Aktuellen Status * @param $id ID des Status */ function getAktstatusBezeichnung($id) { switch($id) { case 100: return 'Mitarbeiter'; case 101: return 'Lektor'; case 102: return 'Koordinator'; case 103: return 'Fachbereichsleiter'; case 104: return 'Studiengangsleiter'; case 150: return 'Ausgeschieden'; default: return ''; } } /** * Prüft ob eine Kurzbezeichnung schon existiert. Falls eine mitarbeiter_id * angegeben wird, dann wird dieser Datensatz von der ueberpruefung ausgeschlossen * ( fuer Update eines Datensatzes) */ function kurzbz_exists($kurzbz, $mitarbeiter_id='') { if($kurzbz!='') { $this->errormsg = ''; $qry = "SELECT count(*) as anz from mitarbeiter where kurzbez='$kurzbz'"; if($mitarbeiter_id!='') $qry .= " AND mitarbeiter_pk<>".$mitarbeiter_id; if($result = pg_query($this->conn,$qry)) { while ($row=pg_fetch_object($result)) { if($row->anz == 0) { return false; } else { return true; } } } else { $this->errormsg = 'Fehler beim pruefen der Kurzbezeichnung'; return false; } } return false; } /** * Liefert die naechste Personalnummer */ function getNextPersonalnr() { $qry = "SELECT max(persnr) AS persnr FROM mitarbeiter WHERE length(persnr)=(SELECT max(length(persnr)) FROM mitarbeiter)"; if($row = pg_fetch_object(pg_query($this->conn,$qry))) return $row->persnr+1; else return false; } } ?>